TC

URL Encoder / Decoder — Free Online Tool

Last updated: January 2025

Your text is processed locally — we never store your data. Free forever, no signup.
Type something to see all generated styles

What is URL Encoder / Decoder?

URL Encoder converts special characters to percent-encoded format (%20, %2F, etc.); the decoder reverses the process.

When to use URL Encoder / Decoder?

Use it for encoding query string parameters, debugging percent-encoded URLs, building API requests, and fixing malformed URLs.

How to use this tool

  1. 1Paste your text or URL
  2. 2Choose 'Encode' or 'Decode'
  3. 3Copy the result for your URL or API call

Examples

InputOutput
Hello World!Hello%20World!
https://example.com/path?q=hello world&lang=enhttps%3A%2F%2Fexample.com%2Fpath%3Fq%3Dhello%20world%26lang%3Den
Hello%20World%21Hello World! (decoded)
name=John Doe&age=30name%3DJohn%20Doe%26age%3D30
https://site.com/search?q=case+converterDecoded: case converter

Rules & Behavior

  • Spaces encoded as %20 (not +)
  • All non-unreserved characters encoded
  • Unreserved: A-Z, a-z, 0-9, -, _, ., ~

Related Tools

Frequently Asked Questions

What is URL encoding?

URL encoding (percent-encoding) converts characters that aren't safe in URLs into a % followed by two hex digits. A space becomes %20, & becomes %26, etc.

What's the difference between %20 and +?

Both represent a space in URLs, but context matters. %20 is used in the path part; + can represent a space in query strings (application/x-www-form-urlencoded). Our tool uses %20 consistently.

Which characters need to be URL encoded?

Spaces, special characters (#, &, ?, =, /, :, @, !, $, etc.) must be encoded. Letters, numbers, hyphens, underscores, periods, and tildes are safe.

When would I URL decode?

When debugging API responses, reading analytics logs, or when a URL appears garbled with %XX sequences you want to read in plain text.

Can it encode full URLs?

Yes, but it will encode the entire URL including slashes and colons. For encoding just query parameters, encode each parameter value individually.