TEXT -> BINARY · Local tool
Text to Binary
Convert text to binary, hex, octal or decimal as UTF-8 bytes.
Last updated
How do I convert text to binary?
Type or paste the text into filetity and the binary appears beside it, in the browser tab with nothing uploaded. It converts to UTF-8 bytes, which is what a file, a network connection and every other language mean by the binary of a string, so each byte becomes exactly eight digits and the output lines up in columns. That matters as soon as you leave English: an accented letter is two bytes and an emoji is four, where the common shortcut of reading UTF-16 code units gives two meaningless halves instead. Code points are offered as the alternative, which is what most teaching material means by the number of a character. Hexadecimal, octal and decimal work the same way, and the separator between numbers is yours to pick.
01 / Your device
the file stays here
02 / Browser memory
the work runs locally
03 / Back to you
saved on this device
When you would use this
Situations, not settings.
- Homework or a puzzle that wants binary
- Plain English gives the same answer as ASCII, and the page says which basis it used so you can check it against whatever you are being marked on.
- Seeing what a string really is on disk
- UTF-8 bytes, so an accented letter is two and an emoji is four, which is what a file or a network connection actually contains.
- Producing a hex dump of a short string
- Pick hexadecimal and no separator for a continuous string, or spaces for something readable in columns.
How it works / no cloud
A conversion engine, not an upload form.
The text is encoded to UTF-8 bytes and each byte written in the base you choose, padded so the output lines up in columns. Code points are offered as an alternative, and the two disagree the moment you leave ASCII, which is why the page says which it is using.
- Offline ready
- Installable app
- No file limit queue
Straight answers
No accordion. Nothing hidden.
- Is it free?
- Yes, with no watermark and no page limit.
- Does it need an account?
- No. There is no account system.
- Is my file processed on my device?
- Yes. The file is read by your browser and never uploaded. There is no server to send it to.
- What formats are supported?
- Any text in. Binary, hexadecimal, octal or decimal out, as UTF-8 bytes or as code points, with a separator you choose.
- What are the limits?
- No length limit beyond what a text box holds. Binary is eight times the size of the text, so a long paragraph produces a very long line.
- Does it work on mobile?
- Yes, on any modern mobile browser. Large files are limited by the memory the phone gives the browser.
- Does it work offline?
- Yes, once the page has loaded. The tool keeps working with no network connection.
- Why is my emoji eight numbers instead of one?
- Because it is four UTF-8 bytes, and in binary each byte is eight digits. That is what a file or a network connection actually contains. Switch to code points and the same emoji becomes a single number, which is what most teaching material means.
- Is this ASCII or UTF-8?
- UTF-8, which is the same thing as ASCII for the first 128 characters, so plain English text gives identical results either way. They diverge at accented letters and everything beyond, where ASCII simply has no answer and UTF-8 uses two or more bytes.
- Why not just use charCodeAt?
- Because it gives UTF-16 code units, so an emoji comes out as two meaningless halves and non-Latin scripts produce numbers that match no other tool. That is the single most common bug in a text to binary converter, and it only shows up once somebody pastes something that is not English.
- What is the padding for?
- So the output lines up. Each UTF-8 byte becomes exactly eight binary digits or two hex digits whether or not it needs them, which makes the result readable in columns and, more importantly, makes it possible to read back without separators.
- Can I use a different separator?
- Yes: a space, nothing at all, a dash or a comma. Nothing at all is the one to pick when the result is going somewhere that expects a continuous string, and it still reads back correctly because the padding makes the byte boundaries unambiguous.
Keep working locally
3 available · more coming