Binary to Text Converter
This converter reads binary as whole bytes and gives back the text they spell. For one code value rather than a message, use Binary to ASCII; for a plain number, use Binary to Decimal.
Going the other way? Convert text back to binary →
How do you convert binary to text?
Binary to text conversion reads each group of binary digits as one code, then replaces that code with the character it stands for, so 2 groups give 2 characters.
01001000 01101001 reads "Hi". Split the binary into 8-bit groups, convert each group to its decimal value (01001000 = 72), and replace each value with its ASCII character (72 = H).
- Split the input into 8-digit groups. The first group is 01001000.
- Read that group as a number. 01001000 is 72.
- Replace the number with its character. 72 is H.
- Repeat for every group and join the characters in order: 01001000 01101001 = Hi.
Binary to Text Conversion Table
Every letter, digit and the space, with its code in all four bases. Find the character in the first column and read across: the Dec column is the code the method uses, and the Bin column is what this converter reads — 8 digits per character, zero-padded on the left. That column uses the digit set 0, 1 and nothing else, each place worth 2ⁿ, and a value marked with the 0b prefix means the same thing. This page shows the rows you need; ASCII code chart (decimal, hex, octal, binary) carries all 128.
| Char | Dec | Hex | Oct | Bin |
|---|---|---|---|---|
| A | 65 | 41 | 101 | 01000001 |
| B | 66 | 42 | 102 | 01000010 |
| C | 67 | 43 | 103 | 01000011 |
| D | 68 | 44 | 104 | 01000100 |
| E | 69 | 45 | 105 | 01000101 |
| F | 70 | 46 | 106 | 01000110 |
| G | 71 | 47 | 107 | 01000111 |
| H | 72 | 48 | 110 | 01001000 |
| I | 73 | 49 | 111 | 01001001 |
| J | 74 | 4A | 112 | 01001010 |
| K | 75 | 4B | 113 | 01001011 |
| L | 76 | 4C | 114 | 01001100 |
| M | 77 | 4D | 115 | 01001101 |
| N | 78 | 4E | 116 | 01001110 |
| O | 79 | 4F | 117 | 01001111 |
| P | 80 | 50 | 120 | 01010000 |
| Q | 81 | 51 | 121 | 01010001 |
| R | 82 | 52 | 122 | 01010010 |
| S | 83 | 53 | 123 | 01010011 |
| T | 84 | 54 | 124 | 01010100 |
| U | 85 | 55 | 125 | 01010101 |
| V | 86 | 56 | 126 | 01010110 |
| W | 87 | 57 | 127 | 01010111 |
| X | 88 | 58 | 130 | 01011000 |
| Y | 89 | 59 | 131 | 01011001 |
| Z | 90 | 5A | 132 | 01011010 |
| a | 97 | 61 | 141 | 01100001 |
| b | 98 | 62 | 142 | 01100010 |
| c | 99 | 63 | 143 | 01100011 |
| d | 100 | 64 | 144 | 01100100 |
| e | 101 | 65 | 145 | 01100101 |
| f | 102 | 66 | 146 | 01100110 |
| g | 103 | 67 | 147 | 01100111 |
| h | 104 | 68 | 150 | 01101000 |
| i | 105 | 69 | 151 | 01101001 |
| j | 106 | 6A | 152 | 01101010 |
| k | 107 | 6B | 153 | 01101011 |
| l | 108 | 6C | 154 | 01101100 |
| m | 109 | 6D | 155 | 01101101 |
| n | 110 | 6E | 156 | 01101110 |
| o | 111 | 6F | 157 | 01101111 |
| p | 112 | 70 | 160 | 01110000 |
| q | 113 | 71 | 161 | 01110001 |
| r | 114 | 72 | 162 | 01110010 |
| s | 115 | 73 | 163 | 01110011 |
| t | 116 | 74 | 164 | 01110100 |
| u | 117 | 75 | 165 | 01110101 |
| v | 118 | 76 | 166 | 01110110 |
| w | 119 | 77 | 167 | 01110111 |
| x | 120 | 78 | 170 | 01111000 |
| y | 121 | 79 | 171 | 01111001 |
| z | 122 | 7A | 172 | 01111010 |
| 0 | 48 | 30 | 060 | 00110000 |
| 1 | 49 | 31 | 061 | 00110001 |
| 2 | 50 | 32 | 062 | 00110010 |
| 3 | 51 | 33 | 063 | 00110011 |
| 4 | 52 | 34 | 064 | 00110100 |
| 5 | 53 | 35 | 065 | 00110101 |
| 6 | 54 | 36 | 066 | 00110110 |
| 7 | 55 | 37 | 067 | 00110111 |
| 8 | 56 | 38 | 070 | 00111000 |
| 9 | 57 | 39 | 071 | 00111001 |
| (space) | 32 | 20 | 040 | 00100000 |
The base this page writes, defined by the digits it uses, how a value is marked, and what each position is worth.
| Base | Radix | Digits | Prefix | Place worth | Typical range |
|---|---|---|---|---|---|
| Binary | 2 | 0, 1 | 0b | 2ⁿ | 8-bit byte 0–255 (00000000–11111111); 4-bit nibble 0–15; 16/32/64-bit words |
Worked Example: 01001000 01101001 to Text
One group at a time, with the working written out. This is the same grid the converter shows when you turn on "show steps".
text
Result: 01001000 01101001 = Hi
Start at the left. The first group is 01001000, which reads as 72, and 72 is the code for H. The groups are all the same width, so there is no guesswork about where one ends and the next begins.
The rest follow the same way: 01101001 is 105, which is i. Joining the characters in the order the groups arrived gives Hi. Read a group in the wrong place and every character after it shifts, which is why the width matters more than the separator does.
Check it in reverse
The value goes back the way it came. Read 01001000 is 72, and 72 is H; read 01101001 is 105, and 105 is i. Nothing is lost on the return trip, because every character keeps one group of its own and the groups keep their order. A decoder needs no extra information from the encoder — the fixed width tells it where each group ends, and the table tells it what each code means. To verify the result by hand, encode the text back to binary and compare it with what you started from.
Worked examples: binary to text
Each example gives the value first, then the working. Click a value to load it in the converter.
What does 01101001 spell in text?
"01101001" in binary is i in text.
Method: split into groups of eight, read each group as a code, then take its character.
What does 01001000 01101001 spell in text?
"01001000 01101001" in binary is Hi in text.
Method: split into groups of eight, read each group as a code, then take its character.
What does 01101000 01100101 01101100 01101100 01101111 spell in text?
"01101000 01100101 01101100 01101100 01101111" in binary is hello in text.
Method: split into groups of eight, read each group as a code, then take its character.
What does 01000001 01101110 01100001 spell in text?
"01000001 01101110 01100001" in binary is Ana in text.
Method: split into groups of eight, read each group as a code, then take its character.
What does 01100001 spell in text?
"01100001" in binary is a in text.
Method: split into groups of eight, read each group as a code, then take its character.
What does 01000001 spell in text?
"01000001" in binary is A in text.
Method: split into groups of eight, read each group as a code, then take its character.
What does 01100101 spell in text?
"01100101" in binary is e in text.
Method: split into groups of eight, read each group as a code, then take its character.
What does 01100010 spell in text?
"01100010" in binary is b in text.
Method: split into groups of eight, read each group as a code, then take its character.
What does 01100100 spell in text?
"01100100" in binary is d in text.
Method: split into groups of eight, read each group as a code, then take its character.
What does 01100110 spell in text?
"01100110" in binary is f in text.
Method: split into groups of eight, read each group as a code, then take its character.
What does 01110100 spell in text?
"01110100" in binary is t in text.
Method: split into groups of eight, read each group as a code, then take its character.
What does 01100111 spell in text?
"01100111" in binary is g in text.
Method: split into groups of eight, read each group as a code, then take its character.
What does 01101010 spell in text?
"01101010" in binary is j in text.
Method: split into groups of eight, read each group as a code, then take its character.
What does 01101110 spell in text?
"01101110" in binary is n in text.
Method: split into groups of eight, read each group as a code, then take its character.
What does 01110010 spell in text?
"01110010" in binary is r in text.
Method: split into groups of eight, read each group as a code, then take its character.
What does 01101111 spell in text?
"01101111" in binary is o in text.
Method: split into groups of eight, read each group as a code, then take its character.
Every example above reverses exactly — encode the same words back into 8-bit groups.
What Changes the Text Output?
Spaces and line breaks
A space is a character like any other: code 32, or 00100000. A trailing space converts too, which is the usual reason an output runs one group longer than expected.
Characters outside ASCII
UTF-8 encodes each character in 1 to 4 bytes. Characters 0–127 use one byte identical to ASCII, so ASCII text is valid UTF-8. Above code 127 UTF-8 uses more than one byte per character, so the byte count stops matching the character count. é is U+00E9 and encodes as C3 A9 (2 bytes); € is U+20AC and encodes as E2 82 AC (3 bytes); 😀 is U+1F600 and encodes as F0 9F 98 80 (4 bytes). Written the way this page writes them, those are é = 11000011 10101001, € = 11100010 10000010 10101100 and 😀 = 11110000 10011111 10011000 10000000. the encoding rules behind this converter sets out why.
Width and padding
ASCII defines 128 characters, codes 0–127, using 7 bits; in practice each code is stored in one 8-bit byte with a leading 0. That is why A is 01000001 here, not 1000001. Uppercase and lowercase differ by 32, which is bit 5, so a is 01100001.
Separator choice
The space between groups is a display choice; the bytes do not change. iToolHub's text-to-binary and text-to-hex converters write one 8-bit byte per character, separated by spaces. Pick no separator when the output feeds another program, a comma for a spreadsheet.
Binary to Text in Code
The same rule in one line. Both read the codes and return the original string.
Python: bytes(int(g, 2) for g in s.split()).decode('utf-8') JavaScript: new TextDecoder().decode(new Uint8Array(s.split(/\s+/).map(g => parseInt(g, 2)))) Common Mistakes
- Dropping the leading zero, so A reads 1000001 instead of 01000001. The output then splits into the wrong groups.
- Mixing widths inside one string. The first half decodes; the rest is noise.
- Pasting codes instead of characters — that is a different conversion, and it lives on bin to ASCII code lookup.
- Forgetting that the space between words is its own group, 00100000. The counts then disagree.
Frequently Asked Questions
How do you convert a binary file to text?
Open the file, paste the digits into the box above, and convert. Every 8-bit group becomes one character, line breaks included. ASCII codes 32–126 are printable characters; 0–31 and 127 are control characters (for example 10 = line feed, 13 = carriage return, 32 = space).
What if the binary string is not a multiple of 8 bits?
Then one group is short and the decode stops there. A byte is 8 bits and holds 256 values, 0–255; a nibble is 4 bits. Pad the short group on the left with zeros — a dropped leading zero is the usual cause.
How are multi-byte (UTF-8) characters decoded from binary?
The leading bits of the first byte say how many bytes follow, so those groups join before the character is read. UTF-8 encodes each character in 1 to 4 bytes. Characters 0–127 use one byte identical to ASCII, so ASCII text is valid UTF-8.
How does the converter know 01000001 is a letter and not the number 65?
It cannot tell on its own; the page you open decides. This converter reads every 8-bit group as one character, so 01000001 comes back as the letter A. Reading the same digits as a plain number is a different job — see the binary code behind every conversion here.
How do you convert binary to text in Python?
Split the input on spaces, read each group as a binary number, then decode the bytes as UTF-8. The one-liner under Binary to Text in Code does that, and it works because iToolHub's text-to-binary and text-to-hex converters write one 8-bit byte per character, separated by spaces.
Every result on this page reverses: the same value converts straight back in the text to binary direction.
Related Conversions
The rest of the family sits on the binary converter index.