Brotli Decompress

Decode a Brotli-compressed payload — an HTTP body served with content-encoding: br, an asset-bundle chunk, a .br blob from a log — straight back to readable text. Paste it as Base64 or hex and the original bytes appear. Runs entirely in your browser, no server, no sign-up.

Try:
Decompressed output

What this tool does

Brotli Decompress takes a Brotli-compressed payload — the codec behind HTTP content-encoding: br and most modern JavaScript/CSS asset bundles — and shows you the original data. Paste the blob as Base64 or hex, and the decompressed bytes appear as text, hex, or Base64. Decoding is pure Rust compiled to WebAssembly and runs entirely in the page, so a payload copied out of a production response or a customer bug report never leaves your machine.

Worked example

Paste this Base64 payload with Input encoding on Auto-detect and Show result as on Text:

GzYA6IzTFfMjhHUPwW2pr1bT4W8HRZOIyaLT1YpIQtBEajXzAUMiA3t2HQ3lRtbqeY1Rlg8=

You get the JSON that was compressed into it:

{"user":"ada","roles":["admin","deploy"],"active":true}

Turn on Show size and ratio stats and the result is prefixed with a summary before the payload:

Compressed:   53 bytes
Decompressed: 55 bytes
Ratio:        1.04x (decompressed / compressed)
Space saved:  3.6%

(Fifty-five bytes of JSON is far too small for Brotli to help — the preset chip High-ratio blob with stats shows the same summary on a payload that compresses 30× instead.)

Where Brotli payloads come from

Encodings

Input encoding is Auto-detect by default. Auto-detection here is verified, not guessed: a short Base64 string can consist entirely of hex characters, so the tool decodes the payload both ways and keeps whichever one actually Brotli-decompresses. Force Base64 or Hex when you already know the form and want a precise error instead of a fallback.

Show result as defaults to Text (UTF-8). Switch to Hex or Base64 when the payload decompresses to binary — a font, an image, a protobuf — instead of readable text.

Limits and edge cases

FAQ

What input formats can I paste?

Base64 or hex. Base64 accepts both the standard (+/) and URL-safe (-_) alphabets, padded or not. Hex accepts an optional 0x prefix in any case. Both ignore whitespace and line breaks, so a payload wrapped across many lines pastes fine. Leave Input encoding on Auto-detect and the tool works out which one you used.

Can I upload a .br file directly?

Not on this page — it is a paste-in, read-out tool for inspecting payloads inline. For a .br file you already have on disk or at a URL, use the file-compressor tool with operation=decompress and format=brotli, which returns the decompressed file as a download.

Why does it say my payload is gzip (or zstd, or ZIP) and not Brotli?

Because the Brotli decode failed and the first bytes matched another codec's signature. Brotli itself has no magic number, so that check only runs after the decode attempt — a valid Brotli payload is never misidentified. The message names the codec found and the sibling tool that decodes it.

Why is my result unreadable, or why do I get a UTF-8 error?

The payload decompressed to binary rather than text. Switch Show result as to Hex or Base64 to see the raw bytes. Text output deliberately errors instead of printing replacement characters, because silently mangled output is worse than a clear message.

How large a payload can it handle?

Up to 8 MiB compressed and 16 MiB decompressed. Both limits exist because the data lives in WebAssembly memory inside the tab; exceeding either returns an explicit error naming the limit. Typical HTTP bodies and bundle chunks are far below it.

Is my data uploaded anywhere?

No. The Brotli decoder is compiled to WebAssembly and runs inside this page, so the payload stays in your browser — which matters when it came from a production response, a customer report, or a security investigation.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool brotli-decompress "GzYA6IzTFfMjhHUPwW2pr1bT4W8HRZOIyaLT1YpIQtBEajXzAUMiA3t2HQ3lRtbqeY1Rlg8="

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/brotli-decompress/?data=GzYA6IzTFfMjhHUPwW2pr1bT4W8HRZOIyaLT1YpIQtBEajXzAUMiA3t2HQ3lRtbqeY1Rlg8%3D&encoding=auto&output=text&stats=true

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.