DevMate
Back to Toolverse

Web

URL Encoder & Decoder

Percent-encode a query value or a complete URL, and decode escaped text. Compare component and full-URL modes with examples and malformed-escape recovery.

Local processing
Loading tool workspace...

About this tool

When to use it

Percent-encode a query value or a complete URL, and decode escaped text. Compare component and full-URL modes with examples and malformed-escape recovery.

How to use it

Choose Component to prepare a single query value or path segment. Choose Full URL to preserve separators in an already assembled address. Select Encode URL or Decode URL, inspect the result, then Copy. Reverse uses the previous output in the opposite operation. There is no dedicated download control.

Guide updated . Examples checked against this implementation.

Worked examples

Encode one query value

Input

hello world & tools

Expected output

hello%20world%20%26%20tools

Use Component and Encode URL. Insert this after q= so the ampersand stays inside the value. Component Decode restores the original.

Preserve full URL separators

Input

https://example.com/search?q=hello world&lang=en

Expected output

https://example.com/search?q=hello%20world&lang=en

Use Full URL and Encode URL. The colon, slashes, question mark, equals signs and ampersand remain separators. Encode individual values first if their literal data contains those characters.

Errors and unsupported input

%E0%A4%A

The final escape and UTF-8 sequence are incomplete. Recopy the source value and decode once; a literal percent sign must be encoded as %25.

Continue this workflow

  • URL Parser: Inspect the host, path and query fields of an assembled URL without contacting its host.
  • Base64 Encoder & Decoder: Decode a Base64 text field after removing its outer percent encoding, if that is how the source was produced.

Format references

Questions

Frequently asked questions

Why does Full URL decode leave %2F unchanged?

It preserves escapes for reserved URL delimiters. Choose Component when you want a value decoded fully, and check the destination before inserting a literal slash.