Binary/Octal/Hex
Encodes and decodes text to Binary, Octal or Hexadecimal — byte by byte, in UTF-8.
Base
What this tool does
Under the hood, every piece of text is a sequence of bytes — this tool takes each byte of the text (UTF-8 encoded) and writes its value in the chosen base (Binary, Octal or Hexadecimal), one byte per token, space-separated. "Encode" goes text → bytes; "Decode" does the reverse, reading tokens from the chosen base back into text. Every byte always shows the base's fixed width — 8 digits in binary, 3 in octal, 2 in hexadecimal —, the range of any byte (0-255).
Why a character can become more than one byte
UTF-8 represents characters outside basic ASCII (accents, emoji, most non-Latin alphabets) using more than one byte — "é" becomes 2 bytes, most emoji become 4. That's why the number of output tokens isn't equal to the number of characters typed: "café" has 4 characters, but 5 bytes (the "é" alone accounts for 2). This is the same behavior already used by this catalog's Base64 Encode/Decode — the actual bytes of the text, the same ones any file or protocol would transmit.
Limitations
Decode expects one value per byte, always within the chosen base's alphabet and range (0-255) — a token outside the alphabet (e.g., "2" in binary) or greater than 255 is rejected. Space-separated tokens accept any width (with or without leading zeros); pasted without any separator, they only work if the total length is an exact multiple of the base's fixed width (8 in binary, 3 in octal, 2 in hexadecimal) — otherwise there's no way to know where one byte ends and the next begins.
Frequently asked questions
Because "é" isn't part of basic ASCII (0-127) — in UTF-8, any character outside that range needs more than one byte to be represented unambiguously. "é" (U+00E9) uses 2 bytes; most emoji use 4. It's the same reasoning already used by this catalog's Base64 Encode/Decode, applied here to Binary/Octal/Hex instead of Base64.
Because a byte ranges from 0 to 255, and 8 binary digits is the exact width needed to represent any value in that range unambiguously — the same logic behind octal (3 digits, up to 377) and hexadecimal (2 digits, up to ff). Keeping the fixed width is also what makes it possible to tell where one byte ends and the next begins, even without a separator.
For consistency with the rest of Nexinon — Number Base Converter, Hash Generator, JWT and UUID Generator already display hexadecimal in lowercase everywhere.
The tool flags the result as invalid, without silently guessing or fixing it — a token with a character outside the base's alphabet (e.g., "2" in binary), a byte above 255, or a separator-less pasted length that isn't an exact multiple of the base's width, are all rejected.
The Number Base Converter converts a NUMBER between bases (e.g., decimal 255 = hex ff) — the value stays the same number, only the representation changes. This tool converts TEXT, byte by byte — each character becomes one or more byte values (0-255) in the chosen base, and the result isn't "a number", it's a sequence of bytes that together reconstruct the original text.
Yes. A common emoji takes 4 bytes in UTF-8 — encoding produces 4 tokens in the chosen base, and decoding those 4 tokens back reconstructs the original emoji, exactly like any other multi-byte character.
Nexinon Principles
Privacy
Your data never leaves your browser.No account needed
Use it now, no account or password.Free
No usage limits, no paid plan.Trustworthy content
Full explanation behind every tool, not just the result.