Capture Webpage to Figma

VerifiedCaution

Capture a live webpage as a Figma design using Playwright and configured Figma MCP. Convert web pages into editable design files.

Sby Skills Guide Bot
DevelopmentIntermediate
306/2/2026
Claude CodeCursor
#figma#webpage-capture#design#playwright#mcp

Recommended for

Our review

Captures a live webpage and converts it into a Figma design using Playwright and a configured Figma MCP.

Strengths

  • Works with both external and local sites
  • Automates design capture without manual screenshots
  • Integrates with Figma for direct design import

Limitations

  • Requires Playwright and Figma MCP to be set up
  • Polling may be slow or time out after 10 attempts
  • May not perfectly capture highly dynamic pages
When to use it

Use when you need to quickly convert an existing webpage layout into an editable Figma design.

When not to use it

Not suitable for highly dynamic or interactive pages that require manual design adjustments after capture.

Security analysis

Caution
Quality score82/100

The skill uses Playwright to launch a browser, intentionally disables CSP, and injects external scripts. While the purpose is legitimate (exporting a webpage to Figma), these actions weaken browser security and could be risky if applied to sensitive pages or if the external script is compromised.

Findings
  • Instructs stripping of Content-Security-Policy headers, a security bypass.
  • Injects and executes external JavaScript (from Figma's capture script) into the target page.
  • Uses Playwright (a powerful browser automation tool) with node, which could be misused.

Examples

Capture external website
Capture page https://example.com into Figma file https://www.figma.com/file/abc123/MyDesign
Capture local dev server
Capture page http://localhost:3000 and add to Figma file https://www.figma.com/file/xyz789/Project

name: capture-webpage description: Capture a live webpage as a Figma design using Playwright and the configured Figma design MCP (for this repo, Figma Console MCP). Use when user says "capture page", "to Figma", or /capture-webpage. In Claude Code and Cursor, /skills lists all.

Capture Webpage

Capture a live webpage as a Figma design using Playwright and the configured Figma design MCP.

Inputs

You need two things from the user before starting:

  1. Webpage URL - The page to capture (e.g., https://example.com)
  2. Figma file URL - Where to put the generated design (e.g., https://www.figma.com/file/abc123/...)

If either is missing, ask the user before proceeding.

External Sites

For sites you don't control (e.g., ryanallen.com, competitor.com). Uses .claude/skills/capture-webpage/scripts/capture.js to bypass CSP and inject Figma's capture script.

1. Generate Capture ID

Use the Figma Console MCP (or other configured Figma design MCP) with the target Figma file details to get a capture ID and endpoint URL.

2. Run Capture Script

node .claude/skills/capture-webpage/scripts/capture.js "https://example.com" "CAPTURE_ID" 1920 1080

The script handles:

  • Launching browser with specified viewport
  • Stripping CSP headers
  • Fetching and injecting Figma's capture script
  • Calling window.figma.captureForDesign() to send page data to Figma
  • Cleanup

3. Poll for Completion

  • Wait 5 seconds after script starts
  • Call generate_figma_design with the captureId to check status
  • Repeat until status is completed (max 10 polls)

Local Sites

For localhost or dev servers where you can modify the HTML.

1. Generate Capture ID

Same as external sites - call generate_figma_design to get a capture ID and endpoint.

2. Add Capture Script to HTML

<script src="https://mcp.figma.com/mcp/html-to-design/capture.js" async></script>

3. Open Browser with Capture URL

open "http://localhost:3000#figmacapture=ID&figmaendpoint=ENDPOINT&figmadelay=1000"

4. Poll for Completion

Same polling process as external sites.

Requirements

  • Playwright installed (npm install playwright) - for capture.js script
  • Figma Console MCP (figma-console-mcp) or another Figma design MCP configured and authenticated for this project
Related skills