Key | Value | |
---|---|---|
{{ p.key }} | {{ p.value }} |
Scheme | {{ urlObj.protocol.replace(':','') }} |
User info | {{ urlObj.username ? urlObj.username + ' : ' + urlObj.password : '—' }} |
Host | {{ urlObj.hostname }} |
Port | {{ urlObj.port }} |
Path | {{ urlObj.pathname || '/' }} |
Fragment | {{ urlObj.hash.slice(1) }} |
Total length | {{ decodedOutput.length }} chars |
encodeURIComponent | {{ onceEncoded }} |
Double-encoded | {{ twiceEncoded }} |
Base64 | {{ base64 }} |
URL-safe Base64 | {{ urlSafeB64 }} |
URL encoding represents unsafe characters with percent-escaped sequences so links survive transport through e-mail, messaging, and server logs without corruption or misinterpretation.
You paste any encoded link, toggle decoding and canonicalisation options, then a reactive engine reverses nested encodings, removes trackers, normalises the host, and returns a clean, human-readable URL.
Shareable, analytics-free links help newsletters, social posts, or research notes stay concise and trustworthy—always verify unfamiliar addresses before opening them.
Uniform Resource Identifiers (RFC 3986) encode non-ASCII and reserved characters using %HH
hex pairs. Decoding reverses this mapping, while canonicalisation enforces reproducible host, path, and query formats so identical resources resolve to one definitive address.
decodeURIComponent
until the string stabilises or the user-set depth limit is reached.utm_* , fbclid
).xn-- → ☃
form).www.
, sort query pairs, and optionally drop fragments.Output Feature | Indicative Meaning |
---|---|
No query string | Resource has no parameters or all trackers removed |
Mixed-case host | Canonicalisation unchecked; original casing preserved |
Non-ASCII host | IDN converted successfully to Unicode |
Fragment dropped | User opted to omit in-page anchors |
Each feature highlights how aggressively the tool sanitises and consolidates link variants.
Parameter | Meaning | Typical Range |
---|---|---|
multi | Decode up to eight nested levels | Boolean |
clean | Remove common tracking keys | Boolean |
idn | Convert Punycode host to Unicode | Boolean |
stripFragment | Discard # and following | Boolean |
sortParams | Alphabetise query pairs | Boolean |
Input: https%3A%2F%2Fwww.example.com%2Fsearch%3Futm_source%3Dnews%26q%3Dvue
Step 1 – Decode: https://www.example.com/search?utm_source=news&q=vue
Step 2 – Strip trackers: https://www.example.com/search?q=vue
Step 3 – Canonicalise: https://example.com/search?q=vue
+
inside legacy query strings.Process aligns with RFC 3986 (URI Generic Syntax), WHATWG URL Living Standard, and SEO canonicalisation best practices discussed in ACM DL “Reducing Duplicate Web Content”.
All transformations run client-side in memory; no personal data leaves the browser and no storage occurs, supporting GDPR principles of data minimisation.
Follow this concise procedure to decode and clean your link.
No. All decoding occurs locally; nothing is transmitted or logged.
Some links are encoded repeatedly; this option runs the decoder up to eight times until no further changes appear.
Yes, but canonical rules apply only to HTTP(S); other schemes are simply decoded.
Marketing parameters reveal user behaviour; removing them creates cleaner, privacy-respecting links.
No transformation alters the destination server; always inspect the final host before visiting unfamiliar sites.
%HH
hexadecimal pairs.?
in a URL.#
in a URL.