Uniform Resource Locators contain letters, digits and a reserved punctuation set. Any character outside this subset is converted into its hexadecimal equivalent prefixed by “%”, a process called percent-encoding. Internationalised domain names rely on Punycode, and links may embed parameters, fragments or credentials that must remain predictable across browsers, servers and keyboards.
The tool accepts any HTTP, HTTPS or custom-scheme link, normalises its host, path and query string, then applies single or iterative percent-encoding. Optional switches convert IDNs to Punycode, force lowercase hosts, trim trailing slashes, replace spaces with plus signs and alphabetise parameters. A reactive engine updates every change instantly and shows Base64 renditions and decomposed components.
Paste a messy tracking URL from an email campaign to produce a clean, shareable link for documentation, logs or social posts; you can even open or copy the result directly from the summary box. If a server expects unencoded values, repeated encoding may break routes—test carefully when applying multi-level mode.
Percent-encoding converts characters not present in the unreserved URI set—letters, digits, hyphen, period, underscore, tilde—into a two-byte hexadecimal sequence prefixed by “%”. Canonicalisation creates a deterministic baseline: normalised scheme, host, path and sorted query string. Internationalised hosts use Punycode (RFC 3492) and composite strings may be wrapped in Base64 for transport through text-only systems. The tool fuses these standards to deliver highly interoperable, lossless URLs.
Convert IDN → Punycode
is active, encode the host using the Punycode algorithm.encodeURIComponent()
once or up to eight times until the output no longer changes or the user disables multi-level mode.Output Variant | Purpose |
---|---|
Encoded URL | Primary percent-encoded link ready for pasting. |
Single-encoded | Raw result of one encodeURIComponent pass. |
Double-encoded | Safeguard where gateway layers re-decode automatically. |
Base64 | Binary-to-text form for email headers or QR codes. |
URL-safe Base64 | Padding-free version using - and _ for path embedding. |
Parameter | Meaning |
---|---|
URL to encode | Full link string to canonicalise and encode. |
Multi-level encode | Repeat percent-encoding up to eight iterations. |
Convert IDN → Punycode | Transforms Unicode hostnames to ASCII labels. |
Replace %20 with + | Uses plus signs for spaces in query strings. |
Lower-case host | Ensures host casing consistency. |
Trim trailing / | Removes redundant slash at path end. |
Sort parameters | Alphabetises query keys for cacheable order. |
Example (Ünicode path, mixed-case host, unsorted query):
Based on RFC 3986 (URI Syntax), RFC 3987 (IRIs) and RFC 3492 (Punycode). These documents outline the encoding rules implemented by modern browsers and servers.
URL strings are processed entirely in your browser; no personal data leaves your device, supporting GDPR principles for client-side tools.
Follow these actions to convert and copy a safe, shareable link.
Choose multi-level mode when an intermediate proxy or gateway decodes links once before forwarding them, preventing premature character exposure.
No. The replacement occurs only inside the query string, emulating legacy application/x-www-form-urlencoded
behaviour.
Your link remains in the browser’s memory; nothing is logged or transmitted externally.
Consistent ordering improves cache hits, signature verification and diff-rendering in version-controlled documentation.
Yes. Paste an encoded link, disable multi-level mode and repeatedly click the Copy original button after each pass until the string stabilises.