Runs 100% in your browser — nothing is uploaded
Encoding & Decoding

Binary → Text Converter

Convert text to 8-bit binary and back, with full UTF-8 support and configurable separators.

Binary → Text Converter
Client-side

About this tool

The Binary ↔ Text Converter turns any text into its binary (base-2) representation and decodes binary strings back into readable text. Each character is encoded as its UTF-8 byte sequence, with every byte rendered as an 8-bit binary group — so unlike naive charCodeAt-based converters, this tool correctly round-trips emoji, Chinese, Japanese, Arabic, and any other Unicode text, not just ASCII.

Binary representations of text show up in computer science education, low-level networking and protocol debugging, digital logic coursework, and puzzle/CTF contexts. Understanding how a byte like 01001000 maps to the letter "H" is foundational to understanding character encoding, memory layout, and how computers store text at all.

You can choose how bytes are separated in the output — spaces (the most readable, default), newlines (one byte per line), or no separator at all (a continuous bitstream). Decoding is equally flexible: paste space- or newline-separated binary, or a continuous unseparated bitstream, and it will chunk it into bytes automatically. Invalid sequences are caught and reported with a clear error rather than silently producing garbage.

Everything runs client-side using TextEncoder/TextDecoder, the browser's native UTF-8 codec. No text ever leaves your tab.

FAQ

Why does one character sometimes produce more than 8 bits of binary?
Characters outside the ASCII range are encoded in UTF-8 as 2, 3, or 4 bytes, not 1. Each of those bytes gets its own 8-bit binary group, so a single emoji can expand to 32 bits of output.
Why do I get an error when converting binary back to text?
Two common causes: the binary string has a bit count that is not a multiple of 8, or it contains characters other than 0 and 1. Check for stray spaces, typos, or truncated input.
Does this use charCodeAt or proper UTF-8 encoding?
Proper UTF-8, via TextEncoder/TextDecoder, so multi-byte Unicode round-trips correctly rather than breaking on characters above code point 255.
What is the difference between the separator options?
Space puts one space between each byte group. Newline puts each byte on its own line. No separator concatenates all bits into one continuous string.
Is this the same as ASCII binary code?
For plain English text, yes — identical to classic 8-bit ASCII binary. The difference only appears with non-ASCII characters, where this tool correctly uses UTF-8 multi-byte encoding.