How to convert binary to text
Paste the binary into the right-hand box. The text appears on the left immediately. Spaces between bytes are optional — an unbroken string
like 0100100001101001 is split into 8-bit groups automatically. Pasting hex or decimal codes switches the encoding for you.
To do it by hand, split the binary into groups of 8 bits, convert each group to a decimal number, and look that number up in the ASCII table:
| Binary | Decimal | Character |
|---|---|---|
01001000 | 72 | H |
01100101 | 101 | e |
01101100 | 108 | l |
01101100 | 108 | l |
01101111 | 111 | o |
Each bit is a power of two, from 128 on the left down to 1 on the right. For 01001000: 64 + 8 = 72, which is
H in ASCII. Put the five characters together and you get “Hello”.
How to convert text to binary
Type in the left box and the binary appears on the right. Behind the scenes each character is encoded as UTF-8 bytes, and every byte is
written as 8 binary digits. Plain English letters, digits and punctuation take one byte each, so “Hi” becomes
01001000 01101001.
ASCII binary reference
| Character | Decimal | Hex | Binary |
|---|---|---|---|
| A | 65 | 41 | 01000001 |
| Z | 90 | 5A | 01011010 |
| a | 97 | 61 | 01100001 |
| z | 122 | 7A | 01111010 |
| 0 | 48 | 30 | 00110000 |
| 9 | 57 | 39 | 00111001 |
| space | 32 | 20 | 00100000 |
| ! | 33 | 21 | 00100001 |
| ? | 63 | 3F | 00111111 |
| . | 46 | 2E | 00101110 |
Uppercase letters run from 65 (01000001) to 90, lowercase from 97 to 122 — exactly 32 apart, which is why flipping a single bit
(the 32s bit) changes a letter's case. Open the Character breakdown under the tool to see the codes for your own text.
Hex, decimal and octal
The same bytes can be written in any base. Hex is the most common in programming because two hex digits map to exactly one byte:
“Hi” is 48 69. Decimal codes (72 105) are what you'd see in an ASCII chart, and octal (110 151) still
appears in Unix file permissions and some escape sequences. The decoder accepts the usual prefixes and separators —
0x48, \x48, 48:69, 0b01001000, commas or new lines.
For converting single numbers between bases (binary to decimal, hex to decimal), use the Binary Converter.
Emoji and accented characters (UTF-8)
ASCII only covers 128 characters. Everything else — é, €, 日本, 😀 — is encoded in UTF-8 as two to four bytes. That's why “é” becomes
11000011 10101001 and a single emoji takes 32 bits. This converter encodes and decodes UTF-8 correctly, so a round trip
never mangles text. If decoded bytes aren't valid UTF-8, it falls back to Latin-1 and tells you.
Convert binary to text in code
// JavaScript
const toBinary = (text) =>
[...new TextEncoder().encode(text)].map((b) => b.toString(2).padStart(8, '0')).join(' ');
const fromBinary = (bits) =>
new TextDecoder().decode(new Uint8Array(bits.trim().split(/\s+/).map((b) => parseInt(b, 2)))); # Python
def to_binary(text):
return ' '.join(f'{b:08b}' for b in text.encode('utf-8'))
def from_binary(bits):
return bytes(int(b, 2) for b in bits.split()).decode('utf-8') FAQ
What does 01001000 01101001 mean?
It's “Hi” — 72 (H) and 105 (i) in 8-bit binary.
How many bits are in one letter?
8 bits (one byte) for standard English letters, digits and punctuation. Accented letters use 16 bits, most other scripts 24, and emoji 32.
Can I decode binary without spaces?
Yes. A continuous string is split into 8-bit chunks, so its length must be a multiple of 8. If your binary is grouped in 7-bit chunks (old 7-bit ASCII), keep the spaces and it decodes too.
Is binary the same as ASCII?
No. Binary is a way of writing numbers; ASCII is a table that assigns a number to each character. Binary-to-text conversion uses both: binary → number → character.
Why do I get an error?
The message names the exact problem — a character that isn't 0 or 1, a group larger than 255, or a no-space string whose length isn't a multiple of 8. Check you've picked the right encoding (binary, hex, decimal or octal).
Related tools
- Base64 Encoder / Decoder — Encode and decode Base64 strings and files. Client-side, safe for sensitive data.
- URL Encoder / Decoder — Percent-encode and decode URLs per RFC 3986.
- Number Base Converter — Convert numbers between binary, octal, decimal and hexadecimal — binary to decimal, hex to decimal and back. BigInt-backed for any length.
- ROT13 / Caesar Cipher — Encode and decode ROT13 and arbitrary Caesar shifts. Letter frequency analysis. 100% client-side.
- Morse Code Translator — Translate text to Morse code and Morse back to English, live. Play it as audio at any speed, with a full alphabet chart.
Related articles
Part of Encoding & Crypto tools.
Written by Mian Ali Khalid. Last updated 2026-10-26.