Rankite
ServicesResultsToolsTeamAboutBlogCareersContactFree SEO Audit
Free tool

URL Encoder & Decoder: Percent-Encode or Decode Instantly

Paste a URL, query string or plain text below to encode it for safe use in a link, or decode a percent-encoded string back to readable text.

Home / Tools / Free URL Encoder & Decoder
Result

 
 

Built by Rankite, the SEO team behind Swordfish AI's +400% revenue and Zluri's +45% organic growth. See the case studies

URLs can only contain a limited set of characters safely. A space, an ampersand or an accented letter has to be converted into a percent-encoded sequence like %20 before it can travel inside a link without breaking it. This tool does that conversion both ways.

Why there are two encode modes

Encoding a single value, like a search term you are about to drop into a query string, calls for escaping everything that is not a plain letter, digit or a small set of safe symbols. That is what the "safe for a query value" mode does, and it matches JavaScript's encodeURIComponent.

Encoding a whole URL is different. You want the slashes, colons and question marks that hold the URL together to survive, and only the genuinely unsafe characters escaped. That is the "full URL" mode, matching encodeURI. Run a complete link through the component mode by mistake and you will mangle the http:// and every slash in the path.

When you actually need this

Common cases: building a link that contains a space or an ampersand in a filename, passing a piece of text as a GET parameter, debugging a tracking URL that looks broken in a spreadsheet, or reading a raw server log line full of %2F and %3D sequences.

If you are building tagged campaign links with clean parameters like utm_source and utm_campaign, our UTM Builder handles the encoding for you automatically and is usually the faster path for that specific job.

Common mistakes to avoid

Double encoding is the most frequent one: running an already-encoded string through the encoder again turns %20 into %2520, which most systems will not decode correctly. If your output has a lot of %25 in it, you are probably encoding something twice.

The other common mix-up is using component encoding on a full URL, which escapes the slashes and colons that were supposed to stay put. When in doubt, encode only the specific value you are inserting, not the entire link.

Related articles

FAQ

URL Encoder & Decoder: questions, answered

What's the difference between encodeURIComponent and encodeURI?
encodeURIComponent escapes almost every special character and is meant for a single value being inserted into a URL, like a query parameter. encodeURI leaves structural characters such as / : ? & intact and is meant for encoding a complete URL.
Why does my decoded text still have % signs in it?
That usually means the text was encoded more than once. Try running it through the decoder a second time, or check whether the original % symbols were meant to be literal rather than the start of an encoded sequence.
Does this tool send my data anywhere?
No. Encoding and decoding both happen in your browser using built-in JavaScript functions. Nothing you paste here is transmitted or stored.
Can I use this for email addresses in URLs?
Yes, though most systems handle the @ symbol fine unencoded. If you're building a mailto link with extra parameters like a subject line, encode just the subject text, not the whole mailto: string.
What does a plus sign mean when decoding?
In query strings built by HTML forms, a plus sign traditionally represents a space. This tool's decode mode converts + to a space before decoding, which matches how browsers handle form submissions.

More free tools

Let's grow

Ready to own page one?

Get a free, no-obligation SEO audit and a 30-minute strategy session. We'll show you exactly where the growth is hiding.

Book your free audit Explore services
Get in touch

Tell us about your project

Fill out the form and we'll get back to you within one business day. Prefer email? Write to us directly at contact@rankite.com.

Or copy our email and write to us directly: contact@rankite.com