Before you start
Who can use this feature
This article covers how to create a new widget in FigJam, and is only one step in the widget development process.
The widget development process:
- Setup your development environment →
- Create a widget for development →
- Publish widgets to the Figma Community (Current article)
- Manage widgets as a developer →
You must have the Figma desktop app installed to make widgets. We recommend building widgets using TypeScript in Visual Studio Code. If you're not familiar with TypeScript, you can still build widgets with Javascript.
When you're ready to share your widget, you can publish it to the Figma Community. This allows other users to install and insert your widget into Figma design and FigJam files.
Every widget must go through a review process the first time it gets published to the Figma Community. Once the widget is approved, it'll be available in the Figma Community for users to install and use.
You won't need to go through the review process for any future updates.
Note
You need to have two-factor authentication enabled to publish widgets, including publishing updates to existing widgets. You won't need to use two-factor authentication if you sign in to Figma via SAML SSO or Google SSO.
Before you publish
Widget review process
When a widget is published for the first time, it goes through Figma's review process and must be approved to be listed in Figma Community. Learn more about Figma's plugin and widget review guidelines →
Figma will contact you via your Figma account email to notify you of our decision. Our goal is to reach a decision within 5-10 business days. If Figma rejects the widget, you can address any feedback and submit again.
Noticed a mistake in your widget? You can still publish updates to your widget during the review process.
About publishing paid widgets
If you’re an approved creator, you can publish your widgets as paid and sell them directly from the Community. Learn more about selling resources on the Community →
When publishing a paid widget, keep in mind:
- The creator who first publishes the widget will be the designated payee. Once the designated payee is set, it cannot be changed.
- You can customize a free trial period for paid widgets so users can try your widget before they purchase it. For more information see the Payments API documentation.
- After a widget has been published as paid, it cannot be converted to free at a later date.
- Paid widgets cannot be unpublished but may be delisted. Learn more about delisted widgets →
Important: After you are approved to sell on Community, you must activate your Stripe account before you can publish paid resources.
Creators and contributors
Publishers can choose to list any other creators as part of the publishing process. This is a great way to recognize any contributions to the widget's development. To qualify as a creator, the contributor will need to have a Figma Community profile.
Figma will send a notification to anyone added as a creator, which the creator must accept or decline the request. Accepted contributors will appear on the widget's page and the widget will appear on each creator's Community profile.
Prepare widget information
Like plugins, every widget will have its own page in the Figma Community. This allows other members of the Community to find and install your widget.
You'll need to provide some information for your widget listing. We recommend getting this set up before you start the publishing process.
- Choose a name for your widget. This can be something descriptive or a little creative. Users can search for your widget using this name, but you also have tags to add relevant keywords.
- Write a tagline to describe what your widget does in a few words. Taglines are used to determine search results when searching resources in the Community. Taglines also appear in browsing and search results instead of the description. Max 50 characters per tagline.
- Create an icon to represent your widget in the Community and in files. The recommended dimensions are 128 x 128. If you upload a larger image, it will be scaled to fit as long as the icon has a 1:1 aspect ratio.
- Create some cover art for the top of your widget page. The recommended dimensions are 1920 x 960 (safe area: 1600 x 960). If you upload a larger image, it will be scaled to fit as long as the icon has a 2:1 aspect ratio.
- Include a playground file, if available. Playground files provide context on how to use your widget. This can be especially useful for widgets that are meant to be used over specific layers. Learn more about playground files →
- Write a description of your widget. Use this field to explain what the widget does, how to use it, and a sales pitch. If your widget requires a subscription, we recommended mentioning this first. You can format your description using some basic text formatting.
- Bold
- Italic
- Strikethrough
- Header 1
- Bulleted list
- Numbered list
- Add hyperlink
- Inline code
- Code block
- Add up to 12 keywords or tags to classify your widget. We support alphanumeric characters (a-z and 1-9), but no special characters or punctuation. Max 25 characters per tag.
- As a widget creator, it's your responsibility to provide support for your widgets. You'll need to provide an email address, website, or help center for your support contact.
- Widget creators and contributors need their own Community Profile to be listed on the widget listing.
Publish your widget
Widgets go through the same publishing flow the first time it is published and every time it gets updated.
When a widget is published for the first time, it must be reviewed and approved by Figma to be listed in the Community. Learn more about the widgets review process ↓
You can only publish widgets from the Figma desktop app.
Warning
Any attempts to exploit the Figma widget API will result in immediate removal. This will also ban you from publishing widgets in the future.
This includes but is not limited to: Providing false information, plagiarism, deceitful manipulation of user files, and theft of data.
To publish a widget to the Figma Community:
- Open a Figma design or FigJam file on the Figma desktop app.
- Click in the top-left corner, then go to Widgets > Development > Manage widgets in development.
- Click next to the widget and select Publish.
A Publish widget modal appears, where you'll be prompted to fill out information about your widget. 
- Use the first section to add a thumbnail for your widget. The thumbnail will appear in the Figma Community and in widget search results. To add a thumbnail:
- Select the widget object on your FigJam board and Copy as PNG.
- Mac: ⇧ Shift ⌘ Command C
- Windows: Control C
- Right-click widget > Copy as PNG
- Select the thumbnail area and paste.
- Mac: ⌘ Command V
- Windows: Control V
- Upload assets and complete the information for Icon, Name, Description, cover art, tags, support contact.
- If you are approved to sell on the Community and have activated your Stripe account, you can enable the Pricing toggle to configure a price for the widget. Keep in mind:
- Widgets can be sold as one-time payments with a minimum price of $2.00.
- Prices are in USD and must be whole numbers.
- You can change the price at any time.
Note: The Pricing settings are disabled if you attempt to publish a paid widget that is in a team or organization folder. Move the widget to your drafts to enable the Pricing settings.
- Use the Creators field to add any other contributors to the widget. They will need to have an existing Figma Community profile. Type a person's name or handle in the field to search for their profile, and click to select. They’ll need to accept the invitation for their name to be displayed on the resource page.
-
Check your widget's network access. To see the scope of network access that your widget has, go to Advanced > Widget Info.
Your widget's network access is indicated by one of the following labels:
-
Unknown network access: Network access isn’t defined in your widget's manifest.json.
-
Unrestricted network access: Your widget can access any domain.
-
Restricted network access: Your widget can access only a specific set of domains.
-
No access to network: Your widget cannot access any domains.
Click the label to get additional details.
If there are errors in your manifest.json, the errors are identified. Correct the errors before publishing your widget.
If your widget is labeled Unknown network access, you can specify network access in your plugin manifest to change the label.
- Choose whether fellow Figma Community members can comment on your widgets. Comments in the Community are turned on by default, but you can turn off community comments at any time.
- Click Publish to submit your widget for review.
Publish an update
Publish updates to your widget if you've made changes to the code or fixed a bug. You can also edit the details of your widget page at any time without publishing a new update. Learn how publish updates to your widget →
Share your widget
Published widgets have their own listing in the Figma Community, which allows other Figma users to find and install them.
Every widget has a unique URL that you can copy and share with others. Find the widget URL in the Share section of a widget listing. It will look something like this: https://www.figma.com/community/widget/uniqueidentifier
If you have more than one widget, you may want to share your creator profile instead. Learn more about Community profiles →
Congratulations, you've published a widget! Next, learn how to manage widgets as a developer.