Encode or decode Base64 and URL percent-encoded strings. Supports Unicode. Runs entirely in your browser.
Base64 encodes binary data as ASCII characters using a 64-symbol alphabet (A-Z, a-z, 0-9, +, /). It is widely used to embed binary data in JSON, HTML, and email (MIME). Every 3 bytes of input become 4 Base64 characters, adding roughly 33% overhead. Base64URL is a URL-safe variant that replaces + with - and / with _ and omits padding - used in JWTs, OAuth tokens, and URL parameters. This tool accepts both variants when decoding.
URL encoding (percent-encoding) converts characters that are unsafe in URLs into a %XX hexadecimal representation. For example, a space becomes %20, & becomes %26, and = becomes %3D. Essential when passing user-supplied text as a query string parameter to avoid breaking the URL structure.
All encoding and decoding runs entirely in your browser using built-in JavaScript APIs (btoa, TextEncoder, encodeURIComponent). Nothing is sent to our servers.