JSFiddle - React, Tailwind, and code Playground

HTML

<input id='input' value='I love you'/>
<button id='obfuscate'>obfuscate</button>
<br/>
<textarea id='obfuscated'></textarea>

CSS

#obfuscated {
    width: 100%;
    height: 350px;
}

JavaScript

var obfuscateMap = {
    'c': ['(1+{})[1+11>>>1]','(-{}+{})[-1+1e1-1]'],
    'o': ['[[]+{}][+!1][1]','([]+1+{})[1<<1]'],
    'n': ['([]+1/[])[1<<1>>1]'],
    's': ['([1<1]+[])[1+11>>>1+1]'],
    't': ['[[!!1]+1][+[]][1-1]','(1+[!!1])[1]'],
    'r': ['([]+!!/!/)[1|1]','[!!/!!/+[]][+[]][1&1]'],
    'u': ['(/1/[1]+[])[!1%1]','(/[<+>]/[1&1|1]+[1.1])[1/11.1&1.11]'],
    'f': ['([]+/-/[(!!1+[])[1>>1]+(!!1+[])[1<<1^1]+(!1+[])[1|1<<1]+(!!1+[])[1^1]])[1^1]'],
    'e': ['([]+![])[1<<1<<1]','([,][~1]+[])[1-~1]'],
    'x': ['[([]+![])[1<<1<<1]+(/|/[(1+{})[1+11>>>1]+[[]+{}][+!1][1]+([]+1/[])[1<<1>>1]+([1<1]+[])[1+11>>>1+1]+[[!!1]+1][+[]][1-1]+([]+!!/!/)[1|1]+(/1/[1]+[])[!1%1]+(-{}+{})[-1+1e1-1]+(1+[!!1])[1]+([]+1+{})[1<<1]+[!!/!!/+[]][+[]][1&1]]+/=/)[1e1+(1<<1|1)+(([]+/-/[(!!1+[])[1>>1]+(!!1+[])[1<<1^1]+(!1+[])[1|1<<1]+(!!1+[])[1^1]])[1^1]==+!1)]+(!![]+{})[1|1<<1]+[1+{}+1][!1+!1][(11>>1)+1]][1>>1][1]'],
    'v': ['/\\[[^1]+\\]/[([]+![])[1<<1<<1]+(/|/[(1+{})[1+11>>>1]+[[]+{}][+!1][1]+([]+1/[])[1<<1>>1]+([1<1]+[])[1+11>>>1+1]+[[!!1]+1][+[]][1-1]+([]+!!/!/)[1|1]+(/1/[1]+[])[!1%1]+(-{}+{})[-1+1e1-1]+(1+[!!1])[1]+([]+1+{})[1<<1]+[!!/!!/+[]][+[]][1&1]]+/=/)[1e1+(1<<1|1)+(([]+/-/[(!!1+[])[1>>1]+(!!1+[])[1<<1^1]+(!1+[])[1|1<<1]+(!!1+[])[1^1]])[1^1]==+!1)]+(!![]+{})[1|1<<1]+[1+{}+1][!1+!1][(11>>1)+1]](([]+/-/[(!!1+[])[1>>1]+(!!1+[])[1<<1^1]+(!1+[])[1|1<<1]+(!!1+[])[1^1]]))[1&.1][11>>>1]'],
    'I': ['[[]+1/!1][1^1][1>>1]'],
    ' ': ['({}+[])[1<<1^11>>1]','[[]+{}][!1.1%1][11111.1%11.1*111e11|!1]'],
    'l': ['([]+!!-[])[1<<1]'],
    'o': ['[/~/+{}][+!1][-~1<<1]','[[],[]+{}][1<<1>>>1][1||1]'],
    'y': ['(/1/+1/[1<1][1%1])[1^11]']
}, obfuscate = function(input, map) {
    var out = [], char;
    for(char = 0; char < input.length; char++) {
        if(map.hasOwnProperty(input[char])) {
            out.push(map[input[char]][Math.floor(Math.random()*map[input[char]].length)])
        } else {
            out.push('?');
        }
    }
    return...