URL encoder and decoder

Local only

Transform a single component or a complete HTTP(S) URL with strict UTF-8, explicit one-pass decoding, and no network request.

Input is limited to 8,192 characters and processed transiently. Results are not cached, saved, logged by the transformer, or sent to another provider.

No transformation yetChoose component mode for arbitrary text, or full-URL mode to preserve HTTP(S) structure.

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.