Binary Translator
Type in either box — text converts to binary and binary converts back to text, live as you type.
Processed on your device — nothing is sent anywhere.
How it works
- Type or paste text into the left box to see its binary representation appear on the right, one 8-bit byte per group.
- Or paste binary into the right box to translate it back to text — spaced or unspaced input both work.
- Use the output menu to switch between binary, hexadecimal and decimal bytes, and click Copy under either box.
Frequently asked questions
- How does text get converted to binary?
- Each character is first encoded to bytes using UTF-8, the encoding used across the modern web. Every byte is then written as eight binary digits, so the letter A becomes 01000001 and a euro sign becomes three bytes. Because UTF-8 is used, accented letters, CJK characters and symbols all round-trip correctly.
- Does the binary input need spaces between bytes?
- No. The parser accepts bytes separated by spaces or line breaks, and it also accepts one unbroken run of digits, which it splits into 8-bit groups. If groups are separated, shorter groups such as 7-bit values are padded automatically, so output from other tools usually pastes straight in.
- What are the hex and decimal output modes for?
- They show the same UTF-8 bytes in different notations: hexadecimal is compact and common in programming and debugging, while decimal matches how bytes appear in arrays or network dumps. All three modes are interchangeable representations of identical data, and the tool can translate any of them back to text.
- Why does one character sometimes become two or more bytes?
- UTF-8 is a variable-length encoding: plain ASCII letters and digits take one byte, most accented European letters take two, CJK characters take three, and emoji take four. So the word café produces five bytes of binary even though it has four characters. This is normal and reverses cleanly when you translate back.
- Is there a limit to how much text I can translate, and is it private?
- There is no fixed limit — the conversion is a simple in-memory transformation, and even very long documents translate in a fraction of a second. Everything runs locally in your browser with no network requests, so the text you enter is never uploaded or stored anywhere.
About this tool
This binary translator converts between human-readable text and the bytes computers store it as, in both directions and live as you type. Enter text to see its binary form, one 8-bit byte per group, or paste binary code to read it back as text. An output menu switches the byte notation between binary, hexadecimal, and decimal, so the same data can be viewed the way a programming tutorial, a hex editor, or a network dump would show it.
Under the hood, text is encoded to bytes with UTF-8 — the encoding used by the web, modern operating systems, and most programming languages — and each byte is rendered in the chosen base. The whole conversion runs client-side in your browser with no server round trip: nothing you type is uploaded or logged, and the page keeps working offline once loaded. Because encoding is genuine UTF-8 rather than ASCII-only, accents, Cyrillic, CJK characters, and emoji all convert and translate back without loss.
It’s a practical companion for computer science coursework on number systems and character encodings, for decoding the binary strings that show up in puzzles, ARGs, and CTF challenges, and for quickly checking what bytes a string really contains when debugging an encoding issue. Teachers use it to demonstrate why the letter A is 01000001, and developers use the hex mode to compare strings against what a debugger or packet capture shows.
The parser on the binary side is intentionally tolerant: bytes may be separated by spaces or newlines or run together in one continuous stream, which the tool splits into 8-bit groups automatically. Separated groups shorter than eight digits are zero-padded, so 7-bit ASCII from older tools decodes correctly. If a translation yields odd characters, check whether the source was really UTF-8 — single bytes above 127 from legacy encodings are the usual culprit.