Decode Base64, Base64URL, JWT tokens, and Data URI strings locally in your browser. Detect the most likely format with confidence, inspect bytes or UTF-8 text, inflate gzip, and pretty-print JSON — no uploads.
Input
type: —conf: —
Decode / Output
Hypothesis
—
Kinds
—
Flags
—
Base64
—
Decoded
—
Warnings
—
JSON error
—
JWT
—
Notes:
• “Type” is a hypothesis with confidence. If confidence < 0.75 you’ll see “maybe”.
• Detect auto-decodes only for strict Base64/Base64URL candidates with high confidence (≥ 0.78).
• JWT signature is NOT verified (online).
• Online flags ≠ security verdict.
How It Works (Base64, Base64URL, JWT, Data URI)
This tool decodes Base64 and JWT tokens locally in your browser. It first detects the most likely format
(Base64, Base64URL, Data URI, JWT, URL, or JSON) and shows a confidence score, then decodes into either
readable UTF-8 text or a safe bytes view (hex) when the output is binary.
Step 1 — Paste input (Base64 / JWT / Data URI)
Paste a Base64 string, Base64URL string, JWT token, or a full Data URI like
data:application/json;base64,....
Everything runs client-side: your content stays on your device.
Data URI (extracts the Base64 payload automatically)
Step 2 — Detect format with confidence score
Detection is hypothesis-based. The tool checks character alphabet, padding rules,
and impossible Base64 lengths (for example, length mod 4 = 1).
If confidence is low, it shows “maybe” and avoids auto-decoding.
This prevents misleading results when random text “looks like Base64” but isn’t.
Step 3 — Normalize safely (optional transforms)
Real-world strings are often broken by copy/paste, emails, or log formatting.
Use transforms to normalize input before decoding:
Fix Base64 padding (adds = only when safe)
Add Base64URL padding (when you need strict decoding)
Extract Data URI payload (decode just the Base64 part)
If the input has mixed alphabets (+/ together with -_),
decode is intentionally manual to avoid guessing.
Step 4 — Decode to text or bytes (hex view)
Decoding produces raw bytes first. Then the tool evaluates whether the bytes look like valid UTF-8 text.
If it’s likely text, you see readable output. If it looks binary, you see a hex preview instead.
Text mode: UTF-8 decode for JSON, URLs, configs, etc.
Bytes mode: hex dump for binary payloads (safe and honest)
Download: save decoded bytes as .bin
Step 5 — Inspect JSON and JWT payloads
If the decoded text is JSON, the tool can pretty-print it and highlight JSON parsing problems.
For JWT, it decodes header and payload (Base64URL) but does not verify the signature online.
JWT header: typically contains alg and typ
JWT payload: claims (often JSON), can include URLs and nested objects
JSON errors: attempts to derive line/column when browser exposes “position N”
Step 6 — Inflate gzip when supported
Some Base64 payloads represent compressed data. If the decoded bytes have a gzip signature
(1F 8B), the tool can inflate gzip into text using
DecompressionStream("gzip") when your browser supports it.
If gzip inflate is unavailable, you can still download bytes and decompress elsewhere.
Privacy & Safety
This is an online Base64/JWT decoder: no uploads, no link fetching, and no tracking.
URL and “suspicious” flags are pattern-based hints only — not a security verdict.
FAQ
How do I decode Base64 to text?
Paste your Base64 string and click Decode. Use “Decode → Text (UTF-8)” or “Auto” to display readable output when the bytes look like text.
Why does my Base64 string not decode?
Common causes include missing padding, invalid characters, mixed Base64/Base64URL alphabet, or corrupted data. Try a different decode strategy (Base64/Base64URL/Normalize) and check the warnings.
What is Base64URL and how is it different from Base64?
Base64URL is URL-safe Base64. It replaces + and / with - and _, and often omits padding =.
What does “mixed alphabet” mean?
It means the input contains both Base64 characters (+/) and Base64URL characters (-_). Auto-decode is blocked because it becomes unreliable—use a manual strategy.
Can this tool decode JWT tokens?
Yes. It can decode the JWT header and payload locally, and it can also pretty-print JSON when the payload is JSON.
Does it verify JWT signatures?
No. This tool does not verify signatures. It only decodes content for inspection (online).
Is it safe to paste a JWT here?
Processing happens locally in your browser. Nothing is uploaded. Still, don’t share secrets publicly—treat tokens as sensitive.
What is a Data URI and how do I decode it?
A Data URI embeds data directly in a URL-like string. Use “Extract Data URI payload” to pull out the Base64 part, then decode it.
What does “bytes view” show?
Bytes view shows decoded data as hex. This is useful when the decoded output is binary (files, compressed data, encrypted blobs).
What does “binary-ish” mean?
It means the decoded bytes don’t look like valid UTF-8 text (lots of control bytes or replacement characters). The tool shows hex preview by default to avoid misleading garbage text.
How do I inflate gzip-compressed Base64?
If gzip is detected (signature 1F 8B), click “Inflate gzip → text”. It works only in browsers that support DecompressionStream.
Why is gzip inflate unavailable?
Either the decoded bytes are not gzip, or your browser doesn’t support gzip decompression APIs in the current environment.
Can I download the decoded bytes as a file?
Yes. Choose “Decode → Download .bin” or click “Download bytes (.bin)” after decoding to save the raw output.
Can this tool detect phishing URLs?
It flags suspicious patterns (punycode domains, userinfo tricks, redirect-like parameters) but it does not provide a security verdict.
What does “confidence score” mean?
It’s a heuristic estimate of how likely the input matches a format. If it’s below the “maybe” threshold, the tool intentionally avoids pretending it’s certain.
Why doesn’t Detect always auto-decode?
Auto-decode is intentionally strict to prevent false positives and garbage output. Use the Decode button when you want best-effort decoding.
How do I fix missing Base64 padding?
For standard Base64, use “Fix padding (=) for Base64”. For Base64URL, use “Add padding for Base64URL”.
What does “roundtrip base64” copy do?
It decodes bytes and re-encodes them into standard Base64. This helps normalize messy inputs into a consistent canonical Base64 string.
Does this tool upload or store my input?
No. It runs locally in your browser. There are no uploads and no tracking in the tool logic.
Analyze text for AI patterns, formatting issues, and structural signals.
Useful after decoding Base64 content that contains JSON, prompts, or generated text.