Hex Dump Viewer
View any text or file as a classic hex dump — byte offset, hexadecimal bytes and printable-ASCII columns side by side, like xxd or hexdump -C. Configure bytes per row, byte grouping and a hex or decimal offset.
Input
Any file type. Read locally in your browser. Used only when the text box is empty.
Options
Output
More ways to use this tool
REST API
curl -X POST https://api.iotools.cloud/v1/tool/hex-dump-viewer \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"inputText": "Hello, World!",
"bytesPerRow": "16",
"byteGrouping": "2",
"offsetFormat": "hex"
}'Swap in your own key from your account. The tool's fields are the body — no wrapper.
Ask an AI agent
Use the IOTools `hex-dump-viewer` tool (Hex Dump Viewer) on this input:
YOUR_INPUT_HEREPaste this at any agent connected to the IOTools MCP server, then add your input.
Embed widget
<iframe
src="https://iotools.cloud/embed/hex-dump-viewer/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Hex Dump Viewer — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>Drop this into your own page — free, no key required, just a link back.
| Cost per API/MCP call | From 5 credits |
|---|---|
| Need more credits? | View pricing |
Also available with
Guides
A hex dump viewer turns text or a file into the classic three-column layout every low-level developer recognizes: a byte offset on the left, the raw bytes as hexadecimal in the middle, and a printable-ASCII rendering on the right. It is the same view you get from xxd or hexdump -C at the command line — but in your browser, with no install and no upload.
How to use it
Paste text into the Text Input box, or drop a file into the uploader to inspect its raw bytes. The dump updates automatically. Text is encoded as UTF-8 before being dumped, so accented letters, emoji and other multi-byte characters show up as the actual bytes a program would read from disk.
Three options control the layout:
- Bytes per row — 8, 16 (the default) or 32 bytes on each line. 16 matches the traditional
hexdump -Cwidth. - Byte grouping — how many bytes are joined without a space.
1gives fully space-separated bytes (48 65 6c),2givesxxd-style pairs (4865 6c6c),4gives 32-bit words. - Offset format — show the running offset in hexadecimal (the convention) or decimal.
Copy the result or download it as a .txt file using the buttons on the output.
Reading a dump
Take the line 00000000: 4865 6c6c 6f2c 2057 6f72 6c64 21 Hello, World!. The 00000000 is the offset of the first byte on that row. 48 is the hex value of H (72 in decimal), 65 is e, and so on. On the right, each byte that falls in the printable ASCII range (0x20–0x7E) is shown as its character; anything else — control codes, high bytes, the parts of a multi-byte UTF-8 sequence — is drawn as a . so the columns stay aligned.
Common uses
- Inspecting file magic numbers and headers (PNG, ZIP, ELF, PDF) to confirm a file's true type.
- Spotting invisible characters: a stray tab, a
0x00NUL, CRLF vs LF line endings, or a byte-order mark (EF BB BF) at the start of a UTF-8 file. - Seeing exactly how a string is encoded as bytes — useful when debugging character-set mismatches.
- Teaching or learning how text maps to ASCII and how UTF-8 encodes non-ASCII characters.
Is my data uploaded anywhere?
No. Both the text and any file you drop in are processed entirely in your browser — nothing is sent to a server. You can disconnect from the network and the tool still works.
What counts as a "printable" character?
Bytes from 0x20 (space) through 0x7E (~) are rendered as their ASCII character. Every other byte — control characters, 0x7F, and all bytes above 0x7F — is shown as . in the ASCII column, while its true value is always visible in the hex column.