ASCII / Hex / Binary Text Converter
Encode text as hexadecimal, binary, octal, decimal bytes, or Base64. Decode hex / binary / Base64 strings back to readable text.
48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 21
Character breakdown
| Char | Dec | Hex | Binary |
|---|---|---|---|
| H | 72 | 48 | 01001000 |
| e | 101 | 65 | 01100101 |
| l | 108 | 6c | 01101100 |
| l | 108 | 6c | 01101100 |
| o | 111 | 6f | 01101111 |
| , | 44 | 2c | 00101100 |
| β΅ | 32 | 20 | 00100000 |
| W | 87 | 57 | 01010111 |
| o | 111 | 6f | 01101111 |
| r | 114 | 72 | 01110010 |
| l | 108 | 6c | 01101100 |
| d | 100 | 64 | 01100100 |
| ! | 33 | 21 | 00100001 |
About the ASCII / Hex Converter
This tool converts between human-readable text and its byte-level representations: hexadecimal, binary, octal, decimal, and Base64. Every character in a string has a numeric byte value (its ASCII or UTF-8 code point). For example, the letter A is decimal 65, hex 41, binary 01000001. This tool shows those encodings for every byte in your input, and can reverse the process to decode byte sequences back to readable text.
Common use cases include inspecting network packets and binary protocols (where payloads appear as hex dumps), debugging encoding issues in HTTP requests and API responses, learning how character encodings like ASCII and UTF-8 work, and converting values for embedded systems and low-level programming where registers and memory addresses are expressed in hex or binary. The character breakdown table makes it easy to see the individual code point for each character.
All conversion runs locally in your browser using JavaScript's TextEncoder and TextDecoder APIs. Full UTF-8 is supported β emoji and non-ASCII characters are encoded as their multi-byte UTF-8 sequences.
Frequently Asked Questions
What is the difference between ASCII and UTF-8?
ASCII defines 128 characters (codes 0β127) using 7 bits β the basic Latin alphabet, digits, and punctuation. UTF-8 is a superset: for code points 0β127 it produces the same single-byte encoding as ASCII. For code points above 127 (accented characters, emoji, CJK), UTF-8 uses 2β4 bytes. This tool uses UTF-8, so multi-byte characters will produce multiple hex values.
How do I decode a hex dump from Wireshark or a packet capture?
Copy the hex bytes (space-separated, e.g., 48 65 6c 6c 6f) and paste them into the "Bytes β Text" decode mode with Hex format selected. The tool will decode them to their ASCII / UTF-8 string representation.
Why does "Hello" produce 5 hex values but an emoji produces more?
Each hex value represents one byte. ASCII characters each fit in one byte (e.g., H = 48). Emoji and many non-Latin characters require multiple bytes in UTF-8: the π emoji is 4 bytes: f0 9f 98 80. This is why string length in bytes can differ from the number of visible characters.
What is Base64 encoding?
Base64 encodes binary data as a string of 64 printable ASCII characters (AβZ, aβz, 0β9, +, /). It increases size by about 33% but guarantees the output is safe to transmit through text-only channels like HTTP headers, JSON, and email. It is not encryption β anyone can decode it.