How binary text encoding works
Computers store text as bytes, and this tool uses UTF-8, the encoding used by virtually all modern software and the web. Each byte is 8 bits, so every character becomes one or more groups of 8 zeros and ones. Plain ASCII characters (English letters, digits, basic punctuation) are always exactly 1 byte; accented letters, most non-Latin scripts and emoji take 2-4 bytes.
Binary code for "hello"
| Character | Binary | Hex | Decimal |
|---|---|---|---|
h | 01101000 | 68 | 104 |
e | 01100101 | 65 | 101 |
l | 01101100 | 6c | 108 |
l | 01101100 | 6c | 108 |
o | 01101111 | 6f | 111 |
Joined together: 01101000 01100101 01101100 01101100 01101111
Emoji and accented letters: why one byte isn't enough
UTF-8 uses more than 1 byte for any code point above 127, which includes every emoji and most accented/non-English letters. 😀 (U+1F600) is 4 bytes: f0 9f 98 80 in hex. A translator built around "1 character = 1 byte" would either fail on these or silently corrupt them -- this tool's engine is byte-based throughout, so it doesn't.
Binary alphabet: A–Z, a–z, 0–9
The ASCII/UTF-8 byte value of every letter and digit, in binary, hex and decimal:
| Character | Binary | Hex | Decimal |
|---|---|---|---|
A | 01000001 | 41 | 65 |
B | 01000010 | 42 | 66 |
C | 01000011 | 43 | 67 |
D | 01000100 | 44 | 68 |
E | 01000101 | 45 | 69 |
F | 01000110 | 46 | 70 |
G | 01000111 | 47 | 71 |
H | 01001000 | 48 | 72 |
I | 01001001 | 49 | 73 |
J | 01001010 | 4a | 74 |
K | 01001011 | 4b | 75 |
L | 01001100 | 4c | 76 |
M | 01001101 | 4d | 77 |
N | 01001110 | 4e | 78 |
O | 01001111 | 4f | 79 |
P | 01010000 | 50 | 80 |
Q | 01010001 | 51 | 81 |
R | 01010010 | 52 | 82 |
S | 01010011 | 53 | 83 |
T | 01010100 | 54 | 84 |
U | 01010101 | 55 | 85 |
V | 01010110 | 56 | 86 |
W | 01010111 | 57 | 87 |
X | 01011000 | 58 | 88 |
Y | 01011001 | 59 | 89 |
Z | 01011010 | 5a | 90 |
a | 01100001 | 61 | 97 |
b | 01100010 | 62 | 98 |
c | 01100011 | 63 | 99 |
d | 01100100 | 64 | 100 |
e | 01100101 | 65 | 101 |
f | 01100110 | 66 | 102 |
g | 01100111 | 67 | 103 |
h | 01101000 | 68 | 104 |
i | 01101001 | 69 | 105 |
j | 01101010 | 6a | 106 |
k | 01101011 | 6b | 107 |
l | 01101100 | 6c | 108 |
m | 01101101 | 6d | 109 |
n | 01101110 | 6e | 110 |
o | 01101111 | 6f | 111 |
p | 01110000 | 70 | 112 |
q | 01110001 | 71 | 113 |
r | 01110010 | 72 | 114 |
s | 01110011 | 73 | 115 |
t | 01110100 | 74 | 116 |
u | 01110101 | 75 | 117 |
v | 01110110 | 76 | 118 |
w | 01110111 | 77 | 119 |
x | 01111000 | 78 | 120 |
y | 01111001 | 79 | 121 |
z | 01111010 | 7a | 122 |
0 | 00110000 | 30 | 48 |
1 | 00110001 | 31 | 49 |
2 | 00110010 | 32 | 50 |
3 | 00110011 | 33 | 51 |
4 | 00110100 | 34 | 52 |
5 | 00110101 | 35 | 53 |
6 | 00110110 | 36 | 54 |
7 | 00110111 | 37 | 55 |
8 | 00111000 | 38 | 56 |
9 | 00111001 | 39 | 57 |
Number-base converters (binary as a number, not text)
This page translates human-readable text to and from binary bytes. To convert a plain number between bases instead (binary, decimal, hexadecimal), see binary to decimal, decimal to binary, hex to decimal and decimal to hex.
Frequently asked questions
How does text-to-binary translation work?
Every character in a text file is stored as one or more bytes using an encoding -- this tool uses UTF-8, the standard for the modern web and virtually all software. Each byte is 8 bits, so it's written as 8 digits of 0s and 1s. "h" is byte 104, which in binary is 01101000; "hello" is five bytes: 01101000 01100101 01101100 01101100 01101111.
What is the binary code for "hello"?
01101000 01100101 01101100 01101100 01101111 -- each group of 8 bits is one letter's byte value: h=104, e=101, l=108, l=108, o=111 (decimal), or 68 65 6c 6c 6f in hex. Try it above with any word.
Do emoji and accented letters work?
Yes. This tool encodes UTF-8 bytes, not one byte per visible character, so anything outside plain ASCII (0-127) becomes more than one byte: an emoji like 😀 is 4 bytes (f0 9f 98 80 in hex), and an accented letter like é is 2 bytes. A translator that only handles one byte per character would corrupt these.
Why does my binary not convert back to the right text?
Two common causes: (1) the bit count isn't a multiple of 8 -- every byte needs exactly 8 bits, so a stray extra or missing digit throws everything off after that point; (2) the bytes don't form valid UTF-8 -- if you hand-typed or edited binary, a wrong bit can produce a byte sequence that no valid UTF-8 character uses, which this tool flags rather than silently showing garbled or replacement characters.
Can I paste binary with spaces, line breaks, commas or "0b" prefixes?
Yes -- "Binary → Text" mode strips whitespace (including line breaks), commas, and a "0b"/"0B" prefix before each byte automatically. 0b01001000 0b01001001 and 0100100001001001 both decode to the same text.
What is a "binary code translator"?
Another name for the same tool: something that converts human-readable text into its binary (base-2) representation and back. "Binary translator", "binary code translator" and "text to binary converter" all refer to the same operation -- turning each character's byte value into 0s and 1s (or the reverse).
What is the "binary alphabet"?
Not a separate alphabet -- it's the standard ASCII/UTF-8 byte value of each letter and digit, written in binary instead of decimal. A-Z are decimal 65-90 (binary 01000001 through 01011010), a-z are 97-122, and 0-9 are 48-57 -- the full table is below.
How is this different from a number-base binary converter?
This page converts human-readable TEXT to and from its byte-level binary representation (one or more 8-bit bytes per character, per UTF-8). If you instead want to convert a plain NUMBER between binary, decimal and hexadecimal (e.g. binary 1010 = decimal 10), use the dedicated converters: hex to decimal, decimal to hex, binary to decimal, and decimal to binary.
Is my text or binary uploaded anywhere?
No -- everything runs in your browser using the built-in TextEncoder/TextDecoder APIs. Nothing you type is sent to a server, logged, or saved; only your separator display preference is kept in your browser's local storage.