Skip to content

URL Encoder Decoder for Links and Query Values

Runs 100% in your browser — your text never leaves this page, and nothing is uploaded or stored.

This url encoder decoder makes text safe for URLs — spaces to %20, reserved characters percent-encoded — and decodes it back, in component or full-URL mode. Use this url encoder decoder online to percent encode url online for links and query strings — component mode for a single value, full-URL mode for a whole address — and decode it back to readable text.

How to Use the URL Encoder Decoder

  1. Paste your text or URL into the box — or press Load sample to encode the example address with its tricky query.
  2. Choose the mode: Encode component for a single query value, Encode full URL for a whole address, Decode to reverse.
  3. Read the result in the result box — it updates the moment you type or switch modes.
  4. Copy the encoded (or decoded) text straight into your link, code or document.

About this tool

URLs can only contain a limited set of characters. Everything else — spaces, quotes, ampersands, non-English letters — must be percent-encoded to travel safely, or your links break and your query parameters split in the wrong places. The classic trap is choosing the wrong rule for the job: encode a whole URL with component rules and its structure is destroyed; encode a query value with full-URL rules and a stray & inside the value starts a new parameter. Component mode applies the strict rules — every reserved character, :, /, ?, &, =, even % itself, is encoded — which is exactly what one value inside a query string needs. Full-URL mode encodes only what a whole address cannot contain and leaves the structural characters standing, so the address still works as an address. Decoding reverses either mode. It also converts + back into spaces, the way form data and query strings use it, and it reads UTF-8 percent sequences properly, so an encoded Arabic or accented word comes back as itself rather than scrambled bytes. A malformed sequence — a stray % or a code cut short — is reported with a plain message instead of garbage. Non-English text encodes as its UTF-8 bytes, one % code per byte — the pair of curly quotes in the sample below becomes six codes between them. Encoding happens locally in your browser: URLs carrying private tokens or internal addresses never leave your device. For data that has to travel as plain characters rather than inside a link, the base64 encode decode tool is the other half of the pair. The full list of which characters get encoded, and why, is in MDN's glossary entry on percent-encoding. Percent encoding: encode special characters in links and query strings so they work everywhere.

Worked example

Here is the sample address that comes with the tool, run through the default Encode component mode: You paste
https://example.com/search?q=fish & chips “special” 100% organic
You get
https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dfish%20%26%20chips%20%E2%80%9Cspecial%E2%80%9D%20100%25%20organic
That is the sample address treated as one value, so even its :// and ? were encoded — right for a query parameter, wrong for a clickable link. Switch to Encode full URL and the skeleton (https://, the ?, the &) survives, with the spaces (%20), the % sign (%25) and the curly quotes (%E2%80%9C, %E2%80%9D) encoded instead.

Features

  • Both encode modes, clearly labelled: strict component encoding for values, structure-preserving encoding for whole URLs.
  • A decoder that reverses either mode and turns + back into spaces, as form data expects.
  • Correct UTF-8 handling: non-English letters and emoji encode per byte and decode back into themselves.
  • Plain-language errors for malformed input instead of silent garbage.
  • Instant conversion as you type or switch modes — no submit, no round-trip.
  • Private by design: encoding runs in your browser, so URLs with private tokens never leave your device.

URL Encoder Decoder FAQs

What is the difference between the two encode modes?Component mode encodes reserved characters like / ? & =, making it safe for a single query-string value. Full-URL mode preserves those characters so a complete address stays a working address.
Why did my decoded text have + where spaces should be?In form data and query strings, + means a space. The decoder converts + back to a space automatically.
Is %20 or + the right encoding for a space?%20 works everywhere in a URL. + is only valid in the query string portion. Component mode produces %20.
Is my URL processed privately?Yes — encoding runs in your browser; URLs with private tokens never leave your device.
Why does my text have %E2%80%99 in it after encoding?That is a curly apostrophe written as its three UTF-8 bytes. Any character outside plain ASCII encodes byte by byte this way — decode the string and the original character returns exactly.
What does a malformed-encoding error mean?The decoder met a % that is not followed by two valid hex digits, or a sequence cut off mid-character. Check for a copied URL that was trimmed, and paste the complete string.
Should I encode a password or token to keep it safe?No — percent-encoding is a transport format, not protection. Anyone can decode it instantly; this very page will. It makes text safe to carry in a URL, never safe to expose.
More text encoder decoder tools →