How do I encode or decode text in multiple formats online?
Paste text and instantly encode or decode it in Base64, Base32, Hex, Binary, URL encoding, and HTML entities — all from a single interface. Switch between formats with one click. The tool handles full Unicode. Everything runs in your browser — your data never leaves your device.
Hello, World!
48656c6c6f2c20576f726c6421
Encode / Decode Multi-Tool
Encode and decode text using Base64, Base32, Hex, Binary, URL encoding, or HTML entities — all in one place.
RFC 4648 standard encoding
About Encoding Formats
- Base64 — encodes binary data as ASCII text using A-Z, a-z, 0-9, +, /. Common in data URIs, email attachments, and API payloads.
- Base32 — uses A-Z and 2-7 (case-insensitive). Used in TOTP secrets, Tor addresses, and file systems that are case-insensitive.
- Hex — each byte as two hex digits. Used in checksums, color codes, and low-level debugging.
- Binary — each byte as 8 bits. Useful for understanding bit-level data representation.
- URL — percent-encodes special characters for safe use in URLs and query strings (RFC 3986).
- HTML — encodes special characters as HTML entities to prevent XSS and display issues in web pages.
- Everything runs in your browser — no data is sent over the network.
Tips & Best Practices
Know when to use URL encoding vs Base64 vs Hex
URL encoding (%20) for query parameters and form data. Base64 for embedding binary in text (emails, data URIs). Hex for debugging byte-level data and hash values. Each encoding serves a different purpose — using the wrong one creates bugs.
Double-encoding is the most common encoding bug
Encoding an already-encoded string turns %20 into %2520 (encoding the % sign). This happens when multiple layers (framework, middleware, manual code) each apply encoding. Decode first, then encode once at the boundary.
Base32 is used in TOTP/2FA secret keys
Google Authenticator and similar 2FA apps use Base32-encoded secrets because Base32 uses only uppercase letters and digits 2-7, making it easy to type manually and resistant to confusion between similar characters (0/O, 1/I/l).
Encoding is not encryption — it provides zero confidentiality
Base64, hex, URL encoding, and HTML entities are all trivially reversible. Never use encoding to 'hide' sensitive data. If you need confidentiality, use actual encryption (AES-256-GCM, ChaCha20-Poly1305). Encoding is for format compatibility, not security.
Frequently Asked Questions
What is the difference between Base64, Base32, and Hex encoding?
When should I use URL encoding vs Base64 encoding?
How do I decode text that has been encoded multiple times?
Related Convert Tools
TypeScript to JavaScript
Convert TypeScript to JavaScript — strip types, interfaces, enums, generics, and access modifiers to get clean JS output
JSON to SQL Converter
Convert JSON arrays to SQL CREATE TABLE and INSERT statements for PostgreSQL, MySQL, and SQLite with automatic type inference
SQL to TypeScript/Prisma/Drizzle
Convert SQL CREATE TABLE statements to TypeScript interfaces, Prisma schema, and Drizzle ORM definitions for PostgreSQL, MySQL, and SQLite
ESLint to Biome Converter
Convert your ESLint config to Biome — maps 100+ rules from core, TypeScript, React, JSX-A11y, and import plugins to biome.json