Developer

URL Encoder / Decoder

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.

Ad placement — top banner

No file loaded

Drop a text file here UTF-8 text is loaded into the input area — processing stays on your device
Mode
Scope

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.

Ad placement — mid rectangle

What is URL encoding?

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 vs encodeURI

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.

Plus (+) 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.

What this tool does

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.

  • Live character counts and status in the stats row.
  • Copy buttons for input and output.
  • Text file drop for bulk paste without retyping.

How to use this tool

  1. Step 1: Choose Encode or Decode.
  2. Step 2: Select Component or Full URI depending on whether you are encoding one value or a whole URL string.
  3. Step 3: For form-style query strings in component mode, toggle Form-style spaces if you need + for spaces.
  4. Step 4: Paste text or drop a file, then copy the result into your API client, redirect URL, or ticket.

Security note

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.

Frequently Asked Questions

Does DroidXP upload my strings?

No. Encoding and decoding run in your browser. For sensitive URLs or tokens, still follow your organization’s policies on using web-based tools.

Why does decode fail with “URI malformed”?

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.

When should I use Component vs Full URI?

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.

Will this double-encode my text?

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.

Is this the same as PHP’s urlencode?

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.

Can I encode very large files?

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.

Why did my literal plus signs disappear after decode?

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.