URL Encoder & Decoder — Percent-Encode or Decode URLs

Encode any string for safe use in a URL by converting special characters to their percent-encoded equivalents, or decode a percent-encoded URL back to readable text in one click. This free URL encoder and decoder is indispensable when building query strings, debugging API requests, or working with redirects.

Why use this URL Encoder / Decoder?

  • Encodes special characters (spaces, &, =, #, etc.) to percent-encoding
  • Decodes percent-encoded URLs back to human-readable text instantly
  • Handles full URLs or individual query parameter values
  • Free, no signup, processes everything locally in your browser

How to use the URL Encoder / Decoder

  1. Choose encode or decode: Select URL Encode to make a string URL-safe, or URL Decode to convert a percent-encoded string back to plain text.
  2. Paste your input: Enter the URL, query string, or text you want to process into the input field.
  3. See the result instantly: The encoded or decoded output appears immediately — ready to copy and use.
  4. Copy and use: Click the copy button to grab the result for your API request, browser address bar, or code.

Frequently Asked Questions

Why do URLs need encoding?

URLs can only contain a limited set of ASCII characters. Characters like spaces, ampersands, equals signs, and non-ASCII characters (like accented letters or emoji) must be percent-encoded — replaced with a % followed by two hex digits — so they're transmitted correctly by browsers and servers.

What is the difference between encodeURI and encodeURIComponent in JavaScript?

encodeURI encodes a full URL but leaves characters like /, ?, &, and = intact because they have structural meaning in URLs. encodeURIComponent encodes everything including those characters, making it suitable for encoding individual query parameter names and values. For query params, always use encodeURIComponent.

Why is a space encoded as %20 or sometimes as +?

In standard percent-encoding (RFC 3986), spaces become %20. In the older application/x-www-form-urlencoded format (used in HTML forms), spaces become +. Both are common — %20 is correct for path segments, while + is specific to form data. This tool uses RFC 3986 percent-encoding.

How do I decode a URL that has %2F, %3A, or %40 in it?

%2F is a forward slash (/), %3A is a colon (:), and %40 is the at sign (@). Paste the encoded URL into the decode field and this tool will translate all percent-encoded sequences back to their original characters in one step.

Does URL encoding change the meaning of a URL?

Encoding a full URL can inadvertently encode structural characters like / and ?, breaking the URL's meaning. You should encode only the values within query parameters, not the entire URL structure. If you need to embed a full URL as a query parameter value, encode that inner URL entirely before appending it.

Related tools