Key | Value | Copy |
---|---|---|
{{ p.key }} | {{ p.value }} | |
No query parameters |
# | Char | Code point | UTF-8 | ASCII | Unreserved | Reserved | Copy |
---|---|---|---|---|---|---|---|
{{ r.idx }} | {{ r.charDisplay }} | {{ r.u }} | {{ r.utf8 }} | {{ r.isASCII ? 'Yes' : 'No' }} | {{ r.isUnreserved ? 'Yes' : 'No' }} | {{ r.isReserved ? 'Yes' : 'No' }} |
Uniform Resource Locators are structured web addresses that pack characters into a safe travel format and often carry parameters and fragments. Decoding reveals the human readable form so you can see the path, the host, and any attached values with clarity.
You paste a text string or a web address and receive a decoded result with optional cleanup of common trackers and tidy host formatting. When a value looks like JSON or Base64, a quick preview helps you check what is actually inside.
Character‑level insight shows code points and whether each mark is considered unreserved or reserved, which helps explain why some symbols appear percent‑encoded. A compact QR preview lets you share short results in one scan.
Always review a decoded link before opening it, especially when it comes from an untrusted source.
Uniform Resource Locator (URL) strings are observed along with their characters, query parameters, and fragments. Decoding turns percent escapes into Unicode characters and can translate plus signs to spaces when that convention is expected. Hostnames can be shown in their international form by converting from Punycode, and Unicode text can be normalized to NFC or NFKC for consistent comparison. Reserved and unreserved sets follow the familiar URI model from RFC 3986.
Computation proceeds by iterative decoding up to a chosen depth, with an optional pre‑pass that treats "+" as a space. If the string parses as a URL, the engine can remove known tracking parameters, drop fragments, lowercase the host, remove a leading “www.”, normalize dot segments in the path, collapse repeated slashes, and sort or de‑duplicate query parameters. Default ports for HTTP and HTTPS may be removed, userinfo can be stripped, and percent‑escape hex digits can be normalized in case. A QR code is produced for results up to 2000 characters.
Results are explained at two levels. A parameters view lists keys and values, sorted by key then value for quick scanning. A character view reports code points, UTF‑8 bytes, and flags for ASCII, unreserved, and reserved membership.
Comparability improves when the same normalization, decode depth, and parameter policies are kept across runs. Sorting parameters changes ordering but not meaning, while de‑duplication strategies can change which values survive.
Symbol | Meaning | Unit/Datatype | Source |
---|---|---|---|
s |
Input string | String | Input |
d |
Decode depth | Integer (1–12) | Input |
+ →␠ |
Treat plus as space before decoding | Boolean | Input |
N |
Unicode normalization form | Enum (NFC/NFKC/none) | Input |
IDN | Convert Punycode hostname to Unicode | Boolean | Input |
Trackers | Remove utm_* , gclid , fbclid , and peers |
Boolean | Input |
Params | Sort, remove empties, or de‑duplicate | Enum (none/first/last/unique) | Input |
QR | QR preview eligibility | Length ≤ 2000 | Derived |
Input: http://www.Example.com:80/%7Eme?q=%2Bplus+sign&fbclid=ABC#frag
Settings: depth 2, “+ to space” on, IDN on, strip trackers on, remove fragment on, lowercase host on, remove www.
on, remove default port on, percent case upper.
Result: http://example.com/~me?q=%20plus%20sign
Explanation: percent escapes are decoded, “fbclid” is removed, the host is normalized, the fragment is dropped, and the default port for HTTP is omitted.
Field | Type | Min | Max | Step/Pattern | Error Text | Placeholder |
---|---|---|---|---|---|---|
Text or URL | String | — | — | — | None (raw fallback on decode failure) | https://example.com/?q=%2Bplus or example.com/%7Eme |
Decode depth | Number | 1 | 12 | Step 1 | None | — |
Unicode normalization | Enum | — | — | NFC, NFKC, none | None | (none) |
Input | Accepted Families | Output | Encoding/Precision | Rounding |
---|---|---|---|---|
Text or URL | Absolute URL, schemeless host, plain text | Decoded string; optional QR; CSV/JSON exports | Unicode, UTF‑8 bytes in character view | Not applicable |
Processing is client‑only. Clipboard copy uses the platform API. Downloads are generated locally as CSV, JSON, text, or PNG for the QR preview.
With identical inputs and options, outputs are deterministic. If percent decoding fails at any pass, the original text is preserved for safety.
@
.localhost
.No data is transmitted or stored server‑side. Use caution with sensitive links and tokens when sharing outputs.
URL decoding and cleanup with character inspection.
Example: Paste example.com/%7Eme?q=%7B%22x%22%3A1%7D
, set depth to 2, and view the JSON payload under “Payload”.
No. All decoding and previews happen in your browser, and copies or downloads are generated locally.
Clipboard and file saves use local APIs.The “+ to space” option treats “+” as a space before each pass. Turn it off if “+” is a literal character.
Form submissions often encode spaces as “+”.Reserved characters have special roles in URIs and are commonly percent‑encoded when used as data.
Examples include?
, &
, and #
.
Each character is encoded with the platform UTF‑8 encoder and displayed as hex byte values.
Spaces show as ␣ for visibility.Yes, once the page has loaded. All operations run locally and do not require network requests.
Reloading may need connectivity to fetch assets.Enable tracker removal. Known keys such as utm_*
, gclid
, and fbclid
are removed.
You will see a text preview instead. The tool avoids throwing errors on malformed input.
Fix quotes and braces, then try again.No license text is declared in this package. Usage terms follow the host site or application.
Check your organization’s policy before sharing data.%
plus two hex digits.#
after the query.?
and separated by &
.