{
"id": "1:23",
"name": "Rectangle",
"type": "RECTANGLE",
"visible": true,
"locked": false,
"fills": [
{
"type": "SOLID",
"color": {
"r": 0.2,
"g": 0.6,
"b": 1
}
}
],
"strokes": [],
"cornerRadius": 8
}function traverseNodes(node) {
console.log(node.name, node.type);
if ('children' in node) {
node.children.forEach(traverseNodes);
}
}DecodeFigma's DNA
The definitive toolkit for exploring and understanding Figma's internal node structure. Built for plugin developers and design system architects.
Powerful toolkit
Everything you need to master Figma's internal structure, from node inspection to comprehensive documentation.
Node Inspector
Interactive plugin for real-time node exploration and analysis
- Live property inspection
- JSON export functionality
- Type-specific highlighting
- Clipboard format analysis
Documentation
Complete reference guide for Figma's node structure and Plugin API
- Complete property reference
- Node type hierarchy
- Code examples & snippets
- Best practices guide
TypeScript Utilities
Production-ready utilities for working with Figma nodes
- Node traversal helpers
- Type guards & validators
- JSON serialization tools
- Clipboard utilities
Start exploring
Clone the repository and start exploring Figma's node structure immediately.
Clone Repository
Install Utilities
Join the movement
Help us build the most comprehensive Figma node documentation. Every contribution makes the ecosystem stronger.
Documentation
Improve docs, add examples, and help others learn
Development
Add features, fix bugs, and enhance the toolkit
Research
Test edge cases and discover new patterns