Convert text to binary/hex or decode binary/hex back to text. Supports Unicode through UTF-8 encoding.
Saved Presets is a Supporter feature.
Tool History is a Supporter feature.
Tool Notes is a Supporter feature.
Choose 'Text → Binary' to encode text, or 'Binary → Text' to decode.
Type or paste your text (encode mode) or binary/hex data (decode mode).
Select Binary or Hexadecimal format. Optionally adjust separators when encoding.
Copy the converted output to your clipboard. Use swap to switch directions.
Each character is first converted to its UTF-8 byte representation. ASCII characters (A-Z, 0-9) use 1 byte, accented European characters use 2 bytes, most Asian characters use 3 bytes, and emojis typically use 4 bytes. This is done using TextEncoder API which provides native UTF-8 encoding in the browser.
Each UTF-8 byte is converted to an 8-bit binary representation using toString(2) and padded to 8 digits with leading zeros. For example, byte value 65 (letter 'A') becomes '01000001'. This shows the exact bit pattern stored in computer memory.
For hexadecimal output, each byte is converted using toString(16) and padded to 2 digits. This creates a more compact representation - each byte becomes 2 hex characters (0-9, A-F) instead of 8 binary digits. For example, byte 65 becomes '41' in hex.
For decoding, binary/hex input is parsed back to bytes, then decoded using TextDecoder. Input validation ensures proper format. All conversion happens entirely in your browser using native JavaScript APIs. No server communication occurs.
Text is converted to binary by first encoding each character using UTF-8 (which converts characters to one or more bytes), then representing each byte as an 8-bit binary number (0s and 1s). For example, the letter 'A' has ASCII value 65, which is 01000001 in binary.