Paste binary and read the text. The tool picks the most likely encoding, points to any bad digit, and nothing leaves your browser.
Last updated: November 7, 2026
Private by design. Everything runs in your browser and is never uploaded.
To convert binary to text, split the digits into groups of 8, change each group into a decimal number, and look that number up as a character in the ASCII or Unicode table. For example, 01001000 is 72, and 72 is the letter H. This converter does those steps for you and shows the working.
Whether you call it a binary decoder or search for binary to ASCII or binary to English, the job is the same. Most binary text is plain English with one byte per letter, but accents, symbols and emoji take two to four bytes in UTF-8, and some sources use 7-digit or 16-digit groups. The converter tries each common reading and keeps the cleanest one. To go the other way, the text to binary converter turns words into binary. If the decoded text comes out in capitals, the sentence case converter tidies it up, and the text compare tool checks it against the original.
| Binary | Decimal | Character |
|---|---|---|
| 01001000 | 72 | H |
| 01101001 | 105 | i |
| 00110111 | 55 | 7 |
| 00100001 | 33 | ! |
| 00100000 | 32 | space |
| 11000011 10101001 | 195 169 | é (U+00E9) |
| 11100010 10000010 10101100 | 226 130 172 | € (U+20AC) |
| 11110000 10011111 10001110 10001001 | 240 159 142 137 | 🎉 (U+1F389) |
Paste, check, fix and copy. The text updates as you type.
Spaces, commas, new lines and 0b prefixes are all fine, and so is a string with no separators at all. You can also open a .txt file or drop it on the box.
Auto-detect tries UTF-8, 7-bit ASCII, Latin-1 and UTF-16 and keeps the cleanest. The line above the box says what it chose, and the encodings panel lists the rest.
A bad digit, a dropped zero or a cut-off group is listed with its exact position. Select it to jump to it in the box, or use a one-click fix and undo it if it was wrong.
Copy the text or download it as a .txt file. Open the working to see the place values behind any character, or the table to see its decimal, hex and code point.
No converter at hand? Each digit has a place value that doubles from right to left, and the first digits of a byte tell you what kind of character it is.
Above an 8-digit group write 128, 64, 32, 16, 8, 4, 2 and 1. The rightmost digit is worth 1 and each digit to its left is worth double.
Add up the place values that sit above a 1 and ignore the 0s. In 01001000 that is 64 plus 8, which makes 72.
Find 72 in an ASCII table, where it is the capital letter H. Numbers above 127 belong to longer UTF-8 characters or to Latin-1, and the first-digits table below shows which.
| Place value | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|---|
| Digit | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 |
| Adds | 0 | 64 | 0 | 0 | 8 | 0 | 0 | 0 |
| Starts with | Decimal | Usually | Example |
|---|---|---|---|
| 000xxxxx | 0 to 31 | Control codes such as NUL, HT (tab), LF (new line) and CR (return). They decode but show nothing. | 00001010 = LF (new line) |
| 00100000 | 32 | Space. | 00100000 = space |
| 0010xxxx | 33 to 47 | Punctuation and symbols such as the exclamation mark, comma, hyphen, full stop and slash. | 00100001 = ! |
| 0011xxxx | 48 to 63 | The digits 0 to 9 (48 to 57), then colon, semicolon, less-than, equals, greater-than and question mark. | 00110111 = 7 |
| 010xxxxx | 64 to 95 | The at sign, the capital letters A to Z (65 to 90), then square brackets, backslash, caret and underscore. | 01001000 = H |
| 011xxxxx | 96 to 127 | Grave accent, the small letters a to z (97 to 122), then curly braces, vertical bar, tilde and DEL (127). | 01101001 = i |
| 10xxxxxx | 128 to 191 | In UTF-8 never the first byte of a character: it is the second, third or fourth byte of a longer one. In Latin-1 it is a symbol or a control code. | 10101001 inside 11000011 10101001 = é (U+00E9) |
| 110xxxxx | 192 to 223 | First byte of a 2-byte UTF-8 character. C0 and C1 are never used. | 11000011 10101001 = é (U+00E9) |
| 1110xxxx | 224 to 239 | First byte of a 3-byte UTF-8 character. | 11100010 10000010 10101100 = € (U+20AC) |
| 11110xxx | 240 to 247 | First byte of a 4-byte UTF-8 character. F5 to F7 are never used. | 11110000 10011111 10001110 10001001 = 🎉 (U+1F389) |
| 11111xxx | 248 to 255 | Not valid in UTF-8. | None |
The length of the groups and their first digits point to the encoding. Several encodings can read the same bits, so the table shows the likely match, not a guarantee.
| What you see | Likely encoding | Why |
|---|---|---|
| Groups of 7 digits, or 8-digit groups that all start with 0 | 7-bit ASCII (also valid UTF-8) | ASCII has 128 characters, so the top bit of a byte is always 0. |
| 8-digit groups where some start with 110, 1110 or 11110 and are followed by groups starting with 10 | UTF-8 | Those are the first and following bytes of multi-byte characters. |
| Single 8-digit groups starting with 1 and not followed by a group starting with 10, such as 11101001 | Latin-1 (ISO 8859-1) | Latin-1 gives each of 256 characters one byte, so e with an acute accent is a single byte. |
| Groups of 16 digits, or 00000000 groups between the letters | UTF-16 | Each unit is 16 bits wide, and plain Latin letters have an all-zero upper byte. |
| A file starting 1111111011111111 or 1111111111111110 | UTF-16 with a byte order mark | FE FF marks big-endian and FF FE marks little-endian. |
| Groups of 4 digits | Bytes split into halves | Join each pair of groups. Auto-detect ignores the spaces and reads 8 digits at a time. |
Match what you see to a cause. Every fix is something you can do in the converter above.
| What you see | Likely cause | Fix |
|---|---|---|
| Letters and symbols that make no sense, boxes, or question marks | The wrong encoding, or groups cut in the wrong place | Leave Encoding on Auto-detect, then open Which encodings fit and try the other readings. |
| Accented letters appear as two odd characters, for example é | UTF-8 bytes read as Latin-1 | Set Encoding to UTF-8. Latin-1 can look clean here while being wrong. |
| The first characters are right, then everything is nonsense | A digit was dropped or added at that point, which shifts every later group | Compare the group lengths around the place where the text goes wrong, then add or remove the digit. |
| The last character is missing | The leftover digits at the end do not make a full group | The problem list names them. Add the missing digits, or check whether a leading zero was dropped earlier. |
| A group is skipped as not binary | It holds a character other than 0 or 1, often a letter O or l typed for 0 or 1 | Use Fix look-alike letters, or correct the character in the box. |
| Invisible control characters or odd symbols fill the result | Groups of 4 digits, UTF-16, or data that is not text | Set Group size to 8-bit to ignore your spaces, or choose UTF-16. |
| Some groups have 7 digits among groups of 8 | Leading zeros were dropped | Use Pad short groups with zeros. The decoded text does not change. |
Press Decode this to send a message to the converter at the top of the page.
| Binary | Text | Try it |
|---|---|---|
| 01001000 01100101 01101100 01101100 01101111 | Hello | |
| 01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100 | Hello World | |
| 01001001 00100000 01101100 01101111 01110110 01100101 00100000 01111001 01101111 01110101 | I love you | |
| 01010100 01101000 01100001 01101110 01101011 00100000 01111001 01101111 01110101 | Thank you | |
| 01001000 01100001 01110000 01110000 01111001 00100000 01100010 01101001 01110010 01110100 01101000 01100100 01100001 01111001 | Happy birthday | |
| 01000111 01101111 01101111 01100100 00100000 01101100 01110101 01100011 01101011 | Good luck | |
| 01001111 01001011 | OK | |
| 01010011 01001111 01010011 | SOS |
Geocaches, escape rooms, treasure hunts and school quizzes hide messages in binary. Paste the clue and read it. If the answer is dots and dashes instead, try the Morse code translator.
Check a hand conversion of letters into numbers and back, and see every place value in the working panel before you write your answer.
Decode the 0s and 1s on a bracelet, print or card. If you typed them in from a photo, the problem list shows exactly where a digit went wrong.
See what a run of bytes says when you are debugging a log, a protocol or an encoding bug. Switch between UTF-8, Latin-1 and UTF-16 and compare the results.
See that H is 72 and that 72 is 01001000. The table puts binary, decimal, hex and code point side by side. Decoded something that looks like symbols? The Wingdings translator covers that case.
Pasted binary often arrives with dropped zeros or look-alike letters such as O for 0 and l for 1. One-click fixes repair both, and Undo puts the original back. To read a decoded word aloud, the phonetic spelling generator spells it out.
A few details explain most decoding surprises. To keep a long decoded message, paste it into the online notepad, or encode your own text with the binary translator.
Anyone can decode 0s and 1s, so do not use binary to hide a password or a private message.
Separators only help people read. The converter reads spaced, unbroken and line-separated binary alike, as long as the digits line up.
Many tools print numbers without leading zeros, so a first group can arrive with 7 digits. Padding it with zeros restores the byte without changing the text.
In UTF-8, characters outside plain ASCII take two to four bytes, so most emoji are four groups of eight digits.
Codes 0 to 31 and 127 are control characters such as NUL and LF. They decode correctly but show nothing, so the table names them.
The decoding runs in your browser, and the text you paste is not sent to a server.
It decodes binary into text. It does not open images, programs or other files, and it is not a Base64 decoder: Base64 is one of the binary-to-text encodings that write bytes as printable characters.
It reads UTF-8, 7-bit ASCII, Latin-1 and UTF-16. Windows-1252, Shift JIS and other legacy encodings are not supported, and Latin-1 here is the strict ISO 8859-1 table, which differs from Windows-1252 in the range 128 to 159. UTF-16 without a byte order mark is read as big-endian, as RFC 2781 recommends.
Only the first 200,000 characters you enter are decoded. The result box previews 20,000 characters and the table lists 40, while Copy and Download use the whole result. Opened files can be up to 2 MB.
Every encoding rule on this page comes from these references, which were last checked on November 7, 2026.
Quick answers about decoding binary.
Paste the binary into the left box and the text appears on the right. The converter splits the digits into groups, turns each group into a number and looks the number up in the encoding it detects, usually UTF-8 or ASCII.
Write the place values 128, 64, 32, 16, 8, 4, 2 and 1 above an 8-digit group, add the values that sit above a 1, and look the total up in an ASCII table. For example, 01001000 is 64 plus 8, which is 72, the letter H.
It says Hello. The five groups are 72, 101, 108, 108 and 111, which are the letters H, e, l, l and o.
Count the digits in one group. Seven digits usually means 7-bit ASCII and eight digits means a byte, as used by UTF-8 and Latin-1. With no spaces at all, Auto-detect tests the group sizes and keeps the reading that gives clean text.
Either a leading zero was dropped from the first group or digits were lost at the end. The converter tries both readings, tells you which one it used, and offers a one-click Pad button for the missing zeros.
Those marks stand for groups that are not valid in the chosen encoding. The usual causes are the wrong encoding, or a missing digit that shifts every later group. The problem list shows the first bad position and the Which encodings fit panel lets you try the other readings.
Yes, when the bits are UTF-8, which can hold every Unicode character in one to four bytes. 7-bit ASCII has only 128 characters, so it cannot hold accents, Cyrillic, Chinese or emoji.
Leave it on Auto-detect. If you choose by hand, use UTF-8 for most modern text, Latin-1 for single bytes above 127 such as 11101001, and UTF-16 for 16-digit groups.
No. Binary, hexadecimal and Base64 are different ways to write the same bytes, and this converter reads only 0s and 1s. A Base64 string needs a Base64 decoder instead.
No. The decoding runs in your browser, and what you paste is not sent to a server or saved. Reloading the page clears it.
Yes. Use Open .txt or drop a plain text file of up to 2 MB on the input box. The file is read in your browser, and only the first 200,000 characters are decoded.