URL Encoder, Decoder and Query Editor

Encode, decode and edit the parts of a web address, including query values with repeated keys.

Inputs stay on your device No sign-up Free to use
How this works

The tool runs in this browser. Your file or text is not uploaded to UseFreeTools. Check this tool's limits for anything it may save on your device.

Privacy details

Build the address controls

Showing an example. Edit to see your own.

Paste one value, or a full https:// address to inspect or edit.

Optional. With a parameter name and a new value, that parameter is updated in place.

Used with the parameter name. An ampersand in this value is encoded as %26 so it cannot start a new parameter.

Processed in your browser. Your inputs stay on this device.

How to use URL Encoder, Decoder and Query Editor

  1. Choose a job: encode a value for a URL, encode for a form query, or decode a URL part.
  2. Paste one value, or a full https:// address, into Value or web address.
  3. To change a query value, fill in Parameter to change and New parameter value.
  4. The result updates as you change the fields. Copy it.

Example: URL Encoder, Decoder and Query Editor

Change one query value in a complete address while the repeated key and the fragment stay as they were.

You add
Value or web address: https://shop.example.com/search?tag=tea&tag=coffee&page=2#results. Parameter to change: page. New parameter value: fish & chips
You get
https://shop.example.com/search?tag=tea&tag=coffee&page=fish%20%26%20chips#results. The ampersand becomes %26, so it stays inside the value. Both tag pairs and the fragment are unchanged, and the result reports 1 parameter changed.

Options

What do you want to do
Encode a value for a URL writes spaces as %20, valid anywhere in an address. Encode for a form query writes spaces as +. Decode reads percent escapes and always treats + as a space.
Parameter to change and New parameter value
Fill in both and the tool rewrites that parameter in place, keeping the other pairs, their order and the fragment. A missing name is added at the end.
Value or web address
Paste one value, or a complete http or https address to inspect. The page never opens or fetches the address.

Supported inputs and limits

A full address can be up to 8,000 characters, and a single value up to 500,000. Only complete http and https addresses are read, with the scheme and the site name, or the parser refuses them. Encoding a component, encoding for a form and decoding are separate jobs, so pick one. Duplicate keys, blank values, pair order and the fragment are preserved. A percent sign must be followed by two hexadecimal digits, and a stray one is reported with its position.

Where your input is processed

This tool processes your input in this browser. Your text and files are not uploaded to UseFreeTools. Check this tool's limits for anything it may save on your device.

The parts of one address

In https://shop.example.com/search?tag=tea&tag=coffee&page=2#results the host is shop.example.com, the path is /search, the query holds three pairs with tag repeated on purpose, and the fragment is #results. The fragment stays with the page and is not sent to the server, so editing it never reaches the logs.

RFC 3986, Uniform Resource Identifier: Generic Syntax

Questions about URL Encoder, Decoder and Query Editor

Why did my encoded value come back as %2520?

The value was encoded twice. The first pass turned a space into %20, and the second wrote a percent sign for the % character, giving %2520. Decode once and look before decoding again.

Can I add a parameter that is not in the address yet?

Yes. Enter the name and value and the pair is appended. When the name already exists, every matching pair is updated instead, which matters for addresses that repeat a key.

When should a space be a plus sign instead of %20?

Only inside a form-style query string, because that is the rule form submissions follow. In a path, a fragment or a value that will be encoded again, use %20, and write a literal plus as %2B.

Does this page visit the address I paste?

This tool never opens or fetches an entered address. It reads the text you paste and rebuilds it, so the tool itself makes no request to that host.

Project manager: Tony Hines · Content updated 29 September 2026 · Report a problem