Overview
Converts text into hexadecimal, binary, decimal, octal and Base64 at the same time, and decodes any of those back into readable text. All five use the text's UTF-8 bytes, so accented letters and emoji round-trip correctly, and you can separate bytes with spaces, commas, 0x prefixes or nothing at all.
How It Works
In Encode mode, type into Plain Text Input and all five representations update as you type, each with its own Copy button. Byte Delimiter controls how bytes are separated: Space, None (compact), Comma, or a 0x prefix on each byte. Switch to Decode mode to go the other way: pick the format you are pasting, paste it, and the original text appears. The decoder ignores spaces, commas and 0x prefixes, and it shows an error for input that is not valid in the chosen base, such as an 8 in octal or a binary string whose length is not a multiple of eight.
Step-by-Step Usage Guide
- Choose Encode to turn text into numbers, or Decode to turn numbers back into text.
- Type or paste your input; results update immediately.
- Pick a byte delimiter that matches where you will paste the output, such as 0x prefix for C arrays.
- Copy the representation you need with its Copy button.
Technical Specifications & Standards
Text has no single binary form until you choose an encoding, and this tool always uses UTF-8, the encoding used by the web, JSON and nearly every modern file format. Plain English letters are one byte each, so A is 41 in hex, 01000001 in binary and 65 in decimal, matching an ASCII table. Other characters take more than one byte: é is the two bytes C3 A9, and the emoji 😀 is the four bytes F0 9F 98 80. Because every format represents the same bytes, you can encode in hex and decode from binary, or compare a hex dump with a Base64 string, and they will agree. That consistency is what lets the decoder rebuild emoji exactly. It is also why each value is capped at one byte: a decimal value above 255 is rejected rather than guessed at, because it cannot be a UTF-8 byte. Base64 is the odd one out in shape. Instead of one value per byte it packs three bytes into four characters from a 64-character alphabet, which is why it is about a third larger than the raw data and why it is used to carry binary data through text-only channels such as JSON fields, data URLs and email. The other four formats are mainly for reading and debugging: matching bytes in a network capture, checking what an API actually sent, or working through an encoding exercise.
Targeted Use Cases
- Checking the exact bytes an API or file contains when a character displays wrongly.
- Writing byte arrays for code, firmware or test fixtures using the 0x prefix format.
- Decoding a hex or binary string from a CTF challenge, log line or packet capture.
- Learning how ASCII and UTF-8 map characters to numbers in different bases.
Notes & Gotchas
- Remember that non-English characters take several bytes in UTF-8, so count bytes rather than characters for size limits.
- Use Base64 to carry binary data through JSON or URLs, and hex when a person needs to read the bytes.
- Pick the matching format before decoding, because the same digits mean different things in hex, decimal and octal.
- Use compact hex with no separator when the destination expects a continuous hex string, such as a hash.
Frequently Asked Questions
Why is my accented letter shown as two bytes?
The tool uses UTF-8, where characters outside basic ASCII take two to four bytes. é is C3 A9 and 😀 is F0 9F 98 80. This keeps every format consistent and lets them decode back exactly.
Why does decoding say my input is invalid?
Each value must be a valid byte in the chosen base: 00 to FF in hex, 0 to 255 in decimal, 0 to 377 in octal, and binary must come in complete groups of eight bits. Check that the selected format matches what you pasted.
Do I need to remove spaces or 0x prefixes before decoding?
No. Spaces, commas and 0x prefixes are ignored when decoding, and compact hex such as 48656C6C6F also works.
What is the difference between hex and Base64?
Both represent the same bytes. Hex uses two characters per byte and is easy to read; Base64 uses four characters per three bytes, so it is shorter and is the standard way to embed binary data in text.