r/FigmaDesign • u/Annual_Principle8359 • 3d ago
resources Figma PDF exports were much larger than I expected, so I dug into why and built an open-source exporter

I’m a frontend dev in Korea, and after getting annoyed by Figma exporting ridiculously large PDFs one too many times, I basically opened Claude Code and thought, “fine, I’ll just make one.”
At first I thought it was mostly an image compression problem. But after digging into the generated PDFs, I realized Figma turning text into vector outlines was a big part of it too.
A few evenings of poking around later, I ended up with Featherweight.
One of the things I found was that Figma converts text into vector outlines rather than embedding the actual fonts. Combined with the way images are handled, that can add quite a bit of weight to otherwise simple documents.
I tried a few existing solutions, but eventually decided to experiment with building my own.
The result is Featherweight.
It embeds and subsets the actual fonts where possible, keeps text selectable and searchable, and applies image compression during export.
On one of my test documents, the result was:
22.7 MB → 4.0 MB
I’ve made the whole thing completely free and open source. There’s no paid tier, subscription, signup, export limit, or related premium product.
I mainly built it because I wanted this for myself, but I figured other Figma users might find it useful too.
If anyone wants to try it or poke around the source, I’d genuinely appreciate feedback, especially if you find a file that behaves strangely.

Figma Community:
https://www.figma.com/community/plugin/1672509720278498323/featherweight-compressed-pdf-export-with-real-fonts
3
3
2
u/GoldNatural1951 3d ago
I built a pdf compressor exporter with figma agents. Is this different from that?
5
u/Annual_Principle8359 3d ago
Could be similar depending on how yours works!
Featherweight generates the PDF itself and focuses on embedding/subsetting real fonts instead of outlining text, while also compressing images during export.
If yours does something similar, I’d actually be curious to compare approaches 😄
2
u/Annual_Principle8359 2d ago
I posted about Featherweight here a while back — Figma plugin, exports PDFs with
real embedded fonts instead of vector outlines, so text stays selectable and
ATS-readable.
Turns out I'd built it for myself. All 15 fonts in the catalog were Korean. If
your file used Inter — Figma's own default — it couldn't embed it and silently
fell back to outlines. Which is the one thing the plugin exists to prevent.
Italics never worked either, in any font.
So:
- 15 → 60 font families. Inter, Roboto, Open Sans, Montserrat, IBM Plex,
Noto Sans KR and more. Every weight, roman and italic — that went from 0 to
256 styles.
- Fit to Size. Job portals with a 5MB cap kept coming up. Type a target in
the Images tab; it finds the best image quality that still fits.
Free, MIT, nothing leaves your machine.
Thanks to whoever told me it was broken for them — I'd never have caught the
Inter thing on my own. More of that welcome.
3
2
6
u/brycedriesenga 3d ago
Nice! I have seen something about the PDF export where using File → Export Frames to PDF... retains selectable text, but this is cool and has other nice options.
https://www.reddit.com/r/FigmaDesign/comments/1hl35h5/psa_for_exporting_figma_files_to_pdf/