URLs are only allowed a small cast of characters, yet real links need to carry search phrases with spaces, names with accents, and values containing &, = and ?. Percent-encoding is the system that makes it work: unsafe characters are replaced by a % followed by two hex digits (%20 for a space, %C3%A9 for é). This tool encodes text ready for a URL and decodes encoded URLs back into readable form, with two modes — component mode for a single query value (the strict, common case) and full-URL mode that preserves the structural characters of a complete link. It is the quick fix for broken links, mangled parameters and unreadable analytics URLs.
Quick Answer: Paste text to percent-encode it for a URL, or paste an encoded URL to decode it — with component and full-URL modes.
Free Online Tool
URL Encoder / Decoder
Make links safe to travel, and read the ones that arrive encoded.
How to Use the URL Encoder / Decoder
- Choose Encode or Decode.
- Pick the mode: Component for one value (a search term, a parameter), Full URL for a whole link.
- Paste your text and press Convert.
- Check the output: encoded text shows %XX escapes; decoded text should read naturally.
- Copy the result into your link, redirect or code.
Key Features
- Encode and decode in both component and full-URL modes.
- Correct UTF-8 percent-encoding for accented and non-Latin text.
- Decodes + as space in component mode, matching form-data conventions.
- Instant conversion with one-click copy.
- Runs locally — decode private tracking links safely.
Best Practices and Tips
- Encode values, not whole URLs: encode each query value separately, or the & and = that structure the URL get encoded too and the link breaks.
- A space becomes %20 in a path but often + in form-submitted query strings; both are understood, but %20 is always safe.
- Double-encoded text (%2520) means something encoded an already-encoded value — decode once more and find the culprit upstream.
- Browsers display many URLs decoded in the address bar but send them encoded — copy from the page source or analytics for the true string.
- Redirect chains and UTM links are far easier to debug once decoded into readable text.
Common Mistakes to Avoid
- Encoding a complete URL in component mode, destroying its structure and producing a single unreadable blob.
- Assuming + always means a literal plus; in query strings it usually means a space, and a real plus must arrive as %2B.
- Decoding text that was never encoded and contains % by chance (like ‘50% off’), which can throw errors — the tool reports these.
- Building links by hand with raw spaces or accents and hoping browsers cope; some do, many downstream systems do not.
Frequently Asked Questions
What is percent-encoding?
It is the URL standard for representing unsafe characters: a percent sign followed by the character’s byte value in hexadecimal. A space is byte 32, written %20. Non-ASCII characters are first converted to UTF-8 bytes, and each byte gets its own %XX escape.
Component mode or full-URL mode — which do I need?
Component (encodeURIComponent) escapes nearly everything except letters, digits and a few marks — right for encoding a single value going into a URL. Full-URL mode (encodeURI) leaves : / ? & = and other structural characters alone — right for encoding a whole link that has spaces or accents in it.
Why did decoding fail with a URIError?
The input probably was not valid percent-encoding: a lone % not followed by two hex digits, or escapes forming invalid UTF-8. Real-world culprits include truncated links and text with a literal % sign. The error means ‘this was not properly encoded’, which is itself useful information.
Does decoding change + signs?
In component mode, yes: following form conventions, + decodes to a space, because that is how browsers submit form data. In a pasted full URL path, a + may be literal — if your decoded text looks wrong around plus signs, that is why.
Is this the same as Base64?
No. Base64 re-encodes entire data into a different alphabet; percent-encoding only escapes the unsafe characters inside a URL and leaves the rest readable. Links usually need percent-encoding; data payloads use Base64.
Related Tools
- Base64 Encoder / Decoder – encodes text to Base64 and decodes it back, Unicode-safe
- HTML Encoder / Decoder – escapes HTML into entities and decodes entities back to text
- UTM URL Builder – assembles properly encoded UTM campaign links for analytics
- Slug Generator – converts titles into clean, URL-safe slugs instantly