URL Encoder & Decoder

Percent-encode text so it's safe inside a URL, or decode an encoded URL back to readable text β€” plus an automatic query-string breakdown.

How to use the URL encoder

  • Choose Encode or Decode.
  • Paste your text or URL β€” the result appears instantly.
  • If you decode a URL with a query string, its parameters are broken out into a table.

What is URL encoding?

URLs can only safely contain a limited set of characters. Percent-encoding (URL encoding) replaces unsafe characters with a % followed by their hex code β€” a space becomes %20, an ampersand becomes %26. Use component encoding when you're putting a value inside a query parameter (it escapes &, =, ? and # so they don't break the URL structure), and full-URL encoding when you want to keep those structural characters intact.

Benefits

  • Encodes and decodes percent-encoded (URL-encoded) text both ways.
  • Component mode escapes & = ? # for safe use inside query parameters.
  • Automatically breaks a query string into a key/value table.
  • Runs entirely in your browser.

Limitations to know

  • Decoding fails on malformed input, such as a stray % that isn’t a valid escape.
  • It uses %20 for spaces rather than the legacy + form encoding.
  • It does not validate whether the overall URL actually resolves.

Common mistakes to avoid

  • Using full-URL encoding for a parameter value, which leaves & and = unescaped and breaks the URL.
  • Double-encoding text that was already encoded.
  • Expecting + to be treated as a space in every context.

Alternatives

For Base64 use the Base64 Encoder; to build a clean URL slug use Text to Slug.

Last updated: August 2026 Β· Reviewed by the AI Toolbox editorial team.

Frequently asked questions

What's the difference between the two encode modes?

Component mode escapes URL-structural characters (& = ? #) β€” right for parameter values. Unchecked, it preserves them β€” right for encoding a whole URL.

Why is a space sometimes %20 and sometimes +?

%20 is standard percent-encoding; + is a legacy form-encoding convention. This tool uses %20.

Is my data uploaded?

No β€” encoding and decoding run entirely in your browser.

Why did decoding fail?

The text probably contains a stray % that isn't part of a valid escape sequence.

Related tools