URL Encode/Decode
A conversion page for cases where query values break, garble, or accumulate %25, helping you confirm the correct per-value encoding strategy.
Status
Runs in your browser. No input is sent to a server. Use this as a first-pass diagnostic step.
How to use
Paste a value and click Encode/Decode. If you paste a full URL, the query part after ? is shown in a readable view.
Notes (this tool)
- This tool mirrors encodeURIComponent (value-level). Use a dedicated approach for full-URL normalization.
- For form-urlencoded contexts where + means space, convert manually.
About this page
What does this tool do?
Encode/decode URLs and query strings to make pasted strings readable.
Useful for checking parameter values and debugging encoding issues.
Beginner (1-minute quick start)
- Encode one value and embed it directly into a URL
- Decode incoming URL strings to inspect them in readable form
- Always encode per value when text contains non-ASCII, spaces, or symbols
Practical operations
- In investigations, store raw URLs and decoded output as a pair
- Generate parameters by handling each key/value separately
- Validate reusable URLs together with querystring-parser
Operational troubleshooting
- NG: Invalid encoding: check for incomplete percent escapes
- Corrupted values: suspect double-encoding (%2520 etc.) and decode step by step
- Plus/space issue: verify whether it is form-urlencoded context
What is URL encoding?
URL encoding (percent-encoding) converts characters that have special meaning in URLs—or non-ASCII characters—into a safe “%XX” form.
In query parameters, characters like “&”, “=”, “?”, and “#” are treated as delimiters, so you must encode them if they are part of a value.
Typical use cases
- Put non-ASCII text or spaces into query parameters
- Encode JSON/text before putting it into a URL parameter
- Debug double-encoding (e.g., %2520) by decoding
Debugging workflow (recommended)
- Encode the raw text first to get the expected format
- Decode the actual URL string and compare differences
- If %25 appears frequently, suspect double-encoding
- If values contain & / = / #, encode the value part explicitly
Recommendations (practical)
- Encode each query value with encodeURIComponent-like behavior
- Do not mix full-URL encoding with query-value encoding
- Store decoded snapshots with logs to speed up reproduction
What this tool does
- URL encode (encodeURIComponent)
- URL decode (decodeURIComponent)
- Pretty display of query strings
Common pitfalls
- Decoding fails when stray % remains (invalid escape)
- Re-encoding values that are already encoded
- Misreading form-style + values without converting them to spaces
encodeURI vs encodeURIComponent
This tool mirrors encodeURIComponent for parameter values. Keep it distinct from encoding a full URL with encodeURI.
- Encode a value: encodeURIComponent is typical
- Encode a full URL: encodeURI can be used in some cases
Operational notes
- The same string can be interpreted differently by context. Prioritize destination specifications.
- Watch for upstream auto-conversion such as spaces, line breaks, and URL decoding.
Referenced specs
- RFC 3986 (URI)
- WHATWG URL Standard (application/x-www-form-urlencoded)
- ECMAScript encodeURIComponent/decodeURIComponent
FAQ
encodeURI vs encodeURIComponent?
This tool uses encodeURIComponent for parameter values. It is not intended to encode a full URL.
Is “+” treated as a space?
decodeURIComponent keeps “+” as “+”. If you want it as space, you need to convert manually.
What is the difference between %20 and +?
%20 is a percent-encoded space. “+” may be treated as a space in application/x-www-form-urlencoded contexts. Interpretation depends on context.
Why do I get NG: Invalid encoding on decode?
It is usually caused by incomplete percent escapes (for example %2) or invalid byte sequences. Also check for double processing.
Can I paste a full URL?
Yes, but this tool is value-oriented; use a dedicated parser for full URL normalization and structural validation.
References
Next to view (diagnostic order)
These links are generated from site_map rules in recommended diagnostic order.
- Query String Parser — Parse query strings and list parameters
- UTM Builder — Build URLs with UTM parameters
- Base64 — Encode/decode Base64 with UTF-8 handling
- Text Counter — Count characters including newline and full/half-width views
Example
a+b=c → a%2Bb%3Dc
こんにちは → %E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF