ops@toolbox:~$ urlencoderdecoder --run

URL Encoder / Decoder & Parser

Percent-encode or decode text, and split any URL into its parts.

Encode / decode

Parse a URL

Protocol
Username
Hostname
Port
Path
Query params
Fragment

Percent-encoding in practice

URLs can only carry a limited character set, so everything else travels as % plus two hex digits, a space becomes %20, a slash %2F, and UTF-8 characters become multi-byte sequences like %C3%A9 for é. Sysadmins meet this constantly: reading access logs, hand-crafting curl requests, debugging webhooks, and deciphering redirect chains where a URL has been encoded inside another URL (sometimes twice, if a decode still contains %25, decode again).

Component vs. full-URI mode

The two JavaScript encoders differ in one important way. Component mode (encodeURIComponent) encodes everything special, including /, ? and &, correct for a single query-string value. Full-URI mode (encodeURI) preserves those delimiters, correct when encoding a complete URL without breaking its structure. Using the wrong one is the classic cause of query values that swallow the rest of the query string. The decoder also converts + to space first, since HTML form encoding uses + where URLs use %20.

The parser

The parse section uses the browser's own URL implementation (the same one that resolves every link you click) so the split into protocol, credentials, host, port, path, query parameters and fragment is exactly what a browser sees. Handy for spotting the subtle stuff: a username smuggled before an @ in a phishing link, a non-default port, or a parameter that appears twice.

Related tools

Base64 Encoder / Decoder
Encode and decode Base64 and URL-safe Base64, with full UTF-8 support.
Hex Converter
Convert between text, hexadecimal, decimal and binary, plus number base conversion.
JSON Formatter & Validator
Pretty-print, minify and validate JSON with precise error locations.
YAML ↔ JSON Converter
Convert YAML to JSON and back, with validation, built for Kubernetes and Ansible files.