Skip to content

UTF-8 · runs in your browser

Binary ↔ text converter

Type on either side and the other follows: text turns into the bits of its UTF-8 bytes, and bits turn back into text. Below, every character is taken apart into its code point and bytes.

Examples

Changes here update the binary field.

Out of date: fix the error first.

0 characters · 0 bytes

Changes here update the text field. Separate bytes with spaces, line breaks or commas, or write one run of bits; a 0b before a group is fine.

Out of date: fix the error first.

0 bits · 0 bytes

Options

Separator
Groups

Per character keeps the two to four bytes of a non-ASCII character together.

Character by character

Type or paste text, or pick an example, to see each character’s bytes here.

Tips

  1. How UTF-8 works. ASCII characters (code points 0–127) take one byte, which starts with 0. Every other character takes two to four: its first byte starts with 110, 1110 or 11110, one 1 for each byte, and every byte after it starts with 10. Turkish letters such as ğ, ş and ı take two bytes; most emoji take four.

  2. Pasting binary. Separate bytes with spaces, line breaks or commas, or paste one continuous run of bits whose length is a multiple of 8. A 0b prefix is fine too, as in 0b01001000. When something is wrong, the tool gives the line and column; “Show in field” selects the spot.

  3. Why ASCII only? Some protocols, file formats and exercises expect 7-bit ASCII. With this option on, characters above 127, such as ü, ı or an emoji, are flagged before they cause trouble.

  4. One emoji, several code points. Emoji with a skin tone, flags and families are built from several code points, often joined by ZWJ (U+200D), so the table lists each part on its own row. Invisible characters such as the byte order mark (U+FEFF) show up there by name.