On this page
Overview
Figma Widget Samples is an official collection of Widget API examples. Small implementations demonstrate React-like declarative rendering, synchronized state, property menus, user information, multiplayer updates, iframe UI messaging, and document-change handling.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Build canvas widgets through a declarative component API
Widgets render as nodes in Figma and FigJam using components such as Frame and Text plus interaction handlers. The samples show the React-like component model in small isolated examples.
Study synchronized state and multiplayer update patterns
The Counter sample uses useSyncedState, while Table and Multiplayer Counter examples use useSyncedMap to demonstrate shared state across multiple users.
Sources: [1]
Explore property menus, user data, iframe UI, and document events
Separate samples cover property menus, figma.currentUser, active users, UI-to-widget messaging, and document-change listeners so individual API surfaces can be studied independently.
Sources: [1]
Best fit
Before adoption
Cross-check these older samples against the current Widget API
The latest reviewed repository commit is from 2022. The Widget API has continued to evolve, so use these examples together with current Figma developer documentation and current typings rather than treating the snapshot as the complete modern API.
Official sources
- [1]Figma Widget Samples README snapshot(2026-10-04)
- [2]Widget Counter getting started(2026-10-04)
- [3]Figma Widget API documentation(2026-10-04)
Supplemental curator note
This repository remains useful as an official learning collection, but its latest reviewed commit is from 2022. Use the samples as patterns while treating current Figma developer documentation and typings as the authoritative API reference.
Try it in 3 steps
- 1
Fetch the widget samples at the reviewed commit
The repository has no release tags, so pin the latest reviewed commit.
git clone https://github.com/figma/widget-samples.git && git -C widget-samples checkout 881d9524b8d3413539ebd839218667249f15370f - 2
Install dependencies and build the Counter sample
Generate
dist/code.jsso the manifest points to a built widget bundle.cd widget-samples/WidgetCounter && npm ci && npm run build - 3
Import the widget in the Figma desktop app
Select
widget-samples/WidgetCounter/manifest.jsonand run the Counter Widget in Figma or FigJam.Widgets > Development > Import widget from manifest
Growth
Growth trends · Last 30 days
141 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 0
- Open PRs
- 2
Development activity is still being collected.
Built with
Categories and tags
Categories
Tags
GitHub data
GitHub dataView detailed GitHub data
- Stars
- 141
- Forks
- 50
- Watchers
- 64
- Open issues
- 5
- Contributors
- 4
- Owner type
- Organization
- Primary language
- TypeScript
- Repository last updated
- Feb 27, 2024
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Lucide24,838 Stars
2 shared tag(s) · 1 shared category(s) · Same language
use 1,600+ SVG icons across React, Vue, and other frameworks
TypeScript - React Spectrum15,911 Stars
2 shared tag(s) · 1 shared category(s) · Same language
build accessible React interfaces with styled Spectrum components or unstyled React Aria primitives
TypeScript - Ariakit8,622 Stars
2 shared tag(s) · 1 shared category(s) · Same language
build custom React interfaces from unstyled accessibility primitives for dialogs, menus, comboboxes, and other UI patterns
TypeScript - Figma Plugin Samples1,853 Stars
2 shared tag(s) · 1 shared category(s) · Same language
learn the Figma and FigJam Plugin API through official TypeScript samples for UI, Dev Mode, variables, and codegen
TypeScript - Blade653 Stars
2 shared tag(s) · 1 shared category(s) · Same language
share themes, design tokens, and accessible UI components across React Web and React Native
TypeScript - Vuetify41,033 Stars
2 shared tag(s) · Same language
build Vue 3 interfaces with a shared component, theme, and responsive design system
TypeScript
Report incorrect information
Tell us if any listing information is incorrect or outdated.