{
  "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);
  }
}
Open SourceCommunity Driven

DecodeFigma's DNA

The definitive toolkit for exploring and understanding Figma's internal node structure. Built for plugin developers and design system architects.

01Features

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
02Documentation

Start exploring

Clone the repository and start exploring Figma's node structure immediately.

Clone Repository

terminal
# Clone the repository
git clone https://github.com/iziuqo/figma-nodes
cd figma-nodes

Install Utilities

terminal
npm install figma-node-utils
import { traverseNodes } from 'figma-node-utils'
03Community

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