CodingSetu

Encoding Converter

Free encoding converter — see the same bytes as hex, Base32 (RFC 4648, hex, Crockford, z-base32), Base58, Base64 and percent-encoded, all at once. Useful for identifying an unknown string. Runs locally in WebAssembly.

Learn more: Hashing, HMAC & Checksums ExplainedCryptographic hashes vs encryption vs encoding, which algorithm to use, HMAC, and how to hash passwords.
Shares a link with your input encoded in it — nothing is uploaded.

Runs entirely in your browser — nothing you enter is uploaded or stored.

Ask about this tool on

Every representation of the same bytes

Encodings are not encryption and they are not compression. They are alphabets: a way of writing the same sequence of bytes using a restricted set of characters, usually so it can survive a channel that would otherwise mangle it. Base64 exists because email headers are text. Percent encoding exists because URLs reserve punctuation. Base58 exists because people copy Bitcoin addresses by eye.

Identifying an unknown string

Paste it, and change Input is until the UTF-8 row reads as something sensible. Length and alphabet are the tells: only 0-9a-f and an even length means hex; a trailing= or == means standard Base64; - and _ in place of + and / means the URL-safe variant; all-uppercaseA-Z2-7 is Base32, and if it is exactly 16 or 32 characters it is probably a TOTP secret.

Related tools

For Base64 specifically, with side-by-side encode and decode panes, use theBase64 Encoder / Decoder. For URLs, where the distinction between escaping a whole URL and escaping one query value matters, use theURL Encoder / Decoder — its percent encoding follows encodeURIComponent, which leaves -._~ alone, rather than the stricter escaping used here.

Frequently asked questions

What is the difference between Base64 and Base64 URL-safe?

The alphabet. Standard Base64 uses + and /, both of which have meaning inside a URL — + is a space in query strings and / is a path separator. The URL-safe variant substitutes - and _ instead, and usually drops the = padding. They encode identical bytes; you cannot feed one to a decoder expecting the other.

Why does Base58 exist?

It is Base64 with the ambiguous characters removed — no 0/O, no I/l, and no + or / to break line-wrapping or URLs. It was designed for Bitcoin addresses, where a human might read a value aloud or copy it by hand and a single misread character sends money nowhere.

What are the Base32 variants for?

Plain Base32 (RFC 4648) is the one TOTP secrets use. Base32hex preserves sort order, so encoded values sort the same as the bytes they represent. Crockford Base32 excludes I, L, O and U — the first three to avoid digit confusion, U to avoid accidental obscenity — and decodes case-insensitively. z-base32 reorders the alphabet to put easier-to-read characters in more common positions.

Is my input uploaded?

No. Every conversion runs locally in a WebAssembly module. That matters here because this tool is often pointed at things like API keys and TOTP secrets while working out what format something is in.

Related tools