A tiny emoji util in JavaScript to solve all these things:
Node:
npm -i --save-dev emoutils
Browser:
<!-- Minified UMD version -->
<script src="https://unpkg.com/emoutils/dist/umd/emoutils.min.js"></script>
<!-- Unminified UMD version -->
<script src="https://unpkg.com/emoutils/dist/umd/emoutils.js"></script>
<!-- unminified ES version -->
<script src="https://unpkg.com/emoutils/dist/es/emoutils.js"></script>