Decode Base64 to text through nested Base64/Base64URL, GZIP, zlib, UTF-8, and UTF-16 layers, or encode text locally.
Input and results stay in browser memory in this tab. Nothing is uploaded, logged, saved, or added to the URL.
Nested Base64 / GZIP decoderAuto decode repeatedly unwraps standard Base64 or Base64URL, GZIP, and zlib until readable UTF-8 or UTF-16 text is reached. It stops safely at unknown binary, ZIP/PDF content, encryption, unsupported codecs, or 32 transformations.
Enter text and choose an action.
Why this tool is different
Decode ordinary Base64, Base64URL, nested Base64, and common Base64-wrapped compressed text such as GZIP or zlib. The auto decoder keeps unwrapping supported layers until readable UTF-8 or UTF-16 text is reached, then shows the exact chain it detected. Base64 is encoding, not encryption.
Requirements and recommendations
Decode one layer or unwrap the whole supported chain
Use Decode all layers → text when a value such as H4sI... decodes to compressed bytes instead of readable text.
Use Decode one Base64 layer when you need exact manual control.
Standard Base64 and Base64URL are detected automatically in recursive mode; manual encode/decode still lets you choose the alphabet.
Review the detected layer report before copying or downloading the final text.
How OpenFileTools processes it
Local processing, explicit choices.
The browser strictly decodes Base64/Base64URL, checks binary signatures, safely decompresses detected GZIP or zlib layers, detects UTF-8/UTF-16 text, and repeats when the resulting text is itself Base64. Processing remains in this tab with explicit layer and decoded-size limits.
Quick technical summary
What this tool changes.
Property
Behavior
Processing
Browser local; input and decoded text stay in this tab
Auto layers
Base64, Base64URL, GZIP, zlib, UTF-8, UTF-16LE/BE
Recursion
Up to 32 supported transformations
Decoded payload
32 MiB safety ceiling
Encryption
Not decrypted; requires the actual algorithm/key
Decode nested Base64 instead of stopping at unreadable compressed bytes
A normal Base64 decoder performs one representation change. That is not enough when an application first compresses text with GZIP or zlib and then Base64-encodes the compressed bytes, or when Base64 has been applied more than once. Auto decode follows supported layers one at a time and displays the detected chain.
H4sI... commonly decodes to GZIP bytes, not directly to readable text.
Nested Base64/Base64URL layers are unwrapped repeatedly when the intermediate result remains plausible text or recognized compressed data.
UTF-8 and conservative UTF-16LE/UTF-16BE text detection are supported for common application payloads.
Keep automatic decoding bounded and explain where it stops
Recursive decoding cannot safely promise to understand every possible byte stream. Encrypted content, proprietary formats, arbitrary binary files, and raw DEFLATE without a trustworthy signature require format-specific knowledge. OpenFileTools stops instead of presenting replacement characters as if they were valid decoded text.
Maximum 32 supported transformations in one automatic run.
Maximum 32 MiB decoded/decompressed payload.
ZIP and PDF signatures are called out as binary endpoints rather than coerced into text.
Use one-layer mode when exact protocol behavior matters
Manual Base64 and Base64URL encode/decode remain available. This is useful when debugging a protocol where you need to inspect one layer at a time rather than accept automatic recursion. The GZIP + Base64 encoder can also create the common compressed-text representation for round-trip testing.
Base64 is not encryption and provides no secrecy.
Whitespace inside an encoded value is normalized only for strict Base64 parsing.
Image data URLs remain on the image-specific Base64 routes.
Frequently asked
Questions, answered.
Why does H4sI... not become readable after Base64 decode?
Because the Base64 payload commonly contains GZIP-compressed bytes. The next required operation is GZIP decompression, followed by text decoding.
Will Decode all layers keep going through multiple Base64 wrappers?
Yes, for supported and plausible layers. It stops at readable non-Base64 text, unknown binary, an unsupported format, or the recursion/size safety boundary.
Can it decode encrypted Base64 into plaintext?
Not without the correct cryptographic algorithm and key. Base64 only changes the representation of the encrypted bytes.