Hex Viewer
View any text or bytes as hexadecimal and convert hex back to text. Side-by-side hex/ASCII view like a hex editor.
How to use the Hex Viewer
Type or paste text to see its hex byte layout.
Or switch direction and paste a hex string to decode it back to text.
Copy either the hex or the text output.
What a hex viewer actually shows you, byte by byte
Every character your computer stores is, underneath, one or more bytes — a hex viewer makes those bytes visible instead of letting the terminal or editor silently interpret them. This tool lays output out the way a classic hex editor does: an offset column (the byte position, in hex, where each row starts), 16 space-separated hex byte-pairs per row, and an ASCII column on the right showing each byte's printable character or a '.' placeholder for anything outside the 32-126 printable range. The detail that trips people up: a single visible character isn't always a single byte. ASCII characters (A-Z, punctuation, digits) are exactly one UTF-8 byte, but é is two bytes (0xC3 0xA9), and most emoji are four bytes — so the hex view of "café🎉" has more byte-pairs than the string appears to have characters, which is exactly the kind of encoding mismatch this tool is built to expose. Typical uses: debugging why a string comparison silently fails (invisible characters like a BOM or non-breaking space show up immediately in hex), inspecting the first few bytes of a file to identify its format from its magic-number header, or reverse-engineering a binary protocol dump.
For a step-by-step walkthrough, read our guide: The Developer's Guide to Hexadecimal: Reading, Writing & Converting Hex.
Key features
- Real-time hex/ASCII side-by-side view, classic hex-editor layout
- Convert hex strings back to text
- Shows byte offsets for each 16-byte row
- Fully client-side — your data stays private
Frequently asked questions
What's a hex viewer actually used for?
Debugging invisible-character or encoding issues (a stray BOM, non-breaking space, or wrong line-ending shows up immediately in hex), inspecting a file's magic-number header to identify its format, and reading raw protocol or binary data byte by byte.
Why does a short string sometimes produce more hex bytes than characters?
Non-ASCII characters take more than one UTF-8 byte — an accented letter like é is 2 bytes, and most emoji are 4 bytes — so the byte count in the hex view can be noticeably higher than the character count you'd expect.
What does a '.' in the ASCII column mean?
It stands in for any byte outside the printable ASCII range (32-126) — control characters, non-ASCII bytes, or extended characters that can't be shown as a single readable glyph.
Is my data uploaded to view it as hex?
No — all viewing and conversion happens locally via JavaScript's TextEncoder/TextDecoder, nothing leaves your browser.