Skip to content

Encoder / Decoder

Encode and decode Base64, URL, HTML, Hex, Binary, and 10+ formats in a single click.

Text encoder / decoder

Plain text

0 chars · 0 bytes

Base64 output

Start with source text

Paste, upload a file, or type directly. Conversion updates live.

0 chars · 0 bytes

Encoder / Decoder FAQ

Is my text, URL or image sent to a server?
No. Every encoding, decoding and URL parse runs in your browser with JavaScript, and images are read with the browser's FileReader. Nothing you type, paste or upload leaves your device, so tokens or signed links stay private.
Does Base64 handle emoji and accented characters?
Yes. Text is converted to UTF-8 bytes before encoding, so emoji and accents round-trip correctly. Decoding also accepts URL-safe Base64 (- and _) and input without = padding.
Is Base64 or Hex a form of encryption?
No. Base64, Base32, Hex, Binary, URL and HTML encodings are reversible representations, and ROT13 is a trivial cipher. Anyone can decode them, so never use them to protect secrets.
Can I decode a JWT here?
Yes. Pick JWT and paste a token to see its header and payload as JSON. The signature is not verified; use the JWT Debugger for that.
Can I convert a file or download the result?
Yes. Use the upload button to load a text file, and the download button to save the output as a .txt file (.json for decoded JWTs).
What's the difference between the Component, Full URL and Form modes?
In the URL tab, Component uses encodeURIComponent and escapes everything except letters, digits and - _ . ! ~ * ' ( ), which is what you want for a single query value or path segment. Full URL uses encodeURI and keeps reserved characters such as / ? & = # so a whole URL stays usable. Form follows application/x-www-form-urlencoded and writes spaces as + instead of %20.
How do I edit query parameters?
Open the URL tab and paste a URL (https:// is assumed if you leave it out). Every query parameter appears as an editable key/value row; change, add, remove or reorder rows and the rebuilt URL updates instantly, already percent-encoded. Repeated keys such as tag=a&tag=b are kept as separate rows.
How do I convert an image to Base64, and when should I inline it?
Open the Image tab and drop, browse or paste an image (up to 10 MB) to get a data URI with CSS, HTML and Markdown snippets, or paste a data URI or bare Base64 to get the image back. Inline only small assets such as icons or email images: Base64 is about 33% bigger and can't be cached separately.