Different Letters

Text and binary converter

Turn text into binary bytes or decode a sequence of zeros and ones using UTF-8.

Conversion

0 / 20,000

Result

Your result will appear here.

Convert a message in either direction

This converter has two directions. Text to binary takes the text you enter, encodes it as UTF-8 and writes each byte as eight zeros or ones. Binary to text reads those bytes and attempts to reconstruct UTF-8 text. Choose the direction first, paste the content, and select Convert. Review the result before using Copy result to move it to another application.

In Text to binary mode, Separate bytes with spaces is selected initially. Leaving it selected makes the result easier to inspect because every group represents one byte. Turning it off produces one continuous string of bits. The bytes are the same in both cases; only their presentation changes. This is useful when a destination expects an uninterrupted sequence rather than groups separated by spaces.

Selecting a different direction clears the input and the previous result. Swap direction has a different purpose: it moves the available result into the input and changes the direction. After a successful conversion, use it to try the return journey. If there is no result available, there is no converted content to transfer. Convert again after the swap to produce the new result.

Start with a short sample before pasting a long message from another source. This helps you confirm the direction and the expected byte format. The converter handles plain text rather than opening files, inspecting attachments or translating languages. A decoded message remains in its original language; β€œtranslator” here means changing representation, not translating English into Spanish or Portuguese.

Understand what an eight-bit group represents

A bit is a zero or a one. A byte here contains eight bits, so each output group has exactly eight positions, including any leading zeros. The character H becomes 01001000, not 1001000. Removing the leading zero would shorten that group and make it invalid for this decoder. Keep the fixed width even when the first digits appear unnecessary.

UTF-8 connects text characters to sequences of bytes. Basic Latin letters, ordinary digits and common ASCII punctuation use one byte each. Other characters may require several bytes. This means eight bits do not always represent one visible letter or symbol. Read the result as bytes first, then let the UTF-8 decoder assemble the characters from the complete sequence.

For a first example, enter β€œHi” without the surrounding quotation marks. The result with byte separation enabled is β€œ01001000 01101001”. The first group represents H and the second represents i. Decode those same two groups to get Hi again. Changing H to lowercase h changes its byte, so capitalization remains part of the encoded message rather than being ignored.

The same distinction explains why this is not a decimal-number converter. Entering the text β€œ10” encodes the character 1 followed by the character 0, producing β€œ00110001 00110000”. It does not calculate the binary representation of the numeric value ten. If a task asks you to convert a number between bases, use a number-base tool rather than interpreting the text bytes as a mathematical answer.

Keep accents and emoji as complete UTF-8 sequences

Try the single character β€œΓ‘β€. Its output is β€œ11000011 10100001”, two bytes rather than one. Both groups are needed to decode the character. Keeping only the first group does not produce a simpler version of the letter: it leaves an incomplete UTF-8 sequence. This is why cutting a binary result at an arbitrary space can still break a character even when every remaining group has eight bits.

For a second multibyte example, the emoji β€œπŸ˜€β€ becomes β€œ11110000 10011111 10011000 10000000”. It uses four bytes in this example. Do not assume every visible emoji uses exactly four bytes, however. Some displayed emoji contain several Unicode characters joined together, so the complete visible symbol can occupy a longer sequence. Copy the entire output rather than guessing where the symbol ends.

Accented text can also have more than one underlying representation. A ready-made accented letter and a letter followed by a combining mark may look alike while producing different bytes. This converter does not normalize those forms into one preferred spelling. If you are comparing byte sequences, the way the source text was constructed can matter even when the words look identical on screen.

If another program decodes the result incorrectly, check its expected encoding before changing the bits. These bytes are UTF-8, not an automatically detected legacy encoding. A sequence from a different character encoding might be rejected here or might produce characters you did not expect. This page does not offer an encoding selector to reinterpret arbitrary byte sequences as other formats.

Paste binary in a format the decoder accepts

The decoder accepts zeros, ones and whitespace separators. You can paste individual eight-bit groups separated by spaces, put bytes on separate lines, or use a continuous sequence. Each uninterrupted group must contain a whole number of bytes. Sixteen bits together are valid as two bytes; four bits, a space and another four bits are not treated as one byte split in half.

For example, β€œ0100100001101001” decodes to Hi, just like β€œ01001000 01101001”. Putting a line break between the two complete bytes also works. By contrast, β€œ0100 1000” is not accepted as H because neither group is a complete byte. The separator marks a boundary between complete groups, not a place where the decoder should repair an unfinished group.

Do not include commas, explanatory labels, quotation marks or a 0b prefix around each byte. β€œ0b01001000” is a familiar notation in some programming contexts, but it is not the input format used here. A pasted table may also contain column names or punctuation that must be removed before decoding. Preserve the actual zeros and ones while cleaning the surrounding presentation.

Whitespace used between binary groups is not itself decoded into a space in the message. A real space character must have its own encoded byte, 00100000. Likewise, a line break used to lay out a binary worksheet is not automatically a line break in the decoded text. Encoded content and separators are different things, so inspect which one the original source intended.

Distinguish malformed binary from invalid UTF-8

Fix the binary format

An invalid-binary message means the input fails the basic format check. Look for a digit other than zero or one, an incomplete group, punctuation or an unwanted prefix. Count eight bits per byte rather than padding groups at random. A missing bit may have been lost during copying, and adding a guessed zero can silently change the intended value instead of recovering it.

Check that the bytes form UTF-8 text

An invalid-UTF-8 message means the input passed the binary format check but the bytes do not form valid UTF-8 text. For instance, β€œ11111111” is a complete eight-bit byte but is not a valid UTF-8 text sequence on its own. A multibyte character missing its final byte also fails. The decoder reports the problem rather than silently replacing the damaged sequence with a substitute character.

To diagnose an error, return to the source and copy the full sequence again. Check whether it was described as UTF-8 text, raw file data, a number or a different encoding. A binary image or compressed file is not expected to become readable prose just because its bits are valid. This tool does not guess a file format or unpack binary content into a document.

Some valid characters are invisible. A decoded line break, tab or null character may not produce a visible symbol in the result field. A leading UTF-8 byte order mark is also preserved as a character rather than removed. It can therefore remain present when you encode the result again, even if you see no mark at the start. Do not equate an apparently blank display with proof that the decoded string contains no characters.

Check size limits and the return conversion

Text input has a limit of 20,000 units according to the field counter, while binary input has a limit of 200,000. The counter follows the browser's string length, so some emoji and combined characters count as more than one unit. The encoder also has a 200,000-unit output guard. A text can be under its input limit and still create too much binary output, especially when many characters use multiple bytes.

If the output is too large, use a shorter passage and convert separate sections. For decoding, split only where the original text's complete UTF-8 character sequences end. A byte boundary is necessary but is not always sufficient because a character can span several bytes. When you have the original text, dividing that text into sensible short parts before encoding is easier than guessing divisions in a long binary string.

A useful check is to encode a short valid text sample, swap direction, then decode it. Compare the returned text with the original, including capitalization, spaces and line breaks. This checks that you copied the whole sequence and used the intended direction. It is not a test that a different website, messaging app or file format will preserve every control character you later paste into it.

Editing the input or changing an applicable option clears the old result. Convert again before copying so you do not mistake an earlier conversion for the current one. After pasting into the destination, inspect the beginning and end as well as any accented characters. A messaging system that trims whitespace or changes line endings can alter the message after this tool has finished its work.

Use binary as a representation, not a secret

Binary encoding is not encryption. Anyone who has the sequence and knows the encoding can decode it with a compatible tool; no password or secret key is needed. It is appropriate for learning about bytes, creating simple encoding exercises or inspecting how a small text sample is represented. It is not a way to protect credentials, private records or a confidential message from a reader.

The converter does not provide hexadecimal, Base64, decimal byte tables, compression or file downloads. Those formats may appear in similar-looking tasks, but they are not interchangeable with this input. Identify what the source actually contains before trying to decode it. A string consisting only of zeros and ones can still represent a number or another data format rather than a UTF-8 message.

When a returned message seems different, compare the two texts to locate a changed character or line. When you need to remove a known label from copied material, Find and replace text can help with that separate literal-editing task. Review any cleanup carefully: deleting a zero or one from the payload changes the data, not just its formatting.

Back to the tool