Menu

Text to Binary Converter

Type or paste text to see each character as 8-bit binary bytes, or switch the direction to translate binary code back into readable text. Letters, accents and emoji are all encoded as UTF-8.

0 words 0 characters 0 lines

Direction

Continue with this text: Text to hexBase64Morse code

Your text stays in your browser: nothing is uploaded or stored on a server.

How to convert text to binary and back

  1. Type or paste your text in the input box, or press Example to load the sample Hi 👋.
  2. Leave Direction on Text → binary. The output shows one group of 8 digits per byte, and the line under it gives the total, such as 7 bytes in UTF-8.
  3. Untick Space between bytes if you need one continuous string of zeros and ones instead of separate bytes.
  4. To decode, switch Direction to Binary → text and paste the binary. Use as input moves the output into the input box, so you can switch the direction and check that a conversion goes back to the original.
  5. Press Copy to copy the result.
Option What it does
Text → binary Turns every character into its UTF-8 bytes, each written as exactly 8 binary digits.
Binary → text Reads bytes of zeros and ones and decodes them as UTF-8 text.
Space between bytes On: 01001000 01101001. Off: 0100100001101001. Only affects Text → binary.

How a character becomes binary

Computers store text as numbers. The tool first encodes your text as UTF-8 and then writes each byte in base 2, padded with leading zeros to 8 digits.

Take Hi. In UTF-8, H is byte 72 and i is byte 105. Writing those in base 2:

Character Byte (decimal) Place values used Binary
H 72 64 + 8 01001000
i 105 64 + 32 + 8 + 1 01101001

The eight places are worth 128, 64, 32, 16, 8, 4, 2 and 1 from left to right. A 1 means that value is included, so 01001000 is 64 + 8 = 72.

Uppercase and lowercase letters differ in exactly one bit, the one worth 32: A is 01000001 and a is 01100001. That is why Cat and cat produce different first bytes.

Accents, emoji and other characters

Plain English letters, digits, punctuation and spaces are one byte each, the same values as ASCII. Everything else takes two to four bytes, following the UTF-8 rules in RFC 3629: the first byte starts with 110, 1110 or 11110 to say how many bytes follow, and each following byte starts with 10.

Text Bytes Binary
A1! 3 01000001 00110001 00100001
é 2 11000011 10101001
€ 3 11100010 10000010 10101100
😀 4 11110000 10011111 10011000 10000000
café 5 01100011 01100001 01100110 11000011 10101001

A few things to know:

  • Spaces and line breaks are characters too. A space is 00100000 and a line break is 00001010. The binary output stays on one line; the line break appears as its byte.
  • The same-looking letter can have two encodings. An é typed as one character is 2 bytes, but e followed by a combining accent is 3 bytes (01100101 11001100 10000001). Both look identical on screen.
  • Emoji can be several characters. 👍🏽 is a thumbs-up plus a skin-tone modifier, so it becomes 8 bytes.

A binary table that only lists ASCII cannot show these characters. Because this tool uses UTF-8 for everything, its output decodes back to exactly the text you started with.

How binary is read back into text

Under Binary → text the tool accepts binary in the formats people usually paste:

Input Output Why
01001000 01101001 Hi Bytes separated by spaces.
0100100001101001 Hi No spaces: read 8 digits at a time.
1001000 1101001 Hi With separators, a byte may drop its leading zeros.
1001000 H A single byte may also drop its leading zero.
01001000, 01101001 Hi Commas and line breaks also separate bytes.
0b01001000 0b01101001 Hi A 0b prefix from code is ignored.
11000011 10101001 é Two-byte UTF-8 character.

Unspaced binary that was wrapped over several lines also works, because every line is a multiple of 8 digits and is read 8 digits at a time:

0100100001101001
0100000101000010

decodes to HiAB.

The tool stops with a message, and an empty output, when the input cannot be read:

Input Message
010010000110100 Binary without spaces must be a multiple of 8 digits; this has 15.
01001000 2 This is not binary: “2” is not a 0, 1, space, comma or line break.
010010000 1101001 “010010000” is longer than 8 bits, so it is not one byte.
11000011 These bytes are not valid UTF-8 text.

The last case happens when a byte that starts a multi-byte character is missing its continuation bytes, or when the binary was made with another encoding.

When people use it

  • Computer science homework. Checking a hand conversion of a name or word into ASCII and binary, or seeing why é needs two bytes.
  • Puzzles and escape rooms. Hiding a clue as zeros and ones, or decoding one. For other simple codes, try the Morse code translator or the Caesar cipher.
  • Debugging encoding problems. When text shows up as é instead of é, looking at the actual bytes shows whether the text is UTF-8. The text to hex converter shows the same bytes in a shorter form that matches most developer tools.
  • Spotting invisible characters. A zero-width space shows up as the bytes 11100010 10000000 10001011 between visible letters; the invisible character remover deletes them, and the guide to zero-width spaces explains where they come from.
  • Counting storage. The byte count under the output is the size of the text in UTF-8, which is what database and API limits measured in bytes count. The character counter shows characters and bytes side by side.

Binary, hex and Base64

All three write the same UTF-8 bytes in different ways. Binary uses 8 digits per byte, hexadecimal uses 2 (48 69 for Hi), and Base64 packs every 3 bytes into 4 characters (SGk=), which is why it is used to send data through email and URLs. The Base64 encoder and the guide what is Base64 cover that format.

Questions

What is "hello" in binary?

In lowercase, hello is 01101000 01100101 01101100 01101100 01101111: five bytes, one per letter. With a capital H the first byte becomes 01001000, because uppercase and lowercase letters have different codes.

How do I translate binary to English?

Choose Binary → text under Direction and paste the binary. Bytes can be separated by spaces, commas or line breaks, or written as one unbroken string whose length is a multiple of 8; a 0b in front of a byte is ignored. The tool shows the text, or a message saying which part it could not read.

Can I convert numbers to binary with this tool?

Not as numbers. The tool encodes characters, so the digit 5 becomes 00110101, its character code, not 101, the number five in base 2. Each digit you type is one byte: 2026 becomes four bytes.

Why does an emoji or accented letter give more than one byte?

UTF-8 uses one byte only for the 128 basic ASCII characters. Letters such as é and ñ take two bytes, symbols such as € take three, and emoji take four. Some emoji are several characters joined together, so 👍🏽 is eight bytes.

Can I translate binary from a picture?

The tool reads typed or pasted text, not images. Copy the zeros and ones by hand (spaces between bytes are fine) and paste them under Binary → text. A single wrong digit changes a letter. A byte missing a digit is still read (as if a leading zero had been dropped), so it gives a different letter without a warning; in an unspaced string, a missing digit makes the length wrong and the tool says so.

Is my text sent anywhere?

No. The conversion runs in your browser. The text is kept only in this browser tab so it is still there if you open another tool, and it disappears when you close the tab.