URL & Website Utilities
URL Encoder
Percent-encode text for safe use inside a URL.
- Free to use
- No sign-up
Working on it…
Running the tool — your results will appear here in a moment.
No results yet
Enter the details above and run the tool to see your results here.
About this tool
Convert text into percent-encoding so it can travel safely inside a web address. Spaces, ampersands, accents and other special characters become codes like %20 and %26.
How to use it
- Paste the text or value.
- Click Encode.
- Copy the result into your address, form or code.
Common conversions
- space →
%20 - & →
%26 - = →
%3D - ? →
%3F - / →
%2F - é →
%C3%A9
When you need it
- Putting search terms or email addresses into query parameters
- Building API requests by hand
- Adding UTM values that contain spaces or symbols
- Passing a full address as a parameter inside another one
Encode only what needs it
Usually you encode a single parameter value, not the whole address — otherwise the :// and slashes get converted too. Running already-encoded text through again creates double encoding such as %2520.
Encoding is not encryption
Anyone can reverse it with our URL Decoder, so never rely on it to hide sensitive information.
A worked example
A developer builds a search link like ?q=fish & chips. Without encoding, the ampersand splits the value and the search only receives "fish ". Encoding the value gives fish%20%26%20chips, and the full phrase arrives intact.
Spaces: %20 or +?
In query strings, forms often send spaces as +, while path segments use %20. Both are understood by most servers, but %20 works everywhere, so it is the safer choice.
In code
- JavaScript:
encodeURIComponent(value)for parameter values. - PHP:
rawurlencode($value). - Python:
urllib.parse.quote(value).
Characters that are always safe
Letters, digits and the symbols - _ . ~ never need encoding. Everything else in a parameter value should be encoded to be safe.
Related tools
- URL Decoder – reverse the encoding
- URL Parser – inspect the finished address
- URL Shortener – share a long encoded address
Step by step: building a campaign link by hand
- Start with your landing page, for example
https://example.com/offer. - Encode each parameter value separately — for example "Spring Sale 2026" becomes
Spring%20Sale%202026. - Join the parameters with
&:?utm_source=newsletter&utm_campaign=Spring%20Sale%202026. - Paste the finished link into our URL Parser to confirm every value is read correctly.
Encoding in forms and APIs
HTML forms encode values automatically when they are submitted, and most HTTP libraries do it for you when you pass parameters as a list. Manual encoding is mainly needed when you build addresses by hand, write them into configuration files or paste them into tools that expect a ready-made link.
Common pitfalls
- Encoding an entire address turns
https://intohttps%3A%2F%2F, which browsers will not open. - Encoding twice turns
%20into%2520. - Forgetting to encode
&inside a value splits it into two parameters.