Skip to content
ToolBoxGeniehome

Text to Binary Converter

Converters · Added

Convert text into binary, octal, decimal or hexadecimal and read it back again, with one choice most converters make silently: whether each value is a UTF-8 byte or a Unicode code point. Both answers are correct under different definitions and they differ the moment your text leaves ASCII, so the setting is explicit here, and a character-by-character table shows exactly which is which.

Direction

Anything — letters, punctuation, emoji.

What a file or a network connection actually carries.

Encoded

01001000 01100101 01101100 01101100 01101111
Characters
5
UTF-8 bytes
5
Units encoded
5
Output length
44 characters

Character by character

CharacterCode pointUTF-8 bytesEncoded
HU+0048101001000
eU+0065101100101
lU+006C101101100
lU+006C101101100
oU+006F101101111

Bytes and code points differ the moment the text leaves ASCII. The character é is one code point (U+00E9) and two UTF-8 bytes; an emoji is one code point and four bytes. Neither answer is wrong — but a value produced one way and read back the other will not round-trip, so it is worth knowing which one you were given.

How to use the text to binary converter

  1. 1Choose a direction — text to numbers, or numbers back to text.
  2. 2Type or paste your input. Encoded input can be separated by spaces or commas, or written in even fixed-width groups.
  3. 3Pick the base: binary, octal, decimal or hexadecimal. When decoding, the tool says if the input looks like a different base and offers to switch.
  4. 4Choose whether each value is a UTF-8 byte or a Unicode code point. Bytes are what files and networks carry, and are the right default.
  5. 5Read the per-character table to see the code point and the byte count behind each value.

Examples

A word in binary

Input
Hi
Result
01001000 01101001

Two characters, two bytes, eight bits each.

An accented character

Input
é in hexadecimal
Result
C3 A9 as UTF-8 bytes, or E9 as a code point

One character, two bytes. This is the distinction that trips up most conversions.

Decoding back

Input
01001000 01100101 01101100 01101100 01101111
Result
Hello

Input that will not decode

Input
0100100 as binary
Result
An explanation that seven digits cannot be split into bytes, rather than a wrong answer

About the text to binary converter

From character to number to digits

Every conversion here is two steps. First the text becomes numbers: either the Unicode code point of each character, or the sequence of bytes UTF-8 uses to store it. Then each number is written in the base you chose. Nothing is invented in either step, which is why the process reverses exactly.

The per-character table exists to make that visible. It shows the character, its code point in the U+ notation, how many bytes UTF-8 needs for it, and the digits produced — so when the byte count and the character count disagree, you can see precisely where.

Why UTF-8 uses a variable number of bytes

A fixed four bytes per character would represent every character Unicode defines and would also quadruple the size of ordinary English text. UTF-8 avoids that by making common characters cheap: ASCII stays one byte, and only less common characters cost more.

The design has a property that made it win. Because ASCII text is byte-for-byte identical in UTF-8, every existing ASCII file was already valid UTF-8 on the day the encoding appeared. That backward compatibility, more than elegance, is why UTF-8 is now what the web runs on.

Where binary output is actually useful

Reading protocol dumps and file headers, where a byte-level view is the only way to see what is really there. Teaching, because seeing the letter A as 01000001 makes the idea that text is numbers concrete in a way an explanation does not. And puzzles and capture-the-flag challenges, where binary is a common first layer.

What it is not useful for is storage or transmission. Binary text is eight times the size of the bytes it describes, so anything that needs to move data compactly uses the bytes themselves, or Base64 when the channel only tolerates text.

Frequently asked questions

How is this different from the number base converter?
That tool converts a number into another base — 42 in binary is 101010. This one converts text, which means first turning each character into a number and then writing that number in a base. The two answer different questions and produce different output for the same input, which is why they are separate pages.
What is the difference between a byte and a code point?
A code point is the number Unicode assigns a character: é is U+00E9, which is 233. A byte is what UTF-8 actually stores, and é takes two of them, 195 and 169. For plain English text the two are identical because ASCII characters are one byte each. For anything else they diverge, and a value produced one way and read back the other will not round-trip.
Why does an emoji produce four values?
Because UTF-8 encodes it in four bytes. Emoji sit high in the Unicode range, and UTF-8 uses more bytes for higher code points — one for ASCII, two for most European accented letters, three for most East Asian characters, four for emoji and rarer symbols. Switching the unit to code points shows a single value instead.
Is this ASCII or UTF-8?
UTF-8, which contains ASCII. Every ASCII character encodes to exactly the same single byte in UTF-8, so for unaccented English text the answer is identical either way and a converter labelled ASCII would give you the same numbers. The difference only shows up beyond ASCII, where UTF-8 keeps working and ASCII has nothing to say.
Why does the padding matter?
Because without separators the only way to read the digits back is in fixed-width groups. Padded binary splits cleanly into bytes of eight; unpadded binary produces a run of digits with no way to know where one character ends. If you plan to decode the output later, keep the padding or keep the separators.
Is this encryption?
No, and it is worth being clear about. Binary is a different way of writing the same text, not a way of hiding it — anyone can convert it straight back, as this page does. It is useful for learning how text is stored, for reading a protocol dump, or for puzzles. It offers no security whatever.