Cryonel

URL Encoder & Decoder

Percent-encode or decode a URL component, transform a complete URL without escaping its delimiters, or inspect repeated query parameters as JSON. Processing stays in this browser tab.

Processed locally · No upload · Uses native browser URL rules

How to use it

  1. Choose whether the input is one component, a complete URL, or a query string to inspect.
  2. Paste text, drop a local text file, or load the example.
  3. Select Convert or press Ctrl/ + Enter.
  4. Copy or download the result and insert it only at the correct URL boundary.

URL component encoding

Component encoding is for one value inside a URL, such as a query parameter name, query parameter value, or path segment. It converts spaces, Unicode characters, ampersands, equals signs, slashes, question marks, and other reserved characters into percent escapes where required. For example, a search value containing JSON & APIs must not let the ampersand become a second query parameter.

Encode each dynamic value once before joining it with trusted structural delimiters. Encoding an already encoded value can turn %20 into %2520, while skipping component encoding can change the path or query structure. This tool uses the browser’s native encodeURIComponent and decodeURIComponent behavior so the result matches ordinary JavaScript clients.

Complete URL encoding

A complete URL already contains meaningful delimiters such as :, /, ?, &, =, and #. Complete URL mode preserves those delimiters while escaping characters that cannot safely appear literally. Use it when the overall URL structure is already assembled and you need a displayable or request-ready representation.

Do not use full URL encoding as a substitute for encoding untrusted components. A user-provided ampersand or hash can still retain structural meaning in full URL mode. The safer construction pattern is to keep the base URL trusted, encode each variable component, and let a platform URL builder join parameters. On the web, URL and URLSearchParams handle many of these boundaries.

Percent escapes, Unicode, and plus signs

Percent encoding represents a byte as a percent sign followed by two hexadecimal digits. Unicode text is first represented as UTF-8 bytes, so a single visible character can produce several escapes. Decoding fails clearly when a percent sequence is incomplete or when the bytes do not form valid UTF-8. That error is useful evidence of truncation, double decoding, or a different character encoding upstream.

A plus sign is not a universal percent-encoding substitute for a space. It has that special meaning in application/x-www-form-urlencoded data and is commonly used by HTML forms and query parsers. Generic component decoding preserves literal +. If the source is form data, parse it with URLSearchParams; the query inspection mode does this and preserves repeated keys as arrays.

Inspect query parameters safely

Query inspection accepts either a complete URL, a leading question mark, or the query text alone. It removes the fragment, decodes form-style values, preserves empty values, and groups repeated names instead of silently keeping only the first or last value. The JSON view is useful when debugging filters, pagination, OAuth callbacks, webhook signatures, and links generated by another service.

The tool does not request or validate the destination. URLs can contain tokens, email addresses, internal hosts, and other sensitive data, so redact them before sharing output. For request conversion use cURL to Fetch; for response metadata use the HTTP Header Analyzer.

Frequently Asked Questions

Should I encode a complete URL with component encoding?

Usually no. Component encoding escapes URL delimiters; use full URL encoding for an already assembled URL and component encoding for individual values.

Why does decoding keep a plus sign?

A plus sign represents a space in form-encoded data, not in generic percent encoding. Component decoding therefore preserves it.

Does this tool open or request the URL?

No. It transforms the text locally and never navigates to, fetches, or validates the destination.

Related Tools