Free Developer Tool — 100% Client-Side

URL Encoder / Decoder

Encode or decode URLs and query parameters for proper web transmission.

 
Sponsored
Advertisement

What Is URL Encoding?

URL encoding, also known as percent encoding, is a mechanism for encoding information in a Uniform Resource Identifier (URI). It converts characters that are not allowed in URLs into a format that can be safely transmitted over the internet. Our free URL encoder online runs entirely in your browser for instant, private conversions.

Why URLs Need Encoding

URLs can only contain a limited set of ASCII characters — letters, digits, and a few special characters like - _ . ~. Characters outside this set must be encoded to ensure proper transmission. A URL decoder reverses this process, converting percent-encoded sequences back to their original characters.

Common Characters That Break URLs

Spaces

Spaces in URLs are encoded as %20. They should never appear raw in a URL.

Ampersand (&)

Used to separate query parameters. Must be encoded as %26 when part of parameter values.

Question Mark (?)

Reserved for the query string separator. Encoded as %3F in path segments.

Equals Sign (=)

Used for key-value pairs in query strings. Encoded as %3D in values.

Real-World Usage

  • API Requests — Encode special characters in GET request query parameters to ensure correct server-side parsing.
  • Query Parameters — Build URLs with properly encoded parameter names and values for web applications.
  • Web Forms — Form data submitted via GET is URL-encoded automatically — decode it to inspect submissions.
  • OAuth & Authentication — Encode callback URLs and state parameters in authentication flows.
  • International URLs — Encode non-ASCII characters (UTF-8) for URLs containing non-Latin scripts or symbols.

How to Encode & Decode URLs

To encode a URL, paste your text into the input field and click Encode URI. The tool will convert special characters to their percent-encoded equivalents. To decode a URL, paste an encoded string and click Decode URI. You can also use Parse Query String to extract and display key-value pairs from a query string. Use the Copy button to copy the result to your clipboard.

Sponsored
Advertisement

URL encoding, officially known as percent-encoding and defined in RFC 3986, is the standard mechanism for representing arbitrary characters within Uniform Resource Identifiers (URIs). URIs have strict syntax rules: characters are divided into 'unreserved' characters (alphanumeric characters, hyphen, underscore, period, and tilde) which never need encoding, and 'reserved' characters (such as ?, &, =, #, /, and :) which possess structural syntactic meaning. When query parameters or form submissions contain spaces, punctuation, or non-ASCII international characters, they must be converted into a safe percent-encoded format consisting of '%' followed by two hexadecimal digits representing the UTF-8 byte. For example, a space character becomes '%20' (or '+' in application/x-www-form-urlencoded), ampersands become '%26', and question marks become '%3F'. Failing to encode query parameters properly results in broken hyperlinks, dropped parameters, and potential HTTP parameter pollution vulnerabilities. WebUtil's online URL encoder and decoder handles single values, full URL strings, and multi-line query parameters instantly in your browser with full Unicode UTF-8 support.

How to Do This in Code

Deploy Your Next Project Fast

Get $200 free credit on DigitalOcean to deploy your apps with blazing-fast infrastructure.

URL Encoder / Decoder FAQ

Why do URLs require percent-encoding?

URLs can only be safely transmitted across the internet using the standard US-ASCII character set. Special characters like spaces, &, and # have syntactic meanings in URLs and must be encoded to prevent link corruption and misinterpretation.

What is the difference between encodeURI() and encodeURIComponent()?

encodeURI() encodes a complete URL while preserving protocol and path separators (: / ? # & =). In contrast, encodeURIComponent() encodes every reserved character, making it ideal for individual query parameter values.

Why does space sometimes encode as %20 and other times as '+'?

%20 is the official RFC 3986 percent-encoding standard for URIs. The plus sign '+' is used specifically for query strings formatted under HTML form submissions (application/x-www-form-urlencoded).

Which characters must always be encoded in query parameters?

Characters with special syntactic meaning in query strings must always be encoded: & (parameter separator), = (key-value separator), # (fragment identifier), ? (query start), and spaces.

Does this tool support international characters and emoji?

Yes. WebUtil encodes international characters (such as Arabic, Chinese, Cyrillic) and emoji into their correct multi-byte UTF-8 percent-encoded representations.