URL Encoder / Decoder

Free URL encoder & decoder. Percent-encode or decode URLs and query strings with encodeURIComponent or encodeURI, and inspect query parameters, instant, no signup.

Built and maintained by Shehzad Munir ·

URL Encoder / Decoder
Loading Loading URL Encoder / Decoder
Share

Percent-encoding, done right

Encode or decode URLs and query strings instantly with encodeURIComponent or encodeURI, plus a built-in query-string inspector that breaks any URL into a readable parameter table.

Browsers and servers only accept a limited set of characters in a URL, so spaces, ampersands, question marks and unicode must be percent-encoded (%20, %26, and so on). This tool encodes and decodes both full URLs (encodeURI) and individual query values (encodeURIComponent), so you always pick the right escaping for the job, whether you're building a link, debugging a redirect, or reading an OAuth callback.

Features

  • Two-way encode & decode
  • encodeURIComponent and encodeURI schemes
  • One-click swap between input and output
  • Query-string inspector parses params into a table
  • Handles spaces, unicode & reserved characters
  • Runs locally: nothing is uploaded

How to use URL Encoder / Decoder

  1. 1

    Choose a mode

    Toggle between Encode and Decode, and Component or Full URI.

  2. 2

    Paste your text

    Enter a URL or query value into the input box.

  3. 3

    Read the output

    The encoded or decoded result updates live, copy it in one click.

  4. 4

    Inspect params

    Paste a URL with a query string to see its parameters in a table.

Common use cases

  • Encode a query value with spaces or special characters
  • Decode a percent-encoded redirect or callback URL
  • Debug UTM and tracking parameters in a link
  • Build a safe URL for an API request

Detailed guide

Inspect any query string

Paste a full URL and the built-in inspector splits its query string into a clean key/value table, decoding each value so you can read exactly what a link is passing. It's ideal for debugging UTM tags, API requests and tracking parameters. Everything runs in your browser, sensitive tokens and internal URLs never leave your device.

Which characters get encoded and why

URLs may only contain a limited set of ASCII characters. Letters, digits and the unreserved symbols - _ . ~ are always safe. Reserved characters such as ? & = / # : have special meaning, so they must be percent-encoded when they're part of a value rather than the URL structure: a space becomes %20, & becomes %26 and = becomes %3D. Non-ASCII text, such as é or Arabic and Chinese characters, is first converted to UTF-8 bytes and each byte is encoded, so é becomes %C3%A9. In HTML form submissions, spaces are often written as + instead of %20.

encodeURIComponent vs encodeURI

JavaScript offers two encoders. encodeURIComponent encodes everything except unreserved characters, which is what you want for a single query parameter value or path segment. encodeURI leaves reserved characters like / ? & = alone, so it's for encoding a complete URL while keeping its structure intact. Using encodeURI on a parameter value is a common bug: a value containing & would split into two parameters. Also avoid encoding twice, which turns %20 into %2520. If a decoded URL still contains % sequences, it was probably double-encoded somewhere upstream.

Frequently asked questions

What is the difference between encodeURI and encodeURIComponent?

encodeURI escapes a full URL but leaves characters like :/?&= intact so the link still works. encodeURIComponent escapes those too, which is what you want when encoding a single query value or path segment.

How do I decode a percent-encoded URL?

Switch to Decode mode and paste the encoded string, sequences like %20 and %26 are turned back into spaces and ampersands instantly.

Can it read the parameters in a URL?

Yes. Paste a URL with a query string and the inspector lists every key/value pair in a table, decoding each value so you can read it clearly.

Is my URL uploaded anywhere?

No. All encoding, decoding and parsing runs in your browser, so tokens and internal URLs are never sent to a server.

How do I URL-encode or decode a string?

Paste the text and choose encode or decode; special characters are converted to or from percent-encoding (a space becomes %20, and so on). It runs in your browser, so private query strings stay local.

From the journal

All articles →