URL Encoder & Decoder
Encode special characters in URLs using percent-encoding so they can be safely transmitted, or decode percent-encoded URLs back to readable form. Handles both encodeURIComponent and full URI encoding.
How to Use the URL Encoder & Decoder
Choose Encode or Decode from the tabs, then select Component mode if you are encoding an individual query parameter value, or Full URI mode if you are encoding a complete URL while preserving its structure. Paste your text or encoded URL into the input panel and click the action button. The result appears instantly on the right. Switching between Component and Full URI automatically re-runs the operation so you can compare outputs side by side. Use Copy or Download .txt to take the result.
Component vs Full URI Encoding
Component mode uses encodeURIComponent(), which encodes every character
except letters, digits, and - _ . ! ~ * ' ( ). This is what you need when encoding the
value of a query parameter — characters like =, &, +, and
/ are all encoded. For example, a=1&b=2 becomes
a%3D1%26b%3D2, making it safe to embed as a single query value.
Full URI mode uses encodeURI(), which preserves the structural characters
of a complete URL: ; , / ? : @ & = + $ - _ . ! ~ * ' ( ) #. Use this when you have
a full URL and only want to encode unsafe characters like spaces. Important: & is
not encoded in Full URI mode — that is correct behavior. If you need & encoded,
use Component mode.
Common Use Cases
Percent-encoding comes up constantly in web development. Use this tool to encode file names for
download links that contain spaces or special characters. Build query strings for API calls by encoding
each parameter value in Component mode before joining them with &. Decode
percent-encoded URLs from server logs, analytics exports, or browser address bars to make them readable.
Construct safe redirect parameters — an entire URL used as a query value must be Component-encoded.
Debug URL routing issues by seeing exactly which characters your framework or server is receiving.
Why Use a Browser-Based URL Encoder?
URLs from server logs and API responses often carry sensitive paths, authentication tokens, and user
data. Processing them locally means that information never leaves your machine — no server logs, no
third-party analytics, no request traces. This tool handles any character from any language: Unicode
is percent-encoded as UTF-8 bytes by encodeURIComponent() natively, so accented characters,
CJK ideographs, and emoji all work correctly without any configuration. There is no character limit and
no sign-up required.