Encode or decode Base32 (RFC 4648, hex, Crockford) and Base58 for text or hex bytes
Runs in your browser. Nothing you type is sent anywhere. Checked against sources on 16 Oct 2026.Base32 writes every 5 bits as one of 32 letters and digits, so 5 bytes become 8 characters, padded with = to a multiple of 8. Base58 writes bytes as one big number in 58 symbols that avoid look-alikes. This tool encodes and decodes both, for text or hex bytes, in your browser.
Choose Encode or Decode, then the alphabet: Base32, Base32hex, Crockford or Base58.
Type or paste the text; to encode raw bytes, switch the input to hex.
The result appears as you type. Decoded bytes show as text when they are UTF-8, and as hex otherwise.
Press Copy, or Swap to send the result back through the other way.
Base64 is not the only way to write bytes as text. Base32 uses fewer, unambiguous symbols and survives case-insensitive systems, which is why TOTP secrets and many file systems use it; Base58 is shorter and avoids characters that look alike, which is why Bitcoin and IPFS chose it.
The four alphabets.
| Alphabet | Symbols | Padding | Typical use |
|---|---|---|---|
| Base32 (RFC 4648 §6) | A-Z, 2-7 | = to 8 | TOTP secrets, DNSSEC NSEC3 |
| Base32hex (RFC 4648 §7) | 0-9, A-V | = to 8 | Sortable IDs |
| Crockford Base32 | 0-9, A-Z without I L O U | none | ULIDs, human-typed codes |
| Base58 (Bitcoin) | 1-9, A-Z, a-z without 0 O I l | none | Bitcoin addresses, IPFS CIDs |
Encoding. Text is encoded as its UTF-8 bytes. Switch the input to hex to encode raw bytes instead, such as a hash or a key; spaces, colons and a 0x prefix are ignored.
Decoding. Whitespace is ignored, and for Base32 lower case and missing padding are accepted. Crockford decoding also reads I and L as 1, O as 0, and skips hyphens, as its specification asks. The decoded bytes are shown as text when they are valid UTF-8 and as hex otherwise, and Show as hex forces hex. A text that does not decode gets a precise reason: the character and position that do not belong, misplaced padding, an impossible length, or a final character with stray bits.
Base58 and zeros. Base58 treats the bytes as one large number, so each leading zero byte is written as 1 to keep it.
Every alphabet was checked against published vectors: RFC 4648's own table, Bitcoin Core's 21 Base58 test pairs, and Crockford's symbols mapped from Base32hex. Nothing you type leaves the browser.
Choose Decode and Base32, then paste the text; spaces, missing = padding and lower case are all accepted. The bytes appear as text when they form valid UTF-8, or as hex when they do not, such as a TOTP secret. If the text fails, the tool says which other alphabets would decode it.
All three turn every 5 bits into one of 32 symbols. RFC 4648 Base32 uses A to Z and 2 to 7. Base32hex uses 0 to 9 and A to V, so encoded text sorts in the same order as the bytes. Crockford's version drops I, L, O and U to avoid misreading and adds no padding.
Base32 works in groups of 5 bytes, which become 8 characters. When the last group is shorter, RFC 4648 pads the text with = up to a multiple of 8, so 1 byte gives 2 characters and 6 = signs. Padding can be switched off, and decoding accepts text with or without it.
Base58 writes bytes with 58 symbols, leaving out 0, O, I and l because they look alike, and adds no punctuation, so a value can be copied by hand or selected with a double click. Bitcoin addresses, IPFS content IDs and many short identifiers use the Bitcoin alphabet that this tool follows.
Base58 converts the bytes as one large number, which would lose zero bytes at the front, so each leading zero byte is written as a separate 1, the first symbol of the alphabet. A Bitcoin address starting with 1 begins with a zero version byte for exactly this reason.
No. Encoding and decoding run in your browser with no request to any server, and nothing you type is stored, so secrets such as TOTP seeds stay on your device. Close the tab and nothing remains.
Rates and rules change; check the source before you rely on a figure.
Still stuck? Ask about Base32 and Base58 Encoder and Decoder and anybody who knows can answer. No account needed.
Same job, other tools: Base64 Decode – Turn Base64 back into text or a downloadable file · Base64 Encode – Turn text or a file into Base64.
On the related tools: TSV to JSON – Convert tab-separated values, such as a paste from Excel, into JSON.