URL Encoder & Decoder
Encode and decode URLs and query strings online. Free, instant, no signup.
How to Encode or Decode a URL
1. Paste your text or URL into the input box.
2. Click "Encode" to convert special characters to percent-encoded format, or "Decode" to convert encoded URLs back to readable text.
3. Copy the result with one click.
What is URL Encoding?
URL encoding (also called percent-encoding) converts special characters into a format that can be safely transmitted in URLs. Characters that have special meaning in URLs (like &, =, ?, /) or that aren't allowed (spaces, non-ASCII characters) are replaced with a percent sign followed by their hexadecimal ASCII code. For example, a space becomes %20 and an ampersand becomes %26.
When to Use URL Encoding
- Query parameters: Safely pass values with special characters in URL query strings
- Form data: Encode form field values before submitting via GET requests
- API requests: Encode parameters for REST API calls and webhook URLs
- Non-ASCII characters: Handle Unicode characters (é, ü, 中文, кириллица) in URLs
- Debugging: Decode encoded URLs from server logs, analytics tools, or API responses
- Redirects: Encode destination URLs used in redirect parameters
URL Encoding Reference
space→%20(or+in form encoding)&→%26=→%3D?→%3F/→%2F#→%23@→%40
FAQ
What characters need to be URL-encoded? All characters except unreserved characters (A-Z, a-z, 0-9, hyphen, underscore, period, tilde) should be percent-encoded when used in URL parameters.
What's the difference between encodeURI and encodeURIComponent? encodeURI() encodes a full URL but preserves characters like /, ?, &, =. encodeURIComponent() encodes everything except unreserved characters — use this for individual parameter values. Our tool uses encodeURIComponent.
Is URL encoding the same as HTML encoding? No. URL encoding uses percent-encoded characters (%20, %26). HTML encoding uses entity references (&, <). They serve different purposes.
Is my data processed locally? Yes. All encoding and decoding happens in your browser — no data is sent to any server.