For the designer who has better things to do than click "Export" 50 times.
You know that feeling when you have to export assets for iOS, Android, and Web, and you have to manually configure the suffixes, scales, and folders for every single layer?
Yeah, we hate that too.
Lazy Export does it for you. One click. Boom. Done. Go get a coffee. ☕
Click a card, get your settings. No dropdowns, no "Advanced Settings" modals (unless you want them).
| Preset | Vibe | What it does |
|---|---|---|
| 📱 iOS | Clean | @1x, @2x, @3x PNGs. Standard. |
| 🤖 Android | Thorough | All the drawables (mdpi to xxxhdpi). |
| 🌐 Web | Sharp | SVG + PNGs. Crisp edges. |
| Vector | For when pixels aren't enough. |
Don't even open the plugin window. Just hit Cmd + / (or Cmd + P) and type:
Lazy Export: Apply iOSLazy Export: Apply AndroidLazy Export: Apply WebIt applies the settings instantly. It’s almost too fast.
Turn this switch on to generate actual folder structures for your developers. They will love you for this.
.imageset folders with Contents.json (you can copy the JSON from the success toast!).drawable-mdpi, drawable-hdpi folders etc.Make your own. Save them. usage them. Create that specific "Marketing Header @2x JPG" preset you always need.
We rebuilt this entire thing in React 18 + Vite. No more legacy code. It's fast, modular, and actually pleasant to work on.
npm installnpm run dev (watches for changes, hot reloads UI)When importing into Figma, point to:
👉 dist/manifest.json 👈
(Not the public folder. We moved it. It's better this way.)
src/
├── ui/ # React app (The pretty part)
├── plugin/ # Figma sandbox (The brain)
└── shared/ # Shared types (The glue)
We communicate via postMessage. It's classic iframe architecture, but cleaner.
Found a bug? Want to add a "Smart Watch" preset? Open a PR. We love PRs.
Check CONTRIBUTING.md for the rules of the road.
Made with ❤️ (and caffeine) for the Figma community. v2.0.0 - December 2025