Free tools for developers

URL Encoder & Decoder

Encode special characters in URLs or decode percent-encoded URLs back to plain text. Everything runs in your browser.


What is URL Encoding?

URL encoding - also called percent encoding - converts characters that are not allowed in a URL into a format that can be safely transmitted over the internet. Every character that is not a letter, number, or one of the safe characters like hyphen and underscore gets replaced with a percent sign followed by two hex digits.

For example a space becomes %20, an ampersand becomes %26, and a forward slash becomes %2F. This is important because some characters have special meaning in a URL. A question mark starts the query string. An ampersand separates parameters. If your data contains these characters they need to be encoded so the URL parser does not misinterpret them.

Encode URI vs Encode URI Component

There are two levels of URL encoding. Encoding a full URI preserves characters that are part of the URL structure like slashes, question marks, and hash symbols. Encoding a URI component encodes everything including those structural characters. Use component encoding when encoding a value that will be part of a query string parameter.

How to Use This Tool

  1. Choose Encode or Decode using the tabs at the top.
  2. Choose whether to encode a full URI or just a component.
  3. Paste your text into the left input box.
  4. The result appears instantly on the right as you type.
  5. Click Copy Output to copy the result to your clipboard.

Frequently Asked Questions

Why does a space become %20 and not +?

Both are valid in different contexts. %20 is the standard percent encoding for a space in a URL path. The plus sign is used for spaces in HTML form data submitted as application/x-www-form-urlencoded. This tool uses %20 which is the correct encoding for URL paths and query string values.

When do I need to encode a URL?

Any time you are building a URL programmatically and inserting user input or dynamic data into it. If a user types a name with spaces or special characters and you put it directly into a URL it will break. Always encode user input before putting it in a URL.

Is URL encoding the same as Base64?

No. They are different encoding schemes for different purposes. URL encoding converts characters to percent-encoded format for use in URLs. Base64 converts binary data to a text-safe string for transmission in systems that only support ASCII text.

Is my data safe?

Yes. Everything runs in your browser. Nothing is sent to any server. Your URLs and data stay entirely on your machine.