DNSfinder.net
Binary Decoder

Binary to Text Converter

Paste a string of 0s and 1s and the decoder turns it back into readable text. It also accepts bytes written as hexadecimal, decimal or octal, tolerates most separators, and checks the input as it goes: a stray character, a bit count that is not a multiple of eight or a value above 255 produces a specific error. The bytes are interpreted as UTF-8, and the tool tells you when they are not valid UTF-8.

Loading Binary to Text Converter...

Querying live edge resolvers and network infrastructure...

How to use the Binary to Text Converter

  1. Paste the binary digits into the input box, with or without spaces. The box starts with a sample that decodes to Hi!.
  2. If your data is hex, decimal or octal, change the number format list to match.
  3. Read the decoded text on the right. The line under it gives the number of bytes and warns when they are not valid UTF-8.
  4. Correct any error shown in place of the output, then click Copy to take the text.

What to look for

Separators are flexible for binary

Binary groups may be divided by spaces, line breaks, commas, semicolons, pipes, underscores or hyphens. If every group is exactly eight bits, the groups are used as they stand. Otherwise the digits are joined and cut into eights, so an unbroken stream works as long as its length is a multiple of eight.

Errors name the problem

A character other than 0, 1 or a separator is rejected outright. A stream of the wrong length reports its bit count, for example 23 bits, which is not a multiple of 8. In decimal and octal modes, a value that is not a byte from 0 to 255 is quoted back to you.

Invalid UTF-8 is flagged

When the bytes do not form valid UTF-8, the text is still shown, with each bad sequence replaced by the Unicode replacement character, a question mark in a black diamond. The note under the output says so. It usually means the data is in another encoding or is not text at all.

Guide

Decoding bytes back into text and diagnosing bad output

How the decoder reads your input

Decoding is three steps: split the input into byte values, check each value, then interpret the bytes as UTF-8 text. The sample 01001000 01101001 00100001 becomes the bytes 72, 105 and 33, which are H, i and an exclamation mark. Nothing is guessed. If the input cannot be split cleanly into bytes, you get an error and no partial text.

Each format has its own splitting rule. Hex ignores 0x prefixes, spaces, commas, colons, semicolons, pipes, underscores and hyphens, then reads the digits two at a time, so 48:69:21, 0x48 0x69 0x21 and 486921 all decode to the same three bytes. Decimal and octal have no fixed width here, so the values must be separated by spaces, commas, semicolons, pipes or line breaks: 72 105 33 in decimal, 110 151 041 in octal.

Decoding binary by hand

Each position in a byte is worth a power of two: 128, 64, 32, 16, 8, 4, 2 and 1 from left to right. Add the values where a 1 appears. For 01001000 that is 64 + 8 = 72, and 72 in the ASCII table is the capital H. For 01101001 it is 64 + 32 + 8 + 1 = 105, the lower-case i.

A few landmarks make this quicker. Bytes beginning 010 are mostly capital letters and those beginning 011 mostly lower-case letters. The digits 0 to 9 begin with 0011, and their last four bits are the digit itself. 00100000 is a space. A byte beginning with 1 is not ASCII at all: it belongs to a multi-byte UTF-8 character and has to be read together with its neighbours.

Why the output looks wrong

Nonsense output with no warning usually means the digits were grouped wrongly at the source. If one bit was lost in copying, every byte after it is misaligned, and the decoder either reports a bad bit count or produces garbage. Count the digits: the total must divide by eight.

The not valid UTF-8 note points to a different cause: the bytes are in another encoding. In Windows-1252 and Latin-1 the single byte E9 is the letter e with an acute accent, but UTF-8 writes that letter as C3 A9, so E9 on its own is flagged. UTF-16 is a separate case: it decodes without a warning, but every other byte is 00, as in 48 00 69 00, which leaves invisible null characters between the letters. Compressed files, images and encrypted data are not text in any encoding.

  • An odd number of hex digits: one was dropped, since hex must come in pairs.
  • A decimal value above 255: the numbers are code points or 16-bit units, not bytes.
  • Binary groups of seven digits: 7-bit ASCII, which needs a leading 0 added to each group.

What the decoder will not do

The decoder knows one text encoding, UTF-8, which also covers plain ASCII. It does not offer Latin-1, Windows-1252, UTF-16 or EBCDIC, does not detect the encoding for you, and does not decode Base64, which is a different scheme altogether. Use Base64 Encoder / Decoder for strings made of letters, digits, plus and slash. Dots and dashes are Morse, which Morse Code Translator handles.

Everything is computed in the page, so pasted data does not leave your browser. Swap direction takes the decoded text and encodes it again in the Text to Binary Converter direction, a quick way to tidy the spacing or turn a binary string into hex. Control characters decode to themselves and may be invisible in the output box even though the byte count includes them.

Knowledge Base & FAQ

Binary to Text Converter FAQs

Common questions about the binary to text converter.

Split it into groups of eight bits, convert each group to a number, and look that number up in the ASCII table. 01000001 is 65, which is A. This tool does the same in one step: paste the digits, leave the format on Binary, and the text appears beside it along with the byte count.