DevTools

Encoder / Decoder

Encode and decode text with Base64, URL, and Hex — UTF-8 safe, instant, and fully in your browser.

Prefer the terminal? See the CLI equivalent →
Loading tool…

About the Encoder / Decoder

  • Base64, Hex & URL
  • Binary preview
  • Send decoded bytes onward
  • Instant results
  • 100% private — runs in your browser
  • Free, no sign-up

Encoding transforms text or binary data into a different textual representation so it can travel safely through systems that only accept a limited set of characters. This tool encodes and decodes with the three schemes developers reach for most: Base64, URL (percent) encoding, and hexadecimal. Everything is processed in your browser and is fully UTF-8 safe, so accented characters, emoji, and raw bytes round-trip correctly.

Base64 represents arbitrary bytes using 64 printable ASCII characters, expanding the data by roughly a third; it is what embeds images in data URIs, carries binary payloads in JSON, and encodes credentials in HTTP Basic auth. URL encoding replaces characters that are unsafe in a URL — spaces, ampersands, slashes — with a percent sign followed by their hex byte value. Hex encoding writes each byte as two hexadecimal digits, which is handy for inspecting raw data, hashes, and binary formats.

Encoding is not encryption. None of these schemes provide any secrecy — anyone can decode the result. They exist to make data safe to transmit, not to protect it. Use them for transport and interoperability, and use real cryptography when you need confidentiality.

How to use it

  1. Choose the scheme — Base64, URL, or Hex — and the direction (encode or decode).
  2. Type or paste your input, or drop a file to encode its bytes. The output updates instantly.
  3. For decoding, paste the encoded string; invalid input is flagged so you can spot a truncated or malformed value.
  4. Copy the result from the editor toolbar, or download it as a file (including decoded binary).
  5. When a decode produces an image or a document, use the “Send to…” buttons to open it directly in the EXIF Inspector, Document Metadata viewer, or Image Converter.

Encoding schemes at a glance

Base64
Encodes bytes with A–Z, a–z, 0–9, + and /, padded with =. Grows data ~33%. Used in data URIs, JSON payloads, and Basic auth.
Base64URL
A URL-safe Base64 variant that uses - and _ instead of + and /, and often drops padding. Used in JWTs and query strings.
URL / percent
Escapes reserved and unsafe characters as %XX. Required for query-string values and form submissions.
Hex
Two hexadecimal digits per byte. Common for hashes, colour values, and low-level byte inspection.

Frequently asked questions

Does encoding handle Unicode and emoji correctly?+

Yes. Input is converted to UTF-8 bytes before encoding, so multi-byte characters, accents, and emoji encode and decode without corruption. A naïve Base64 implementation that ignores UTF-8 would mangle these; this tool does not.

Is Base64 a form of encryption?+

No. Base64, URL, and hex encoding are all reversible with no key required. They make data safe to transport across text-only channels but provide zero confidentiality. Never use them to hide sensitive information.

What is the difference between Base64 and Base64URL?+

Standard Base64 uses + and / and pads with =, which are problematic inside URLs. Base64URL swaps those for - and _ and usually omits padding, so the value can appear in a URL or filename unescaped. JWTs use Base64URL.

Can I encode a file?+

Yes. Drop a file onto the input and its raw bytes are encoded — useful for producing a data URI or embedding a small binary asset. You can also download decoded output as a file.

Works well with

Encoder / Decoder chains with these tools — send your result straight on:

Related tools