Binary Translator for UTF-8 Text and Emoji
Translate text to binary and binary to text with UTF-8, plus hex, decimal and octal byte views
Byte views
18 bytes (UTF-8)48 65 6C 6C 6F 2C 20 77 C3 B6 72 6C 64 20 F0 9F 91 8B
72 101 108 108 111 44 32 119 195 182 114 108 100 32 240 159 145 139
110 145 154 154 157 054 040 167 303 266 162 154 144 040 360 237 221 213
Text to binary and binary to text, byte by byte
This binary code translator works in both directions. In Text to binary mode, every character you type is encoded as UTF-8 and each resulting byte is written as eight binary digits: "Hi" becomes 01001000 01101001. In Binary to text mode you paste the 0s and 1s and get the original text back. Conversion happens live in your browser; nothing you paste is uploaded.
Under the hood, text to binary is a two-step process. Characters are first turned into bytes by a character encoding, and then each byte is printed in base 2. For plain English text the encoding question barely matters — ASCII to binary and UTF-8 to binary give identical output for the 128 ASCII characters, because UTF-8 was designed to be backwards compatible with ASCII. A is 65, which is 01000001, whichever you use.
The difference shows up as soon as you leave ASCII. Many simple translators convert each JavaScript character code straight to binary, which produces nonsense — or numbers longer than eight bits — for é, €, Chinese characters or emoji. This tool uses the browser's TextEncoder, so é becomes the two UTF-8 bytes 11000011 10101001 and 😀 becomes four bytes, exactly as they would be stored in a file or sent over a network. Decoding uses the same rules, so a round trip always returns the text you started with.
Pasting binary: spacing, separators and error messages
Binary copied from puzzles, homework or chat comes in many shapes, so the parser is tolerant. Groups can be separated by spaces, line breaks, commas, semicolons or pipes, and an optional 0b prefix on a group is ignored. You can also paste one unbroken run of digits, as long as its length is a multiple of eight, and it is split into bytes automatically. Groups shorter than eight bits are padded on the left, so 7-bit ASCII like 1001000 1101001 still decodes to "Hi".
When something is wrong, the message tells you where rather than just failing. A stray character such as 2 or o is reported with its exact position. An unspaced run that is not a multiple of eight bits tells you how many bits are left over, which usually means a digit was dropped or duplicated. If the bytes are fine individually but do not form valid UTF-8 — for example a multi-byte character cut off at the end, or a continuation byte with no lead byte — the error names the byte number and the reason.
Hex, decimal and octal byte views
Below the translation, the same bytes are shown in hexadecimal, decimal and octal. That is useful when you are comparing against a hex dump, an escape sequence such as \xC3\xA9, or a table that lists character codes in decimal. You can choose the separator used between bytes — space, none, comma or newline — for both the binary output and these views, and copy any of them with one click.
If you need to convert whole numbers between bases rather than text, use the number base converter; to encode bytes for transport in text formats, Base64 is usually the better choice than raw binary.
How to use the Binary Translator for UTF-8 Text and Emoji tool
- 1
Pick a direction
Choose Text to binary or Binary to text.
- 2
Type or paste your input
Text is encoded as UTF-8; binary can be spaced, comma-separated or one unbroken run.
- 3
Choose a separator
Set what goes between bytes in the output: space, nothing, comma or a newline.
- 4
Copy the result or a byte view
Copy the translation, or the hex, decimal or octal representation of the same bytes.
Frequently asked questions
What is "hello" in binary?
01101000 01100101 01101100 01101100 01101111 — one 8-bit byte per letter, since all five are ASCII characters.
Is ASCII to binary different from UTF-8 to binary?
Not for the 128 ASCII characters: UTF-8 encodes them as the same single bytes. Characters outside ASCII, such as é or emoji, take two to four bytes in UTF-8 and have no ASCII encoding at all.
Why does one character produce several bytes?
UTF-8 uses one byte for ASCII and two, three or four bytes for everything else. é is 2 bytes, € is 3 and most emoji are 4.
My binary has no spaces. Will it still decode?
Yes, as long as the total number of digits is a multiple of 8. If it is not, the error tells you how many bits are left over so you can find the missing or extra digit.
Is my text sent to a server?
No. Encoding and decoding use the browser's built-in TextEncoder and TextDecoder, so everything stays on your device.
Related Encoding Tools
Base64 Encoder and Decoder with UTF-8 Support
Encode plain text to Base64 or decode Base64 back to text
URL Encoder and Decoder for Query String Values
Encode or decode URLs and URI components instantly
HTML Entity Encoder and Decoder with Numeric Entities
Encode or decode HTML entities in text
JWT Decoder with Readable exp and iat Claims
Decode and inspect JWT tokens without verification
Get the next tool before you need it
One email a week: new and trending developer tools, fresh comparisons, and what shipped. Unsubscribe in one click.

