Base32 / Base58 Encode / Decode
Encode text to Base32 (RFC 4648) or Base58 (the Bitcoin alphabet) and decode either one back to text, fully UTF-8 safe and entirely in your browser.
Base32 / Base58 Encode / Decode — Convert text to and from Base32 (RFC 4648) or Base58 (the Bitcoin alphabet), with UTF-8-safe round-trips for emoji and non-Latin scripts. Pick a base, choose Encode or Decode, and the result updates as you type. Everything runs entirely in your browser, so the text you paste never leaves your device.
What is Base32 / Base58 Encode / Decode?
A free online Base32 and Base58 encoder and decoder that turns plain text into a Base32 (RFC 4648) or Base58 (Bitcoin alphabet) string, and decodes either back to readable text. Developers reach for Base32 when they need a case-insensitive, padding-aligned encoding for TOTP/2FA secrets, DNS labels, or filesystem-safe identifiers, and for Base58 when working with Bitcoin addresses, keys, or short human-friendly IDs that omit easily confused characters (0, O, I, l). Both directions are UTF-8 aware, so emoji and non-Latin scripts (Korean, Japanese, Chinese, Arabic, accented Latin) round-trip without corruption. Select the base, switch between Encode and Decode, use Swap to convert the other way, and copy the result in one click.
How to use Base32 / Base58 Encode / Decode
- Pick the base with the Base32 / Base58 toggle: Base32 uses the RFC 4648 alphabet with = padding, Base58 uses the Bitcoin alphabet with no padding.
- Choose a direction with the Encode / Decode toggle.
- Type or paste your content into the input box (plain text in Encode mode, an encoded string in Decode mode).
- Read the converted result instantly in the output box below, which updates as you type.
- Click the copy button on the output to copy the result to your clipboard.
- Use Swap to send the output back into the input and flip the mode, or Clear to empty the input.
Examples
Encode text to Base32
Input
Hello
Output
JBSWY3DP
Decode a Base32 string
Input
JBUSC===
Output
Hi!
Encode text to Base58
Input
Hello World!
Output
2NEpo7TZRRrLZSi2U
Frequently asked questions
- What is the difference between Base32 and Base58 here?
- Base32 follows RFC 4648: an uppercase A–Z and 2–7 alphabet with = padding so the output length is a multiple of 8, and decoding is case-insensitive. Base58 uses the Bitcoin alphabet, which drops 0, O, I and l to avoid look-alike characters, adds no padding, and is case-sensitive.
- Does it handle emoji and non-Latin characters like Korean or Japanese?
- Yes. Text is converted through UTF-8 before encoding, so emoji and non-Latin scripts encode correctly and decode back to the exact original characters.
- Why do I see an "Invalid input" error?
- In Decode mode this appears when the text is not valid for the selected base — for example it contains characters outside that alphabet, or it decodes to bytes that are not valid UTF-8 text. Check that you picked the matching base and pasted a correctly formatted string.
- Is my data uploaded to a server?
- No. The Base32 and Base58 codecs run entirely in your browser in JavaScript. The text you paste never leaves your device and is never sent to any server.
- Can I convert in both directions?
- Yes. Use the Encode / Decode toggle to choose a direction, or press Swap to feed the current output back into the input and flip the mode automatically.
Related tools
Base64 Encode / Decode
Encode text to Base64 or decode Base64 back to text (UTF-8 safe).
Case Converter & Counter
Change text case and count characters, words and lines.
Code Formatter & Minifier
Beautify or minify HTML, CSS and JavaScript instantly in your browser, with 2-space, 4-space or tab indentation and Terser-powered JavaScript compression.
Color Converter
Convert colors between HEX, RGB and HSL with a live preview.