Base32 Encode
Encode text to Base32 format — paste, encode, and copy instantly.
Encoded Base32 will appear here...About Base32 Encode
Base32 Encode converts plain text into Base32 format — a binary-to-text encoding scheme that uses a 32-character alphabet of uppercase letters A through Z and digits 2 through 7. Each group of five bits from your input maps to one Base32 character, and the output is padded with equals signs so its length is a multiple of eight. The result looks like JBSWY3DP and contains no lowercase letters, no special characters, and no whitespace.
The encoding is designed for environments that cannot reliably preserve letter case or that reject symbols like + and /. TOTP-based two-factor authentication secrets (Google Authenticator, Authy, and compatible apps) are distributed as Base32 strings precisely because they survive copy-paste between upper- and lower-case systems. DNS labels, case-insensitive file systems, and some data formats share the same constraint. Use this tool whenever you need to prepare a binary value or secret key for those contexts — not when you simply need to shorten or obfuscate a URL (URL encoding is the right choice for that).
Every conversion runs entirely in your browser. The tool uses the native TextEncoder API to convert your text to UTF-8 bytes and then applies the RFC 4648 Base32 alphabet in pure JavaScript. Nothing is uploaded, logged, or transmitted to any server, so secrets and private keys stay on your machine. The tool is free, requires no account, and has no usage limits.
Key Features
RFC 4648 alphabet
Uses the standard A-Z plus 2-7 alphabet with correct equals-sign padding, producing output that is compatible with TOTP libraries, DNS tooling, and other RFC 4648 consumers.
Case-insensitive output
Every character in the output is uppercase and drawn from a 32-symbol set, so the encoded string survives round-trips through systems that fold or mangle letter case.
UTF-8 aware encoding
Text is first converted to UTF-8 bytes via the native TextEncoder API before encoding, so accented characters, non-Latin scripts, and emoji are handled correctly.
100% client-side, no upload
All computation happens in your browser. Secrets, API keys, and seed phrases never leave your device, making the tool safe for sensitive inputs.
Instant one-click copy
A single copy button grabs the full encoded string so you can paste it straight into an authenticator app, config file, or DNS record.
No account or rate limit
Encode as many strings as you need, as often as you need, at no cost and without signing up.
How to Use
Enter Text
Type or paste the text you want to encode into the input pane.
Encode
Click "Encode" to convert your text to Base32 format.
Copy Result
Use the copy button to grab your Base32-encoded output.
Example
Each group of five input bits maps to one character from the A-Z/2-7 alphabet. The string "Hello" encodes to eight Base32 characters with no padding required.
Hello JBSWY3DP Common Use Cases
- arrow_circle_right
Generating TOTP authenticator secrets
Two-factor authentication apps like Google Authenticator and Authy expect the shared secret in Base32 format. Encode your raw secret key here to produce the string you enter into or QR-encode for the authenticator app.
- arrow_circle_right
Encoding values for case-insensitive systems
Some file systems, DNS labels, and legacy databases fold all text to one case. Base32 output contains only uppercase letters and the digits 2-7, so it survives intact where Base64 would be corrupted by case-folding.
- arrow_circle_right
Preparing seed phrases and recovery codes
Hardware wallets and backup tools sometimes require secrets in Base32 form. Encoding them here keeps the conversion local — nothing is sent over the network.
- arrow_circle_right
Building and testing encoding pipelines
Developers verifying a Base32 implementation can paste a known string here, compare the output to a reference value, and quickly catch alphabet or padding bugs in their own code.
- arrow_circle_right
Creating compact identifiers from binary data
Base32-encoded identifiers can be embedded in hostnames, subdomain labels, or file names where Base64 characters like + and / are forbidden and lowercase is unreliable.