How to Convert Text to Hexadecimal
Type text to view its UTF-8 bytes in hexadecimal. Choose spaced or compact output and copy it for a byte-oriented protocol or test fixture. This is text encoding rather than conversion of a decimal integer.
How Text Encoding Works
Hex uses two digits for each byte. UTF-8 determines which bytes represent a character. ASCII letters use one byte, while many symbols use several, so output length does not simply equal twice the visual character count.
Text to Hexadecimal Examples
A becomes 41, and Hi becomes 48 69. Multi-byte characters produce longer sequences. Preserve leading zeroes on byte values below hexadecimal 10 so a decoder can find byte boundaries.
Unicode, Spacing, and Input Rules
Spaced and compact byte strings carry the same bytes. A literal space in text has its own value, 20. Use Hex to Text for decoding and choose a different decoder if the source uses an encoding other than UTF-8.
More examples and technical details
How to Convert Text to Hex
Hexadecimal is the format you see whenever raw bytes need to be readable by a human: hex dumps, memory viewers, network packet captures, and file signatures all use it. Converting text to hex means writing each character code in base 16.
- Take each character of the text in order.
- Find its character code, for example C is 67 in ASCII.
- Convert that number to base 16. 67 divided by 16 is 4 remainder 3, giving 43.
- Write every byte as exactly two hex digits, padding with a leading zero if the value is below 16.
- Join the pairs together, optionally separated by spaces for readability.
Worked example: encoding "Code"
"Code" = 43 6F 64 65
Why Hex Is the Standard for Raw Bytes
One hex digit represents exactly four bits, so a byte is always exactly two hex characters. That fixed width is what makes hex dumps line up in neat columns and makes byte offsets easy to count.
Binary would need eight characters per byte and decimal needs a variable one to three digits, which breaks alignment. Hex sits in the middle: compact, fixed width, and still easy to translate back to bits in your head once you know the sixteen digit patterns.
ASCII, Unicode, and UTF-8
ASCII is the original character encoding standard, finalised in 1963. It defines 128 characters: the English alphabet in both cases, the digits 0 to 9, common punctuation, and 33 non printing control codes such as tab, newline, and carriage return. Because 128 values fit in seven bits, every ASCII character fits comfortably inside a single byte.
ASCII covers English and almost nothing else, which is why Unicode exists. Unicode assigns a number, called a code point, to every character in every writing system, plus symbols and emoji. UTF-8 is the encoding that turns those code points into bytes, and it was designed so that the first 128 code points encode to exactly the same single bytes as ASCII. That backward compatibility is why plain English text looks identical in both.
The practical consequence for this tool: English letters, digits, and punctuation each produce one byte. Accented characters, Greek, Cyrillic, Arabic, and CJK characters produce two or three bytes each, and emoji usually produce four. The converter handles all of them correctly using UTF-8.
Details Worth Knowing
- Hex is case insensitive for its letters. 4A and 4a are the same byte, though uppercase is the more common convention in dumps.
- The 0x prefix is a programming language convention marking a hex literal. It is not part of the value itself.
- Characters outside basic ASCII produce more than two hex digits, because UTF-8 encodes them across multiple bytes.
ASCII Conversion Table
Every printable ASCII character with its decimal code, hexadecimal byte, and binary byte. Codes 0 to 31 are control characters and are not printable, so they are not listed here.
| Char | Dec | Hex | Binary |
|---|---|---|---|
| space | 32 | 20 | 00100000 |
| ! | 33 | 21 | 00100001 |
| " | 34 | 22 | 00100010 |
| # | 35 | 23 | 00100011 |
| $ | 36 | 24 | 00100100 |
| % | 37 | 25 | 00100101 |
| & | 38 | 26 | 00100110 |
| ' | 39 | 27 | 00100111 |
| ( | 40 | 28 | 00101000 |
| ) | 41 | 29 | 00101001 |
| * | 42 | 2A | 00101010 |
| + | 43 | 2B | 00101011 |
| , | 44 | 2C | 00101100 |
| - | 45 | 2D | 00101101 |
| . | 46 | 2E | 00101110 |
| / | 47 | 2F | 00101111 |
| 0 | 48 | 30 | 00110000 |
| 1 | 49 | 31 | 00110001 |
| 2 | 50 | 32 | 00110010 |
| 3 | 51 | 33 | 00110011 |
| 4 | 52 | 34 | 00110100 |
| 5 | 53 | 35 | 00110101 |
| 6 | 54 | 36 | 00110110 |
| 7 | 55 | 37 | 00110111 |
| Char | Dec | Hex | Binary |
|---|---|---|---|
| 8 | 56 | 38 | 00111000 |
| 9 | 57 | 39 | 00111001 |
| : | 58 | 3A | 00111010 |
| ; | 59 | 3B | 00111011 |
| < | 60 | 3C | 00111100 |
| = | 61 | 3D | 00111101 |
| > | 62 | 3E | 00111110 |
| ? | 63 | 3F | 00111111 |
| @ | 64 | 40 | 01000000 |
| A | 65 | 41 | 01000001 |
| B | 66 | 42 | 01000010 |
| C | 67 | 43 | 01000011 |
| D | 68 | 44 | 01000100 |
| E | 69 | 45 | 01000101 |
| F | 70 | 46 | 01000110 |
| G | 71 | 47 | 01000111 |
| H | 72 | 48 | 01001000 |
| I | 73 | 49 | 01001001 |
| J | 74 | 4A | 01001010 |
| K | 75 | 4B | 01001011 |
| L | 76 | 4C | 01001100 |
| M | 77 | 4D | 01001101 |
| N | 78 | 4E | 01001110 |
| O | 79 | 4F | 01001111 |
| Char | Dec | Hex | Binary |
|---|---|---|---|
| P | 80 | 50 | 01010000 |
| Q | 81 | 51 | 01010001 |
| R | 82 | 52 | 01010010 |
| S | 83 | 53 | 01010011 |
| T | 84 | 54 | 01010100 |
| U | 85 | 55 | 01010101 |
| V | 86 | 56 | 01010110 |
| W | 87 | 57 | 01010111 |
| X | 88 | 58 | 01011000 |
| Y | 89 | 59 | 01011001 |
| Z | 90 | 5A | 01011010 |
| [ | 91 | 5B | 01011011 |
| \ | 92 | 5C | 01011100 |
| ] | 93 | 5D | 01011101 |
| ^ | 94 | 5E | 01011110 |
| _ | 95 | 5F | 01011111 |
| ` | 96 | 60 | 01100000 |
| a | 97 | 61 | 01100001 |
| b | 98 | 62 | 01100010 |
| c | 99 | 63 | 01100011 |
| d | 100 | 64 | 01100100 |
| e | 101 | 65 | 01100101 |
| f | 102 | 66 | 01100110 |
| g | 103 | 67 | 01100111 |
| Char | Dec | Hex | Binary |
|---|---|---|---|
| h | 104 | 68 | 01101000 |
| i | 105 | 69 | 01101001 |
| j | 106 | 6A | 01101010 |
| k | 107 | 6B | 01101011 |
| l | 108 | 6C | 01101100 |
| m | 109 | 6D | 01101101 |
| n | 110 | 6E | 01101110 |
| o | 111 | 6F | 01101111 |
| p | 112 | 70 | 01110000 |
| q | 113 | 71 | 01110001 |
| r | 114 | 72 | 01110010 |
| s | 115 | 73 | 01110011 |
| t | 116 | 74 | 01110100 |
| u | 117 | 75 | 01110101 |
| v | 118 | 76 | 01110110 |
| w | 119 | 77 | 01110111 |
| x | 120 | 78 | 01111000 |
| y | 121 | 79 | 01111001 |
| z | 122 | 7A | 01111010 |
| { | 123 | 7B | 01111011 |
| | | 124 | 7C | 01111100 |
| } | 125 | 7D | 01111101 |
| ~ | 126 | 7E | 01111110 |
Looking for a different conversion? Browse every developer tool including binary, hex, octal, and Base64 converters.
Frequently asked questions
How do I convert text to hexadecimal?
Enter text, choose spaced or compact output and copy the hex bytes.
Does the tool support Unicode and special characters?
Yes. Text is encoded as UTF-8 before conversion to hex.
What input format should I use?
Enter ordinary text; hexadecimal output uses two digits per byte.
Is any input uploaded to a server?
No. Input is processed in this browser tab and is not uploaded by the tool. Copy and download are actions you control; ordinary page analytics do not receive tool input.