How to export Progressive JPEG images from Figma using TinyImage
Follow along with this step by step Figma tutorial video.
Steps
- Install TinyImage Compressor from the Figma Plugins tab.
- Open the plugin in your project from the Plugins menu or the Figma sidebar.
- Add export settings to the image layers you want to export, and change the export format from PNG or SVG to JPG.
- In TinyImage, open Settings and turn on Use Progressive JPEG Compression.
- Click Compress, then Save the exported ZIP file.
- Open the ZIP and confirm the output images are progressive JPEGs using a progressive JPEG test page.
- Adjust the quality slider and repeat the export if you want a different size and quality balance.

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, Iām going to be showing you how to export progressive JPEGs directly from Figma.
To do this, we need to install a Figma plugin called TinyImage if you go to the toolbar in Figma and click on the Figma icon in the top left and then go to your search and search for the word TinyImage which is just one word youāll see a plugin called āTinyImage Compressorā popup on to the āPluginsā tab youāll see this little icon here thatāll be quite recognizable instantly, and then if you havenāt already installed it youāll see a button over here that says āinstallā, Iāve already got it installed and thatās why mine says āinstalledā with the little check box, but if yours just says āinstallā, click on that button and then it will change to say āinstalledā like mine does.
Once youāve installed it you can jump back into your project and to open the Figma plugin just right click anywhere go down to plugins then go down to āTinyImage compressorā and click on that and that will run the Figma plugin that we just installed. Because we want to export progressive JPEGs, weāre not going to probably do that for these these icons, these are probably more suited to PNG because theyāve got transparency. You could export them as JPG, but in this case Iām much more interested in these photos that are that are going to be much better for our progressive JPEG output.
The first thing you need to do is make sure that you have export settings on your layers. Iāve already got them set up but if you donāt, Iāll just show you what that looks like. Iāve just removed the export settings on this image over here; if I click on ārefreshā in the TinyImage Figma plugin, you can see I got this little warning just letting me know that none of the selected layers, in this case the one Iām selecting now, none of those layers have any export settings on them.
We need to add one at least one to let TinyImage know what image we want to export. In this case Iām just going to click on my image over here and go over to the right-hand column, click on āexportā, and then that will give me the default option of PNG; but in this case because I want to export progressive JPEGs from Figma, I need to click on this SVG drop-down and change that to JPG; now thatās set to JPG I can also add another one; I can add another export setting at 2x and change that also to be JPG.
If I click on this little ārefreshā button in TinyImage, thatās detected these new export settings that Iāve added to my image. If your images arenāt showing up, it just means that you need to to add those export settings in Figma and tell TinyImage what you intend to export from Figma.
Now that weāve got our JPG export settings set up on all of our images here, weāve got 1x and 2x JPG on all of them. we can start to export them and see what that looks like. Because we want to export progressive JPEGs. which is a specific format that allows you to load in the images a little bit differently than they usually get loaded in; normal JPGs when you put them on a website and look at them in a browser, theyāll be loaded from top to bottom; youāll notice when you see images loading sometimes it starts loading at the top; the strips of the image the top come in from top to bottom, but progressive JPEGs are exported in a slightly different way. Instead of getting loaded in from top to bottom, it loads in progressively sharper versions of the the entire image itself; the first pass will be youāll see all of the image but itāll be not quite super clear what what it is and then it progressively loads in the image detail, but loads it all in one go. Rather than top to bottom line by line itāll load in the full image, but just a lower quality version of it first and then progressively load in a sharper version. Itās itās just a different way of using JPGs on a website that might be more suited for your particular use case.
Describing progressive JPEGs aside, now we want to actually create them; in this case Iām going to use the image that weāve got over here as a test case. In TinyImage, to enable progressive JPEG exports from Figma, we need to click on this little āSettingsā button here in this TinyImage toolbar. If I click on that icon youāll see a couple of options pop up; weāre not interested in the bottom options at the moment, but we are interested in this little toggle switch that says āUse Progressive JPEG Compressionā; by default thatās turned off, but Iām going to click on that toggle and enable it.
Now that weāve got āUse Progressive JPEG Compressionā enabled; we can close that off and get out of the settings. Now, thatās enabled progressive JPEGs; you can see here the formatās still set to JPG, but because weāve got our compression setting turned to progressive JPEG, thatās going to use the progressive JPEG option when we export. Letās click on āCompressā and let TinyImage do its thing, by compressing just the two images to start with.
Once thatās done, itās going to save them as a zip file for us. We can just go ahead and click on āSaveā, and before we open that up, you can see here I had the quality set very aggressively at 20; the quality savings are ludicrous, weāve got 96 percent savings on both of those JPGs. The images arenāt going to look amazing, but thatās just an idea of how far you can actually push it; itās not the full extent, but ā20ā quality out of 100 is pretty low. You can see here weāve dropped from a 5 megabytes to 220 kilobytes and 1.74 megabytes down to 78 kilobytes; weāve just saved a total of 6.4 3 megabytes just on those two images alone.
If I double click on the zip file that it has exported for me, Iāll open up that folder and youāll see here weāve got our two images that we just expected to see. Thatās the 2x version that we can see here, and itās not horrible; itās certainly got some artifacts here if you look at the these banners in the photo, but if that was half size down to 1x, that actually looks really good you would not be able to tell at a glance that weāve compressed it down so far. Comparing that to something thatās the original size, where we havenāt saved the 96%, I think that 96% saving is a really good trade-off for that.
How do we actually tell that this is a progressive JPEG? Iām going to show you how to do that now. If I close this off, Iām just going to open up my web browser and point you to a page that we can actually have a look at. You can see Iām just using this basic website that I found on Google by searching for āprogressive JPEG testā. What this lets us do is we can upload an image, if I click on āchoose fileā, open āTinyImage Compressionā, the one we just did, Iām just going to upload one of those images, and you can see here itās flagged it as āprogressiveā.
Itās giving us an example of what a progressive JPEG might look like as well; Iāll click into that and just show you; you can see here, I donāt know if you could you could see that very clearly, if I refresh that thatās probably cached, but it it loaded it in at a slightly lower quality and then and blurred it up. Thatās roughly what what the idea is behind it. Thatās cool, that means weāve confirmed that the the export worked and we now have progressive JPEGs, which is which is awesome.
If we want to do that again, we can just rerun TinyImage from the Figma plugins sidebar; because weāve already launched it, you can just click on this little icon in the sidebar under āpluginā and click on TinyImage, youāll see the little milk bottle icon, and thatāll rerun it for you without having to open up your right-click menu. Iām going to re-run this experiment and do all of these images, now Iām going to set it to 50 instead of 20, just to get a slightly more a reasonable output. If I compress that again, this is going to go through eight different images, because weāve got retina and non-retina export settings on on all of them, and I just want to give you an idea of roughly what quality you can expect to get across the board if we if we export them all at 50 percent quality.
Thatās all done now; we can save that, and if we look at the numbers again, itās just super good compression. Weāve got 92% saved from 8 images, weāve just saved an absolute number of 29.5 megabytes. which is which is massive. If youāre putting these up on a website and exporting these progressive JPEGs from Figma just to put on your website, then 29 megabytes is massive for your users. You can see the numbers speak for themselves.
We can go ahead and unzip that and jump in there. As you would expect, youāve got all the images that we that we wanted, 1x and 2x for all of them, obviously the 2x ones turned out a bit better, but the idea would be just to play around the quality slider and keep doing that until youāre satisfied with the output quality versus size, and just keep doing that.
Thatās the entire process of exporting progressive JPEG files directly from Figma; as always, thank you for tuning in and watching, I hope youāve learned something and I hope that it helps you out with your own projects or websites that youāve got going on at the moment. Until next time, thanks again!

Adam Brock
Founder & CEO of Hypermatic


