Hex dump viewer — see the bytes behind any text, hex or Base64

Paste text, hex or Base64 and see every byte laid out like the hexdump -C command, with offsets on the left and printable characters on the right. Hidden characters stop being hidden.

Live demo · real result from this tool
Input is
Bytes per row

Hex dump

00000000  48 65 6c 6c 6f 2c 20 54  6f 6f 6c 73 52 69 66 74  |Hello, ToolsRift|00000010  21 0a 54 61 62 73 09 61  6e 64 20 65 6d 6f 6a 69  |!.Tabs.and emoji|00000020  20 f0 9f 91 8b 20 73 68  6f 77 20 61 73 20 64 6f  | .... show as do|00000030  74 73 2e                                          |ts.|00000033
Bytes51

Processed on your device — nothing is uploaded.

How to use the hex dump viewer

  1. Paste into Input.
  2. Set Input is to Text (UTF-8), Hex or Base64, to match what you pasted.
  3. Choose Bytes per row: 8, 16 (the usual layout) or 32.
  4. Read the Hex dump and the Bytes count. You can copy the dump or save it as dump.txt.

What it does and when to use it

Text that looks fine on screen can hide bytes that break things: a byte order mark, a tab where you expected spaces, a no-break space (c2 a0), a zero-width space (e2 80 8b), or a stray carriage return. A hex dump shows every byte, so these become obvious.

Developers use it to debug parsers, compare two strings that “look the same”, check what a Base64 value really contains, or confirm that a file uses the expected encoding and line endings. It is also a good way to learn how UTF-8 stores characters.

For a simple list of hex bytes without offsets, use Text to Hex. To convert Base64 straight to hex, use the Base64 to hex converter. To identify a single strange character by name, paste it into the Unicode character lookup.

How it works

  1. The input becomes bytes: text as UTF-8, hex as written (spaces, colons, commas and 0x are allowed), or Base64 decoded (standard or URL-safe).
  2. The bytes are cut into rows of the chosen width.
  3. Each row shows the offset as 8 hex digits, two spaces, the bytes as lowercase hex with an extra space between the two halves, then the characters between bars. Bytes from 32 to 126 show as themselves; all others show as a dot.
  4. A last line gives the total byte count as an offset.

This is the same layout as hexdump -C on Linux and macOS. It is built in your browser and nothing is uploaded.

Worked examples

Text “Hello, world” at 16 bytes per row:

00000000  48 65 6c 6c 6f 2c 20 77  6f 72 6c 64              |Hello, world|
0000000c

Hex input ef bb bf 48 69 0d 0a, a byte order mark, “Hi” and a Windows line ending:

00000000  ef bb bf 48 69 0d 0a                              |...Hi..|
00000007

Text with a tab, an accent, an emoji and CRLF, at 8 bytes per row:

00000000  54 61 62 09  68 65 72 65  |Tab.here|
00000008  2c 20 63 61  66 c3 a9 20  |, caf.. |
00000010  f0 9f 91 8b  0d 0a        |......|
00000016

The final offset 00000016 is hex for 22 bytes.

Limits and tips

  • The dump is read-only; to change bytes, edit the hex and dump it again.
  • Very large pastes make a long dump. Paste only the part you need to inspect.
  • When pasting a dump back in as Hex, copy only the byte columns, not the offsets or the character column.

Frequently asked questions

How do I read a hex dump?
Each row starts with an offset, the position of its first byte, written in hex. Then come the bytes as two-digit hex values, split into two halves. On the right, between bars, the same bytes are shown as characters, with a dot for anything that is not printable ASCII. The last line is the total length in hex.
Why does é show as two dots?
The text is turned into UTF-8 first, and é is two bytes, c3 a9. Neither byte is printable ASCII, so each gets a dot in the right-hand column. Emoji take four bytes and four dots.
What do ef bb bf at the start of a file mean?
That is the UTF-8 byte order mark. Some editors add it, and it can break CSV imports, shell scripts and JSON parsers. A hex dump is the quickest way to spot it.
How can I tell Windows and Unix line endings apart?
Windows lines end in 0d 0a (CR LF), Unix lines end in 0a only. Both show as dots in the character column, but the hex makes the difference plain.
Can I dump a binary file?
Not by uploading it. This tool takes text you paste. For binary data, paste it as hex or Base64 and set "Input is" to match.

Written by the ToolsRift team · Last updated

Pages are drafted with AI assistance and checked by automated tests. How we write and check pages.

Was this tool useful?

Report a problem

Start typing to search every tool.

↑ ↓ to moveEnter to openEsc to close