| name | webflow-designer-extension |
| description | Build Webflow Designer Extensions that run inside the Webflow Designer. Use when creating, debugging, or modifying Designer Extensions (iframes that interact with Webflow's Designer API). Covers CLI usage, element manipulation, styles, components, pages, variables, assets, error handling, and UI design patterns for Webflow's design system. |
| license | MIT |
| compatibility | create-webflow-extension, @webflow/webflow-cli |
| metadata | {"author":"[Ben Sabic](https://bensabic.dev)","version":"1.1.0"} |
Webflow Designer Extension Development
Build extensions that run inside Webflow's Designer as iframes, interacting with the Designer API to manipulate elements, styles, pages, and more.
Quick Start Workflow
Prerequisite: Register your app in Webflow first — see references/register-app.md. You'll need a Workspace with Admin permissions.
- Scaffold:
npx create-webflow-extension@latest (interactive prompts for project name, package manager, linter)
- Develop:
cd <name> && pnpm dev (serves at localhost:1337; also works with npm/yarn/bun)
- Test: Install app on test site via Workspace Settings > Apps & Integrations > Develop
- Open: Press "E" in Designer to open app panel, launch extension
- Build:
pnpm build for deployment
CLI Options
npx create-webflow-extension@latest [project-name] [options]
Options:
--pm <pnpm|npm|yarn|bun> Package manager to use (default: pnpm)
--linter <oxlint|biome|eslint> Linter to use (default: oxlint)
--skip-git Skip git initialization
--skip-install Skip dependency installation
--quiet Suppress output
Designer API
For all API methods, patterns, and code examples, refer to the reference documentation below. Start with the quick lookup reference for a complete overview:
- Designer APIs Reference — all
webflow.* methods in one table
- Elements API — element selection, insertion, presets, and the element builder
- Styles API — creating styles, setting CSS properties, breakpoints, and pseudo-states
- Components API — component definitions, instances, and editing context
- Variables API — design token variables (colors, sizes, fonts, numbers, percentages)
- Error Handling — error structure, cause tags, and recovery patterns
Project Structure
Generated by create-webflow-extension (React 19 + TypeScript + Rspack):
my-extension/
├── public/
│ └── index.html # Entry point
├── src/
│ ├── App.tsx # Main React component
│ ├── main.tsx # React entry point
│ └── index.css # Styles
├── webflow.json # Extension settings
├── rspack.config.ts # Rspack bundler configuration
├── package.json
└── tsconfig.json
Reference Documentation
Each reference file includes YAML frontmatter with name, description, and tags for searchability. Use the search script to find relevant references quickly:
python scripts/search_references.py --list
python scripts/search_references.py --tag <tag>
python scripts/search_references.py --search <query>
CLI & Tooling
Designer API
Design & Marketplace
Scripts
scripts/search_references.py: Search reference files by tag, keyword, or list all with metadata
Assets
assets/webflow-variables.css: CSS variables for Webflow's design system colors, typography, and shadows
Best Practices
- Check element capabilities: Always verify
element.children before append/prepend, element.textContent before text operations
- Handle errors gracefully: Use try/catch with
webflow.notify() for user feedback — see Error Handling
- Responsive design: Test on multiple breakpoints when setting styles — see Styles API
- Use variables: Leverage design token variables for consistent theming — see Variables API
- Subscribe to events: Use Designer events to keep extension state in sync — see Extension Utilities
- Appropriate sizing: Use
webflow.setExtensionSize() for proper panel dimensions — see Extension Utilities