KeyWoven
English

Base64 / Base64URL encoder–decoder

Encode UTF-8 text or strictly decode Base64 and Base64URL locally.

Principle and example

Base64 groups bytes into blocks of three and represents each block with four characters. UTF-8 text is converted to bytes first. For example, foo becomes Zm9v; f becomes Zg== in standard Base64 and Zg in Base64URL. Standard uses + and / and requires the necessary = padding. Base64URL uses - and _, emits no padding, and accepts either no padding or exactly correct padding. Decoding rejects spaces, newlines, mixed alphabets, malformed length, padding and nonzero trailing bits. Newlines in the original text are preserved when encoded and decoded. Invalid UTF-8 and lone surrogates are rejected. Base64 is encoding, not encryption.

Limits and privacy

Text limit: 1 MiB of decoded UTF-8 (up to 1,398,104 encoded ASCII characters). JWT limit: 100 KiB, JSON depth up to 200. Text only: no files or data URIs. Inputs and outputs remain in page memory, never URL parameters, storage, logs or analytics. No keys, signing, JWKS requests or signature verification. Changing input clears the previous result. Clear removes page state; copying writes only the chosen result to your clipboard, whose history is managed by your device. Reloading clears the tool; browser extensions and your device remain outside its control.

Related tools

Your privacy choices

May we use Google Analytics 4 to understand which tools are useful? It loads only if you accept. Your tool inputs and results are never included. You can change your choice in Privacy settings at any time.

No choice saved. Analytics is off.

Privacy policy