HTML entities that create ASCII characters inside a JavaScript URL
This vector loops through all entities and assigns them to a JavaScript URL and checks if they decode to ASCII characters.
Created byhackvertor
Created Jun 25, 2024
Updated May 28, 2025
Detecting browser...
CategoryEntity Parsing
VisibilityPublic
TypeJS
CharsetUTF-8
$[data1] placeholderhtml_entities
Code used before fuzz:
const div = document.createElement('div');Template used:
div.innerHTML='<a href="javascript:$[data1]">test</a>';0x0D
let element = div.querySelector('a');0x0D
(element.href==="javascript:"|/:.*[\x00-\x7f]/.test(element.href)) && !/^javascript:(%[a-fA-F0-9]{2})+$/.test(element.href) && log('$[data1]='+element.href.replace(/^.+?:/,''))Sample payloads
div.innerHTML='<a href="javascript:&=&">test</a>';0x0D
let element = div.querySelector('a');0x0D
(element.href==="javascript:"|/:.*[\x00-\x7f]/.test(element.href)) && !/^javascript:(%[a-fA-F0-9]{2})+$/.test(element.href) && alert('&=&='+element.href.replace(/^.+?:/,''))div.innerHTML='<a href="javascript:&=&">test</a>';0x0D
let element = div.querySelector('a');0x0D
(element.href==="javascript:"|/:.*[\x00-\x7f]/.test(element.href)) && !/^javascript:(%[a-fA-F0-9]{2})+$/.test(element.href) && alert('&=&='+element.href.replace(/^.+?:/,''))div.innerHTML='<a href="javascript:'='">test</a>';0x0D
let element = div.querySelector('a');0x0D
(element.href==="javascript:"|/:.*[\x00-\x7f]/.test(element.href)) && !/^javascript:(%[a-fA-F0-9]{2})+$/.test(element.href) && alert(''='='+element.href.replace(/^.+?:/,''))div.innerHTML='<a href="javascript:*=*">test</a>';0x0D
let element = div.querySelector('a');0x0D
(element.href==="javascript:"|/:.*[\x00-\x7f]/.test(element.href)) && !/^javascript:(%[a-fA-F0-9]{2})+$/.test(element.href) && alert('*=*='+element.href.replace(/^.+?:/,''))div.innerHTML='<a href="javascript:=⃥==%E2%83%A5">test</a>';0x0D
let element = div.querySelector('a');0x0D
(element.href==="javascript:"|/:.*[\x00-\x7f]/.test(element.href)) && !/^javascript:(%[a-fA-F0-9]{2})+$/.test(element.href) && alert('=⃥==%E2%83%A5='+element.href.replace(/^.+?:/,''))div.innerHTML='<a href="javascript:\=\">test</a>';0x0D
let element = div.querySelector('a');0x0D
(element.href==="javascript:"|/:.*[\x00-\x7f]/.test(element.href)) && !/^javascript:(%[a-fA-F0-9]{2})+$/.test(element.href) && alert('\=\='+element.href.replace(/^.+?:/,''))div.innerHTML='<a href="javascript::=:">test</a>';0x0D
let element = div.querySelector('a');0x0D
(element.href==="javascript:"|/:.*[\x00-\x7f]/.test(element.href)) && !/^javascript:(%[a-fA-F0-9]{2})+$/.test(element.href) && alert(':=:='+element.href.replace(/^.+?:/,''))div.innerHTML='<a href="javascript:,=">test</a>';0x0D
let element = div.querySelector('a');0x0D
(element.href==="javascript:"|/:.*[\x00-\x7f]/.test(element.href)) && !/^javascript:(%[a-fA-F0-9]{2})+$/.test(element.href) && alert(',=='+element.href.replace(/^.+?:/,''))div.innerHTML='<a href="javascript:">test</a>';0x0D
let element = div.querySelector('a');0x0D
(element.href==="javascript:"|/:.*[\x00-\x7f]/.test(element.href)) && !/^javascript:(%[a-fA-F0-9]{2})+$/.test(element.href) && alert('='+element.href.replace(/^.+?:/,''))div.innerHTML='<a href="javascript:@=@">test</a>';0x0D
let element = div.querySelector('a');0x0D
(element.href==="javascript:"|/:.*[\x00-\x7f]/.test(element.href)) && !/^javascript:(%[a-fA-F0-9]{2})+$/.test(element.href) && alert('@=@='+element.href.replace(/^.+?:/,''))div.innerHTML='<a href="javascript:`=`">test</a>';0x0D
let element = div.querySelector('a');0x0D
(element.href==="javascript:"|/:.*[\x00-\x7f]/.test(element.href)) && !/^javascript:(%[a-fA-F0-9]{2})+$/.test(element.href) && alert('`=`='+element.href.replace(/^.+?:/,''))div.innerHTML='<a href="javascript:$=$">test</a>';0x0D
let element = div.querySelector('a');0x0D
(element.href==="javascript:"|/:.*[\x00-\x7f]/.test(element.href)) && !/^javascript:(%[a-fA-F0-9]{2})+$/.test(element.href) && alert('$=$='+element.href.replace(/^.+?:/,''))div.innerHTML='<a href="javascript:===">test</a>';0x0D
let element = div.querySelector('a');0x0D
(element.href==="javascript:"|/:.*[\x00-\x7f]/.test(element.href)) && !/^javascript:(%[a-fA-F0-9]{2})+$/.test(element.href) && alert('===='+element.href.replace(/^.+?:/,''))div.innerHTML='<a href="javascript:!=!">test</a>';0x0D
let element = div.querySelector('a');0x0D
(element.href==="javascript:"|/:.*[\x00-\x7f]/.test(element.href)) && !/^javascript:(%[a-fA-F0-9]{2})+$/.test(element.href) && alert('!=!='+element.href.replace(/^.+?:/,''))div.innerHTML='<a href="javascript:fj=fj">test</a>';0x0D
let element = div.querySelector('a');0x0D
(element.href==="javascript:"|/:.*[\x00-\x7f]/.test(element.href)) && !/^javascript:(%[a-fA-F0-9]{2})+$/.test(element.href) && alert('fj=fj='+element.href.replace(/^.+?:/,''))div.innerHTML='<a href="javascript:`=`">test</a>';0x0D
let element = div.querySelector('a');0x0D
(element.href==="javascript:"|/:.*[\x00-\x7f]/.test(element.href)) && !/^javascript:(%[a-fA-F0-9]{2})+$/.test(element.href) && alert('`=`='+element.href.replace(/^.+?:/,''))div.innerHTML='<a href="javascript:>=>">test</a>';0x0D
let element = div.querySelector('a');0x0D
(element.href==="javascript:"|/:.*[\x00-\x7f]/.test(element.href)) && !/^javascript:(%[a-fA-F0-9]{2})+$/.test(element.href) && alert('>=>='+element.href.replace(/^.+?:/,''))div.innerHTML='<a href="javascript:>=>">test</a>';0x0D
let element = div.querySelector('a');0x0D
(element.href==="javascript:"|/:.*[\x00-\x7f]/.test(element.href)) && !/^javascript:(%[a-fA-F0-9]{2})+$/.test(element.href) && alert('>=>='+element.href.replace(/^.+?:/,''))div.innerHTML='<a href="javascript:^=^">test</a>';0x0D
let element = div.querySelector('a');0x0D
(element.href==="javascript:"|/:.*[\x00-\x7f]/.test(element.href)) && !/^javascript:(%[a-fA-F0-9]{2})+$/.test(element.href) && alert('^=^='+element.href.replace(/^.+?:/,''))div.innerHTML='<a href="javascript:{={">test</a>';0x0D
let element = div.querySelector('a');0x0D
(element.href==="javascript:"|/:.*[\x00-\x7f]/.test(element.href)) && !/^javascript:(%[a-fA-F0-9]{2})+$/.test(element.href) && alert('{={='+element.href.replace(/^.+?:/,''))Fuzz results
Chrome 144.0.0.0 desktop macOS 10.15.7
Updated
Fri Jan 30 2026
Found 50 results
Loading...
Firefox 147.0 desktop Windows NT 10.0
Updated
Thu Jan 29 2026
Found 50 results
Loading...
Firefox 127.0 desktop macOS 10.15older version
Updated
Wed Jun 26 2024
Found 50 results
Loading...
Microsoft Edge 144.0.0.0 desktop Windows NT 10.0
Updated
Fri Jan 30 2026
Found 50 results
Loading...
Safari 17.4 desktop macOS 10.15.7
Updated
Wed Jun 26 2024
Found 50 results
Loading...