🇬🇧EN

URL Encoder / Decoder

Percent-encode text for URLs or decode it back — in your browser.

✨ What do you want to try next?

You've finished this tool — here are a few you might find useful.

Explore 100+ free toolsPDF, Image, Text, Convert, Calculate and more — all free.View all tools →

About the URL Encoder / Decoder

URLs can only contain a limited set of characters, so spaces, accents, and symbols like &, ? and = have to be percent-encoded (a space becomes %20) to travel safely in a web address. This encodes text into that form and decodes it back into something readable. Developers use it constantly for query-string values, redirect and callback URLs, API parameters, and for decoding an encoded link to see what it actually contains.

How it works

Encoding offers two scopes:

  • Component (the default use) encodes a single value that goes inside a URL — it escapes &, =, ?, /, #, + and more, so the value can't break the URL's structure. This is the one to use for a query-string parameter.
  • Full URL preserves the characters that give a URL its structure (:, /, ?, &, #), so you can encode an entire address without mangling it.

Decoding converts %XX sequences back to characters, and also turns + into a space, matching how form submissions encode spaces. Invalid percent-sequences are flagged.

Assumptions and behaviour

  • Component mode is the safe default for encoding a value you're inserting into a URL; full-URL mode is for encoding a complete address.
  • Decoding treats + as a space, following the application/x-www-form-urlencoded convention used by HTML form submissions and many query strings.
  • Encoding is UTF-8 based, so accented and non-Latin characters encode into the correct multi-byte percent sequences.

Limitations

  • The two encoding scopes are not interchangeable. Full-URL mode leaves &, =, ?, / and # unescaped, so using it on a value that contains those characters will break the URL — use component mode for values.
  • The + → space rule on decode is the form-encoding convention. In contexts where a literal + was intended (already encoded as %2B), that's fine, but a raw + meant literally would be turned into a space.
  • It encodes text; it doesn't validate that the result is a well-formed URL or that the address exists.
  • Malformed percent-encoding (like a stray % or %ZZ) is reported as an error on decode.

Privacy

Encoding and decoding run entirely in your browser. Your text is never uploaded or stored.

Frequently asked questions

Is this URL encoder free?

Yes — free, no sign-up, no limits, runs in your browser.

What's the difference between the two encode modes?

Component mode encodes a value going inside a URL (escaping &, =, ?, / and more), which is what you want for a query-string parameter. Full-URL mode keeps URL structure characters intact so you can encode a whole address.

Which mode should I use for a query parameter?

Component mode. It escapes the characters that would otherwise break the URL's structure, keeping your value safe inside it.

Why did a '+' become a space when I decoded?

Decoding follows the form-encoding convention where '+' means a space. A literal plus intended in the text should have been encoded as %2B.

Does it handle accented and non-Latin characters?

Yes. Encoding is UTF-8 based, so those characters become the correct multi-byte percent sequences and decode back correctly.

Is my text uploaded?

No. Everything runs locally in your browser; nothing is sent or stored.

Lakshay Kumar

Written by Lakshay Kumar(TechLakshay)

A QA Automation Engineer by trade, Lakshay's real passion is untangling complex problems into simple, working solutions — which is exactly why FreeMyTask exists. On Instagram, he channels that same instinct into helping 26,000+ content creators with SEO education, motivation, and hands-on query solving.

Last updated: August 22, 2026
🎁