FreeURL & Encoding tool

URL Encoder / Decoder

Paste text on the Encode tab to turn spaces, ampersands and accented letters into percent codes that are safe inside a URL. Paste an encoded string on the Decode tab to get the readable version back.

Uses encodeURIComponentHandles UTF-8 and emojiRuns in your browser

Updated · by the Linkstonic team

linkstonic.com/tool/url-encoder-decoderLive
How it works

How the encoding behaves

Both tabs call the browser's own functions, encodeURIComponent and decodeURIComponent. That choice decides what gets encoded and what doesn't.

01

Everything reserved is encoded

Encode treats your input as a single value, so it also encodes : / ? & = and #. Paste a whole URL and you get https%3A%2F%2F... back. That is right for passing a URL inside a parameter, wrong if you wanted a clickable link.

02

What stays as is

Letters, digits and the marks - _ . ! ~ * ' ( ) are never touched. Everything else, including the space, becomes one or more %XX codes. A space turns into %20, never a plus sign.

03

Non-English characters

Text is encoded as UTF-8 bytes, so one accented letter can become several codes. "café" becomes caf%C3%A9 and most emoji become four codes each. Decoding reverses this exactly.

04

Plus signs stay plus signs

Decode doesn't treat + as a space. Form submissions and some analytics tools write spaces as +, so "red+shoes" comes back unchanged. Replace the plus signs with %20 first if you need real spaces.

05

Broken input

A stray % that isn't followed by two hex digits, like "100%", or a code that isn't valid UTF-8, makes decoding fail. The output box shows an error message instead of a half-decoded string.

06

One box for both tabs

Encode and Decode share the same input and output. Switch tabs and your text is still there, so you can encode, then paste the result back and decode it to check the round trip.

Worked example

Encoding a search URL as a parameter

Say you need to pass a search results URL inside a redirect parameter. We pasted it into the Encode tab.

Input
https://example.com/search?q=red shoes&size=10
Output
https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dred%20shoes%26size%3D10Encoded output
46Characters in
64Characters out
%20The space
%26The ampersand

The encoded & is the point. Left raw, it would split the outer URL's parameters and size=10 would get lost. Encoded, the whole search URL survives as one value.

Use cases

Who ends up decoding URLs

Encoded strings turn up in more places than the address bar.

SEO analysts

Crawl exports and server logs are full of encoded paths. Decoding them shows which URLs are really the same page with different encoding, and which ones carry stray parameters that waste crawl activity.

Marketers building links

UTM values with spaces, ampersands or non-English words need encoding before they go into an email or ad platform. One broken character can drop the campaign data from analytics.

Developers

Redirect URLs, OAuth callbacks and API query values all need to travel as a single encoded value. It is quicker to check a tricky string here than to add a debug line.

Reference

Characters you'll see encoded most

A short lookup for reading encoded URLs by eye.

CharacterEncodedWhy it needs encoding
space%20Not allowed in URLs at all
&%26Separates query parameters
=%3DSplits a parameter name from its value
?%3FStarts the query string
/%2FSeparates path segments
#%23Starts the fragment, never sent to the server
+%2BSome servers read a raw + as a space
%%25Starts every percent code

Encoded letters can be upper or lower case. %2F and %2f mean the same thing.

URL Encoder / Decoder illustration: a link icon next to a sample result card with encoded output and characters in rows
URL Encoder / Decoder, sample result
Our take

Where encoding goes wrong in SEO work

Double encoding is the one I see most. A URL gets encoded once by a CMS, then again by a tracking script, and %20 turns into %2520. Search engines treat that as a different URL, so you end up with duplicates in reports and sometimes in the index. If you see %25 in a URL, decode it twice and look at what's underneath.

The second is UTM links built by hand. A campaign name with a space or an ampersand breaks the query string, and the rest of the tags silently fall off. Encode just the values, not the whole link.

For non-English slugs, browsers show the readable version in the address bar while the HTML carries the encoded form. Both are the same URL to Google. What matters is picking one form and using it the same way in canonicals, sitemaps and internal links.

Our customers

How we help marketers win

01techventuresShare of voice
02northlineReporting time
03arclabsAI mentions
FAQ

URL Encoder / Decoder questions

01What is URL encoding?

It is a way of writing characters that aren't safe in a URL as a percent sign followed by two hex digits. A space becomes %20 and an ampersand becomes %26. Browsers and servers decode them back to the original characters.

02Why is a space sometimes %20 and sometimes +?

%20 is the standard encoding for a space anywhere in a URL. The + form comes from HTML form submissions and is only understood in query strings. This tool always writes %20 and doesn't convert + back to a space when decoding.

03Should I encode the whole URL or just part of it?

Usually just the part that is data, like a search term or a UTM value. Encoding the whole URL also encodes the slashes and colon, which is only what you want when that URL is itself being passed as a parameter.

04Why does decoding show an error?

The input has a percent sign that isn't followed by two valid hex digits, or the codes don't form valid UTF-8. A literal % in text, like "50% off", has to be written as %25 before it can be decoded.

05Is my text sent to a server?

No. Encoding and decoding use functions built into your browser, and nothing you paste is sent to Linkstonic.

Beyond one-off checks

See how your pages do in Google and AI answers

Linkstonic tracks rankings, audits your site and shows whether ChatGPT, Gemini and Perplexity mention you. The free plan needs no credit card.