Decode nested base64
Most decoders peel one layer and stop, leaving you to paste the output back into the input box over and over. This one unwraps every layer at once and tells you how many there were.
Projected output appears once there is input.
Nothing to convert yet.
Recent activity
Why is my base64 encoded twice?
Layers accumulate when a value that was already encoded gets encoded again by the next system it passes through. A config value is base64d for transport, the whole config is base64d to fit in an environment variable, and the deployment tool base64s that. Nobody decided on three layers; each step only knew about its own.
The same thing happens with tokens carrying other tokens, with values copied between systems that each apply their own encoding, and with payloads deliberately wrapped several times to survive filters. What you end up holding is a blob that looks like ordinary base64 and turns into more base64 when you decode it.
Does anything I paste leave my browser?
No. Decoding happens in your browser, and no request carries what you paste. There is no account, no history stored on a server, and nothing to log — because the payload never reaches one.
This matters more than it sounds. People paste live tokens, config blobs and credentials into decoders without thinking about it. Open your browser's network tab while you use this and you will see it stay empty.
Why does my decoded text look like garbage?
Because some ordinary text is also valid base64. The words test, deadbeef and Password all use only characters from the base64 alphabet and all have lengths base64 allows — so do hex digests, dashless UUIDs and git commit hashes. A decoder cannot tell them apart from real encoded data by looking at their shape.
Decode one anyway and you get bytes that were never text, which is why the result renders as noise. A tool that peels greedily destroys exactly these values, which is why this one stops when the result stops looking like something that was deliberately encoded.
What does this remember?
Recent activity is kept in your own browser, on this device, and never leaves it. Each entry records how many layers were peeled, which direction it went, how large the result was, when it happened, and a preview of the first 64 characters. Your theme choice is stored the same way. Nothing is stored anywhere else, because there is no server to store it on.
Full payloads are never kept — not truncated late, but cut before the entry is written, with a hard ceiling on everything stored so that no payload could fit even if something went wrong. People decode credentials here, and a history that kept them would be a worse problem than no history at all. Clear history removes the lot immediately, and your browser settings will do the same.