URL Encoder

Percent-encode URLs or query values safely.

Free URL encoder. Encode a full URL (keeping : / ? # intact) or a single component (encoding everything), perfect for query strings, in your browser.

Loading tool…

If the tool stays on this message, make sure JavaScript is enabled, then reload the page.

About URL Encoder

URLs were designed for a small set of safe characters, but real links carry spaces, accented letters, emoji, and symbols. Percent-encoding converts each unsafe character into a % followed by two hex digits, so the address survives being pasted into emails, chats, and code without breaking. This tool does that conversion for you, in your browser, with Unicode handled correctly.

The two modes are the key to using it well. Full URL mode encodes a complete address while leaving structural characters like : / ? and # intact, use it when cleaning up a pasted link. Component mode encodes everything, which is what you want for a single value going inside a query string, like a search term or a redirect target. Using the wrong mode is the classic bug: over-encoding breaks the URL's structure, under-encoding breaks the parameter.

The most common mistake is encoding twice. If your output contains %25, you encoded an already-encoded string, the % itself got encoded. Encode once, at the moment you build the link. And encoding doesn't make a link trustworthy: a perfectly encoded URL can still point somewhere malicious, so keep judging links by their destination, not their formatting.

How to use URL Encoder

  1. Pick Full URL mode for whole addresses, or Component mode for query values.
  2. Paste your text and click Encode.
  3. Copy the percent-encoded result.

Why use this tool?

  • Two modes: full URL vs single component
  • Correct handling of Unicode characters

Tips for best results

  • Use Component mode for query values: when placing user input into ?q=..., encode the value aggressively so & and = inside it can't break the parameter.
  • Use Full URL mode for whole links: it keeps : / ? # working while encoding the unsafe characters around them.
  • Never encode twice: %25 in your output means you encoded an already-encoded string. Start from the raw text.
  • Encode at build time: encode the value when you assemble the URL, not when you display or store it.
  • Unicode is handled: emoji and accented characters are encoded as UTF-8 byte sequences, which servers expect.

Frequently asked questions

What is the difference between the two modes?
Full URL mode keeps structural characters like : / ? # working, while Component mode encodes everything, use it for values inside a query string.
Is my input uploaded?
No. Encoding happens locally in your browser.
How do I reverse this?
Use the URL Decoder tool to turn percent-encoded text back.
Why does my encoded URL contain %25?
You encoded an already-encoded string: % itself became %25. Start from the original unencoded text and encode once.
Are spaces encoded as %20 or +?
This tool encodes spaces as %20, the safer general choice; both are understood inside query strings, but %20 works everywhere.

Related tools