TinyImage works by detecting the export settings/formats you’ve set on any layers in your Figma page and allows you to export them as compressed images using the TinyImage plugin. For more details about the fundamentals of Figma export settings and how they work, please see the official Figma guide to exports in Figma. Please ensure you’ve added export settings (by clicking Export + in the right hand Figma column) to any layers you would like to compress, otherwise they won’t show up when you open TinyImage, just like the standard Figma exports work.
Compressing PNG and PDF exports can take a bit longer than JPG and SVG exports, especially if they’re very detailed or have large dimensions. TinyImage will warn you if an image is too large to compress.
GIFs are a bit different from normal JPG/PNG images, as they can only contain a maximum of 256 colors. If you’re using highly detailed images or gradients with lots of color variation, it’s expected that it won’t look as sharp or have the same color accuracy as the original images used as the source of the GIF due to this limitation of the GIF format.
The GIF file format supports either 0% opacity or 100% opacity, but nothing in between. This means that you can have an animated GIF with a completely transparent background behind elements that are completely opaque and visible. This means that layers either need to be completely transparent or not; any layers with lower than 50% opacity will be transparent, while any layers with opacity greater than 50% will be opaque.
Unfortunately, this is a known issue that’s caused by a Figma update that shipped recently where it now requires every image on the current page to finish loading before a plugin can use/export any image (even if it’s just one). Due to that new behavior, it tends to happen more in larger Figma files, if the plugin is run soon after it has been opened, before all the images have had a chance to load. The two options here are to wait a bit longer for the images to finish loading in the Figma file, or if you only need to export a few layers and the page is huge, copying those selected layers into a new Figma page and re-running TinyImage there will be much faster.
There’s a strange bug in Figma related to using “sub-pixels” in your frames/image properties, which can cause your exported images to be “rounded” up or down to a different size. The solution to this is to ensure that the frame or parent frame (artboard) that you’re exporting doesn’t contain any sub-pixel values (eg. 1000.08) by removing them from the property (eg. 1000). This should export the image in the dimensions you expected. For more details, there’s a thread on the Figma forums discussing the issue.
There’s a known issue with the Figma desktop app (only on Windows), which also happens for normal file exports from Figma. When you go to save your file, you may see an “all files” label. If you ignore this and continue by clicking “Save”, it should still save the file with the correct extension and allow you to open it as expected after it has downloaded to your computer. If it still saves the file with a blank extension, you should be able to rename the file to manually append the correct extension to the file name.
If your PDF exports are going really slow, it’s likely due to having high-res/large image fills in some of the content, which causes Figma to take a much longer time generating PDFs. To help with this issue, you can use the “Downsizer” feature in TinyImage to shrink down your image fills to match their layer size, which will shrink their file size and ensure they load much faster in your Figma file. Once you’ve finished downsizing the image fills in your Figma page, re-running TinyImage and exporting your PDF again via the plugin should be much faster.
Occasionally some images will contain a faint, thin white line around the edges. Figma does this if a layer isn’t positioned on a rounded pixel value (eg. Y: 156.76 or X: 56.3) will automatically result in this sub-pixel line getting included in the export. To resolve the issue, please ensure that your layer positions are all rounded pixel values.
If you’re exporting your images or a PDF while the image assets in Figma are still progressively loading, they may be exported looking pixelated, as the image wasn’t fully loaded in the Figma file before it was exported. To resolve this, please ensure that all of the images have loaded 100% and are looking sharp inside the Figma file before exporting your images or PDFs with the TinyImage plugin. To help further with solving this issue, you can use the “Downsizer” feature to shrink down your image fills to match their layer size, which will shrink their file size and ensure they load much faster in your Figma file.
There’s currently a bug where some “Tile” image fills won’t be included in compressed PDFs; the workaround is currently changing the fill in Figma to either “Fit” or “Fill”.
Please note, if you’re in China, the accounts server may be blocked by “The Great Firewall of China”. If you’re seeing an activation error, despite using a valid key, you will likely need to use a VPN to resolve the issue.