Component mode is best for query values. Full URI keeps : / ? & = # intact. %20 is a space; %40 is @; %25 is %.
Help Us Improve
—
(—)
URL encoder & decoder
Encode or decode URLs online—percent-encode query strings and special characters. Local-first. No signup.
What is a URL encoder/decoder?
URL encoder & decoder features
Encode and decode
Switch modes to turn text into %HH sequences or back again.
Component or full URI
Match encodeURIComponent or encodeURI depending on the job.
Form-style +
Optional + for spaces when working with form-urlencoded strings.
Instant copy
Results update as you type—copy, download, or open in a tab.
How to encode or decode a URL
Choose encode or decode
Encode for query values and unsafe characters; decode to read them again.
Paste your string
Drop in plain text, a query fragment, or a percent-encoded URL.
Copy the result
Grab the output for APIs, redirects, or debugging request params.
Tips for URL encode / decode
- 01
Encode values, not whole URLs blindly
Encoding an entire https://… with component mode breaks the structure—use Full URI or encode only the query value.
- 02
Double-encoding
Decoding twice can leave %25 artifacts. Encode once at the boundary that needs it.
- 03
Know %20 vs +
Path and modern query builders prefer %20; classic forms may use +.
- 04
Debug with decode
Paste opaque query strings here to reveal the real parameter values.
Great for
Query strings
Prepare safe parameter values for APIs and redirects.
Debugging requests
Decode logs and HAR params into readable text.
Non-ASCII text
Percent-encode Unicode for URLs that must stay ASCII-safe.
Why encode URLs here
Local-first
Strings never leave the browser for this tool.
Free
Unlimited encode/decode with no signup.
Both directions
URL encoder and decoder in one place.
Browser-accurate
Uses the same encodeURI* APIs your front-end code calls.
Technical notes
- APIs
- encodeURIComponent / decodeURIComponent or encodeURI / decodeURI.
- Form style
- Optional %20 ↔ + mapping for application/x-www-form-urlencoded.
- Errors
- Malformed percent sequences surface as a clear decode error.
- Privacy
- Client-side only—no network upload.
Sources & References
“The encodeURIComponent() function encodes a URI by replacing each instance of certain characters by one, two, three, or four escape sequences representing the UTF-8 encoding of the character.”
MDN — encodeURIComponent(): Documents the component-encoding API this tool uses for query values. developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent
“The decodeURIComponent() function decodes a Uniform Resource Identifier (URI) component previously created by encodeURIComponent() or by a similar routine.”
MDN — decodeURIComponent(): Documents decoding percent-encoded UTF-8 sequences back to text. developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent
“A percent-encoded octet is encoded as a character triplet, consisting of the percent character "%" followed by the two hexadecimal digits representing that octet's numeric value.”
RFC 3986 — Percent-Encoding: Defines the percent-encoding rules behind URL encode and decode. rfc-editor.org/rfc/rfc3986#section-2.1