Skip to main content

Overview

Bulk text content replacement allows you to update text content across multiple text nodes in your Figma designs with a single command. This feature dramatically reduces repetitive design work when localizing content, updating copy, or applying text changes across large designs.
This feature was contributed by @dusskapark. Watch the demo video to see it in action.

Use cases

  • Localization: Translate text content across entire designs or components
  • Copy updates: Apply content changes from writers or product managers
  • A/B testing: Create variations with different messaging
  • Data population: Fill designs with real content from spreadsheets or databases
  • Placeholder replacement: Replace lorem ipsum with actual copy

Workflow

1

Scan text nodes

Use scan_text_nodes to discover all text nodes in your design. This tool intelligently chunks large designs to prevent UI freezing.
scan_text_nodes({
  chunkSize: 50,
  delayMs: 100
})
The scan returns an array of text nodes with their IDs, content, and properties.
2

Prepare replacement data

Map the text nodes you want to update with their new content. You can use the node IDs from the scan results.
const updates = [
  { nodeId: "123:456", newText: "Welcome to our platform" },
  { nodeId: "123:457", newText: "Get started in minutes" },
  { nodeId: "123:458", newText: "No credit card required" }
];
3

Apply batch updates

Use set_multiple_text_contents to apply all changes in a single operation.
set_multiple_text_contents({
  updates: updates
})
This batch operation is much faster than updating nodes one by one and provides progress updates.
4

Verify changes

Check the updated nodes using get_nodes_info or visually inspect them in Figma.
get_nodes_info({
  nodeIds: ["123:456", "123:457", "123:458"]
})

Best practices

For large designs with 100+ text nodes, use the chunking parameters in scan_text_nodes to prevent Figma from freezing. Monitor progress through WebSocket updates.
  • Use batch operations: Always prefer set_multiple_text_contents over repeated set_text_content calls for better performance
  • Handle structural relationships: Consider parent-child relationships between text nodes when planning updates
  • Verify before applying: Review the scan results before making changes to ensure you’re targeting the correct nodes
  • Preserve formatting: The tools preserve existing text styles and formatting properties
  • Monitor progress: Large batch operations provide progress updates via WebSocket

Tool sequence

  1. join_channel - Connect to Figma
  2. get_document_info - Understand the design structure
  3. scan_text_nodes - Find all text nodes with chunking
  4. set_multiple_text_contents - Apply updates in batch
  5. get_nodes_info - Verify the changes

Demo video

Watch @dusskapark’s demonstration of bulk text replacement in action:

Build docs developers (and LLMs) love