Developer tools

URL Encoder & Decoder

Encode query values, paths, or complete URLs with the browser’s standards-based URL functions, and decode percent-encoded text with clear errors for malformed input.

Encode or decode a URL value

Choose the encoding boundary

Use component mode for one query value and whole-URL mode when URL separators must remain intact. Decoding a plus sign does not turn it into a space here; form-encoded query parsing is a separate step.

Input or checkExpected result or decision
Component: red shoes + caféred%20shoes%20%2B%20caf%C3%A9
Whole URL: https://example.com/?q=red shoeshttps://example.com/?q=red%20shoes
Encode %20 again%2520; repeated encoding changes the meaning.
Decode component: a+b%20ca+b c; the literal + stays +, while %20 becomes a space.
Decode malformed component: %ZZError: This value contains malformed percent encoding or invalid UTF-8. Earlier output is cleared.

How it works

  • Choose whether you are encoding one URL component or a complete URL.
  • Paste a value and select Encode or Decode.
  • Copy the result after checking reserved characters such as ?, &, =, /, and #.

Common uses

  • Preparing a query parameter for an API request.
  • Reading percent-encoded redirect URLs.
  • Escaping a path segment without changing the rest of a URL.
Your input stays in this browser. Nothing entered into this tool is sent to the Anvil Tools server.

A practical walkthrough

  1. Encode a query value such as red shoes before placing it inside a URL parameter.
  2. Choose component mode for a single value and full-URL mode when separators such as slashes must be preserved.
  3. Use Copy to copy the result after checking the selected URI or component mode.

Tips for a reliable result

Encoding an already encoded value can turn a percent sign into %25. Decode once, inspect the result, and avoid repeatedly applying transformations.

What to use next

These tools open separately; inputs are not transferred.

Generators

QR Code Generator

Turn any link or short message into a scannable QR code you can download as an image.

Open tool →
Developer tools

Base64 Encoder & Decoder

Convert text to Base64 and back, entirely in your browser.

Open tool →
Developer tools

JSON Formatter & Validator

Pretty-print, minify, and validate JSON directly in your browser.

Open tool →
Developer tools

CSV to JSON Converter

Convert quoted CSV data into JSON arrays or objects locally.

Open tool →

How this tool handles your data

Encoding and decoding happen in your browser. Input text is not sent to an Anvil processing server.

Compare privacy behavior across all tools.

Known limitations

Encoding a component is different from encoding a whole URL. Form encoding can treat plus signs differently, and decoding does not make an untrusted destination safe.

Related guide and Lab test

Questions and troubleshooting

Which mode should I choose?

Use component mode for a query value, form value, or single path segment. Use complete URL mode when the separators in a full URL must remain readable.

Why can decoding fail?

A percent sign must be followed by two hexadecimal digits, and the decoded bytes must form valid UTF-8. Malformed input is rejected instead of returning damaged text.

When URL decoding reports an error

Check for an incomplete percent sequence or invalid encoded UTF-8. Choose component mode for one query value and URI mode for a complete URL. Avoid encoding an already encoded value again, and check how the receiving application treats plus signs.

Why did a percent sign become %25?

That commonly happens when an already encoded value is encoded again. Inspect the original value and apply the transformation once at the correct boundary.

Does decoding prove a link is safe?

No. Decoding only changes the representation. Review the complete destination and do not open a suspicious link merely because it is readable.

Explore practical guides and experiments

URL Encoding Mistakes: Spaces, Plus Signs, Unicode, and Double Encoding

Fifteen tested URL-encoding cases explain literal plus signs, form-query spaces, Unicode, reserved characters, and double encoding, with reusable fixtures.

Debug API Data with JSON, Base64, and Browser Tools

Work through JSON types, encoding, URL components, JWT claims, hashes, CSV conversion, and timestamps with small reproducible examples.