Percent-encode text for safe use in URLs and query strings, or decode encoded URLs back to readable text.
Developers building query strings and debugging encoded links.
Choose encode or decode
Switch between encoding plain text into a URL-safe form and decoding an encoded string back.
Pick the scope
Use component encoding for an individual query value, or full-URL encoding to preserve the structure of a complete link.
Paste and copy
Enter your text and copy the converted output.
A URL can only safely contain a limited set of characters, so anything else — spaces, ampersands, slashes, question marks, accented letters, emoji — has to be percent-encoded (a space becomes %20, and so on). Get this wrong and links break, query parameters get cut off, or search terms come through garbled. The most common bug is using the wrong scope: encoding a whole URL when you should only encode a single query value, which mangles the structure, or vice versa. This tool encodes and decodes both ways and lets you pick the right scope. Component encoding (encodeURIComponent) escapes structural characters like / ? & = and is what you want for an individual parameter value; full-URL encoding (encodeURI) leaves those intact so the overall URL keeps working. Paste your text, choose encode or decode, and copy the result. Everything runs in your browser, so the URLs and data you paste — which may include tokens or query parameters — never leave your device.
Building query strings
Safely encode parameter values containing spaces, symbols, or non-ASCII text before adding them to a URL.
Debugging links
Decode an encoded URL to read what it actually points to and spot a broken parameter.
API requests
Encode path segments and query values correctly before sending requests.
Tracking & campaigns
Encode UTM values and redirect targets so they survive being passed through a URL.
Fixing garbled text
Decode percent-encoded strings from logs or addresses to recover the original characters.
Use component encoding (encodeURIComponent) for a single value like one query parameter; it escapes / ? & =. Use full-URL encoding (encodeURI) for a whole URL, which leaves those structural characters intact.
A malformed percent sequence — like a lone % not followed by two hex digits — cannot be decoded. Check the input for incomplete escapes.
It is an encoded space. Percent-encoding represents a character by % followed by its hex byte value; a space is 0x20.
Unreserved characters (letters, digits, and - _ . ~) are always safe in URLs, so they are not encoded.
Percent-encoding makes text URL-safe; Base64 encodes binary data as text. They solve different problems — see the Base64 tool for the latter.
Yes. They are encoded as UTF-8 byte sequences and round-trip correctly when decoded.
Yes. All encoding and decoding happens in your browser; nothing is uploaded.
Yes — encode and decode as much as you need for free, with no sign-up.