Skip to content
Back to tools

Base64 / URL Encode & Decode - Online Converter Tool

Encode and decode Base64, Base64URL, and URL-encoded (percent-encoded) text in your browser. Unicode-safe, instant, zero upload.

Input
Output

A unified tool for the three encodings developers reach for daily: standard Base64 (RFC 4648), Base64URL (the URL-safe variant used by JWT and JWS), and URL percent-encoding (RFC 3986). Switch between encoding and decoding with one click. Input is fully Unicode-aware — emoji and CJK characters round-trip correctly. Use it to debug Authorization headers, decode data: URIs, prepare query-string parameters, and read JWT segments by hand.

How to use

  1. 1

    Pick a mode

    Choose Base64, Base64URL, or URL — these are the three independent encodings the tool supports.

  2. 2

    Choose a direction

    Toggle Encode or Decode. Input on the left, result on the right, updated as you type.

  3. 3

    Paste your text

    Plain text for encoding, or an already-encoded string for decoding. Unicode is fully supported.

  4. 4

    Copy the result

    Click Copy on the right panel — nothing leaves your browser at any point.

FAQ

Q.What's the difference between Base64 and Base64URL?

Base64URL replaces + with -, / with _, and omits trailing = padding so the result is safe to drop into a URL or a JWT segment.

Q.Is Unicode supported?

Yes. The tool uses TextEncoder/TextDecoder so emoji and CJK characters round-trip exactly. (Naive `btoa(emoji)` would crash — this tool doesn't.)

Q.When should I use URL encoding instead of Base64?

URL encoding makes a string safe to put inside a URL — it preserves readability and only escapes reserved characters. Base64 produces opaque ASCII, ideal for binary data (images, signatures).

Q.Why does my decode produce garbled text?

Most often the wrong mode is selected — try toggling Base64 vs Base64URL, or check that the input isn't already partially decoded.

Related tools