URL Encode & Decode
Percent-encode or decode text for URLs, query params, and API payloads.
- 100% client-side · your data never leaves your browser
- Instant, no rate limits
- Free, no sign-up
Your result appears here
Paste your data into the panel on the left — everything runs privately in your browser.
Overview
URL Encode & Decode Online — Percent Encoding Tool
Percent-encode text so it can travel safely inside a URL, or decode an encoded URL back into readable characters. Spaces, ampersands, slashes, and non-ASCII characters all have special meaning in a URL and must be encoded to avoid breaking query strings, links, and API requests. Encode and decode in both directions instantly, with everything running locally in your browser.
What URL encoding does
URL (percent) encoding replaces unsafe characters with a percent sign followed by their hexadecimal byte value. A space becomes %20, an ampersand becomes %26, and a forward slash becomes %2F. This guarantees that the character is treated as data rather than as URL syntax.
Decoding reverses the process, turning %2C back into a comma and %3D back into an equals sign — handy when you are reading a captured request, a redirect URL, or an OAuth callback that arrived fully encoded.
When you need it
- Building query strings with user-supplied values that contain spaces or symbols
- Reading encoded redirect, callback, or tracking URLs
- Debugging API requests where parameters were double-encoded
- Safely embedding a full URL as a parameter inside another URL
Component vs full-URL encoding
There are two levels of encoding. Encoding a single component (one query value) escapes characters like & and = that would otherwise separate parameters. Encoding a whole URL preserves structural characters such as : and / so the address still works. Choose component encoding when you are inserting one value into a query string, and full encoding when you are passing an entire URL as data.
FAQ
Frequently asked questions
What is the difference between URL encoding and JSON escaping?
URL encoding uses percent signs (%20) and applies to web addresses. JSON escaping uses backslashes (\n, \") and applies to string values inside JSON. They are not interchangeable — use the JSON Escape tool for JSON strings.
Why do I sometimes see %2520?
That is double encoding: a percent sign (%25) followed by 20. It happens when an already-encoded string is encoded again. Decode once per layer to recover the original text.
Does it handle Unicode and emoji?
Yes. Non-ASCII characters are encoded as their UTF-8 byte sequence in percent form and decode back correctly.
Is my input sent anywhere?
No. Encoding and decoding run entirely in your browser. Nothing is uploaded or stored.
Continue with a related tool
All tools- JSON Base64 Encode & Decode
Encode text or JSON to Base64 and decode Base64 back to readable text.
- JSON to Query String
Serialize JSON objects into URL-encoded query strings for APIs and links.
- Query String to JSON
Parse URL query strings into structured JSON objects.
- CSV to JSON Converter
Turn CSV and spreadsheet data into structured JSON arrays.
- JSON to CSV Converter
Convert JSON arrays and nested objects into clean, flattened CSV ready for spreadsheets.
- JSON to HTML Table
Convert a JSON array of objects into a clean, escaped HTML table.