Skip to content
Let’s talk
Menu
← All free toolsJBR / Developer

Encoding Toolkit

Encode or decode UTF-8 Base64 and URL text in your browser. Clear component and full-URI modes, strict validation, and no uploads.

Runs locally in your browser · no uploads or account
01 / TEXT INUTF-8

Use URL component for one value, such as a search term. Full URI keeps the separators in a whole address. Base64 represents text as letters, numbers and symbols.

Input and output limit: 1,048,576 UTF-8 bytes each. Invalid text or an oversized result stops conversion; nothing is truncated.

02 / TEXT OUTLOCAL ONLY
Waiting for conversion

Choose an operation, enter text, then Convert.

Background processing · 1,048,576 bytes of input and output.

Editing the input or operation clears the previous result. Empty text is a valid input and produces an empty result.

TEXT, REPRESENTED DIFFERENTLY

Keep the meaning.
Change the encoding.

Base64 that understands your text.

Text is converted to UTF-8 bytes before Base64 encoding, so emoji and non-English scripts round trip correctly. Decoding requires standard, canonical Base64 with padding when needed, no whitespace, and valid UTF-8 bytes. URL-safe Base64 using - and _ is a different alphabet and is not accepted. This tool does not decode binary files.

A component or a complete URI?

Choose URL component for one value, such as a query parameter. It turns separators like / ? & = # into escaped data. For example, a/b becomes a%2Fb. Choose Full URI to keep those separators meaningful while encoding spaces and Unicode in a complete address. This uses JavaScript’s encodeURI and decodeURI semantics; it does not validate or open an address.

Decode exactly once.

Full-URI decoding deliberately leaves escaped reserved separators such as %2F intact. Component decoding turns them back into characters. Neither mode treats + as a space: these are URI operations, not HTML form decoding. Repeated encoding also escapes existing percent signs. Malformed percent sequences, invalid UTF-8, and unpaired Unicode surrogates produce a visible error.

Base64 is a representation, not encryption. Processing happens in memory with a local worker; if workers are unavailable, direct processing is limited to 100,000 UTF-16 input characters. No supplied URL is fetched and no content is saved in storage or page URLs. Clear or leave the page to discard the workspace; copy and download happen only when you choose them.