Featherweight – Compressed PDF Export with Real Fonts
Real fonts, images sized to what you see, and a size you name. See it all before you export.
Plugin Preview
About this plugin
Figma's built-in PDF export turns every letter into vector outlines. Your text can't be selected, searched, or read by résumé scanners (ATS) — and text-heavy documents balloon to 10–20MB that no compressor can shrink, because there are no images to compress.Featherweight fixes the text itself, gets the file down to the size you need — and tells you what will happen before you export.🪶 REAL FONTS, NOT OUTLINESText is re-embedded as real subset fonts — italics included. It stays selectable, searchable, copy-pasteable, and ATS-parseable.Inter (Figma's own default), Roboto, Pretendard and 57 more are fetched and embedded for you. A text-heavy résumé drops from ~10MB to under 1MB.🪶 SMART IMAGE COMPRESSIONImages are downscaled to the size they are actually displayed at, then re-encoded.Pick a preset — Sharp / Balanced / Smallest / Target — and see the exact numbers it sets, or open the Images tab for image size (Largest, Smallest and Scale, up to 288 DPI for print) and quality.Every image is listed with its visible area, where it starts and the size it ends up, so you can see the setting land before you export.A picture that is only partly visible is stored as just that visible area when that makes the file smaller. Logos and already-small images pass through untouched, so nothing that was sharp gets muddy.🪶 FIT TO A TARGET SIZEHave a 5MB upload limit? Type the number.Featherweight exports once to measure, then finds the best image quality that still fits and re-exports at that setting. It measures the finished PDF too, and if it came out over the target it re-exports with the next candidate.The Result card says which settings it chose.Quality never drops below a floor — if your target is out of reach it gives you the smallest possible file and tells you what that floor is, instead of quietly wrecking your images.🪶 KNOW BEFORE YOU EXPORTSix tabs follow the work: Start, Order, Fonts, Images, Options, Result.Start shows only what needs you — a missing font, text that would stay outlined and why — and a tab turns amber when there is something in it to look at.Follow it, or export anyway. No surprises after the fact.🪶 SEE WHAT YOU SHIPPEDResult opens on the finished PDF: its first page, its size, how many text layers went in with fonts and how many stayed as outlines — each reason clickable to find the layer on canvas.It also shows the text a parser will actually read, so you can check your name and contact details made it through before you submit.🪶 FIGMA SLIDES TOORun it in a deck and every slide becomes a page, in deck order — with real fonts and downscaled images, where Slides' own PDF export outlines the text and keeps every image at full size.Together these make a real difference: a 12-page portfolio went from 22.7MB to 4.0MB with the same pages and the same look.HOW IT WORKSSelect frames and run Featherweight — in Figma Slides, run it with nothing selected to export the whole deck.Pick a preset — or Target, and type the size you need.Check the Start tab; follow a warning to the tab that fixes it.Export — the save dialog is pre-filled with a timestamped file name, and Result tells you what went in.WHAT MAKES IT DIFFERENT60 open-license font families embed automatically, starting with Inter — Figma's own default — then Roboto, Open Sans, Montserrat, Lato, Poppins and 37 more Latin faces, plus 17 Korean ones (Pretendard, Noto Sans KR, Nanum, Gothic A1, Spoqa…). Every weight, roman and italic. For anything else, point it at your font folder once — the matching files (.ttf, .otf and .ttc, macOS and Windows system fonts included) are picked out for you, and the Fonts tab says per font what was found and why it wasn't added.Never substitutes fonts. Anything it can't embed keeps its original outlines — identical look, honestly reported with a reason you can click to locate the exact layer on canvas.100% local. Your document never leaves your machine — network access is used only to download open-license fonts (cdn.jsdelivr.net). No telemetry, no account, no upload.Free and open source (MIT): github.com/coffeequickly/featherweightGOOD TO KNOWAlways proofread the exported PDF before submitting it anywhere. Text is redrawn with real fonts and may differ subtly from Figma's rendering. You are responsible for the files you produce.Fonts you add yourself are embedded as-is: static .ttf/.otf files, one per weight, or a .ttc collection (the right face is picked). Variable fonts are skipped — use the static files from the download. A font whose own embedding flag forbids it (the OS/2 "Restricted License" bit, the rule Acrobat and browsers follow) is refused and stays as outlines. That flag is the font's word, not a license review: confirming that your font's license permits document embedding is your responsibility. All auto-downloaded fonts are SIL OFL and permit embedding. Storage for added fonts is 5MB, shared across every file; the Fonts tab shows what is in it and lets you clear it.Rotated text, gradient/stroke/effect text and underlines keep their original outlines by design — never silently altered. Start names them before you export.Text is embedded in an extractable form, but no specific ATS parsing result is guaranteed. Not affiliated with Figma, Inc.FONT SOURCES & CREDITSEvery auto-downloaded font is licensed under the SIL Open Font License 1.1, which permits embedding in documents. The files are the upstream originals — Featherweight does not modify, host or redistribute them; your machine fetches them at export time over the jsDelivr CDN (cdn.jsdelivr.net).Google Fonts: github.com/google/fontsExpo Google Fonts: github.com/expo/google-fonts Static builds of families Google now ships variable-only, such as Inter and Noto Sans KR.Pretendard: github.com/orioncactus/pretendardSpoqa Han Sans Neo: github.com/spoqa/spoqa-han-sansEvery URL is pinned to a commit or a package version, and verified weekly against the real files.Featherweight is not affiliated with, or endorsed by, any of these projects. Font names are trademarks of their respective owners.─────Figma 기본 PDF 내보내기는 글자를 아웃라인으로 변환하기 때문에 텍스트를 선택하거나 검색할 수 없고, 글이 많은 문서는 용량도 쉽게 10~20MB까지 커집니다.Featherweight는 아웃라인된 텍스트를 실제 폰트로 다시 넣어 선택하고 검색할 수 있는 상태로 만들고, 이미지는 화면에 보이는 크기에 맞춰 최적화합니다. Pretendard, Noto Sans KR, 나눔 등 한글 17종을 포함한 60종의 오픈 라이선스 폰트를 자동으로 지원하며, 5MB처럼 원하는 목표 용량에 맞춰 PDF를 내보낼 수도 있습니다.시작, 정렬, 폰트, 이미지, 옵션, 결과의 여섯 탭이 작업 순서대로 구성되어 있고, 확인이 필요한 항목이 있는 탭은 색으로 알려 줍니다.내보낸 뒤에는 결과 탭에서 어떤 텍스트가 실제 폰트로 들어갔고 어떤 부분이 아웃라인으로 남았는지 확인할 수 있습니다. PDF에서 파서가 실제로 읽어들이는 텍스트도 함께 보여 주기 때문에 제출 전에 이름이나 연락처 같은 내용이 정상적으로 추출되는지 직접 확인할 수 있습니다.문서 내용은 컴퓨터 밖으로 전송되지 않습니다. 기능 제한 없이 무료로 사용할 수 있으며, 소스 코드도 오픈소스로 공개되어 있습니다.플러그인 화면은 Figma의 언어 설정에 따라 한국어로 표시됩니다.자세한 한국어 안내:github.com/coffeequickly/featherweight#한국어-안내
Plugin Details
| Version | 25 |
|---|---|
| Created | August 21, 2026 |
| Last Updated | September 13, 2026 |
| Category | Import & export plugins |
| Creator | Wonseok Jang |
| Stats | 104 installs, 30 likes |
| Pricing | Free |
Technical Details
- API:1.0.0
- UI:build/ui.js
- main:build/main.js
- Document Access:dynamic-page
- Network Access:
Downloads the open-licensed fonts your document uses (Inter, Roboto, Pretendard, Noto Sans KR and 56 more — all SIL OFL) so text can be embedded as real fonts instead of vector outlines. Fonts are served from the jsDelivr CDN at pinned versions. Nothing is uploaded; your document content never leaves the machine.
- Editor Types:figma
- Allowed Domains:
- https://cdn.jsdelivr.net
More Like This
Discover other plugins in the Import & export plugins category.
CoverCraft - Figma x Hashnode
Seamlessly Set Cover Images from Figma to Hashnode
Free Compressed PDF and Image Exporter (PDF, PNG, JPG, WebP and SVG)
Export compressed PNG, PDF, JPG, SVG, WebP & merge multiple frames into one PDF—fast & easy! 🚀
Color Import / Export
Help design and dev teams stay in sync by providing import and export tools for color palettes