Small Utility Lab

URL ENCODING, LOCALLY

Encode the value you mean to encode.

Encode or decode text as a URL component, or encode/decode a complete URI while preserving its structural characters. Processing stays in your browser.

For a value such as a search query, choose component. Choose full URI for a complete address.

Use Ctrl+Enter or Command+Enter to convert from the input.

Choose an operation and text type, then enter text to convert.

Choose the matching encoding

Component mode uses JavaScript encodeURIComponent or decodeURIComponent. Use it for one value, such as red shoes & hats? as a query value: the result is red%20shoes%20%26%20hats%3F, and decoding returns the original text. Encoding the ampersand and question mark keeps them inside that value.

For a space, component encoding produces %20. Form-style query serialization commonly uses + instead: for example, URLSearchParams serializes q=red shoes as q=red+shoes. If you are building or reading query parameters in JavaScript, use URLSearchParams to handle the parameter structure and its form-style encoding; this tool only converts a text component or URI.

Full URI mode uses encodeURI or decodeURI. These preserve reserved URI punctuation such as :, /, ?, &, and # so a complete address keeps its structure. Use this mode for an entire URI, not for one query value. Full URI decoding also keeps percent-encoded reserved characters escaped because decoding them can change the URI structure. Encode mode escapes literal percent signs too, so already percent-encoded input will have its percent signs encoded again.

This tool transforms text only. It does not validate a URL, open it, or contact a host. Malformed percent escapes or invalid encoded UTF-8 produce an error. Page content updated November 3, 2026.

Runs in your browser. No uploads. No account.

Good to know

Should I encode a whole URL or just a value?

Usually, encode a single component such as one query parameter value. Full URI mode preserves URL delimiters; component mode escapes delimiters that belong inside the value.

Why is a space shown as %20 instead of +?

encodeURIComponent encodes a space as %20. The form-style serialization used by URLSearchParams writes a space as +. Use URLSearchParams when you need to build query parameters; this tool does not implement form serialization.

Why does full URI decoding leave %26 unchanged?

Ampersand is a reserved URI character. Full URI decoding preserves reserved escapes to avoid changing the structure; component decoding can decode it as data inside one value.

Is URL encoding encryption?

No. Percent encoding represents characters in a URI-compatible form; it does not hide or protect the text.

Does my text leave the browser?

No. The browser's built-in URI functions process the text in this tab. Nothing is uploaded or stored.

Is it free?

Yes, during beta. Optional usage-credit plans are coming soon. Payments are not available and no credits are required.

Source

Methods checked November 3, 2026. MDN documents the distinction between URI component encoding, complete URI encoding, and form-style query serialization.

How it works

1. Choose encode or decode. 2. Select component for a query value or full URI for a complete address. 3. Enter text and convert; the result is processed locally.

Good to know

When should I choose component mode?

Use component mode for one value that will be inserted into a URL, such as a query parameter value. It encodes reserved punctuation such as ampersands so it stays part of that value.

When should I choose full URI mode?

Use full URI mode when encoding a complete URI and preserving structural separators such as the colon in a scheme or slashes in a path. It does not encode every reserved character; do not use it for a single query value.

Why do some characters stay percent-encoded when decoding a URI?

Full URI decoding preserves escapes for reserved characters because decoding them could change URI structure. Component decoding decodes those escapes as part of the value.

Does this validate or open the address?

No. The tool applies the browser's encodeURI, encodeURIComponent, decodeURI, or decodeURIComponent function to text. It does not validate, fetch, or open a URL.

Does my input leave the browser?

No. Conversion runs in this browser tab and does not upload or store your text.

Is it free?

Yes, during beta. Optional usage-credit plans are coming soon. Payments are not available and no credits are required.