Base Encoder & Decoder
Encode and decode Base16, Base32, Base36, Base45, Base58, Base62, Base64 and Base85. Pick the alphabet variant you need, from Crockford Base32 to Bitcoin Base58 and Ascii85, and convert in either direction.
Everything runs locally in your browser. Your data never leaves your device.
The standard alphabet. This is what a TOTP secret, a DNSSEC NSEC3 hash or an S3 checksum is written in.
Text is encoded as UTF-8 bytes.
The Base32 alphabet
5 bits per character
Five bits per character, so eight characters carry five bytes. Case does not matter, which makes it the encoding of choice for anything a person has to type or read out: TOTP secrets, DNS records and onion addresses.
- Reads the input as
- Fixed groups of bytes
- Bits per character
- 5
- Padding
- On, with =
- Case
- Either case decodes
How the bases compare
Pick a row to switch the converter to that base.
| Base | Reads input as | Encoded size | Alphabets | Where you meet it |
|---|---|---|---|---|
| Groups of bytes | 200% | Hexadecimal | Hex dumps, colors, checksums | |
| Groups of bytes | 160% | RFC 4648, base32hex, Crockford | TOTP secrets, DNS records, onion addresses | |
| One big number | 155% | Standard | Short ids and reference numbers | |
| Groups of bytes | 150% | RFC 9285 | QR codes and digital certificates | |
| One big number | 137% | Bitcoin, Ripple, Flickr | Bitcoin addresses, IPFS hashes, Solana keys | |
| One big number | 134% | 0-9 A-Z a-z, 0-9 a-z A-Z | Short links and URL slugs | |
| Groups of bytes | 133% | Standard, URL safe | Email attachments, data URLs, JWTs | |
| Groups of bytes | 125% | Ascii85, Z85 | PDF and PostScript, ZeroMQ keys |
Picking a base
Groups of bytes, or one big number
Base16, Base32, Base45, Base64 and Base85 chop the input into fixed groups, so every byte lands in the same place no matter how long the payload is. Base36, Base58 and Base62 read the whole payload as a single number, which is why they cost more work on long inputs and why a zero byte at the front needs its own rule.
Leading zero bytes
A number does not remember how many zeros sat in front of it, so the big-number bases write one leading alphabet character per leading zero byte. That is where the 1 at the start of a Bitcoin address comes from, and this tool round-trips those bytes for every big-number base.
Typing it out loud
Base32 and Base58 exist because people copy these strings by hand. Base32 ignores case, Crockford drops the characters that look alike and reads I and L as 1, and Base58 leaves out 0, O, I and l for the same reason.
Getting it wrong safely
Base58Check adds four checksum bytes, so a single wrong character in an address is caught instead of sending funds nowhere. Turn it on above and this tool appends the checksum when encoding and verifies it when decoding.
Next steps
Send this tool's output straight into another tool.
Decode Base64 to text or encode text to Base64. Paste into the top box, read the result below, and flip the direction with one click. Handles Unicode correctly, reads URL-safe Base64, and shows binary payloads as a hex dump you can download.
Inspect any file or text as a hex dump with offsets, byte values and an ASCII column. Jump to an offset, search for bytes or text, select a range to see it decoded as integers and strings, and copy or download the dump.
Convert text into every case at once: title case in the APA, AP, Chicago, MLA, Bluebook, AMA and NYT styles, sentence case, upper, lower, camelCase, snake_case, kebab-case and more.
Count words, characters, sentences, paragraphs, lines and more as you type, with estimated reading and speaking time.
Remove duplicate lines from a list or text, keeping the first occurrence. Optionally ignore case and whitespace, or drop blank lines too.
Replace text in two modes: plain find and replace all, or regular expressions with flag controls and capture group references like $1.
Paste a UUID to see what it carries: version, variant, and for time-based versions the exact timestamp, clock sequence and node. Also shows the raw bytes, the 128-bit integer and the URN form.
Convert numbers between binary, octal, decimal, hexadecimal and any base up to 36. Type into any field and the others update as you go. Handles huge integers without losing precision and accepts 0x, 0b and 0o prefixes.