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.
Plain text: research & developmentEncoded: 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
- Enter your text. Paste a URL, query parameter value, encoded string, or other text into the Input text box.
- 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.
- 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.
- 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.