Skip to content
1001 Tools
sr
Developer tools

URL Encoder and Decoder

Encode text so it’s safe to drop into a URL, or decode a percent-encoded URL back into readable text. Choose “component” to escape everything unsafe in a query value, or “full URL” to keep structural characters like : / ? & intact. It’s UTF-8 aware and runs entirely in your browser.

Encoded

Component escapes reserved characters (& = ? /) for use in a single value; Full URL keeps them so a whole address stays valid.

How it works

Percent-encoding replaces characters that aren’t allowed in a URL with a % followed by their byte value — a space becomes %20, and “č” becomes its two UTF-8 bytes %C4%8D. Component mode (encodeURIComponent) escapes reserved characters like & = ? / too, which is what you want for a single query-string value.

Full-URL mode (encodeURI) leaves those structural characters alone so an entire address stays usable — it only escapes genuinely illegal characters such as spaces. Decoding turns every %XX sequence back into its character; if the input has a broken escape like a lone %, the tool reports it instead of crashing.

Practical examples

Encoding a search term for a link

To put “ključne reči” into a ?q= parameter, encode it in component mode to get klju%C4%8Dne%20re%C4%8Di — safe to paste straight into the query string.

Decoding a URL you were sent

Paste a link full of %20 and %C4%8D sequences, switch to decode, and read the human version — handy for understanding tracking links or shared search URLs.

Encoding a whole address

Use full-URL mode on https://site.rs/pretraga rezultati?q=1 to escape only the spaces, keeping the ://, ? and = working so the link still resolves.

Frequently asked questions

What is the difference between the two encode modes?

Component mode escapes everything that has special meaning in a URL, including & = ? /, so it’s right for a single value like one query parameter. Full-URL mode preserves those characters so an entire URL stays functional and only illegal characters (like spaces) get escaped.

Which mode should I use?

If you’re inserting one piece of text into a parameter or path segment, use component. If you have a complete URL and just want to make it valid without breaking its structure, use full URL. When unsure, component is the safer default for values.

Does it handle Serbian letters and other Unicode?

Yes. Non-ASCII characters are encoded as their UTF-8 bytes — “š” becomes %C5%A1, for example — which is exactly what browsers and servers expect. Decoding reverses it back to the original letters.

Why does decoding sometimes fail?

A percent sign must be followed by two hex digits. If the input contains a stray % or a truncated escape (like “100%” or “%E0%A4%A”), it isn’t valid percent-encoding, so the tool flags it rather than guessing.

Does it convert “+” to a space?

No. “+” means a space only in the older form-encoding scheme, not in standard URL encoding, so this tool leaves “+” as a literal plus. If you’re decoding form data, replace “+” with a space before decoding.

Is percent-encoding a form of security?

No. It only makes text safe to transmit in a URL; anyone can decode it. It doesn’t hide or protect data — treat encoded URLs as fully readable.

Are the values I paste uploaded?

No. Encoding and decoding run entirely in your browser, so links and search terms you paste never leave your device.

Why are letters like A–Z, digits, - _ . and ~ never encoded?

Those are the “unreserved” characters that are always legal in a URL, so encoders leave them as-is. Everything outside that set may need escaping depending on the mode.

Related tools