Correct Component vs Full-URL Encoding
The tool separates encodeURI (safe for full URLs) from encodeURIComponent (safe for query values), so you always apply the right escaping rule and avoid double-encoding bugs.
500+ fast, free tools. Most run in your browser only; Image & PDF tools upload files to the backend when you run them.
Encode and decode URLs
URL Encoder on UtilityKit encodes plain text and URLs into percent-encoded form for safe HTTP transmission, and decodes them back to readable text — inside your browser with no server round-trip. It exposes two encoding modes: full URL encoding (encodeURI) preserves structural characters like /, ?, and # so a complete URL stays valid; component encoding (encodeURIComponent) escapes those characters too, which is correct for individual query-string values and API payloads. A Swap button flips output to input for chained operations. Characters outside the unreserved ASCII set — spaces, ampersands, Unicode, and emoji — become %XX percent-escapes. Practical uses: fixing broken redirect URLs, building query parameters, reading obfuscated tracking links, and preparing mailto: href values. All encoding uses the browser's native JavaScript functions.
The tool separates encodeURI (safe for full URLs) from encodeURIComponent (safe for query values), so you always apply the right escaping rule and avoid double-encoding bugs.
Paste a URL containing spaces, Unicode characters, or special symbols and encode it in one click to produce a browser-safe string that does not break when followed or pasted into an address bar.
Paste a percent-encoded redirect or tracking URL and decode it to plain text to read the actual destination, campaign parameters, or injected values without guessing.
The Swap button moves output back to input in one click, letting you encode then re-decode (or vice versa) to verify round-trip fidelity without manual copy-pasting.
Multi-byte Unicode characters and emoji are correctly encoded to their UTF-8 percent-escape sequences (e.g. 🎉 → %F0%9F%8E%89), matching exactly what browsers and servers expect.
Encoding and decoding use the browser's own encodeURI, encodeURIComponent, and decodeURIComponent functions — identical behavior to Node.js, zero server involvement.
Input: search?q=C++ & Python tutorials
Output: search?q=C%2B%2B%20%26%20Python%20tutorials (using Encode Component on the value part only)
Input: https%3A%2F%2Fexample.com%2Fproduct%3Fid%3D42%26ref%3Demail
Output: https://example.com/product?id=42&ref=email
Input: https://app.example.com/dashboard?tab=settings&user=42
Output: https%3A%2F%2Fapp.example.com%2Fdashboard%3Ftab%3Dsettings%26user%3D42 (safe to embed as a query value)