Text to Binary Converter
Convert text to 8-bit binary and back. UTF-8 encoded, so emoji and accented characters work, with a choice of byte separator.
2 bytes
How to use
- Pick a direction: Text → Binary or Binary → Text.
- Type or paste your input. For encoding, choose how to separate the bytes.
- Copy the result from the output box.
About this tool
ShowHide
Turn any text into its binary representation and back again. Each character is encoded to UTF-8 bytes, and every byte becomes eight bits — so plain ASCII like 'A' is one byte (01000001) while an emoji or accented letter spans several. Choose how to separate the bytes (a space, nothing, or a custom character) for readable output. Switch to decode mode to paste binary back and recover the original text; spaces, newlines and other non-binary characters are ignored, so messy input still works. Handy for learning how characters are stored, puzzles and CTFs, or encoding short messages. Everything runs locally in your browser.
Frequently asked questions
Why is one character sometimes more than 8 bits?
Text is encoded as UTF-8. ASCII characters are one byte (8 bits), but emoji, accented letters and many non-Latin characters use 2–4 bytes, so they become 16–32 bits.
What counts as valid binary to decode?
Any string of 0s and 1s whose total length is a multiple of 8. Spaces, line breaks and other characters are stripped first, so '01001000 01101001' and '0100100001101001' both decode the same.
Why do I get a length error?
Decoding needs whole bytes. If the number of 0s and 1s isn't a multiple of 8, a character is incomplete — check for a missing or extra bit.
Is my text uploaded?
No. Encoding and decoding happen entirely in your browser; nothing is sent to a server.
Why did my binary decode to a replacement character instead of failing?
The length check only catches a bit count that is not a multiple of 8; after that the bytes go to a lenient UTF-8 decoder, which substitutes U+FFFD (�) for anything it cannot read rather than throwing. So 11111111, which is not a legal UTF-8 byte at all, and 11110000 10011111 10011000, which is three of the four bytes of 😀, both come back as a single �. A � in the output means the bits were not valid UTF-8, not that the tool gave up.
Can I tell where each character starts just by looking at the bits?
Yes, and it is the most useful thing UTF-8 gives you. A byte beginning 0 is a one-byte ASCII character; 110 starts a two-byte sequence, 1110 a three-byte one and 11110 a four-byte one; every byte beginning 10 is a continuation of the one before it. So é is 11000011 10101001, € is 11100010 10000010 10101100 and 😀 is 11110000 10011111 10011000 10000000. Count the bytes that do not start with 10 and you have the character count without decoding anything.
Related tools
Text to Hex Converter (and back)
Convert text to hexadecimal bytes and decode hex back to text, with UTF-8 support, in your browser.
Convert
ASCII Code Table
Browse and search the 256-row ASCII / extended-ASCII table — decimal, hex, octal, binary, and the named control characters.
Developer
Image → ASCII Art
Convert any image to ASCII art with adjustable width, character set, and inversion — all in your browser.
Image
Text Encoding Converter
Open text files in legacy encodings (EUC-KR, Shift_JIS, Windows-1252…) as readable UTF-8.
File
Folder Tree Visualizer
Paste an indented list of file and folder names and get a pretty ASCII tree — the kind you'd paste into a README.
Text
Mojibake Fixer (Repair Garbled UTF-8)
Repair text mangled by a wrong-encoding round-trip — turn café and don’t back into café and don't, automatically and in your browser.
Text