URL encoder and decoder
Local onlyTransform a single component or a complete HTTP(S) URL with strict UTF-8, explicit one-pass decoding, and no network request.
Component versus full-URL modes
Component encoding escapes every UTF-8 byte except RFC 3986 letters, digits, hyphen, period, underscore, and tilde—so separators such as slash, question mark, ampersand, and equals are encoded. Full-URL encoding parses an absolute HTTP(S) URL, preserves its structural separators, percent-encodes Unicode path/query/fragment text, and converts an internationalized hostname to IDNA ASCII.
Decode modes are strict and perform exactly one pass. A malformed percent escape or invalid UTF-8 sequence is rejected. Plus remains plus rather than becoming a space. Decoding reserved delimiters can change how a URL is parsed, so full-URL decode is a human-readable inspection output, not a guarantee that reusing the output is equivalent or safe.