Screen Shot 2015-06-02 at 16.59.32I have often been frustrated when asked for character 3, 17 and 31 of my password. Perhaps I am victim of my own paranoia in setting passwords of such length. However, it is still somewhat of a chore to work out certain characters of a password. Even my password manager (1Password – which I highly recommend) is not up to this task.

So, I have created a simple script that enumerates passwords making it easy to discover corresponding characters. The script is entirely javascript & HTML, so it can be run as a file stored on your computer. This makes it more secure.

Obviously, even copying a password to your clipboard or typing it in can fall foul of malicious types but, for me, this is a calculated risk.

Click here to try my Password Enumerator Tool

And here is the code. You just need to save it as a .html file and open it in your web browser:


<html></head><title>Character at position</title>
    body {font-size:150%;font-family:sans-serif;}
    input {padding:8px;}
    li span {display:block;font-size:80%;margin:0;padding:0 10px;text-align:center;background-color:#ccc;color:#555;cursor:s-resize;}
    li {padding:0;border:1px solid #999;margin:4px;display:inline-block;text-align:center;color:#fff;font-family:monospace;}
    #inst {display:none;}
    function spanClick() {"#444";
    function enumerate(strInput){
        var str=strInput.value;
        var inst=document.getElementById("inst");
        var charNoList=document.getElementById("charNo");
        while (charNoList.hasChildNodes()) {   
            var char=str.charAt(i-1);
            var span=document.createElement("span");
            var countNode=document.createTextNode(i);
            var node=document.createElement("li");
            var textnode=document.createTextNode(char);
    Enter/paste Password: <input type="password" id="str" onkeyup="enumerate(this);" onmouseup="enumerate(this);" onmouseout="enumerate(this);" oninput="enumerate(this);" />
    <div id="inst">Click the characters required:
        <ol id="charNo"></ol>