Every character you type is stored by a computer as a number, and every number a computer stores is ultimately a sequence of binary digits. This tool makes that translation visible — converting text to binary and back, and breaking each character down into its decimal, hexadecimal, and binary forms.

How text becomes binary

Character encodings like ASCII and UTF-8 assign each character a numeric code point. ASCII covers 128 code points (0–127) in a single byte, enough for English letters, digits, and basic punctuation. UTF-8 extends this to the full Unicode range using 1 to 4 bytes per character, while staying backward-compatible with ASCII for the first 128 code points.

To convert a character to binary, this tool looks up its code point, then writes that number in base 2, padded to a full 8-bit byte. Multi-byte UTF-8 characters produce multiple 8-bit groups — one per byte in the encoded sequence.

Inputs and what they mean

Text (Text → Binary tab) accepts any string; each character is converted independently. Binary (Binary → Text tab) expects space-separated 8-bit groups of 0s and 1s — exactly the format this tool's own binary output uses, so pasting a previous result back in always round-trips cleanly. Encoding switches between UTF-8 (handles any Unicode character across 1–4 bytes) and ASCII (7-bit only; non-ASCII characters are clamped to '?').

Limits and edge cases

In ASCII mode, any character with a code point above 127 (accented letters, emoji, most non-Latin scripts) cannot be represented and is replaced with '?' (code 63) — switch to UTF-8 to preserve those characters exactly. When decoding, each binary group must be 1–8 digits of only 0s and 1s; malformed input (wrong digit count, stray characters, missing spaces between bytes) is flagged rather than silently guessed at. Very long text produces a proportionally long binary string — there's no length limit, but extremely large inputs may be easier to review a chunk at a time.