Programming tool

URL Encoder & Decoder

Apply or remove percent encoding for a URL component or a complete URL without sending your text anywhere.

Encodes query values, path segments, and other individual parts, including reserved characters.

Processed locally. Text is never fetched, executed, or rendered as HTML. A plus sign stays +; this tool does not apply form-encoding rules.

What is URL encoding?

URL encoding, also called percent encoding, represents characters as a percent sign followed by two hexadecimal digits for each UTF-8 byte. It lets URLs carry spaces, Unicode, and characters that otherwise have structural meaning.

Why URLs need percent encoding

Characters such as spaces are not valid literally everywhere in a URL. A space becomes %20. Reserved characters such as ?, &, and = separate parts of a URL, so whether they should be encoded depends on whether you are processing a component or a complete URL.

encodeURI vs encodeURIComponent

encodeURI is for a complete URL and preserves its structural delimiters. encodeURIComponent is for one value or segment and encodes those delimiters so they become data rather than URL syntax. The matching decode operations reverse those rules.

Component: name=Calquo & tools becomes name%3DCalquo%20%26%20tools

URL encoding is not Base64

Percent encoding makes text safe in URL contexts and leaves many ordinary characters readable. Base64 represents bytes with a separate 64-character alphabet and is not a substitute for correct URL component encoding.

Frequently asked questions

Does a plus sign mean a space?

Only under application/x-www-form-urlencoded conventions, commonly used for form bodies and query strings. The JavaScript URI functions used here leave plus signs unchanged.

Why can decoding fail?

Every percent sign must be followed by two hexadecimal digits, and encoded byte sequences must form valid Unicode text. Inputs such as %, %2, and %ZZ are malformed.

Is my URL sent anywhere?

No. The browser processes your input locally. This tool never opens, requests, or executes an entered URL.