Annotation System Overview
Figma’s native annotation system allows you to attach notes, comments, and documentation directly to design elements. The Talk to Figma MCP provides tools to work with annotations programmatically.Available Annotation Tools
get_annotations- Retrieve all annotations in a document or nodeset_annotation- Create or update a single annotationset_multiple_annotations- Batch create/update annotations efficientlyscan_nodes_by_types- Find potential annotation targets
Converting Manual Annotations
Many designs use manual annotation systems (numbered markers with text descriptions). Converting these to native Figma annotations improves collaboration and maintains design system integrity.Process Overview
- Get selection and initial setup
- Scan annotation text nodes
- Scan target UI elements
- Match annotations to targets
- Apply native Figma annotations
- Verify and clean up
Step 1: Initial Setup
Get Selection
Start by identifying the frame or component containing annotations:Step 2: Scan Annotation Text Nodes
Identify Markers and Descriptions
Scan all text nodes to find annotation components:Common Marker Patterns
Markers are usually identified by:- Text content: Single character or number (“1”, “A”, “①”)
- Container names: “Marker”, “Annotation”, “Dot”, “Number”
- Font weight: Often bold (700+)
- Size: Typically smaller than body text
Description Patterns
Descriptions typically have:- Longer text content
- Located near markers
- Matching numbers in layer path
- Explanatory content
Manual annotation systems vary widely. Analyze your specific design pattern to identify the correct matching logic.
Step 3: Scan Target UI Elements
Find Annotation Targets
Identify UI elements that annotations refer to:Target Node Types
- COMPONENT - Main component definitions
- INSTANCE - Component instances
- FRAME - Frame containers
Step 4: Match Annotations to Targets
Matching Strategies
Use multiple strategies in order of priority:1. Path-Based Matching (Highest Priority)
Match based on layer hierarchy:- Markers are grouped with their target elements
- Layer hierarchy follows naming conventions
- Annotations are organized in frames
2. Name-Based Matching
Match based on description content:- Descriptions mention specific element names
- Form fields, buttons, and labeled components
- Semantic naming conventions are followed
3. Proximity-Based Matching (Fallback)
Match based on spatial position:- Other strategies fail
- Markers positioned near their targets
- Simple spatial layouts
Combined Matching Strategy
Step 5: Apply Native Annotations
Determine Category
Classify annotations based on content:Batch Create Annotations
Useset_multiple_annotations for efficiency:
Annotation Properties
Determine additional properties based on context:Step 6: Verify and Clean Up
Verify Annotations
Check that annotations were created correctly:Delete Legacy Markers
After successful conversion, remove manual annotation nodes:Single Annotation Creation
For individual annotations, useset_annotation:
Markdown Support
Annotation labels support markdown formatting:Retrieving Annotations
Get All Annotations
Filter by Category
Best Practices
Organization
- Create annotations at the appropriate hierarchy level
- Use consistent category assignment logic
- Group related annotations together
- Use descriptive, actionable text
Content Guidelines
- Write clear, concise annotation text
- Include context and reasoning
- Link to relevant documentation
- Mention stakeholders when appropriate (using @mentions)
- Add priority indicators for critical items
Performance
- Use
set_multiple_annotationsfor batch operations - Limit annotation count per frame (aim for < 20)
- Clean up resolved annotations regularly
- Use categories to organize large annotation sets
Too many annotations can clutter the design view. Focus on actionable, relevant annotations.
Common Use Cases
Design Review Annotations
Development Handoff
QA Bug Tracking
Troubleshooting
Annotation Not Appearing
- Verify target node type (must be COMPONENT, INSTANCE, or FRAME)
- Check node ID is correct
- Ensure node is not deleted or removed
- Verify WebSocket connection is active
Wrong Target Element
- Review matching strategy priority
- Check layer naming conventions
- Verify marker positioning
- Consider using manual
set_annotationfor edge cases
Category Not Found
- Use
get_annotationswithincludeCategories: trueto list available categories - Verify category ID is correct
- Category may be from different Figma file
Annotation Workflow Checklist
- Get selection and available categories
- Scan text nodes for markers and descriptions
- Scan target nodes (COMPONENT, INSTANCE, FRAME)
- Match annotations using multiple strategies
- Determine appropriate categories
- Use
set_multiple_annotationsfor batch creation - Verify annotations were created
- Delete legacy manual annotations (after verification)
- Document annotation conversion process