Got a link or a query value full of spaces, ampersands, or non-English letters that breaks when pasted? This free url encoder and decoder fixes it both ways: it percent-encodes text so it travels safely inside a web address, and it decodes percent-encoded addresses back into readable text. Everything runs in your browser, so nothing is uploaded, nothing is stored, and no signup is needed.

How to use this url encoder and decoder

Three quick steps — no signup, no cost.

1Choose Encode or Decode

Pick the direction — turn plain text into percent-encoded form, or turn an encoded address back into readable text.

2Paste your text or link

Enter a single query value, a query string, or a full address. The tool encodes the characters that need encoding and leaves the rest alone where you choose full-address mode.

3Copy the result

Copy the encoded or decoded output straight into your code, browser bar, or document.

Why this url encoder and decoder gets the details right

Encoding looks trivial until a space, an ampersand, or a double-encoded percent breaks a link.

Percent-encoding done properly

Each unsafe character becomes % plus two hexadecimal digits — a space becomes %20 and & becomes %26 — with non-English text encoded as UTF-8 bytes.

Value mode and full-address mode

Encode a single parameter value fully, or encode a whole address while keeping its structure (: / ? & =) intact.

Double-encoding spotted

If the result still shows %25 or %20 after decoding, the string was encoded twice — decode again and fix the encoder upstream.

Private by design

Conversion runs in your browser with built-in functions, so your links and query values are never sent to a server.

URL Encoder and Decoder FAQs

Short, direct answers to the questions readers ask most.

It is the process of replacing characters that are not allowed in URLs, or that have a special job in an address, with % followed by two hexadecimal digits, so browsers and servers read them the same way.

Encode a single value fully when it goes inside a query parameter; encode a whole address only in full-address mode, which keeps : / ? & and = intact so the link still works.

Because the string was encoded twice: the first decode turned %2520 into %20. Decode once more and it resolves, and the double encoding itself is usually the bug worth fixing.

In form-encoded data a + stands for a space, but in a normal percent-encoded address a space is %20 — so a decoder must know which convention the string used.

Yes — free, with no account and no signup.