Generate design tokens, export graphics, and extract React components from Figma documents to bridge design and development.
Figmagic is a command-line tool that bridges the gap between design and development by automating the extraction of design tokens, graphics, and React components from Figma documents. It solves the problem of manual handoff and inconsistent design implementation by treating Figma as the source of truth and generating code that binds to design tokens.
Frontend developers, design system engineers, and product teams who use Figma for design and want to automate the translation of designs into code while maintaining a structured design system.
Developers choose Figmagic because it is lightweight, automatable, and designer-driven, with design tokens as a first-class concept. It offers flexibility through customizable templates and supports a wide range of output formats, reducing boilerplate and ensuring consistency between design and code.
Figmagic is the missing piece between DevOps and design: Generate design tokens, export graphics, and extract design token-driven React components from your Figma documents.
Extracts platform-agnostic tokens like colors, spacing, and typography from Figma frames, outputting them in JSON, TypeScript, CSS, or other formats, which reduces manual handoff errors and ensures consistency.
Supports customizable templates for React, Styled Components, Storybook, and graphics, allowing teams to tailor generated code to their tech stack, as shown in the extensive configuration options.
Treats Figma as the single source of truth, enabling designers to maintain tokens and components directly in the design tool, which promotes collaboration and reduces developer overhead.
Has no external dependencies and can be run via CLI, environment variables, or config files, with GitHub Actions available for CI/CD integration, making it easy to automate in pipelines.
Figma documents must have a page named 'Design tokens' and frames with specific spellings; deviations break extraction, as admitted in the README, requiring rigid adherence that can limit flexibility.
Best suited for low-level elements like buttons and inputs; complex components or Figma Variants are not yet supported, and the README warns that generated components may need significant manual refinement.
Requires setting up a Figma API token, configuration file, and understanding numerous CLI options, which can be overwhelming for new users and adds initial setup overhead.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.