Base64 is a binary-to-text encoding scheme that converts binary data into a sequence of printable ASCII characters. It was originally designed to allow binary data to be transmitted over channels that only reliably support text, such as email (MIME) and early HTTP. The name "Base64" refers to the fact that the encoding uses a 64-character alphabet to represent data: the uppercase letters A-Z, lowercase letters a-z, digits 0-9, and two additional symbols + and /. The = character is used as padding when the input length is not a multiple of three bytes.
Base64 encoding works by taking every three bytes (24 bits) of input data and splitting them into four groups of six bits each. Each six-bit group maps to one of the 64 characters in the Base64 alphabet. Because three bytes of binary input become four bytes of text output, Base64-encoded data is always roughly 33% larger than the original. This overhead is the trade-off for guaranteed safe transport through text-only systems.
Base64 encoding appears throughout web development and software engineering. It is used in data URLs to embed images, fonts, and other assets directly into HTML or CSS without additional HTTP requests. Email systems use Base64 as part of the MIME standard to encode file attachments. HTTP Basic Authentication headers transmit credentials in the format username:password encoded as Base64. JSON Web Tokens (JWT) encode their header and payload segments using a URL-safe Base64 variant. Developers also use Base64 to embed small images in stylesheets, pass binary data through JSON APIs, and store cryptographic keys or certificates as text.
Standard Base64 uses + and / characters, which conflict with URL syntax. The URL-safe variant (sometimes called Base64url) replaces + with - and / with _, and typically omits padding. This variant is used in JWTs, filename-safe tokens, and anywhere Base64 data needs to appear in a URL or query string without percent-encoding.
Paste or type your text into the input field on the left. Click Encode to convert plain text to Base64, or Decode to convert a Base64 string back to plain text. With live mode enabled, the output updates automatically as you type. Click Copy Output to copy the result to your clipboard.
Unlike many Base64 tools that only handle ASCII, this encoder fully supports UTF-8 and Unicode characters, including emoji, CJK characters, and accented text. Input is first encoded to UTF-8 bytes before Base64 conversion, so multi-byte characters are handled correctly in both directions.
This tool runs 100% client-side in your browser. No data is transmitted to any server. Your input never leaves your machine, making it safe to encode or decode sensitive strings such as API keys, tokens, and credentials. There are no usage limits, no accounts required, and no telemetry.