DEVELOPER TOOL

URL Encoder / Decoder

Percent-encode a URL component or decode it back to text, without opening a URL.

Runs locallyRuns locally in your browser. Your data is not uploaded.

A query value or path segment. Spaces become %20; a plus sign stays literal when decoding.

URL component / inert text only

INPUT

OUTPUT

Component encoding preserves text exactly. Empty input is supported.

Enable JavaScript to convert locally.

ENCODE A VALUE, KEEP ITS MEANING

For components of a URL.

Use Encode component for a query parameter value or a single path segment. It turns characters such as spaces, ampersands, equals signs and slashes into percent-encoded UTF-8. Decode reverses one layer of percent encoding.

Text in, text out.

Paste, convert, then copy or swap to reverse the operation. Content stays inert, even if it resembles HTML, JavaScript or a complete URL. This tool never opens, fetches or previews a pasted address.

Temporary and local.

Your values remain in browser memory, with no automatic history or sharing link. Reset and navigation clear the workspace. Copy and download act only when requested.

PERCENT ENCODING, PRECISELY

Know what changes.

Component encoding or full-URL encoding?

This tool uses encodeURIComponent and decodeURIComponent. Component encoding escapes URL separators such as : / ? & = #. It is not encodeURI, which preserves many separators, and it does not validate or construct a complete URL.

Why does + not become a space?

A literal plus sign stays + during component decoding. The + means space convention belongs to form encoding. Spaces encode as %20 here; a literal + encodes as %2B.

Why is a percent sequence rejected?

A % needs two hexadecimal digits, and encoded bytes must form valid UTF-8. Incomplete sequences, invalid byte sequences and unpaired Unicode surrogates produce a safe error. Decoding never repeats automatically.

Which characters remain unchanged?

The native component encoder leaves letters, digits, hyphen, underscore, period, exclamation mark, tilde, asterisk, apostrophe and parentheses unchanged. It does not add an extra RFC 3986 escaping pass.

What are the limits and newline rules?

Text is limited to 16 KiB of UTF-8, and encoded input to 48 Ki characters, enough for percent-encoding expansion. Large multiline previews stop at 2,000 lines; full copy, swap and download retain the complete result. Native textarea edits follow browser newline handling; the Paste button and Swap preserve inserted line endings until edited. No whitespace is trimmed.

Find a tool or category

Tools & categories12 results