Binary Text Converter

Convert text to a binary string — one 01001000 per UTF-8 byte — and back. Five separator modes (space, every 4 bits, hyphen, comma, none), UTF-8 aware so accented characters and emoji round-trip cleanly, optional line-wrap for printing, live byte and bit counts. The page auto-detects when your input looks like a binary stream and suggests flipping to binary → text without forcing it. Pure client-side, no upload.

Type or paste any text.
Binary 8 bits per byte, separated by your chosen separator.

How it works

UTF-8 bytes, not ASCII
Every character is encoded as one to four UTF-8 bytes (each byte is 8 bits). ASCII letters are one byte; accented characters like é are two; emoji like 🙂 are four. The converter preserves the full UTF-8 range, so anything you can type round-trips cleanly.
Five separator modes
The default is space — one 01001000 01101001 byte-group per token. Every 4 bits adds a space in the middle of each byte (0100 1000 0110 1001). Hyphen and comma are alternate single-char separators. None emits a continuous bitstream (0100100001101001).
Line width
Set line width to any positive number of characters and the output wraps at the next byte boundary. Useful for printing on narrow paper. 0 disables wrapping.
Decoding is permissive
Binary → text accepts spaces, hyphens, commas, underscores, tabs, newlines, and 0b / 0x prefixes — everything except the bits themselves is stripped. So 0b01001000 0b01101001, pasted straight from a JavaScript source file, decodes to Hi.
Validation
The decoder checks that the bit count is a multiple of 8 and that the resulting bytes are valid UTF-8. Anything else surfaces as an inline error rather than a silent fallback.
Auto-direction
When the input is more than 90% binary characters and at least 8 bits long, a one-click suggestion lets you flip to binary → text without losing the input. The suggestion dismisses itself with the × button.
Privacy
Everything runs in your browser. TextEncoder, TextDecoder, and the page’s event listeners — nothing is sent anywhere. The page works offline once loaded.