URL Encoder / Decoder
Any character outside A-Z a-z 0-9 - _ . ~ has to be percent-escaped when it appears in a URL. Miss one and the browser sends you somewhere you did not intend, or an API rejects the call with a 400. This encoder handles whole URLs or bare parameter values, flipping between readable text and safe wire format without breaking structural characters like / or ? unless you ask.
How to encode and decode a URL
-
1
Paste the URL or value
Input a full URL, a query string or a single parameter.
-
2
Choose encoding level
Full-URL mode keeps `/ : ? #` intact. Component mode escapes everything reserved.
-
3
Run the conversion
Each character is UTF-8 encoded and reserved bytes are replaced with `%HH`.
-
4
Reverse when needed
The same tool decodes percent-escaped input back to its original characters.
Encode vs encodeComponent
The two modes come from JavaScript and they map to different RFC 3986 rules.
| Mode | Keeps intact | Use when |
|---|---|---|
Full URL (encodeURI) |
: / ? # [ ] @ ! $ & ' ( ) * + , ; = |
You already have a structured URL |
Component (encodeURIComponent) |
Only unreserved chars | You are inserting a value into a template |
Typical fixes this tool makes
- Spaces inside a query value become
%20so the server receives a single parameter. - Ampersands inside a value become
%26so they do not open a new query pair. - Plus signs inside a search term become
%2Bso the server does not read them as spaces. - Non-ASCII text like
cafébecomescaf%C3%A9(UTF-8, two bytes).
Double encoding gotcha
If you encode an already-encoded string you get nonsense: %20 becomes %2520. Always decode first when you are not sure where the input came from. The tool warns when it detects percent sequences in the input before encoding.
Frequently Asked Questions
Yes when you select form-URL mode. Strict RFC 3986 mode leaves + as a literal plus because only %20 is the canonical space in URIs.
Yes. Full-URL mode encodes only the characters that are not valid URI structure, so a correct URL goes through unchanged while spaces and non-ASCII inside values still get escaped.
UTF-8, per RFC 3986 and the WHATWG URL spec. Legacy encodings like ISO-8859-1 are not supported.
No. The encoding runs locally in your browser, nothing is sent or stored.
Related Tools
Meme Text Generator
Add classic meme captions to a template or your own image. Set top and bottom text, tune font, color and stroke, then download or copy a PNG.
Word Counter
Count words, characters, sentences and paragraphs with reading time, speaking time, keyword density and a Flesch readability score for essays, posts, captions and meta descriptions.
Password Generator
Generate strong random passwords with adjustable length, symbols, numbers and mixed case using cryptographic randomness.
Emoji Kitchen
Try verified Google Emoji Kitchen sticker pairs, download PNGs, and get supported suggestions when a pair is not in the curated set.
Wingdings Translator
Turn Latin letters and digits into Wingdings-style Unicode symbols for puzzles, jokes and retro Windows notes.
Glitch Text Generator
Create Zalgo-style glitch text with Unicode combining marks. Choose intensity, preview variants and copy corrupted text for profiles, memes or horror posts.
Tool available in other languages
- URL Encoder / Decoder [ID]
- Koder / dekoder URL [PL]
- URL-kodare/avkodare [SV]
- ตัวเข้ารหัส/ตัวถอดรหัส URL [TH]
- URL-Encoder/Decoder [DE]
- URLエンコーダ/デコーダ [JA]
- URL 인코더 / 디코더 [KO]
- Codificador / Decodificador de URL [ES]
- Codificador / Decodificador de URL [PT]
- Bộ mã hóa/Bộ giải mã URL [VI]
- Encodeur / Décodeur d'URL [FR]
- مُرمِّز / مُفكِّك ترميز URL [AR]
- URL-encoder/decoder [NL]
- Codificatore / Decodificatore URL [IT]
- Кодер/декодер URL [RU]
- URL Kodlayıcı / Çözücü [TR]
- URL 编码器/解码器 [ZH]