Percent-encode or decode text using encodeURIComponent / decodeURIComponent for components (query values, path pieces), or
encodeURI / decodeURI for full URI strings. Optional form-style + for spaces. Runs entirely in your browser — nothing is
uploaded.
No file loaded
Component encodes reserved characters in a single value (for example a search term). Full URI leaves structural characters like
/, ?, and # unescaped where encodeURI allows.
Use when matching application/x-www-form-urlencoded query strings.
Percent-encoding (often called “URL encoding”) replaces bytes outside the unreserved set with % followed by two hex digits, for example a space becomes
%20. Unicode text is encoded in UTF-8 first, then each byte is percent-encoded — so café becomes caf%C3%A9. This keeps URLs safe to transmit in ASCII-only
contexts and avoids ambiguous delimiters inside query values.
encodeURIComponent is for components: a single path segment, query value, or fragment — it escapes /, ?, #, &, and other
reserved characters so they cannot break URL structure. encodeURI is for strings that are already mostly a full URI: it preserves characters that separate
scheme, host, path, and query, while still encoding spaces and non-ASCII text. Pick the scope that matches what you are editing.
+) vs %20 for spaces
In HTML form submissions, spaces in field values are often serialized as +. Query parsers typically treat + as a space in the query string. This tool can mirror that: when
Form-style spaces is on, encoding turns %20 into +, and decoding turns + into a space before calling decodeURIComponent. Use Component scope; full
URI mode does not apply + rules.
DroidXP’s URL Encoder uses the same built-ins as modern browsers: encodeURIComponent, decodeURIComponent, encodeURI, and decodeURI. Decoding strips
whitespace (including line breaks) so you can paste values copied from email or PDFs. If decoding fails, try the other scope, check for truncated % sequences, or
disable form-style + if your string uses literal plus signs.
+ for spaces.Encoding is not encryption or access control. Do not rely on “hiding” tokens in query strings — use HTTPS, server-side sessions, and proper secret storage.
No. Encoding and decoding run in your browser. For sensitive URLs or tokens, still follow your organization’s policies on using web-based tools.
decodeURIComponent and decodeURI throw if a % is not followed by two valid hex digits, or if the UTF-8 sequence is invalid. Remove stray % characters, fix copy-paste
truncation, or switch between Component and Full URI if the wrong function was used when the string was created.
Use Component for a single value you will place inside ?q=… or a path segment. Use Full URI when you have an entire https://… string and want to encode
spaces and non-ASCII characters without escaping every slash and question mark.
If you paste an already-encoded value and choose Encode again, percent signs become %25 — that is expected. To reverse that, run Decode twice or paste the
original plain text.
PHP’s urlencode is closest to encodeURIComponent (with spaces as +). PHP’s rawurlencode uses %20 for spaces. Use our Form-style spaces toggle to
align with + vs %20 for component encoding.
Very large inputs can slow the tab or run out of memory. This page caps extremely long text; for huge exports, use a CLI or script on your machine.
With Form-style spaces enabled, + is treated as a space in component decode (common for query strings). Turn the option off if you need to preserve literal
+ characters.