For anyone wanting to avoid loading several hundred pngs, here's the trick
See original GitHub issueBy default emojione loads a small png for each emoji, but there’s a spritesheet option that loads only one image then renders via background-position for each emoji.
It’s simple to turn it on. Just add these two lines of js before rendering the Picker:
emojione.imageType = 'png'; emojione.sprites = true;
Hope this helps someone. Awesome little component here, @tommoor, thank you! Here’s a screenshot of my (not yet public) implementation which is going on a dark background:

Issue Analytics
- State:
- Created 8 years ago
- Comments:7 (1 by maintainers)
Top Results From Across the Web
Preventing Content Reflow From Lazy-Loaded Images
Reflow is a problem because it's a user-blocking operation. It slows down the browser by forcing it to recalculate the layout of any...
Read more >10 Image Optimization Tips for Your Ecommerce Website
For images that make up borders or simple patterns, make them PNG-8 or GIFs. You can create good-looking images that are only a...
Read more >How to Improve Your Page Load Speed by 70.39% in 45 ...
CSS sprites work because it's faster to load one big image and use CSS to show the section you want than it is...
Read more >20 YouTube Tricks, Hacks, and Features You'll Want to Know ...
Here, you'll find a menu of options to the left-hand side with a timeline bar along the bottom of your video. You can...
Read more >The 17 Most Important SEO Tips for Higher Rankings - Backlinko
You probably already know that you should add keywords to pages that you want to rank. Use your target keyword in your content....
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found

it would be great if the emojione settings could be passed in as props. I ended up forking the repo and setting the following options for emojione:
then in the component where I render the emoji-picker I loaded the svg inline:
using the an inline loader for SVG: dangerouslySetInnerHTML.loader.js
found here: http://stackoverflow.com/questions/30844298/how-do-i-load-svgs-directly-in-my-react-component-using-webpack
this saves all HTTP requests as the sprite gets bundled with the rest of the app.
I was going to do a PR, but it went off too early. I can still make a PR, if people are interested.
Make sure you have the SVG inline somewhere.
And be aware this is going to add 4.6MB to your bundle size. So you’ll probably want to split it out into it’s own webpack bundle.