Releases: Lukas-Bohez/figma-extract-all
Release list
Extract All v9.0.0 — Single ZIP Download
Install
Download ZIP > unzip > Figma: Plugins > Development > Import plugin from manifest > select manifest.json
v9.0.0 — Single ZIP Output
- All files now bundled into one _extract.zip
- No more hundreds of download windows crashing Figma
- Full Extract, AE Extract, AI Extract, Batch Export — all produce one ZIP
- ZIP contains: JSON data, TXT text dump, all SVGs in svgs/ folder
Extract All v8.0.0 — Sync, Never Blocks
Install
Download ZIP > unzip > Figma: Plugins > Development > Import plugin from manifest > select manifest.json
v8.0.0 Fixes
- Manifest now valid — removed enableProposedApi, networkAccess, documentAccess fields
- Never gets stuck — Full Extract is synchronous (3 fast steps). Variables/Styles download async separately.
- Recursive deep flatten — all children exported, including icons deeply nested in groups
- Cancel works — Esc or Cancel button stops all operations
Extract All v7.0.0 — Deep Recursive Extraction
Install
Download ZIP from this release > unzip > Figma: Plugins > Development > Import plugin from manifest > select manifest.json
v7.0.0 — True Recursive Extraction
Fixed
- Lottie now exports ALL children recursively — no longer just top-level frames. Every node inside selected frames gets its own SVG entry.
- Variables API no longer hangs — added 3-second timeout, gracefully returns empty if API stalls
- SVG export includes INSTANCE nodes — previously excluded, now all renderable types exported
- deepFlatten() truly recursive — walks every child at every depth level
All Features
- 3-tab UI: After Effects / AI-Website / Assets
- Full Extract JSON + TXT with hex colors, fonts, absolute positions, parent hierarchy
- Variables with named modes (Light/Dark) and hex values
- Paint/Text/Effect/Grid styles
- Components with dimensions and variant properties
- Lottie JSON Bundle (recursive — all children)
- Bodymovin/Lottie import validator
- Selected nodes SVG/PNG/JPG at scale
- Batch export current page or ALL pages
- Cancel button + Esc key
- Ctrl+Enter = AE Extract
- AI_NAVIGATION.txt at repo root
- Light/dark theme toggle (persisted)
- MIT license, 9 releases on GitHub
Extract All v6.0.0 — Selection Scope + SVG Export
Install
Download ZIP from this release > unzip > Figma: Plugins > Development > Import plugin from manifest > select manifest.json
v6.0.0 Changes
- Selection-scoped extraction: When nodes are selected, Full Extract now extracts ONLY those nodes and ALL their children. If nothing is selected, extracts entire page.
- SVGs exported in AE/AI workflows: After Effects and AI tabs now properly export all vector/shape/icon nodes as individual SVG files in svgs/{PageName}/ folder. Icons, rectangles, ellipses, vectors, frames, components — all exported.
- Recursive flattening: Uses flattenAll() which recursively collects every child node including deeply nested ones in groups and frames.
- Proper naming: SVG files are named after the Figma node name, page-namespaced for disambiguation.
- Progress during SVG export: Shows current/total count with 'SVGs' label.
Extract All v5.0.0 — Fast, Robust, Cancelable
Install
Download ZIP from this release, unzip, then Figma: Plugins > Development > Import plugin from manifest > select manifest.json
Or from source: git clone https://github.com/Lukas-Bohez/figma-extract-all.git && cd figma-extract-all && npm install && npm run build
v5.0.0 — All Bugs Fixed
What was broken and is now fixed:
- 0 components — component walker had silent error swallowing in try/catch. Now uses a robust recursive walker that actually finds all components.
- Incredibly slow — Full Extract was exporting ALL SVGs inline (batching 15 at a time, hundreds of nodes = minutes). Now Full Extract runs in 4 steps (text, vars+styles, components+pages, counts) — completes in seconds.
- No progress shown — progress messages existed but the UI wasn't showing them due to race condition with isExporting. Now shows clear step-by-step progress: Step 1/4 Text extracted (523 nodes), Step 2/4 Variables & Styles, etc.
- Couldn't cancel — no cancel mechanism existed. Now has a red Cancel button that sends cancel message to plugin backend which sets a cancel flag checked during batch operations.
- Download spam — Full Extract was downloading individual SVG files for every single node. Now downloads exactly 2 files: JSON + TXT.
Still works:
- 3-tab UI (AE / AI / Assets)
- theme toggle with persistent state
- Lottie/Bodymovin export & import validation
- Selected nodes SVG/PNG/JPG
- Batch export current page or ALL pages
- Ctrl+Enter = AE Extract, Esc = cancel
Extract All v4.0.1 — All Onclick Handlers Fixed
Install Guide
Option 1 — Download ZIP: Download Source code (zip), unzip, then Figma: Plugins > Development > Import plugin from manifest > select manifest.json
Option 2 — From source: git clone https://github.com/Lukas-Bohez/figma-extract-all.git && cd figma-extract-all && npm install && npm run build
v4.0.1 — Critical Fix
Root cause of all broken buttons in v4.0.0: The entire JavaScript was inside an IIFE (function(){...})(), making onclick= handlers unreachable since they referenced functions not on window.
Fix: Replaced all onclick= attributes with data-action= attributes and a single addEventListener delegation loop that wires all buttons properly.
What works now:
- Theme toggle button (class-based .dark on body)
- Tab switching (data-tab + addEventListener)
- AE Extract, AI Extract buttons
- Selected nodes SVG/PNG/JPG
- Batch export SVG/PNG
- Variables, Styles, Components, Pages
- Lottie import validator
- Ctrl+Enter / Esc keyboard shortcuts
Extract All v4.0.0 — Fixed UI (Theme, Tabs, Layout)
Install Guide
Option 1 — Download ZIP (recommended):
- Download Source code (zip) from this release
- Unzip, then in Figma: Plugins → Development → Import plugin from manifest → select manifest.json
Option 2 — From source:
git clone https://github.com/Lukas-Bohez/figma-extract-all.git
cd figma-extract-all
npm install && npm run build
Then import manifest.json in Figma.
v4.0.0 — Fixed UI
This release fixes all UI bugs reported in v3.x:
- Theme toggle now works — switched to class-based dark mode (.dark on body) instead of html[data-theme] which was stripped by Figma sandbox. localStorage wrapped in try/catch.
- Tab switching works — removed width:100% from base button CSS that was overriding tab buttons. Tabs now use flex:1 only within .tabs container.
- Layout no longer overflows — theme button and tabs have width:auto !important. Removed backdrop-filter:blur() which does not render in Figma WebView.
- All onclick handlers work — wrapped JS in IIFE with strict mode, used var for compatibility.
✨ Features (unchanged from v3.x):
- 🎬 After Effects tab: SVGs + JSON + Lottie export + Bodymovin import
- 🤖 AI / Website tab: 7 options for complete AI-ready extraction
- 📦 Assets tab: selected nodes, batch export, individual data exports
- All checkboxes checked by default — just pick your tab and click one button
Extract All v3.0.0 — Intention-Based Tabbed UI
Install Guide
Option 1: Download from release (recommended)
- Download Source code (zip) from this release.
- Unzip somewhere on your machine.
- In Figma Desktop: Plugins → Development → Import plugin from manifest → select manifest.json.
Option 2: Build from source
git clone https://github.com/Lukas-Bohez/figma-extract-all.git
cd figma-extract-all
npm install && npm run build
Then import manifest.json in Figma.
v3.0.0 — Intention-Based Tabbed Interface
The UI is now organized around your actual workflow:
🎬 After Effects Tab
- Export all SVGs for AE (individual files)
- Include position metadata JSON (x, y, w, h, parent hierarchy)
- Export Lottie JSON Bundle (selected nodes as embedded SVGs)
- Import & validate Bodymovin/Lottie JSON from After Effects
- All options checked by default
🤖 AI / Website Tab
- Extract for AI code generation (React, Next.js, Vue)
- Embed all SVGs in JSON + download separate files
- All text (hex colors, fonts, positions, parent hierarchy)
- Design tokens/variables (named modes, hex, CSS)
- Text and paint styles
- Component structure
- Full node hierarchy tree
- Plain text dump
📦 Assets Export Tab
- Selected nodes as SVG/PNG/JPG at any scale
- Batch export current page or all pages
- Individual data exports (variables, styles, components, pages)
All checkboxes are checked by default — just pick your tab and click one button.
Extract All v2.0.0 — Rich Extraction Overhaul
Install Guide
Option 1: Download from release (recommended)
- Download Source code (zip) from this release.
- Unzip somewhere on your machine.
- In Figma Desktop: Plugins → Development → Import plugin from manifest → select
manifest.json. - Done — open any Figma file and run "Extract All".
Option 2: Build from source
git clone https://github.com/Lukas-Bohez/figma-extract-all.git
cd figma-extract-all
npm install && npm run build
Then import manifest.json in Figma.
v2.0.0 — Major Quality Overhaul
✨ Rich Data (what was missing before)
| Before (v1.x) | Now (v2.0) |
|---|---|
| Raw RGBA floats (0.545...) | Hex colors (#008B9E) + CSS rgba() |
| Mode IDs ("19:0") | Named modes ("Light", "Dark") |
| Relative x/y only | Absolute page position + parent frame name |
| No parent info | Full parent path ("Page > Frame > Group") |
| Empty components.json | Actual component data with dimensions |
| Garbled TXT (emoji) | Clean safe text with [icon] placeholders |
| No SVGs in full extract | ALL SVGs embedded in JSON + separate files |
| No hierarchy | Full node tree in hierarchy array |
| Confusing progress | 8-step progress with clear labels |
🎯 Full Extract now includes:
- textNodes — hex colors, parentPath, parentFrame, absoluteX/Y, font details
- svgs — every exportable node as embedded SVG with metadata
- variables — named modes (Light/Dark/etc.) with hex + CSS values
- styles — rich typography data (fontSize, fontFamily, lineHeight)
- components — dimensions and child counts
- pages — topLevelFrames with width/height/childCount
- hierarchy — complete nested tree of every node on the page
- meta — plugin version, extraction timestamp, scope
📊 Clear Progress
- 8-step progress bar with descriptive labels during Full Extract
- Instant visual feedback: "Text extracted (523 nodes)", "Exporting SVGs (145/287)"
📝 Safe Text Dump
- Clean plaintext with metadata headers (font, color hex, position)
- Emoji and special characters safely replaced
One click, everything you need.™
Extract All v1.1.0 — Lottie/After Effects Export
Install Guide
Option 1: Install from the release .zip (recommended)
- Download the Source code (zip) from this release.
- Unzip it somewhere on your machine.
- In Figma Desktop, go to Plugins → Development → Import plugin from manifest.
- Select the
manifest.jsonfile from the unzipped folder. - Done — open any Figma file and run "Extract All".
Option 2: Install from source
git clone https://github.com/Lukas-Bohez/figma-extract-all.git
cd figma-extract-all
npm install
npm run build
Then import manifest.json in Figma via Plugins → Development → Import plugin from manifest.
What's New in v1.1.0
🎬 After Effects / Lottie Export
- Export Lottie JSON Bundle — Select nodes in Figma and export them as a single Lottie-compatible JSON with embedded SVGs, positions, and dimensions.
- Lottie Import Validator — Drag any Lottie JSON file into the plugin to validate its structure.
📊 Full Extract Progress
- Full Extract now shows step-by-step progress (text → variables → styles → components → pages).
🎨 Improved UI
- Light/dark theme toggle (persisted across sessions).
- Glassmorphism card design, live selection state bar.
🔧 Technical
- Real-time selectionchange and currentpagechange listeners.
- Auto-reset isExporting lock for single-shot operations.
Full docs: https://github.com/Lukas-Bohez/figma-extract-all#readme