Make text safe for a URL — or readable again.
Percent-encode a query value or decode a complete URL, right in this tab. Your text never leaves your device.
- 1
Choose the right scope
Use component mode for one value, or full URL mode for an entire address.
- 2
Paste your text
Select encode or decode, then add the value you want to transform.
- 3
Copy the result
Copy it directly, or swap the fields to reverse the operation.
Good to know
What is the difference between URL component and full URL?
URL component mode uses encodeURIComponent(), so it encodes separators such as ?, &, and=. It is the safer choice for a single query value, path segment, or fragment value. Full URL mode uses encodeURI()and keeps URL structure such as :, /,?, and # readable.
Why does a space sometimes appear as + instead of %20?
HTML form and query-string encoding commonly represents spaces as+, while JavaScript's URI functions normally use%20. Turn on “Use + for query spaces” when working with form-style query values.
How do I preserve an actual plus sign?
With the query-space option off, + always stays a plus during decoding. With it on, a literal + means a space, so write the real plus sign as %2B.
Why will my encoded value not decode?
Each percent sign must be followed by exactly two hexadecimal digits, and percent-encoded bytes must form valid UTF-8 text. The tool reports malformed escapes without changing your input, so you can correct the original value.
Is my URL sent to a server?
No. Encoding, decoding, swapping, and copying all happen locally in your browser. Humpback does not upload or store the values.