Skip to main content
What you enter is never sent to a server. It is processed entirely in your browser and not stored anywhere.

Universal String Decoder

Paste that mystery string from a log, config file, cookie or API response. The decoder recognises Base64, JWT, percent-encoded URLs, hex bytes, Unix timestamps, Unicode and HTML escapes, MIME subject lines, Punycode domains, hashes and more, and unwraps layered data like URL → Base64 → gzip → JSON one step at a time. Everything runs in your browser; nothing is uploaded or stored.

Paste a string and the result appears here.

Other possible interpretations

Try:

How detection works

Your input is run through about twenty detectors at once. Each one reports whether the string reads as its format and how confident it is (0–100), and the best match is shown as the result. Because the same characters can be valid in several formats (32 hex digits could be an MD5 hash or Base64), the remaining candidates stay available under "Other possible interpretations". If the result is itself decodable (Base64 that turns out to be gzip that turns out to be JSON) the decoder keeps going, up to four steps, and shows the path it took. If you already know the format, pick it from the dropdown.

FormatWhat it looks forWhat you get
Base64 / data URIA–Z a–z 0–9 + / (or - _), length a multiple of 4Text if it is UTF-8; otherwise the file type (PNG, PDF, ZIP…) with a download; gzip and zlib are decompressed
JWTxxx.yyy.zzz with an alg in the headerHeader and payload as JSON, exp/iat/nbf as dates, expired or not
URL encoding%C3%A9-style percent escapesDecoded text, repeated for double encoding; host, path and a query-parameter table for full URLs
HexAn even number of hex digits (0x, spaces and colons allowed)Text or a detected file type
Hash32/40/64/128 hex digits, or prefixes like $2b$, $argon2id$, $6$Possible algorithms (hashes cannot be reversed)
Timestamp9–19 digit numbers, or date stringsSeconds/ms/µs/ns interpretations in your time zone and UTC; dates become timestamps
Unicode & HTMLé U+00E9 é é \xC3\xA9The actual characters
MojibakeClusters like é ’ üText recovered by re-reading the bytes as UTF-8, plus Unicode normalization
MIME=?UTF-8?B?…?=, =C3=A9Email subject or body text
PunycodeDomain labels starting with xn--The Unicode domain name
Base32 / Base58 / Ascii85Alphabet and length rules, Base58Check checksumText or hex; Bitcoin address type
Binary / decimal bytes / Morse / ROT138-bit groups, 0–255 lists, dots and dashes, English word scoreText
IdentifyIPv4/IPv6, MAC, email, UUID, ISBN, card numbers, colour codes, API key formatsWhat it is, with details (private or public, version, check digit, masked number)

What can and cannot be decoded

Strings you will run into

FAQ

Is it safe to paste tokens or passwords?

Detection and decoding happen entirely in your browser. Nothing is sent to a server, stored, or remembered between visits. That said, if a password or API key you use shows up in the result and you did not create the original string yourself, that value is circulating somewhere else, which is a security risk: change that password or key.

It says no known format matched.

The string may have extra characters around it (quotes, Bearer, line numbers), may be plain text, or may be encrypted or compressed. Trim it to the relevant part or choose a format manually.

The result looks wrong.

Short strings are often valid in several formats, so auto-detection can pick a different reading than you expected. Open "Other possible interpretations" or set the format explicitly. Dates without a time zone are read in your browser's time zone.

Sources