Skip to content
Online Tools & Converters

Free online developer tool

URL Encoder & Decoder Online

Encode or decode URL text, query parameter values, and complete links. Choose the right encoding mode, convert special characters, and copy your result. Your text is processed in your browser without being uploaded to an encoding service.

Encode or decode a URL

Paste your text below and choose Encode or Decode.

✓ Browser-based processing
Conversion direction
0 characters
0 characters

Component mode is for a single value, such as a search term or query parameter. It encodes characters that could otherwise change the structure of a URL.

Input: 0 characters Output: 0 bytes Percent sequences: 0

Ready. Paste text above to get started.

No signup required No file upload Supports Unicode and emoji

What is URL encoding?

URL encoding, also called percent-encoding, represents characters using percent signs followed by hexadecimal values. It helps represent text safely when that text is used inside a URL component, such as a query parameter, path segment, or fragment.

For example, a space is usually represented as %20, while an ampersand inside a single parameter value becomes %26. This matters because an ampersand can separate query parameters. Encoding it when it is part of a value prevents it from being mistaken for a separator.

Example: encode a query parameter value Plain text: research & development
Encoded: research%20%26%20development

This URL encoder and decoder applies the selected conversion in your browser. The output is text that you can copy into your code, address bar, API request, or other workflow. Encoding alone does not verify that a link exists or that its destination is safe.

Choose the correct URL encoding mode

Different parts of a URL have different rules. Choose the mode that matches what you are converting to avoid changing the structure of a complete link or leaving unsafe characters in a single parameter value.

URL component

Best for an individual query value, search term, path segment, or other text that will occupy one URL component. It uses JavaScript's encodeURIComponent() behavior.

Complete URL

Best when you have an entire URL and want to preserve its structural characters, such as slashes and query delimiters. It uses encodeURI() behavior.

HTML form value

Uses the familiar form-encoding convention in which a space becomes +. This is useful for application/x-www-form-urlencoded values.

RFC 3986 strict component

Applies component encoding and additionally percent-encodes characters such as !, ', (, ), and * for a stricter percent-encoded representation.

How to use this URL encoder and decoder

  1. Enter your text. Paste a URL, query parameter value, encoded string, or other text into the Input text box.
  2. Choose Encode or Decode. Select Encode to convert ordinary text into percent-encoded text, or Decode to turn valid encoded sequences back into readable characters.
  3. Select the appropriate mode. Use component mode for one parameter value and complete URL mode for an entire link. Choose form mode when spaces should use the plus-sign convention.
  4. Copy your result. Review the converted output and use Copy result. Use Swap input / output to make the previous result the next input.

For bulk conversion, enable the option to process each line separately. Each line is then converted independently, which is convenient for lists of search terms, test values, and percent-encoded strings.

Common URL encoding mistakes

Encoding an entire URL as if it were one parameter

Component encoding turns structural characters such as :, /, ?, and & into encoded sequences. That is correct for a single value, but it can make a complete URL unsuitable for direct navigation. Use Complete URL mode for an entire address.

Encoding a value twice

Double encoding happens when an already encoded string is encoded again. For example, %20 may become %2520 because the percent sign is encoded as %25. When a result looks unexpectedly encoded, check whether your application or another processing step encoded it more than once.

Confusing + with %20

A plus sign represents a space in form-style query encoding. In other URL contexts, a plus sign may be a literal plus. Use the form mode for form values, or enable the plus-as-space option when decoding a component value that came from a form-style query string.

Assuming encoding is encryption

URL encoding is a character-representation technique, not a security mechanism. Anyone who receives an encoded string can generally decode it. Do not use URL encoding to protect passwords, access tokens, or confidential data.

When should you use a URL encoder or decoder?

  • Encoding search terms containing spaces or special characters before inserting them into a query parameter.
  • Preparing parameter values for API requests, test URLs, callbacks, and redirect parameters.
  • Decoding a percent-encoded URL or query value to understand what text it represents.
  • Checking how ampersands, equal signs, plus signs, accented characters, and emoji are represented.
  • Preparing example values for JavaScript code, debugging request parameters, and documenting URL behavior.

The tool performs text conversion only. It does not send requests to URLs, follow redirects, inspect remote webpages, encrypt information, or guarantee that a resulting URL will work.

Frequently asked questions

What is a URL encoder and decoder?

A URL encoder converts text into a percent-encoded representation for use in URL components. A URL decoder converts valid percent-encoded sequences back into readable characters. This tool supports both directions.

How do I encode a URL online?

Paste your text into the input box, choose Encode, select Component mode for an individual value or Complete URL mode for an entire URL, and copy the converted result.

What is the difference between encodeURI and encodeURIComponent?

encodeURI() is intended for a complete URI and preserves characters that define URL structure. encodeURIComponent() is intended for an individual component and encodes characters that could otherwise act as URL delimiters. Choose your mode based on what the input represents.

Should a space be encoded as %20 or +?

%20 is the usual percent-encoded representation for a space. In form-style encoding, a space is often represented by +. Which form is appropriate depends on the URL component and the system consuming it.

Can I encode Unicode characters and emoji?

Yes. The tool uses the browser's built-in URL encoding functions, which support valid Unicode text. Characters outside the basic Latin set are represented through their UTF-8 percent-encoded bytes. Invalid JavaScript Unicode sequences can produce an encoding error.

Why does decoding sometimes fail?

Decoding can fail if percent escapes are incomplete or malformed, or if encoded bytes do not form valid text. Check for sequences such as an incomplete percent escape or invalid hexadecimal characters and try again.

Is my input uploaded to a server?

This tool carries out its encoding and decoding operations in your browser using built-in JavaScript functions. The conversion code does not upload the text to an encoding API. As with any website, avoid entering confidential information into a page if your wider browser or device environment is not trusted.

Does URL encoding make a link safe or secure?

No. Encoding changes how characters are represented; it does not encrypt the data, validate a destination, remove malicious behavior, or replace proper input validation and security controls.