Skip to main content
FreeToolsHub

URL Encoder & Decoder

Encode special characters so text is safe inside a web address, or decode percent-encoded text to read it. Pick the method that matches your job, and paste a full URL to see its parts and query parameters.

  • Free to use
  • No sign-up
  • Runs in your browser
What do you want to do?
Method

Encodes everything except letters, digits and - _ . ~ . Best for one value, such as a query parameter or a path segment.

How to use the URL Encoder & Decoder

  1. Step 1: Choose Encode or Decode.

  2. Step 2: Pick a method: Component for a single value, Full URL for a whole address, or Form for HTML form data where a space becomes +.

  3. Step 3: Type or paste your text. The result updates as you type.

  4. Step 4: If you pasted a complete address, read the Parts of this URL panel to see the protocol, host, path and each query parameter decoded.

  5. Step 5: Press Copy result, or Use result as input to reverse the operation.

Features and benefits

  • Three encoding methods

    Component, Full URL and Form match encodeURIComponent, encodeURI and HTML form encoding, so you can reproduce exactly what your code does.

  • Readable query parameters

    A pasted URL is split into protocol, host, port, path, query and fragment, and every parameter is shown decoded.

  • Helpful decoding errors

    A stray % that is not followed by two hex digits is pointed out with its position.

  • Full Unicode support

    Accents, emoji and Indian-language text are converted as UTF-8, the way browsers do it.

  • Instant results

    Nothing to submit. The output follows your typing.

Which method should you use?

Use Component when you are encoding one piece of a URL, such as the value of a query parameter or one path segment. It encodes everything except letters, digits and the characters - _ . ~, including the characters / ? & = that give a URL its structure, so a value cannot accidentally change the meaning of the address.

Use Full URL when you have a complete address that only contains a few unsafe characters, such as spaces or accents, and you want to keep its structure intact. Use Form for the format HTML forms send, which is like Component except that a space is written as +.

What percent-encoding is

Web addresses may only contain a limited set of characters. Anything else is written as a percent sign followed by two hexadecimal digits for each byte of its UTF-8 form, so a space becomes %20 and the letter é becomes %C3%A9. Decoding reverses the process. A percent sign that is not followed by two hex digits is invalid, and the tool shows where it is.

Common mistakes

Encoding a whole URL with the Component method also encodes its colons and slashes, which breaks it. Encoding the same text twice turns % into %25, which shows up as sequences like %2520. If a decoded result still contains percent signs, it was probably encoded twice, so press Use result as input and decode again.

Example use cases

  • Building links with search terms

    Encode a query value so spaces, ampersands and accents do not break the link.

  • Reading tracking and redirect URLs

    Decode a long encoded address to see where it really goes.

  • Debugging query strings

    Paste a URL and check each parameter name and value without counting ampersands by eye.

  • Preparing form data

    Produce application/x-www-form-urlencoded text for a request body.

Frequently asked questions

What is the difference between Component and Full URL?

Component encodes every reserved character, so it suits single values. Full URL keeps characters such as : / ? & = so a whole address stays usable.

Why does a space become + in one method and %20 in another?

The + form belongs to HTML form encoding. In a normal URL path or query, a space is written %20.

Why did decoding fail?

The text contains a % that is not followed by two hex digits, or the escape sequences do not form valid UTF-8. The error shows the position.

Is it safe to paste private links?

Yes. Everything happens in your browser and nothing is sent or stored.

Does it handle non-English characters?

Yes. Characters are converted to UTF-8 bytes first, exactly as browsers do.

Last updated 11 November 2026.