URL ParametersRuns in your browser
URL Encoder
Percent-encode text so it can be used safely in a URL. Choose component, full-URL or query-parameter encoding — everything happens in your browser.
How to use the URL Encoder
Step 1: Choose component, full URL or query-parameter encoding.
Step 2: Type or paste the text.
Step 3: Copy the encoded result.
How the three modes differ
Take the input a b&c=d/é:
- Component →
a%20b%26c%3Dd%2F%C3%A9. Every reserved character is encoded, so the result is safe inside any part of a URL. Equivalent to JavaScript’sencodeURIComponent, plus! ' ( ) *for strict RFC 3986 compliance. - Full URL →
a%20b&c=d/%C3%A9. Structural characters are left alone, likeencodeURI. - Query parameter →
a+b%26c%3Dd%2F%C3%A9. Spaces become+, theapplication/x-www-form-urlencodedformat HTML forms use.
Encoding in code
In JavaScript use encodeURIComponent(value) for values, or build URLs with new URL() and url.searchParams.set(), which encode for you. In Python use urllib.parse.quote(value, safe=''); in PHP, rawurlencode().
Going the other way
To turn %20-style text back into readable characters, use the URL decoder. To build campaign links with correctly encoded parameters, the UTM builder handles encoding automatically.
Frequently asked questions
- What is URL encoding?
- URLs may only contain a limited set of ASCII characters. Anything else — spaces, &, ?, #, accented letters, emoji — must be written as a percent sign followed by the byte’s hexadecimal value. A space becomes %20, & becomes %26, and é becomes %C3%A9 (its two UTF-8 bytes).
- Which encoding mode should I use?
- Component for a single value going into a URL — a path segment or a query parameter value. Full URL when you have a complete address containing spaces or non-ASCII characters and want to keep its structure (: / ? & = #) intact. Query parameter to match HTML form submissions, where spaces become +.
- Why is my & or = breaking the link?
- In a query string, & separates parameters and = separates a name from its value. If a value contains either character unencoded, the server splits it in the wrong place. Encode the value in Component mode so & becomes %26 and = becomes %3D.
- Is what I type sent to Zurl?
- No. Encoding happens entirely in your browser with JavaScript. Nothing is transmitted, which makes the tool safe for URLs containing tokens or personal data.
- Does it double-encode URLs that are already encoded?
- In Full URL mode, existing valid %XX sequences are preserved, so encoding twice is harmless. In Component mode the % sign itself is encoded (%20 → %2520), which is correct when the value genuinely contains a literal percent sign.