Percent-encode and decode URLs, query strings, and components. Includes a query-string parser and common character reference. Live update — nothing leaves your browser.
Join Early Access for the premium URL Suite — batch encode/decode, REST API, IDN/punycode, OAuth parameter builder, and webhook signer.
% followed by two hex digits representing the character's UTF-8 byte value. A space becomes %20, an ampersand becomes %26. It's defined by RFC 3986.encodeURIComponent is for values inside a URL — query parameter keys/values, path segments you're building dynamically. It encodes everything except unreserved chars (A-Z, a-z, 0-9, -_.!~*'()). encodeURI is for a complete URL where structure characters like /, ?, #, & must be preserved. Use it only when you have a full URL and want to make it safe for a hyperlink.application/x-www-form-urlencoded) uses + as shorthand for a space, while pure percent-encoding (RFC 3986) uses %20. Many server-side frameworks (PHP, Flask, Express) decode both. Enable the "± as space" option in this tool to handle the form-encoding convention.encodeURIComponent twice. The % sign itself becomes %25, so %20 becomes %2520. This is needed when you're embedding an already-encoded URL inside another URL parameter — for example, a redirect URL inside an OAuth callback. In most cases, single-encode is correct.