Figma has become one of the most popular design tools in the world, widely used by designers, developers, and teams to create everything from web interfaces to mobile app wireframes. One of the key reasons for its popularity is the ability to export vector graphics seamlessly in the Scalable Vector Graphics (SVG) file format. However, users often encounter a peculiar issue—when attempting to export an SVG from Figma, the file is saved as a PNG instead. This unexpected behavior can be frustrating, especially when SVG format is crucial for scalability and performance needs.
TL;DR
Figma may save SVG exports as PNG files due to specific export settings, effects, or frame configurations in the design. This usually happens when raster-only elements or certain blending effects are involved. The problem can often be fixed by modifying the export settings or optimizing the design to be SVG-compatible. Designers should check layers, remove unsupported effects, and ensure proper export selection to retain the vector format.
Understanding the SVG to PNG Export Problem in Figma
The root cause of this issue lies in how Figma processes various design elements during export. When exporting, users have the choice between different formats, but even after selecting .svg, some users find that the resulting file behaves like a .png or has rasterized content within it. There are multiple reasons why this can happen.
Common Causes of PNG Exports When SVG is Selected
- Use of Raster-Only Effects: Effects such as drop shadows, blurs, or certain gradients may force rasterization.
- Non-Vector Layers: Embedded images or layers with bitmap properties are preserved as raster graphics.
- Masking and Boolean Operations: Improper use of masks and complex boolean operations may result in fallback to PNG during export.
- Frame or Group Selections: Figma may export the frame or group as a flattened raster image due to nested effects or properties.
- Incorrect Export Settings: Selecting the wrong export preset or size might cause the output format to change unexpectedly.
When Figma encounters unsupported SVG features or elements that can’t be adequately translated into XML vector paths, it opts to preserve visual fidelity by converting the output into a PNG. This is a safety measure intended to prevent poor-quality vector exports, although it can be counterproductive for developers relying on clean SVG data.

How to Prevent Figma From Saving SVGs as PNGs
To ensure your SVG exports remain vector and do not convert to PNGs in Figma, follow these actionable solutions:
1. Review and Simplify Your Layers
Go through your design layers and identify any raster elements. These typically include:
- Images (JPEGs, PNGs)
- Effects such as shadows or blurs
- Gradient fills that aren’t supported in SVG
Replace these elements or simplify them using vector-friendly alternatives. For instance, instead of using drop shadows, simulate shadows by duplicating shapes with lowered opacity.
2. Avoid Using Blend Modes That Aren’t SVG-Compatible
Blend modes such as multiply, screen, or overlay may not export cleanly to SVG. These modes often force Figma to rasterize the output. Use flat colors or reduce transparency to maintain the vector nature of the design.
3. Use “Outline Stroke” for Strokes
Before exporting, select each vector stroke and apply “Outline Stroke”. This transforms the stroke into a path, ensuring it appears properly in SVG format and is not lost or converted.
4. Use the Right Export Method
Figma provides multiple ways to export:
- Right-click component or layer > Export
- Use the Export panel in the Properties sidebar
- Copy as SVG via right-click menu
Not all of these methods behave the same way. For accurate SVG export:
- Choose “Export” via the right-click menu or sidebar
- Set the format to SVG and avoid exporting at 2x or 3x sizes which might rasterize the output
5. Flatten Transforms and Clean Paths
To ensure your design elements are SVG-export friendly:
- Use Flatten Selection (via right-click or shortcut) to merge multiple paths
- Avoid complex groups or boolean combinations unless necessary
- Simplify anchor points and curves
Exported SVGs from complicated vector objects can contain unexpected results or generate bloated code. Simplifying provides more predictable export results.

Additional Tips for Clean SVG Exports
- Use Vector Icons: If you’re using icons, make sure they’re built as paths and not imported images.
- Enable “Outline Text”: Figma offers an option to export text as paths. This prevents font incompatibility or rendering issues in browsers or apps.
- Clean Up SVG Code Post-Export: Tools like SVGOMG or SVG-Edit help optimize and clean exported files.
- Check for Hidden Layers: Hidden layers with effects can still affect export results. Delete or make them visible to verify their impact.
When Figma Forces PNG—Use Other Tools
If, despite all efforts, Figma continues to export an SVG as a PNG, consider these alternatives:
- Use Illustrator or Inkscape: Open the raster export and trace it back to SVG using vector tools.
- Manually Extract SVG Markup: Right-click the design layer and choose “Copy as SVG”. Paste into a code editor and save manually as
.svg. - Third-Party Plugins: Figma plugins like “SVG Export” or “SVG Cleaner” can bypass native issues during export.
Conclusion
Exporting SVGs from Figma should be a simple task, but unexpected results like automatic PNG conversions are common due to hidden design complexities. By understanding the factors that cause rasterization—such as unsupported effects, incorrect export methods, or complex groups—designers can adjust their workflows to ensure reliable vector exports.
Fixes typically involve removing raster effects, flattening objects, and ensuring SVG-safe composition. With proper handling, Figma becomes a powerful vector export tool once again, living up to its promise of web and UI-friendly design output.
Frequently Asked Questions (FAQ)
Why does my SVG export from Figma look pixelated?
This is likely because the file was exported as a PNG instead of actual vector data. Check the export format and avoid effects that trigger rasterization.
How do I ensure text in Figma exports properly in SVG format?
Use the option “Outline Text” during export, or convert the text to vector outlines manually using Figma’s vector tools.
Can I fix a rasterized SVG after exporting from Figma?
To some extent, yes. You can try converting the export back to vector using tools like Illustrator’s “Image Trace” or use apps like Vector Magic for conversion.
Why does ‘Copy as SVG’ work better sometimes?
‘Copy as SVG’ directly pulls the vector markup from the selected design elements, avoiding export settings that might rasterize the image.
What are the best practices for exporting SVGs in Figma?
Avoid raster effects, flatten complex layers, make strokes into paths, and always use the correct export format.
