Skip to main content
SK Play Labs logoSK Play Labs

URL Encoder / Decoder

Percent-encode text for URLs, and back.

Runs entirely in your browser — nothing you enter is uploaded or sent to a server.

Component mode escapes reserved characters like & = ? / while full-URL mode leaves them intact — pick the wrong one and a link can break, so choose the mode that fits your case. Read our full disclaimer.

About this tool

URLs can only safely contain a limited set of characters, so anything else — spaces, &, =, ?, or non-ASCII letters — has to be percent-encoded (a space becomes %20, & becomes %26, and so on). This tool encodes text so it's safe to drop into a link, and decodes percent-encoded text back to readable form, working on either a whole URL or a single URL component, live as you type. It all runs in your browser, so nothing you paste is uploaded.

Try it

Encoding "a b&c=d" as a component gives "a%20b%26c%3Dd". Decoding reverses it.

How to use

  1. 1Choose Encode or Decode.
  2. 2Toggle 'component' to also encode reserved characters like & = ? /.
  3. 3Type or paste your input; the result appears instantly to copy.

Features

  • Switch between encode and decode in one click.
  • Component mode (encodeURIComponent) or full-URL mode.
  • Converts live, with a clear error on invalid input.

Frequently asked questions

What's the difference between component and full-URL encoding?

Component encoding (encodeURIComponent) escapes reserved characters like & = ? / too, so it's right for a single query value. Full-URL encoding (encodeURI) leaves those intact so a complete URL stays usable.

Why is a space shown as %20 (and sometimes +)?

Percent-encoding replaces a space with %20. Older HTML form submissions instead use a +, which is why you sometimes see both. This tool encodes spaces as the standard %20; decoding handles either form where it's valid.

When do I need to URL-encode text?

Whenever you put user text, a search term, or a value with spaces or symbols into a query string or link — building an API URL, a mailto link, or a tracking parameter. Encoding stops those characters from breaking the URL.

Is my input sent to a server?

No. Encoding and decoding happen entirely in your browser with the built-in encodeURIComponent / decodeURIComponent, so nothing you paste is uploaded or logged.

More developer tools

View all