← Project archive
EXPLORATION / OPEN SOURCE
Figma Design Checker
An AI-powered Figma design auditing tool that helps developers and designers validate UI consistency, accessibility, spacing, typography, and design system compliance before development handoff. Built to streamline design reviews, reduce visual inconsistencies, and improve design-to-code quality.
PRESERVED PROJECT DOCUMENTATION
Figma Design Checker
A Chrome extension that compares Figma designs with your app implementation and generates Cursor-friendly fix reports.
Features
- Tab Detection: Automatically detects Figma and app tabs
- Figma Spec Extraction: Extracts design specs from Figma Dev Mode panel
- App Style Extraction: Click-to-select elements and extract computed styles
- Smart Comparison: Compares layout, typography, colors, and effects with tolerance
- Cursor-Ready Reports: Generates markdown reports optimized for pasting into Cursor
Installation
Developer Mode (Recommended for Development)
- Open Chrome and navigate to
chrome://extensions/ - Enable Developer mode (toggle in top-right corner)
- Click Load unpacked
- Select the
figma-design-checkerfolder - The extension icon should appear in your toolbar
Generate Icons (Optional)
The extension includes an SVG icon. To generate PNG icons, you can use any image editor or online tool to export the SVG at 16x16, 32x32, 48x48, and 128x128 pixels.
Usage
Step 1: Open Both Tabs
- Open your Figma design file in one tab
- Open your app (the implementation) in another tab
Step 2: Enable Figma Dev Mode
In Figma:
- Press
Shift + Dor click the Dev Mode toggle (bottom-right) - Select the element you want to compare
- Ensure the properties panel is visible on the right
Step 3: Use the Extension
- Click the extension icon in Chrome toolbar
- Select your Figma tab from the dropdown
- Select your App tab from the dropdown
- Click Capture Figma Specs (the extension will switch to Figma and extract specs)
- Click Select App Element (the extension will switch to your app)
- Click on the corresponding element in your app (it will highlight on hover)
- Click Compare Designs
- View the results and click Copy Report to Clipboard
- Paste into Cursor chat for automated fixes
Manual Input (Fallback)
If automatic extraction doesn't work:
- Expand the "Manual Input" section
- Paste Figma specs as JSON:
{"padding": "16px", "fontSize": "14px", "color": "#333333"} - Paste app styles as JSON:
{"padding": "12px", "fontSize": "14px", "color": "#666666"} - Click Compare Manual Input
Example Output
## Design Discrepancies Found
**Element**: <button> .primary-btn "Submit"
**Date**: 2024-01-15
**Total Issues**: 2
---
### Layout Issues
**1. Padding** [HIGH]
- **Expected** (Figma): `16px 24px`
- **Actual** (App): `12px 16px`
- **Fix**: Update padding to 16px 24px
### Typography Issues
**2. Font Weight** [MEDIUM]
- **Expected** (Figma): `600`
- **Actual** (App): `400`
- **Fix**: Update font-weight to 600
---
### Quick CSS Fix
```css
.element {
padding: 16px 24px;
font-weight: 600;
}
Cursor Fix Prompt
Copy and paste this into Cursor to fix the issues:
Fix the following design discrepancies for the <button> .primary-btn "Submit":
- Padding: change from `12px 16px` to `16px 24px`
- Font Weight: change from `400` to `600`
Please update the styles to match the Figma design specifications.
## Troubleshooting
### "No Figma tabs found"
- Make sure you have a Figma file open in a browser tab
- The URL should contain `figma.com`
### "Could not find design specs"
- Enable Dev Mode in Figma (Shift + D)
- Select an element in Figma
- Make sure the properties panel is visible
- Try the Manual Input fallback
### "No element selected"
- Click the "Select App Element" button first
- Click on an element in your app
- Press Escape to cancel selection
### Extension not working on internal URLs
- The extension has `<all_urls>` permission
- If blocked, check your company's Chrome extension policies
## Technical Details
### Permissions Used
- `activeTab`: Access the current tab
- `tabs`: Query and switch between tabs
- `scripting`: Inject content scripts
- `storage`: Save preferences (future feature)
### How Figma Extraction Works
The extension attempts to:
1. Find the Dev Mode panel in Figma's DOM
2. Extract text content containing CSS-like properties
3. Parse values using regex patterns
**Note**: Figma's DOM structure may change. If extraction fails, use Manual Input.
### How App Extraction Works
1. Injects a selector script that highlights elements on hover
2. On click, stores the selected element
3. Uses `window.getComputedStyle()` to extract all CSS properties
## Limitations
- Figma extraction depends on Dev Mode panel being visible
- Figma's DOM structure may change, breaking automatic extraction
- Complex nested elements may require manual selector refinement
- Color comparison has a 5-point RGB tolerance
## Contributing
Feel free to improve the Figma extraction selectors or add new features!
## License
MIT