freetools.guru

URL Encode Decode

Encode text into percent-encoded URLs or decode percent-encoded strings instantly in your browser. Choose component, full URI, query-parameter or form-urlencoded modes — with existing-escape preservation, strict validation and full Unicode (Tamil, Hindi, Arabic, CJK, emoji) support. Private, no uploads.

Text encoding: UTF-8

Output is read-only plain text — it never executes or navigates.

Tip: press Ctrl + Enter to run

Options

Status & Statistics

Ready

Percent-encoding is not encryption. Anyone can decode URL-encoded text — never put passwords or secrets in a URL.

Your text is encoded and decoded locally in your browser. Nothing is uploaded to any server, and no account is required.

How it works

  1. 1Choose a mode. Select Encode to percent-encode text, or Decode to turn percent-encoded strings back into readable text.
  2. 2Enter your input. Paste plain text (Encode) or a percent-encoded string (Decode). The tool accepts Unicode — Tamil, Hindi, Arabic, CJK, emoji — and encodes it as UTF-8.
  3. 3Pick your options. Choose the encoding type (Component, Full URI, Query Parameter or Form URL-encoded), and toggle existing-escape preservation, treating + as space, and strict validation.
  4. 4Encode or decode. Click Encode URL or Decode URL (or press Ctrl+Enter). Copy, download, or feed the result back into the input — all locally in your browser.

Best practices

  • Remember that percent-encoding is an encoding, not encryption — never use it to protect passwords, tokens or personal data.
  • Use Component mode for query values and path segments, and Full URI mode for complete URLs you must not alter structurally.
  • Component mode always escapes the # character so it cannot split your URL; Query Parameter mode additionally escapes the sub-delims ! ' ( ) * for maximum compatibility.
  • Form URL-encoded mode encodes spaces as + instead of %20, which is what HTML form and query-string conventions expect.
  • Turn on Preserve existing escapes to avoid double-encoding a string that already contains %XX sequences.
  • When decoding, keep strict mode on to catch malformed input like stray % signs; switch it off only to be lenient with unusual strings.
  • Everything runs locally in your browser, so it is safe to encode or decode private or sensitive content.

Frequently Asked Questions

What is URL encoding (percent-encoding)?
URL encoding replaces unsafe characters in a URL with a percent sign followed by two hex digits, such as %20 for a space. It lets text be transmitted safely inside URLs, query strings and form data where certain characters would otherwise be misinterpreted.
What does URL Encode Decode do?
It converts plain text into its percent-encoded URL representation (encode) and converts percent-encoded strings back into readable text (decode). Both directions run instantly in your browser with four modes: Component, Full URI, Query Parameter and Form URL-encoded.
What is the difference between the encoding modes?
Component mode (encodeURIComponent) is best for query values and path segments. Full URI mode (encodeURI) preserves structural characters like :, /, ?, = and & so a complete URL stays intact. Query Parameter mode adds escaping for the sub-delims ! ' ( ) * on top of Component mode, and Form URL-encoded mode additionally encodes spaces as + instead of %20.
Is percent-encoding encryption?
No. Percent-encoding is an encoding format, not encryption. Anyone who receives an encoded URL can decode it without any key, so it must never be used to protect passwords or sensitive data.
Can it encode Tamil, Hindi and emoji?
Yes. The tool converts text to UTF-8 bytes before encoding and decodes back through UTF-8, so Tamil, Hindi, Arabic, CJK, emoji and mixed-language text are preserved exactly with no character corruption.
What is the difference between %20 and + for spaces?
%20 is the percent-encoding of a literal space and works everywhere. + means space only in application/x-www-form-urlencoded query strings; in other contexts it stays a literal plus sign. Form URL-encoded mode encodes spaces as +, while the other modes use %20.
Why does the encode tool warn about double encoding?
If your input already contains %XX sequences, encoding it again turns each % into %25 (for example %20 becomes %2520). The tool warns about this and offers Preserve existing escapes so already-encoded strings can be passed through without being encoded a second time.
What happens when decode encounters malformed input?
In strict mode, a lone % sign, a truncated escape such as %2, or an invalid escape like %ZZ is rejected with a clear error. With Strict decoding off, the tool is permissive and leaves un-parseable sequences in place so unusual input is still readable.
Is my text uploaded?
No. All encoding and decoding happens locally in your browser. Your text is never uploaded to any server and no account is required.

Related Tools

Supported input

Encode any UTF-8 text — English, Tamil, Hindi, Arabic, CJK, emoji and mixed-language content — or decode percent-encoded strings, directly in your browser. Four modes are supported: Component, Full URI, Query Parameter and Form URL-encoded. Up to 1,000,000 characters per input are supported. Existing %XX escapes can be preserved, + can be treated as a space (on by default in Form mode), and strict validation rejects malformed input.

Privacy & data removal

Your text is encoded and decoded entirely in your browser and is never uploaded to any server. No account is required to use URL Encode Decode, and we never store or share your text.