URL encoder and decoder
Turn spaces, accents and symbols into their %XX form so a URL is valid, or get the original text back. Paste a full URL and we break it into parts so you can edit its query parameters.
Processed 100% in your browser
| Protocol | |
|---|---|
| Host | |
| Port | |
| Path | |
| Fragment | |
| User | |
| Origin |
Ctrl + Enter runCtrl + C copy result
How to use
- 1Type or paste the text, encoded string or URL into the input panel.
- 2Choose “Component” for parameter values or “Full URL” to keep / ? & and #.
- 3Click “Encode” or “Decode”: the result updates live as you type.
- 4If it is a URL, edit its parameters in the table and copy the rebuilt URL.
Use cases
- Build links with UTM or search parameters that contain spaces and accents.
- Read redirect or tracking URLs full of %3A%2F%2F.
- Debug API requests and forms (application/x-www-form-urlencoded).
- Encode lists of values line by line for spreadsheets or scripts.
Frequently asked questions
What is URL encoding (percent-encoding)?
The standard way (RFC 3986) to represent characters that are not allowed in a URL: each UTF-8 byte is written as “%” followed by two hex digits. For example, a space is %20 and “ñ” is %C3%B1.
What is the difference between “Component” and “Full URL”?
“Component” (encodeURIComponent) also escapes / ? & = and #, which is right for a parameter value. “Full URL” (encodeURI) keeps them so the structure of a whole address is not broken.
Why do some spaces show up as “+”?
HTML forms send data as application/x-www-form-urlencoded, where a space is encoded as “+”. Enable the matching option to encode or decode in that format.
How is it different from Base64?
URL encoding only escapes problematic characters and keeps the rest readable; Base64 converts all content into another alphabet and makes it about 33% larger.