Detect, decode, and encode Base64 values inside any JSON object. Works with JWT payloads, API responses, Kubernetes secrets, and configuration files. Free, browser-only, no signup.
Open Base64 JSON Tool →JSON is a text-only format. It has no native type for binary data such as images, file contents, cryptographic keys, or raw byte sequences. To embed binary data in JSON, developers encode it as a Base64 string. The result is a JSON string value that looks like a long sequence of letters, numbers, and symbols — but actually represents structured binary data underneath.
You encounter Base64 values inside JSON in many real-world situations:
Kubernetes stores secret values as Base64-encoded strings in JSON and YAML manifests. When you run kubectl get secret my-secret -o json, you get a response like:
{
"data": {
"password": "c3VwZXJzZWNyZXQ=",
"api-key": "YWJjMTIzZGVmNDU2"
}
}
The values are Base64-encoded strings that must be decoded to read the actual secrets.
APIs that return small images or icons often embed them directly as Base64 data URIs inside JSON responses. This avoids an extra HTTP request and simplifies caching. The field value looks like "data:image/png;base64,iVBORw0KGgo...".
Public keys, certificate chains, and digital signatures in JSON payloads are frequently Base64 or Base64url encoded. JSON Web Keys (JWK) use Base64url encoding for the key components (n, e, d, etc.).
Service account credential files downloaded from Google Cloud contain various Base64-encoded fields. Configuration blobs passed via environment variables in CI/CD pipelines are often the entire JSON file encoded as a single Base64 string.
JSON Web Tokens (JWT) are perhaps the most well-known use of Base64 inside a JSON-adjacent format. A JWT consists of three parts separated by dots, each of which is Base64url encoded:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
.eyJzdWIiOiJ1c2VyMTIzIiwiaWF0IjoxNzA5MDAwMDAwfQ
.HMAC_SIGNATURE
The first part (header) decodes to:
{"alg":"HS256","typ":"JWT"}
The second part (payload) decodes to:
{"sub":"user123","iat":1709000000}
JWT uses Base64url — a variant that replaces + with - and / with _ and omits padding characters. This makes the token safe to use in URLs and HTTP headers without additional encoding. Our tool handles both standard Base64 and Base64url automatically.
Note that JWT payload data is only encoded, not encrypted. Anyone with the token can decode and read the payload. Never put sensitive information like passwords or private keys in a JWT payload.
Identifying Base64-encoded strings inside a JSON object manually can be tedious. Here are the characteristics our tool uses to detect likely Base64 values:
= padding characters; Base64url may omit themOur tool scans every string value in your JSON, applies these heuristics, and highlights values that are likely Base64-encoded. You can then decode them individually or decode all detected values at once to produce an annotated version of your JSON with the decoded values inline.
Our Base64 JSON tool supports both directions:
Paste a JSON object containing Base64 string values. The tool detects and decodes them, replacing each encoded value with its decoded equivalent. If the decoded value is itself valid JSON, it is parsed and displayed as a nested JSON object for easy reading.
This is the most common use case: you receive a response from an API or Kubernetes and need to read the actual values hidden inside Base64 blobs.
Select any string value in your JSON and encode it to Base64. The tool also supports encoding an entire JSON value (object or string) to a Base64 string — useful when you need to store a JSON sub-document as an encoded blob inside another JSON field, or when creating Kubernetes secret manifests from plaintext values.
| Property | Standard Base64 | Base64url |
|---|---|---|
| Character 62 | + | - |
| Character 63 | / | _ |
| Padding | Always present (=) | Optional, often omitted |
| URL safe | No | Yes |
| Used in | Files, email, binary data | JWTs, URLs, OAuth tokens |
JSON only supports text. Binary data — such as images, file contents, cryptographic keys, or raw byte sequences — cannot be represented directly in JSON. Base64 encoding converts binary data to a safe ASCII text string that can be stored as a JSON string value without breaking the JSON format.
Base64 strings use only the characters A-Z, a-z, 0-9, +, /, and = (or - and _ for Base64url). They are always a length divisible by 4 when padded. Our tool automatically scans all string values in your JSON and highlights those that appear to be Base64 encoded using character set and length heuristics.
Standard Base64 uses + and / as special characters, which are problematic in URLs and HTTP headers. Base64url replaces those with - and _ and typically omits the = padding. JWTs use Base64url encoding. Our tool auto-detects both variants.
Yes. JSON Web Tools processes everything in your browser using JavaScript. Your JSON data never leaves your device. The tool works entirely offline after the initial page load. This is especially important when working with sensitive tokens, Kubernetes secrets, or API credentials.
Free, instant, 100% private. No account needed.
Open Base64 JSON Tool →Also useful: JWT Decoder | JSON Flatten Tool | JSON Key Sorter | What is JSON? | JSON vs YAML