A URL can only contain certain characters — spaces, question marks, ampersands, and non-Latin characters have to be converted first into a percent-encoded format (for instance, a space becomes %20) so the URL stays valid and doesn't break when opened. URL Encoder & Decoder converts text both ways: into a safe URL format, or back from that format into plain text.
URL Encoder & Decoder — MEA Tools
Turn text into a safe URL format (encode), or read an already-encoded URL back (decode), right in your browser.
Open URL Encoder →Steps to encode/decode a URL
- Open tools.meaecosystem.com/url-encoder.
- Choose the "Encode" or "Decode" tab depending on what you need.
- In Encode mode, note the "Encode full component characters" option — the difference is explained below.
- Type or paste your text, and the result appears automatically.
Two encoding modes — which should you pick?
There are two ways to encode a URL, and they serve different purposes. Turn on "Encode full component characters" when the text you're encoding will become the value of a single URL parameter — like a search query being inserted into a URL. This mode encodes every special character, including & ? / = #. Leave that option off when your text is already a full URL that just needs its special characters tidied up (spaces, non-Latin letters), while its structure (like ://, &, ?) needs to stay intact so the URL doesn't break.
Why does picking the right mode matter?
If you pick the wrong mode — for instance, encoding an entire URL (including :// and ?) when you only should have encoded a parameter's value — the result becomes an invalid URL that won't work when opened in a browser. That's why it's important to first understand whether your text is a "full URL" or "just the value portion of a single parameter."
Frequently asked questions
Is my text sent to a server?
No. The encode and decode process runs directly in your browser.
Why does my decoded result still have percent signs in it?
The text was likely encoded twice before, so it needs to be decoded more than once to get back to the original text.
What's the difference between characters that get encoded and ones that don't?
Characters that are part of a URL's basic structure (like : / ? #) are usually left as-is when encoding a full URL, but get encoded too when processing a single component's value.