Base64
Base64 (RFC 4648) encodes every 3 bytes into 4 ASCII characters from A–Z a–z 0–9 + /. Padding with = keeps the length a multiple of 4. Used in MIME email, data URIs, JWT, Kubernetes secrets and more.
Encode and decode Base64, Base64 URL, Base32 (RFC 4648), Hex, URL percent, HTML entities, ROT13, Binary и ASCII decimal. Everything runs locally in your browser — no strings are ever uploaded.
Keyboard: Ctrl/⌘ + Enter — encode, with Shift — decode.
Base64 (RFC 4648) encodes every 3 bytes into 4 ASCII characters from A–Z a–z 0–9 + /. Padding with = keeps the length a multiple of 4. Used in MIME email, data URIs, JWT, Kubernetes secrets and more.
URL-safe variant: + → -, / → _, no padding. Used in JWT, OAuth and anywhere a token must survive being embedded in a URL or filename.
Uses A–Z 2–7. Case-insensitive, so it is preferred for TOTP secrets and anywhere a human has to type the value.
Each byte is represented by two hexadecimal characters. The most common representation for hashes, MACs and raw binary data in a readable form.
Escapes reserved characters as %XX. Required for query parameters, path segments and form data (encodeURIComponent / decodeURIComponent).
Escapes & < > " ' to prevent XSS and to safely render user-provided content inside HTML. Supports named and numeric entities.
A trivial Caesar shift by 13 — its own inverse. Useful for hiding spoilers and puzzles, not for security.
Each byte as 8 bits, space-separated. Handy for teaching, bitwise debugging and low-level protocols.
Each byte as a decimal code point (0–255). Useful for legacy protocols and character set debugging.
Base64 is a binary-to-text encoding that represents arbitrary bytes using 64 printable ASCII characters (A–Z, a–z, 0–9, +, /). It is used to embed binary data in JSON, XML, email (MIME) and data URIs.
Base64 URL replaces '+' with '-' and '/' with '_' and omits padding '='. It is safe to use in URLs and filenames, e.g. in JWTs.
Paste the hex string into the input, select 'Hex' and press Decode. Every two hex characters represent one byte.
No. Encoding and decoding happen entirely in your browser.
All operations run locally in your browser.