How to compresss images in Figma using TinyImage
Follow along with this step by step Figma tutorial video.
Steps
- Open the Figma plugin directory from the Figma icon, go to Plugins, then Browse all plugins, search for TinyImage, and install it if needed.
- In your file, right-click and open Plugins, then choose TinyImage JPG/PNG Compressor, or run the last plugin to open it quickly.
- Review the list of layers with export settings; only layers with export settings appear in TinyImage.
- Select or deselect images and export sizes using the checkboxes, including the top checkbox to toggle everything.
- Adjust the compression quality with the slider, then click Compress to process the selected JPG and PNG exports.
- Save the generated zip file when prompted and open it to view the compressed image files.
- Check the per-image and total savings shown in TinyImage, and rerun the plugin after changing Figma export settings if you want different sizes or formats.

Published
Used in this video
TinyImage
ćæć¤ćć¼
Shrink Figma exports by up to 95%.
Compress JPG, PNG, SVG, WebP, AVIF, GIF, MP4, and PDF exports from Figma by up to 95%.
521k+ installs
Video Transcript
Today weāre going to see how to export compressed images directly in Figma using a Figma plugin called TinyImage. To get started, if you havenāt already downloaded it, you want to go to the Figma plugin directory; just click on the Figma icon in the header, then click on āPluginsā in the left, then click on āBrowse all pluginsā. Then in the search bar, if you just type in āTinyImageā (one word) youāll see it pop right up. Iāve already got it installed, so thatās why mine has an āinstalledā status, but if you havenāt installed it, just click on the āInstallā button there and youāll be able to use it straight away.
Once youāve installed it, you can jump back to your project and you should see it in the Figma plugins panel. To access the Figma plugin panel, you can right-click anywhere on your page and go to āPluginsā and then āTinyImage JPG/PNG Compressorā. Iāll click on that and thatās loaded the Figma plugin for us, and itās automatically retrieved all of the layers that have any export settings on the images; what I mean by that, is if we click into any of the images here youāll see on the right-hand side (outside of the plugin area) that weāve got some export settings attributed to all of these images.
All of these have different export settings and you will notice that the PNGs just have one and the JPG photos all have two, so thatās being reflected in the list of images in the plugin. We can see the description of the settings on the right hand side, so weāve got 1x JPG, 2x JPG, 1x JPG 2x JPG for all of the photos and then for all of the PNGs we can see theyāre all 1x PNG, so what that means is we get a complete overview of all of the exportable images in the file, so only images that have export settings will be included in the options a list of images for exporting from TinyImage.
We can see that by jumping into all of these images here, so if you donāt necessarily want all of them you can go through and uncheck any that you donāt actually want to compress or export. You can either do that one-by-one just by flicking through them or you can unselect all of them; so you can click on this top checkbox right at the top of the list, if you click on that itāll unselect all of them. The same thing happens if youāve already selected some of them; to select them all you can click on the top checkbox again and it will reselect all of them. You might also want to unselect by image, so if you click on any of the images, youāll see that itāll only select the exports for that particular image.
So thatās a really quick way of either unselecting images. If you just wanted to quickly unselect these three images you could click on each of them, or click on the top checkbox and unselect them, and then when we unselect our images youāll see theyāve been unselected from the whole list; that can be a nice way of doing it. The other thing you might want to do is just include one image or one frame, or two frames. For example, I might just want the Mt. Fuji photo and the matcha photo, so I can multiple select those and in the Figma plugin it will just pick up on those four, and only those will be selected (provided that Iāve kept these checkboxes checked). So thatās how you can go about selecting the images.
Letās just do a test so we can actually see it in action, so Iām going to convert compress a few images here. Iāve got two icons, so Iām just going to do the 1x, and weāve also got this photo up here which Iāll do as 2x. The default compression level is 85, but you can move this up and down to your liking; it goes all the way down to āludicrous modeā, which I donāt recommend for most images, but it can be handy if you really need to get crazy image savings. However, the default is is 85, so we might just try that for now and see how that goes. So just click āCompressā, and then now itās compressing the four images that we selected for exporting. You can see it has already finished the PNG and the JPG and now itās doing the 2x photo of the shop that we also exported.
Youāll see up here itās actually popped down a little window for me to save it. The default file name is just ātinyimageā with the date and time, so it doesnāt conflict with anything else youāve saved, but Iām going to just rename it to āsaved-compressed-1ā so we can find it easily. If we go back to my desktop, you can see it has saved our image as a zip, and this zip contains all of the image files weāve just compressed. If I open up that file, you can see weāve got our four images in here, so thereās all the four we just exported theyāre looking pretty good.
If we go back to Figma itās nice to see this breakdown of all of the compression that was done, so we can go through each line and actually check how much was saved per image. In the case of the 2x JPG of that shop photo, itās gone down from 6 megabytes to 1 megabyte so itās an 83 percent saving. The icons or the PNGs have gone down; this one has gone down from 16 kilobytes to 4 kilobytes, so itās a 75% saving. The next one is 75% and the matcha image has gone down from 3.2 megabytes to roughly 500 KB, which is 84%. Then the notification bar will also tell you a total of how much was saved overall; so overall, between these four weāve saved 83%, which is roughly 7.5 megabytes, which is quite good. Those savings obviously compound the more images that you you actually compress, so thatās pretty neat.
Once itās done you can just go ahead and click the close button in the plugin, thatāll just get rid of the plugin. If you do want to export other sizes, you can do that as well. As I showed you before, if you need to change these around, so letās just say with these icons we actually want multiple resolutions. I might want a 2x and a 3x PNG, so if I add a couple more layers to those, I can do that with these ones. I might just want to get rid of some of the export settings or I might want to include extra settings, but Iāll show you what that actually does. If I add another one back onto here; so Iāve just added another export setting; a 2x JPEG setting, just on the Mt. Fuji photo. Iāve removed them all from the other ones, and all of these also have 2x now, so what Iām going to do is rerun the Figma plugin, which you can do by the right-clicking and going back to āPluginsā and then clicking āTinyImage JPG/PNG Compressorā or you can just click Run last pluginā (and thereās a keyboard shortcut there as well), so Iām just going to click āRun last pluginā, so you can see this time our list is looking slightly different, and thatās because I just changed those export settings before I ran TinyImage again. If I click on the sushi icon, you can see over here in the official Figma interface (outside of the Figma plugin) all of the export settings that we just updated have been reflected in the plugin. So, weāve got 1x, 2x and 3x for this particular PNG, and again, I can choose which ones I actually want to compress. From there I can do none, or I can do just one or two; and if I click out of that again, youāll see down here that some of the 2x ones have been removed and a couple that we just wanted back in there have been added. So itās just the Mt. Fuji one now thatās got 2x and the other ones donāt have 2x anymore.
All of the settings and images in TinyImage come from the Figma settings, and and thatās the same way that the the native image exporting works as well. If I open up that so you can see on the right here Iāve just opened up the official native Figma export feature so this works the same way, so if I donāt select anything and then open it, you can see itās doing a very similar listing of the images, and again, you can you can re-select them, change the selection, click on the selection (actually it does close it whenever I change the selection so I have to keep reopening it), but fundamentally itās very similar and and thatās to remove the learning curve being totally different from the native export. Itās kind of just the Figma exports with āludicrous modeā built-in (quite literally).
So what we might do is run it again with these new exports. In this case Iām just going to do it for the sushi; and Iām going to select all of them; and Iām going to put this quality down quite a bit. Iām going to put it into āaggressive modeā⦠actually, Iām going to put it in āludicrous modeā just for fun. Iām going to set it to āludicrous modeā and Iām going to click āCompressā. So Iāve just got these three selected, now Iām going to click āCompressā and itās going to compress those icons for me using different settings. So now weāre in the āludicrous modeā setting and if I save that; I go back to my desktop; you can see I didnāt rename it this time, so itās just saved as ātinyimageā and Iāll open up that. You can see it has saved out my three three images, so thatās in 1x, 2x and 3x. If we jump back here, youāll see the savings on those images have gone to 79%, 81%, and 79%, so a total of 80 percent saved. All those are PNGs, and because the PNG icon is quite smooth and the lines are quite quite simple, the compression isnāt as noticeable (even at that extreme), so itās a good way to save file size without actually losing much quality. you probably wouldnāt want to do ludicrous mode for high quality image or images like, this I can show you what that looks like, but youāre probably not going to want to do that. What Iām going to do is Iāll Iāll export this one and a re-run TinyImage, and and youāll notice that if I open TinyImage with a layer selected itāll automatically just load up that layer, where as if I load it up without any layers selected, itāll just default to showing all of the layers with export settings on them in Figma. If you do really want to do a quick export of an image, the way I usually do it is just right-click it and click on āRun last pluginā or āTinyImage JPG/PNG Compressorā (or use that shortcut for running the last plugin) and just open it up with the layer selected and youāll see it pre-selects that particular image with those export settings. So thatās a really quick way of doing it if you just want to export one or two layers, you can do that really easily and pre-select them. So Iāll export these ones at a lower quality, so Iām just gonna move this down, so I might do like ā55ā or something and see what that looks like. Iām going to compress this at ā55ā and see what happens; Iāll actually get rid of the matcha and Iāll just do the Mt. Fuji. So at ā55ā and click āCompressā; itās compressing those two now, it has finished the 2x, and finished the 1x.
Iām just going to save that and rename it. Iām going to save that to my desktop Iām gonna check that out. Iāll just unzip that .zip file, and I can see itās got my two images; Mt. Fuji at 1x and 2x. That was set at ā55ā quality, and itās actually pretty good; you can notice a little bit of artifacts around the mountain in the 1x, but the 2x one is actually quite good, Iām not noticing many artifacts at, all which is cool. Then if we go back to the the output, so at quality ā55ā you can see weāve saved 93% exactly on both sizes. This was just for 2 images, so weāve gone down from 2 megabytes to 138 kilobytes, and weāve gone from 5.5 megabytes or 5.6 megabytes down to 383 kilobytes; so in total just off those two sizes of that image weāve saved 7 megabytes. So, thatās 7 megabytes that wonāt have to go down the wire to any anyone using our website or on our on our blog, or loading it on an email or banner, or whatever itās being used for, on an e-commerce page.
So thatās just an example of how you can save quite a bit of data for users using TinyImage, and and you can experiment with this, as Iām just showing you with the slider. You can experiment with this so if you if you find that ā55ā is too aggressive in that case, you know you could try ā65ā or you could just kind of bump it up in increments of 10 and and compare the outputs to see which one suits the kinds of images that youāre using. It all depends on how detailed the images are how big they are in terms of resolution or dimensions, and same for PNGās; PNGs work really well for transparency, so these icons for example are perfect for PNG, however, if you were going to set these kinds of photos as PNG, itāll still compress them, but you wonāt get nearly as good as saving as you would if you are setting them to JPG; and the PNG compression is just going to take a bit longer as well with the the photos. So, typically I would use JPG for the photo style ones, and use PNGs for anything that you need transparency for.
So, I hope this has been a helpful intro to compressing images in Figma, and if you have any questions please reach out, but until then I hope youāve enjoyed it and I look forward to giving more Figma tutorials like this in the future!

Adam Brock
Founder & CEO of Hypermatic


