<p class="note"></p>
<h1>Replace words with silly emojis.</h1>

<h2>Bookmarklet:</h2>
<a class="bookmarklet" href="javascript:
var emojiMap = new Map([
    ['โค๏ธ', ['heart', 'love', 'favorite']],
    ['๐Ÿ˜€', ['smile', 'happy']],
    ['๐Ÿ˜‚', ['laugh', 'lol', 'haha']],
    ['๐Ÿ˜‰', ['wink']],
    ['๐Ÿ˜˜', ['kiss']],
    ['๐Ÿคช', ['silly', 'goofy']],
    ['๐Ÿค”', ['think', 'thought', 'wtf']],
    ['๐Ÿ˜ด', ['sleep', 'zzz']],
    ['๐Ÿคฎ', ['barf', 'vomit', 'puke', 'sick', 'throw up', 'threw up']],
    ['๐Ÿ˜ข', ['cry', 'sad']],
    ['๐Ÿฅฑ', ['yawn', 'tired', 'sleepy', 'lazy']],
    ['๐Ÿ˜ ', ['angry', 'mad']],
    ['๐Ÿคฏ', ['wow', 'wtf', 'omg']],
    ['๐Ÿ’€', ['skull', 'dead']],
    ['๐Ÿ’ฉ', ['poop', 'poo', 'shit', 'crap']],
    ['๐Ÿ‘ป', ['ghost', 'boo']],
    ['๐Ÿ‘ฝ๏ธ', ['alien']],
    ['(โ„น๏ธ๐Ÿ“ฒ)', ['iphone']],
    ['(๐Ÿค–๐Ÿ“ฒ)', ['android phone', 'android']],
    ['๐Ÿค–', ['robot']],
    ['๐Ÿ’ฏ', ['100']],
    ['๐Ÿ’ฌ', ['talk', 'chat', 'speak', 'speech']],
    ['๐Ÿ––', ['spock', 'live long and prosper', 'vulcan salute']],
    ['๐Ÿ‘Ž๏ธ', ['dislike', 'dont like', 'do not like', 'thumbs down']],
    ['๐Ÿ‘๏ธ', ['like', 'thumbs up']],
    ['๐Ÿซต', ['you']],
    ['๐Ÿšซ', ['prohibited', 'no', 'dont', &quot;don't&quot;, 'do not']],
    ['โœ…', ['check', 'yes', 'do']],
    ['โœ๏ธ', ['write']],
    ['๐Ÿ’ช', ['arm']],
    ['๐Ÿฆต', ['leg']],
    ['๐Ÿฆถ', ['foot', 'feet']],
    ['๐Ÿ‘‚๏ธ', ['ear']],
    ['๐Ÿ‘ƒ', ['nose']],
    ['๐Ÿง ', ['brain', 'mental']],
    ['๐Ÿฆด', ['bone']],
    ['๐Ÿ‘€', ['look', 'see', 'eyes', 'notice']],
    ['๐Ÿ‘…', ['tongue', 'lick']],
    ['๐Ÿ‘„', ['mouth', 'lips']],
    ['๐Ÿ‘ถ', ['baby', 'infant', 'toddler']],
    ['๐Ÿง’', ['kid', 'child']],
    ['๐Ÿคฆ', ['facepalm', 'oops', 'oopsie']],
    ['๐Ÿคท', ['shrug', 'oh well']],
    ['๐Ÿง‘โ€โš–๏ธ', ['judge']],
    ['๐Ÿง‘โ€๐Ÿ’ป', ['coding', 'developer', 'dev']],
    ['๐Ÿง‘โ€๐Ÿš€', ['astronaut']],
    ['๐Ÿ‘ฎ', ['cop', 'police', 'officer']],
    ['๐Ÿฅท', ['ninja']],
    ['๐Ÿคฐ', ['pregnant']],
    ['๐ŸŽ…', ['santa']],
    ['๐Ÿฆธ', ['hero']],
    ['๐Ÿง™', ['wizard']],
    ['๐ŸงŸ', ['zombie']],
    ['๐Ÿšถโ€โžก๏ธ', ['walk', 'step']],
    ['๐Ÿง', ['person']],
    ['๐Ÿ‘ฅ', ['people']],
    ['๐Ÿƒโ€โžก๏ธ', ['run', 'ran', 'running', 'jump', 'leap']],
    ['(๐Ÿคธ๐Ÿฅท๐Ÿƒ)', ['parkour']],
    ['(โ˜•๐Ÿ“œ)', ['javascript', 'js']],
    ['๐Ÿ’ƒ', ['dance', 'dancing', 'dancer']],
    ['๐Ÿง—', ['climb']],
    ['๐Ÿ„๏ธ', ['surf']],
    ['๐Ÿšฃ', ['row', 'paddle']],
    ['๐ŸŠ๏ธ', ['swim', 'swam', 'swimming']],
    ['๐Ÿšต', ['mtb', 'mountain bike']],
    ['๐Ÿšฒ๏ธ', ['bike', 'biking']],
    ['๐Ÿคน', ['juggle', 'juggling']],
    ['๐Ÿง˜', ['yoga']],
    ['๐Ÿ›€', ['bath', 'tub']],
    ['๐Ÿ›Œ', ['bed']],
    ['๐Ÿถ', ['dog', 'puppy', 'k9']],
    ['๐ŸฆŠ', ['fox']],
    ['๐Ÿต', ['monkey']],
    ['๐Ÿ™Š', ['shut up', 'stfu', 'speechless', 'quiet']],
    ['๐Ÿบ', ['wolf']],
    ['๐Ÿฑ', ['cat', 'kitty', 'kitten', 'feline']],
    ['๐Ÿด', ['horse']],
    ['๐Ÿฆ„', ['unicorn']],
    ['๐Ÿฆ‰', ['owl']],
    ['(๐ŸŒƒ๐Ÿฆ‰)', ['nightowl']],
    ['๐Ÿ‰', ['dragon', 'drag and', 'drag &']],
    ['๐Ÿชฐ', ['bug']],
    ['๐Ÿ•ธ๏ธ', ['web']],
    ['๐Ÿ•ท๏ธ', ['spider', 'spyder']],
    ['๐Ÿฆ ', ['virus', 'covid']],
    ['๐ŸŒธ', ['flower']],
    ['๐ŸŒฒ', ['tree']],
    ['๐ŸŽ', ['apple', 'mac']],
    ['๐Ÿฅ‚', ['cheers']],
    ['๐ŸงŠ', ['ice']],
    ['๐ŸŒŽ๏ธ', ['earth', 'world', 'planet', 'globe']],
    ['๐Ÿ—บ๏ธ', ['map']],
    ['๐Ÿ ๏ธ', ['house', 'home']],
    ['๐Ÿข', ['office', 'building']],
    ['๐Ÿฅ', ['hospital', 'er', 'health', 'medical']],
    ['๐Ÿจ', ['hotel']],
    ['๐ŸŒƒ', ['night']],
    ['๐Ÿ™๏ธ', ['city', 'urban']],
    ['๐ŸŒ…', ['morning', 'sunrise']],
    ['๐Ÿš—', ['car', 'van', 'drive', 'vehicle']],
    ['โšก๏ธ๐Ÿš—', ['ev']],
    ['๐Ÿ›‘', ['stop']],
    ['โš“๏ธ', ['navy', 'anchor']],
    ['๐Ÿ›ฉ๏ธ', ['plane', 'airplane', 'flight']],
    ['๐Ÿš€', ['rocket', 'spaceship']],
    ['โฐ๏ธ', ['alarm', 'clock', 'time']],
    ['โญ๏ธ', ['star']],
    ['๐ŸŒง๏ธ', ['rain']],
    ['๐ŸŒช๏ธ', ['hurricane','storm','tornado']],
    ['๐ŸŒจ๏ธ', ['snow']],
    ['โšก๏ธ', ['electric', 'electricity', 'zap', 'charge', 'power']],
    ['๐Ÿ”ฅ', ['fire', 'burn']],
    ['๐ŸŽƒ', ['pumpkin', 'halloween', 'spooky']],
    ['๐ŸŽ„', ['christmas', 'xmas']],
    ['๐Ÿ’ฃ๏ธ', ['bomb']],
    ['๐ŸŽ‰', ['party', 'congrats', 'congratulations', 'yay']],
    ['๐Ÿ”ซ', ['gun', 'shoot']],
    ['๐Ÿช„', ['magic', 'wand']],
    ['๐Ÿงฉ', ['puzzle']],
    ['๐Ÿ–ผ๏ธ', ['picture', 'photo', 'image']],
    ['๐ŸŽจ', ['art', 'paint']],
    ['๐Ÿงต', ['thread']],
    ['๐ŸŽถ', ['music', 'song']],
    ['๐Ÿ“ž', ['phone call', 'phone', 'call']],
    ['๐Ÿ”‹', ['battery']],
    ['๐Ÿ’ป๏ธ', ['laptop', 'computer']],
    ['๐Ÿ’พ', ['save']],
    ['๐Ÿ“บ๏ธ', ['tv', 'television', 'video']],
    ['๐Ÿ“ท๏ธ', ['camera']],
    ['๐Ÿ”๏ธ', ['search']],
    ['๐Ÿ’ก', ['light', 'idea']],
    ['๐Ÿ’ต', ['money', 'cash', 'dollar']],
    ['โœ‰๏ธ', ['mail']],
    ['๐Ÿ“ฆ๏ธ', ['package', 'box']],
    ['๐Ÿ—ณ๏ธ', ['vote', 'voting']],
    ['๐Ÿ“…', ['calendar', 'date', 'event']],
    ['โœ‚๏ธ', ['cut', 'scissors']],
    ['๐Ÿ—‘๏ธ', ['trash']],
    ['๐Ÿ”’๏ธ', ['lock']],
    ['๐Ÿ”‘', ['key']],
    ['๐Ÿ”—', ['link', 'url']],
    ['๐Ÿšช', ['door']],
    ['๐ŸชŸ', ['window']],
    ['๐Ÿช‘', ['chair', 'seat', 'sit', 'sat']],
    ['๐Ÿšฝ', ['toilet', 'potty', 'bathroom']],
    ['๐Ÿชค', ['trap']],
    ['๐Ÿซง', ['bubble']],
    ['๐Ÿ›’', ['cart', 'shop', 'shopping']],
    ['๐Ÿชช', ['id', 'license']],
    ['โš ๏ธ', ['warning', 'alert', 'attention']],
    ['โ˜ข๏ธ', ['hazard', 'danger']],
    ['โฌ†๏ธ', ['up', 'above', 'top', 'over']],
    ['โฌ‡๏ธ', ['down', 'under', 'bottom', 'below']],
    ['โฌ…๏ธ', ['left', 'back', 'backward', 'before']],
    ['โžก๏ธ', ['right', 'ahead', 'forward', 'after']],
    ['๐Ÿ”€', ['shuffle', 'mix', 'random']],
    ['๐Ÿ”', ['repeat', 'loop', 'again']],
    ['โฉ๏ธ', ['fast', 'quick', 'quickly', 'rapid']],
    ['โญ๏ธ', ['next']],
    ['โฎ๏ธ', ['previous', 'last']],
    ['โ™‚๏ธ', ['man', 'men', 'guy', 'boy', 'dude']],
    ['โ™€๏ธ', ['woman', 'women', 'girl', 'lady', 'ladies']],
    ['โž•๏ธ', ['plus', 'and', 'also']],
    ['โ“๏ธ', ['question']],
    ['๐Ÿ’ฒ', ['$']],
    ['#๏ธโƒฃ', ['number', '#']],
    ['๐Ÿ†’', ['cool']],
    ['๐Ÿ†“', ['free']],
    ['๐Ÿ†•', ['new']],
    ['๐Ÿ†—', ['ok', 'alright']],
    ['๐ŸŸฅ', ['red']],
    ['๐ŸŸง', ['orange']],
    ['๐ŸŸจ', ['yellow', 'amber']],
    ['๐ŸŸฉ', ['green']],
    ['๐ŸŸฆ', ['blue']],
    ['๐ŸŸช', ['purple', 'violet', 'magenta']],
    ['๐ŸŸซ', ['brown']],
    ['โฌ›๏ธ', ['black', 'dark']],
    ['โฌœ๏ธ', ['white']],
    ['๐Ÿ', ['done', 'complet', 'finish']],
    ['๐Ÿ‡บ๐Ÿ‡ธ', ['usa', 'us flag', 'united states of america', 'united states']],
    ['๐Ÿšฉ', ['flag']],
]);

replaceInText(document.body, emojiMap);

function replaceInText(element, map) {
    for (let node of element.childNodes) {
        switch (node.nodeType) {
            case Node.DOCUMENT_NODE:
            case Node.ELEMENT_NODE:
                replaceInText(node, map);
                break;
            case Node.TEXT_NODE:
                for (let entry of map) {
                    for (let string of entry[1]) {
                        let regex = new RegExp(`([^a-z])${string}((ing|ed|s)?[^a-z])`, 'gi');
                        node.textContent = ` ${node.textContent} `.replace(regex, `$1${entry[0]}$2`).slice(1, -1);
                    }
                }
                break;
        }
    }
}
">
๐Ÿคช Emojify Text!
</a>

<h2>Directions:</h2>
<ol>
  <li>Drag & drop the Bookmarklet above into your web broswer's bookmarks.</li>
  <li>Visit any webpage.</li>
  <li>Click your Bookmarklet.</li>
  <li>Enjoy reading emojis and trying to figure out the original text.</li>
</ol>

<h2>Sample:</h2>
<p>The quick brown fox jumps over the lazy dog</p>
body{text-align: center;background-color: #619ec2;font-family: "Gill Sans", "Gill Sans MT", Calibri, sans-serif;
color: #fff;
-webkit-font-smoothing: antialiased;
text-shadow: 0 1px 1px rgba(0,0,0,0.3);
max-width: 600px;margin:auto}
a{
  color:rgba(0,0,0,0.25);
}
ol{text-align: left;max-width: 400px;margin:auto}

.bookmarklet,.code {
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
-ms-border-radius: 4px;
-o-border-radius: 4px;
border-radius: 4px;
font-size: 1.25em;
position: relative;
cursor: move;
color: #fff;
text-decoration: none;
background: rgba(0,0,0,0.25);
padding: 10px 20px 8px;
margin: 0 0 10px 0;
display: inline-block;
overflow-y: auto;
overflow-x: hidden;
}
.code{
cursor: initial;
  max-width: 560px;
  max-height: 100px;
text-align: left;
}
.note{
  text-transform: uppercase;
}
var emojiMap = new Map([
    ['โค๏ธ', ['heart', 'love', 'favorite']],
    ['๐Ÿ˜€', ['smile', 'happy']],
    ['๐Ÿ˜‚', ['laugh', 'lol', 'haha']],
    ['๐Ÿ˜‰', ['wink']],
    ['๐Ÿ˜˜', ['kiss']],
    ['๐Ÿคช', ['silly', 'goofy']],
    ['๐Ÿค”', ['think', 'thought', 'wtf']],
    ['๐Ÿ˜ด', ['sleep', 'zzz']],
    ['๐Ÿคฎ', ['barf', 'vomit', 'puke', 'sick', 'throw up', 'threw up']],
    ['๐Ÿ˜ข', ['cry', 'sad']],
    ['๐Ÿฅฑ', ['yawn', 'tired', 'sleepy', 'lazy']],
    ['๐Ÿ˜ ', ['angry', 'mad']],
    ['๐Ÿคฏ', ['wow', 'wtf', 'omg']],
    ['๐Ÿ’€', ['skull', 'dead']],
    ['๐Ÿ’ฉ', ['poop', 'poo', 'shit', 'crap']],
    ['๐Ÿ‘ป', ['ghost', 'boo']],
    ['๐Ÿ‘ฝ๏ธ', ['alien']],
    ['(โ„น๏ธ๐Ÿ“ฒ)', ['iphone']],
    ['(๐Ÿค–๐Ÿ“ฒ)', ['android phone', 'android']],
    ['๐Ÿค–', ['robot']],
    ['๐Ÿ’ฏ', ['100']],
    ['๐Ÿ’ฌ', ['talk', 'chat', 'speak', 'speech']],
    ['๐Ÿ––', ['spock', 'live long and prosper', 'vulcan salute']],
    ['๐Ÿ‘Ž๏ธ', ['dislike', 'dont like', 'do not like', 'thumbs down']],
    ['๐Ÿ‘๏ธ', ['like', 'thumbs up']],
    ['๐Ÿซต', ['you']],
    ['๐Ÿšซ', ['prohibited', 'no', 'dont', "don't", 'do not']],
    ['โœ…', ['check', 'yes', 'do']],
    ['โœ๏ธ', ['write']],
    ['๐Ÿ’ช', ['arm']],
    ['๐Ÿฆต', ['leg']],
    ['๐Ÿฆถ', ['foot', 'feet']],
    ['๐Ÿ‘‚๏ธ', ['ear']],
    ['๐Ÿ‘ƒ', ['nose']],
    ['๐Ÿง ', ['brain', 'mental']],
    ['๐Ÿฆด', ['bone']],
    ['๐Ÿ‘€', ['look', 'see', 'eyes', 'notice']],
    ['๐Ÿ‘…', ['tongue', 'lick']],
    ['๐Ÿ‘„', ['mouth', 'lips']],
    ['๐Ÿ‘ถ', ['baby', 'infant', 'toddler']],
    ['๐Ÿง’', ['kid', 'child']],
    ['๐Ÿคฆ', ['facepalm', 'oops', 'oopsie']],
    ['๐Ÿคท', ['shrug', 'oh well']],
    ['๐Ÿง‘โ€โš–๏ธ', ['judge']],
    ['๐Ÿง‘โ€๐Ÿ’ป', ['coding', 'developer', 'dev']],
    ['๐Ÿง‘โ€๐Ÿš€', ['astronaut']],
    ['๐Ÿ‘ฎ', ['cop', 'police', 'officer']],
    ['๐Ÿฅท', ['ninja']],
    ['๐Ÿคฐ', ['pregnant']],
    ['๐ŸŽ…', ['santa']],
    ['๐Ÿฆธ', ['hero']],
    ['๐Ÿง™', ['wizard']],
    ['๐ŸงŸ', ['zombie']],
    ['๐Ÿšถโ€โžก๏ธ', ['walk', 'step']],
    ['๐Ÿง', ['person']],
    ['๐Ÿ‘ฅ', ['people']],
    ['๐Ÿƒโ€โžก๏ธ', ['run', 'ran', 'running', 'jump', 'leap']],
    ['(๐Ÿคธ๐Ÿฅท๐Ÿƒ)', ['parkour']],
    ['(โ˜•๐Ÿ“œ)', ['javascript', 'js']],
    ['๐Ÿ’ƒ', ['dance', 'dancing', 'dancer']],
    ['๐Ÿง—', ['climb']],
    ['๐Ÿ„๏ธ', ['surf']],
    ['๐Ÿšฃ', ['row', 'paddle']],
    ['๐ŸŠ๏ธ', ['swim', 'swam', 'swimming']],
    ['๐Ÿšต', ['mtb', 'mountain bike']],
    ['๐Ÿšฒ๏ธ', ['bike', 'biking']],
    ['๐Ÿคน', ['juggle', 'juggling']],
    ['๐Ÿง˜', ['yoga']],
    ['๐Ÿ›€', ['bath', 'tub']],
    ['๐Ÿ›Œ', ['bed']],
    ['๐Ÿถ', ['dog', 'puppy', 'k9']],
    ['๐ŸฆŠ', ['fox']],
    ['๐Ÿต', ['monkey']],
    ['๐Ÿ™Š', ['shut up', 'stfu', 'speechless', 'quiet']],
    ['๐Ÿบ', ['wolf']],
    ['๐Ÿฑ', ['cat', 'kitty', 'kitten', 'feline']],
    ['๐Ÿด', ['horse']],
    ['๐Ÿฆ„', ['unicorn']],
    ['๐Ÿฆ‰', ['owl']],
    ['(๐ŸŒƒ๐Ÿฆ‰)', ['nightowl']],
    ['๐Ÿ‰', ['dragon', 'drag and', 'drag &']],
    ['๐Ÿชฐ', ['bug']],
    ['๐Ÿ•ธ๏ธ', ['web']],
    ['๐Ÿ•ท๏ธ', ['spider', 'spyder']],
    ['๐Ÿฆ ', ['virus', 'covid']],
    ['๐ŸŒธ', ['flower']],
    ['๐ŸŒฒ', ['tree']],
    ['๐ŸŽ', ['apple', 'mac']],
    ['๐Ÿฅ‚', ['cheers']],
    ['๐ŸงŠ', ['ice']],
    ['๐ŸŒŽ๏ธ', ['earth', 'world', 'planet', 'globe']],
    ['๐Ÿ—บ๏ธ', ['map']],
    ['๐Ÿ ๏ธ', ['house', 'home']],
    ['๐Ÿข', ['office', 'building']],
    ['๐Ÿฅ', ['hospital', 'er', 'health', 'medical']],
    ['๐Ÿจ', ['hotel']],
    ['๐ŸŒƒ', ['night']],
    ['๐Ÿ™๏ธ', ['city', 'urban']],
    ['๐ŸŒ…', ['morning', 'sunrise']],
    ['๐Ÿš—', ['car', 'van', 'drive', 'vehicle']],
    ['โšก๏ธ๐Ÿš—', ['ev']],
    ['๐Ÿ›‘', ['stop']],
    ['โš“๏ธ', ['navy', 'anchor']],
    ['๐Ÿ›ฉ๏ธ', ['plane', 'airplane', 'flight']],
    ['๐Ÿš€', ['rocket', 'spaceship']],
    ['โฐ๏ธ', ['alarm', 'clock', 'time']],
    ['โญ๏ธ', ['star']],
    ['๐ŸŒง๏ธ', ['rain']],
    ['๐ŸŒช๏ธ', ['hurricane','storm','tornado']],
    ['๐ŸŒจ๏ธ', ['snow']],
    ['โšก๏ธ', ['electric', 'electricity', 'zap', 'charge', 'power']],
    ['๐Ÿ”ฅ', ['fire', 'burn']],
    ['๐ŸŽƒ', ['pumpkin', 'halloween', 'spooky']],
    ['๐ŸŽ„', ['christmas', 'xmas']],
    ['๐Ÿ’ฃ๏ธ', ['bomb']],
    ['๐ŸŽ‰', ['party', 'congrats', 'congratulations', 'yay']],
    ['๐Ÿ”ซ', ['gun', 'shoot']],
    ['๐Ÿช„', ['magic', 'wand']],
    ['๐Ÿงฉ', ['puzzle']],
    ['๐Ÿ–ผ๏ธ', ['picture', 'photo', 'image']],
    ['๐ŸŽจ', ['art', 'paint']],
    ['๐Ÿงต', ['thread']],
    ['๐ŸŽถ', ['music', 'song']],
    ['๐Ÿ“ž', ['phone call', 'phone', 'call']],
    ['๐Ÿ”‹', ['battery']],
    ['๐Ÿ’ป๏ธ', ['laptop', 'computer']],
    ['๐Ÿ’พ', ['save']],
    ['๐Ÿ“บ๏ธ', ['tv', 'television', 'video']],
    ['๐Ÿ“ท๏ธ', ['camera']],
    ['๐Ÿ”๏ธ', ['search']],
    ['๐Ÿ’ก', ['light', 'idea']],
    ['๐Ÿ’ต', ['money', 'cash', 'dollar']],
    ['โœ‰๏ธ', ['mail']],
    ['๐Ÿ“ฆ๏ธ', ['package', 'box']],
    ['๐Ÿ—ณ๏ธ', ['vote', 'voting']],
    ['๐Ÿ“…', ['calendar', 'date', 'event']],
    ['โœ‚๏ธ', ['cut', 'scissors']],
    ['๐Ÿ—‘๏ธ', ['trash']],
    ['๐Ÿ”’๏ธ', ['lock']],
    ['๐Ÿ”‘', ['key']],
    ['๐Ÿ”—', ['link', 'url']],
    ['๐Ÿšช', ['door']],
    ['๐ŸชŸ', ['window']],
    ['๐Ÿช‘', ['chair', 'seat', 'sit', 'sat']],
    ['๐Ÿšฝ', ['toilet', 'potty', 'bathroom']],
    ['๐Ÿชค', ['trap']],
    ['๐Ÿซง', ['bubble']],
    ['๐Ÿ›’', ['cart', 'shop', 'shopping']],
    ['๐Ÿชช', ['id', 'license']],
    ['โš ๏ธ', ['warning', 'alert', 'attention']],
    ['โ˜ข๏ธ', ['hazard', 'danger']],
    ['โฌ†๏ธ', ['up', 'above', 'top', 'over']],
    ['โฌ‡๏ธ', ['down', 'under', 'bottom', 'below']],
    ['โฌ…๏ธ', ['left', 'back', 'backward', 'before']],
    ['โžก๏ธ', ['right', 'ahead', 'forward', 'after']],
    ['๐Ÿ”€', ['shuffle', 'mix', 'random']],
    ['๐Ÿ”', ['repeat', 'loop', 'again']],
    ['โฉ๏ธ', ['fast', 'quick', 'quickly', 'rapid']],
    ['โญ๏ธ', ['next']],
    ['โฎ๏ธ', ['previous', 'last']],
    ['โ™‚๏ธ', ['man', 'men', 'guy', 'boy', 'dude']],
    ['โ™€๏ธ', ['woman', 'women', 'girl', 'lady', 'ladies']],
    ['โž•๏ธ', ['plus', 'and', 'also']],
    ['โ“๏ธ', ['question']],
    ['๐Ÿ’ฒ', ['$']],
    ['#๏ธโƒฃ', ['number', '#']],
    ['๐Ÿ†’', ['cool']],
    ['๐Ÿ†“', ['free']],
    ['๐Ÿ†•', ['new']],
    ['๐Ÿ†—', ['ok', 'alright']],
    ['๐ŸŸฅ', ['red']],
    ['๐ŸŸง', ['orange']],
    ['๐ŸŸจ', ['yellow', 'amber']],
    ['๐ŸŸฉ', ['green']],
    ['๐ŸŸฆ', ['blue']],
    ['๐ŸŸช', ['purple', 'violet', 'magenta']],
    ['๐ŸŸซ', ['brown']],
    ['โฌ›๏ธ', ['black', 'dark']],
    ['โฌœ๏ธ', ['white']],
    ['๐Ÿ', ['done', 'complet', 'finish']],
    ['๐Ÿ‡บ๐Ÿ‡ธ', ['usa', 'us flag', 'united states of america', 'united states']],
    ['๐Ÿšฉ', ['flag']],
]);

replaceInText(document.body, emojiMap);

function replaceInText(element, map) {
    for (let node of element.childNodes) {
        switch (node.nodeType) {
            case Node.DOCUMENT_NODE:
            case Node.ELEMENT_NODE:
                replaceInText(node, map);
                break;
            case Node.TEXT_NODE:
                for (let entry of map) {
                    for (let string of entry[1]) {
                        let regex = new RegExp(`([^a-z])${string}((ing|ed|s)?[^a-z])`, 'gi');
                        node.textContent = ` ${node.textContent} `.replace(regex, `$1${entry[0]}$2`).slice(1, -1);
                    }
                }
                break;
        }
    }
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.