URL Encoder / Decoder
Percent-encoding both ways — full component mode for query values, URI mode for whole links, with form + handling and strict decode errors.
How to use
- Paste text or an encoded URL into the input box.
- Pick Encode or Decode, then choose the mode for your target.
- For form-style input ("a+b"), tick plus-as-space before decoding.
Frequently asked questions
When should I use each mode?
Component mode (encodeURIComponent) escapes every reserved character, which is right for query-string values. URI mode (encodeURI) keeps structural characters like :, /, ? and & intact, which is right for a whole URL you only want to make safe.
Why do spaces sometimes show as + and sometimes %20?
%20 is what URI syntax expects; + is the form-submission convention from application/x-www-form-urlencoded. On decode, the plus-as-space toggle lets you handle form-style strings — leave it off when a literal + must stay a +.
What causes a decode error?
A percent sign followed by anything other than two hex digits — "100%ZZ" or a cut-off "%E4". The tool refuses to guess and shows an error rather than returning mangled text.
Are non-Latin characters preserved after a round trip?
Yes. Characters are serialized to UTF-8 and percent-encoded byte by byte, so decoding restores emoji, Chinese, Arabic and every other script exactly.
Is anything logged or uploaded?
No — the conversion is a pure string operation inside your browser tab.