Build a search URL
Encode the search term before adding it after ?q= so an ampersand or accent does not break the link.
Turn a string into a URL-safe value or decode escaped characters to recover the original text directly in your browser.
This tool encodes text so it can safely go into a URL, or decodes a piece of URL full of %C3%A9 and %20 so you can read it. It applies the percent-encoding defined in RFC 3986, useful for building a search parameter, debugging a tracking link or reading a URL copied from server logs.
Encode replaces every character that is not an ASCII letter, a digit or one of - _ . ! ~ * ' ( ) with its %XX form: the text is first converted to UTF-8, so é becomes %C3%A9 (two bytes) and a space becomes %20.
Reserved characters such as /, ?, &, = and # are encoded too: the function is meant for a URL component (a parameter value, a path segment), not for a full address.
Decode does the reverse: each %XX sequence is replaced by the original character, rebuilding multi-byte UTF-8 characters.
If a sequence is incomplete or does not form a valid UTF-8 character (a lone %, %E9 on its own), decoding fails and the tool shows an error message instead of a wrong result.
In the Text or URL field: a value to encode or an encoded string to decode.
Encode or Decode.
Copy the transformed value from the Result field.
Decoding encoded text should give back exactly the original text.
Encode the search term before adding it after ?q= so an ampersand or accent does not break the link.
Decode paths and parameters stored in encoded form in logs or analytics tools.
Decode the redirect_uri or returnUrl parameter of a sign-in link to see the actual address.
Accented letters become two encoded bytes, the space becomes %20 and the ampersand %26, so the value can go after q= without splitting the query string.
Input
Text or URL: crème brûlée & café · EncodeResult
Result: cr%C3%A8me%20br%C3%BBl%C3%A9e%20%26%20caf%C3%A9The encoded = and & signs are restored and the accents become readable again.
Input
Text or URL: q%3Dcr%C3%A8me%20br%C3%BBl%C3%A9e%26page%3D2 · DecodeResult
Result: q=crème brûlée&page=2A % followed by anything other than two hexadecimal digits is not a valid sequence, so the tool reports it instead of inventing a character.
Input
Text or URL: 100% · DecodeResult
Result: Invalid URL content.A full URL keeps its separators (:, /, ?, &) as they are. This tool encodes a component, so it also encodes those separators, which is essential when a parameter value itself contains & or =.
The text is encoded in UTF-8, today’s web standard, where é takes two bytes (C3 and A9). %E9 is the old Latin-1 encoding and causes an error when decoding.
In percent-encoding a space is written %20. + means space only in form data (application/x-www-form-urlencoded). Replace + with spaces before decoding if your string comes from a form.
The letters A to Z and a to z, the digits and the signs - _ . ! ~ * ' ( ). Everything else, including spaces and accented letters, is encoded.
No. Encoding and decoding run in your browser.
Related tools
Tools similar or complementary to this one.
Turn a title or phrase into a clean slug that is ready to use in a URL.
Extract every URL from text and automatically remove duplicate addresses.
Validate, normalize and inspect web addresses locally.
Design stable readable URLs, normalize slugs and parameters, and reduce duplicate or ambiguous public routes.
Resize a batch of images, convert them to WebP and remove metadata with one reusable Pipeline.
Resize, compress and choose between WebP, AVIF and other formats with a practical workflow that reduces file size without unnecessary visual loss.
WebAssembly, browser APIs and faster devices enable more processing locally. How far can this approach replace services that upload files to servers?