ASCII, HEX, Binary and Decimal Converter
Convert text and byte values between ASCII text, hexadecimal, binary and decimal representations. Enter a value, choose its format, and see the other representations instantly. This free converter runs directly in your browser.
Conversion examples
Load an example into the converter to see all four representations.
Hello
48 65 6C 6C 6F
ABC
01000001 01000010 01000011
41 42 43
65 66 67
01000001 01000010
AB
72 101 108 108 111
Hello
How the converter works
Computers store text as bytes. A byte contains eight bits and can represent values from 0 to 255. The same byte can be written in different number systems without changing its underlying value.
| Character | Decimal | Hexadecimal | Binary |
|---|---|---|---|
A |
65 | 41 |
01000001 |
B |
66 | 42 |
01000010 |
0 |
48 | 30 |
00110000 |
Space |
32 | 20 |
00100000 |
Hexadecimal is base 16 and uses the symbols 0–9 and A–F. Binary is base 2 and uses only 0 and 1. Decimal is base 10 and uses the digits 0–9. Each byte can be represented by eight binary digits, two hexadecimal digits or a decimal number from 0 to 255.
ASCII and UTF-8 explained
ASCII assigns numeric values to 128 characters, including English letters, digits, punctuation and control characters. ASCII values range from 0 to 127.
This tool encodes text using UTF-8. UTF-8 uses the same byte values
as ASCII for ASCII characters, but uses multiple bytes for many
characters outside the ASCII range. Therefore, a character such as
é is represented by two UTF-8 bytes: hexadecimal
C3 A9.
The HEX, binary and decimal output areas represent the encoded bytes, not Unicode code points. This distinction matters when converting international text, emoji or characters outside the ASCII range.
Input formats and validation
- Text: Encoded as UTF-8 bytes.
- HEX: Enter pairs of hexadecimal digits, such as
48 65 6C 6C 6F. - Binary: Enter groups of eight bits, such as
01001000 01101001. - Decimal: Enter byte values between 0 and 255, such as
72 105.
For hexadecimal, binary and decimal inputs, whitespace and commas may separate values. Invalid digits, incomplete bytes and decimal values outside the byte range are rejected instead of silently changing the input.