Binary to UTF-8 Converter

Parses space-separated 8-bit binary octets into raw bytes and decodes them as UTF-8 using the browser's TextDecoder in strict (fatal) mode, so malformed byte sequences produce a clear error instead of silently corrupting the output. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-27

Overview

Introduction

Binary octets are only meaningful as text once you know the encoding used to produce them — this tool assumes UTF-8, the dominant encoding on the modern web.

It parses each 8-bit group as one byte and runs the resulting byte sequence through a strict UTF-8 decoder, so you get back exactly the text those bytes represent (or a clear error if they don't form valid UTF-8).

What Is Binary to UTF-8 Converter?

The inverse of the UTF-8 to Binary Converter: it takes 8-bit binary octets and decodes them as real UTF-8 bytes back into readable text.

It uses the browser's built-in `TextDecoder`, the same decoding logic used throughout the web platform, rather than a hand-rolled byte-to-character mapping.

How Binary to UTF-8 Converter Works

The input is split on whitespace into individual octets, each validated as exactly 8 binary digits, then parsed into a `Uint8Array` of byte values.

That byte array is decoded with `new TextDecoder("utf-8", { fatal: true })`, which enforces the UTF-8 byte-sequence rules and throws on any invalid sequence rather than silently substituting a replacement character.

When To Use Binary to UTF-8 Converter

Use it to turn raw byte dumps (from a network capture, file inspector, or another binary tool) back into readable text.

It also doubles as a UTF-8 validity checker: if the decode fails, you know the byte sequence you have isn't valid UTF-8.

Features

Advantages

  • Strict decoding surfaces encoding bugs immediately instead of hiding them behind replacement characters.
  • Handles the full UTF-8 multi-byte range, not just single-byte ASCII.
  • Accepts any number of octets, so arbitrarily long byte sequences can be decoded in one pass.

Limitations

  • Only decodes UTF-8; bytes produced by other encodings (UTF-16, Latin-1, Shift-JIS, etc.) will likely fail or decode incorrectly.
  • Requires exact 8-bit, space-separated octets — it does not accept a single unbroken bit string or hex bytes.

Examples

Plain ASCII bytes

Input

01001000 01101001

Output

Hi

01001000 is byte 72 (H) and 01101001 is byte 105 (i).

A multi-byte character

Input

11000011 10101001

Output

é

0xC3 0xA9 is the standard two-byte UTF-8 encoding of é (U+00E9).

Best Practices & Notes

Best Practices

  • Double-check each octet is exactly 8 digits; a missing or extra digit shifts every following byte's boundary.
  • If decoding fails, verify you copied every byte of a multi-byte character — a truncated sequence is the most common cause of a fatal decode error.

Developer Notes

Implemented with the standard `TextDecoder("utf-8", { fatal: true })` Web API, wrapped in a try/catch so an invalid byte sequence returns a `{ success: false, error }` result instead of throwing past the tool.

Binary to UTF-8 Converter Use Cases

  • Recovering readable text from a raw byte dump captured during debugging
  • Validating whether a given byte sequence is well-formed UTF-8
  • Round-tripping output from the UTF-8 to Binary Converter

Common Mistakes

  • Pasting an unbroken bit string instead of space-separated 8-bit octets, which the parser will reject.
  • Omitting one or more bytes of a multi-byte character, producing a fatal decode error rather than a garbled character.

Tips

  • Use the UTF-8 to Binary Converter first to generate correctly formatted sample input.
  • A decode error pointing at the end of the input usually means a multi-byte character got cut off.

References

Frequently Asked Questions