URL Encoder/Decoder
Encode or decode URLs to ensure they are safe for transmission.
Introduction
Every URL you see in a browser address bar is subject to a strict set of allowed characters. Spaces, ampersands, hash symbols, quotation marks, and hundreds of other characters cannot appear in a URL as-is — they'd break the URL structure or be misinterpreted by the server. URL encoding (also known as percent-encoding) converts these unsafe characters into a safe format.
This URL Encoder/Decoder converts text both ways: encode raw text into a URL-safe format, or decode a percent-encoded URL back into human-readable text. Instant results in your browser — no server round trips.
Technical & Concept Breakdown
URL encoding (percent-encoding) replaces unsafe characters with a % followed by the two-digit hexadecimal representation of the character's UTF-8 byte value.
Examples:
- Space:
%20(or+in form encoding) &:%26=:%3D#:%23@:%40/:%2F(when encoding data, not URL structure)
In JavaScript:
// Encode — safe for query string values
encodeURIComponent('hello world & more')
// → 'hello%20world%20%26%20more'
// Decode
decodeURIComponent('hello%20world%20%26%20more')
// → 'hello world & more'
encodeURIComponent vs encodeURI:
encodeURIencodes a full URL — it leaves structural characters (:,/,?,&,=) untouchedencodeURIComponentencodes everything including structural characters — use this for individual query parameter values
Decoding: decodeURIComponent reverses the process. If an encoded URL contains %20, it returns a space.
Real-World Use Cases
Developers: When building URLs with dynamic query parameters, encode each parameter value with encodeURIComponent() before concatenating. This tool lets you test what the encoded output looks like.
API Testing: POST request bodies in application/x-www-form-urlencoded format use percent-encoding. Encode your test data manually before pasting it into API clients like Postman.
Web Scraping: Encoded URLs are common in scraped data. Decode them to get the human-readable form of URLs and link targets.
Email Marketing: UTM parameter values containing spaces or special characters need encoding in tracking URLs. Verify encoding before deployment.
Debugging: A server returns a 400 Bad Request — check if a query parameter contains unencoded special characters that are confusing the server's URL parser.
Best Practices & Optimization Tips
Always encode individual parameter values, not the whole URL. If you encode the entire URL including ://, ?, and =, you'll break the URL structure.
Decode first when unsure. When debugging a URL with percent-encoded characters, always decode it first to understand what the original values were intended to be.
+ vs %20 for spaces. HTML form submissions use + for spaces in query strings (application/x-www-form-urlencoded). Full URL encoding uses %20. Servers that parse query strings typically accept both — but be consistent in your implementation.
Double-encoding is a common bug. If you accidentally encode an already-encoded string, %20 becomes %2520. Decode before re-encoding to avoid this.
Limitations & Common Mistakes
This tool does not validate URL structure. It only encodes/decodes the characters — it doesn't check whether the resulting URL is a valid, accessible endpoint.
Unicode characters become multi-byte sequences. A Chinese character like 你 encodes to %E4%BD%A0 (3 bytes in UTF-8 = 3 hex pairs). Long multi-language strings can produce very long encoded outputs.
Encoding the entire URL including protocol is wrong. https://example.com/path?q=hello world should only encode the hello world part. This tool encodes whatever you paste — use it on just the value that needs encoding, not the full URL.
Privacy Guaranteed
Your data never leaves this device. All processing is handled locally by JavaScript.
