Figma's Dev Mode vs Viewer Mode
Which one do I (or my team) need?
Figma, Nationwide's preferred design and delivery tool for digital experiences, offers two distinct modes for developers: Dev Mode and Viewer Mode. Each mode has unique features and use cases. This article will define each of these modes and look at the similarities and differences between them, understanding that expectations will need to be addressed prior to deciding which mode is right for any one person or team's use.
What is Viewer Mode?
Permalink to "What is Viewer Mode?"Viewer Mode is a free seat in the Figma environment that allows users to view, inspect, and interact with design files without the ability to edit.
What is Dev Mode?
Permalink to "What is Dev Mode?"Dev Mode is a recently introduced (February 2024), paid tier of the Figma environment catering to developers. It aims to provide tools to streamline the process of translating designs into code. This license enhances the inspection of design files, but still does not allow direct editing of Figma files. This seat is costly and, if offered at Nationwide, would cost $420 per seat license per year.
Dev Mode might be the way to go if developers are:
- creating a standing library where they are building out reusable components,
- responsible for translating complex designs into code,
- working on quick moving projects where changes are happening often or in large numbers,
- or using Bolt 6+ tokens for coding
However, Viewer Mode is probably sufficient if developers are:
- only occasionally viewing and interacting with design files,
- custom coding an experience,
- working with final design files, delivered once with no impending adjustments
If you're unsure, let's look deeper into the similarities and differences between the two modes.
Similarities
Permalink to "Similarities"General inspection of elements
Permalink to "General inspection of elements"A similar set of layout, spacing, content, typography, color (as HEX, RGBa, HSLa, HSBa), component properties, and documentation notes are shown in both modes, just laid out in a different manner. Viewer Mode displays values of the selected element, while Dev Mode focuses more on the holistic context with a focus on the selected element.
Code generation
Permalink to "Code generation"Viewer Mode reveals basic CSS, iOS, and Android code generation through a right-click and menu selection, while Dev Mode provides integrated code generation for these default languages in the right panel.
Navigation
Permalink to "Navigation"Users in both modes can navigate the layers panel, pages, and the canvas. The exact same information is shown in both Viewer Mode and Dev Mode. In Viewer Mode, the Layers panel is split vertically with the Pages panel, while in Dev Mode a subsection called "Ready for Development" sits between the Layers and Pages panels.
Commenting
Permalink to "Commenting"Anyone with access to a Figma file can leave comments and tag people for feedback on specific elements of the design in both Viewer Mode and Dev Mode. The functionality of both modes is the same. The only difference between the two is the color. In Viewer Mode, comments show up as blue in the right panel, while in Dev Mode comments are shown in green.
Exporting assets
Permalink to "Exporting assets"Both modes have the same functionality for exporting assets in different formats and sizes. The one difference between the two is location. In Viewer Mode, Export is housed in a separate tab at the top-right of the page, while in Dev Mode the feature lives as a part of the inspect panel.
Variables
Permalink to "Variables"Variables used in design files are displayed as tokens in both Dev Mode and Viewer Mode. Styles (the circles), and generic variables (squares) display the same in both modes.
Differences
Permalink to "Differences"Consistency across design and code
Permalink to "Consistency across design and code"Custom output properties will not display in Viewer Mode. In Dev Mode, predefined custom properties can be viewed for implementing tokens from code, as is shown with "var(--bolt-theme-onPrimary)" in Figure 6.
"Ready for Development" status
Permalink to ""Ready for Development" status"Sections and elements can be marked as "Ready for Development" by designers and that status will be viewable by consumers in both Viewer Mode and Dev Mode. With a Dev Mode license, the capability of marking something as "Ready for Development" is also brought to the developer.
Inspection
Permalink to "Inspection"Dev Mode offers a Box model view and click-to-inspect functionality. Viewer Mode offers similar inspection capabilities, but they can only be accessed while using Modifier keys. Viewer Mode only reveals static, composite values as redlines while Dev Mode persists in its Box model context using variable callouts.
Annotations
Permalink to "Annotations"With Dev Mode access, a native Figma Annotations tool gives the designer the ability to share context, specs, and measurements connected directly with designs. For example, in the Dev Mode experience below, a developer can see native redlines and annotations set by the designer. The developer can also add their own redlines and annotations if desired. In Viewer Mode, these tools and annotations are hidden from view.
Comparing changes
Permalink to "Comparing changes"Dev Mode offers the ability to see a visual diff of changes that have occurred since a developer last viewed a file. These changes can be viewed side-by-side or in an onion skin. There are also specific left- and right-panel callouts to the corresponding changes that have been made.
Figma for VS Code extension
Permalink to "Figma for VS Code extension"Figma for VS Code extends the functionality of Dev Mode's inspection features and brings the design file directly into VS Code. All Dev Mode functionality available in the Figma app is available in VS Code in a side-by-side window for the coding experience.
Playground mode
Permalink to "Playground mode"Playground mode is a method by which a developer can see optional component properties or states without leaving the file or making changes to the design. For example, if a developer was creating a button on their page and wanted to see the difference between the states of that button, they could select the button and use Playground mode as a sandbox to adjust the parameters in that button and see the expected result.
Developer plugins
Permalink to "Developer plugins"In Dev Mode, developers can use a variety of plugins to generate code in the framework of their choice, such as Angular, React, Tailwind, Vue, and more. (These plugins are not available by default and would still need to be vetted via a request process before they could become available.)
Conclusion
Permalink to "Conclusion"There are positives and negatives to Figma's Dev Mode. Which one do you need? The answer is not one-size fits all. But the purpose of this article is to show you what the similarities and differences are between the two and to ask for feedback as to whether you feel like it would be useful to you or your development process.
If the developers need access to a feature-rich environment that can streamline the process of translating complex designs into code, Dev Mode might be the way to go.
However, if the developers only need to occasionally view and interact with design files, Viewer Mode might be sufficient.
At present, Dev Mode is currently in Phase 1 of Beta with users inside Nationwide, meaning that it is only available for a select few while we seek feedback and put together a potential business case for funding the added expense associated with Dev Mode.
Comparison table
Permalink to "Comparison table"| What you can do | Viewer mode | Dev mode |
|---|---|---|
| Cost | FREE | $35 /seat /mo. |
| View spacing and measurements | Via modifier key | On hover |
| View property values and element details | ✓ | ✓ |
| Export assets | ✓ | ✓ |
| View CSS, iOS, and Android code generation | ✓ | ✓ |
| Follow collaborators, commenting, in-Canvas real time texting with others | ✓ | ✓ |
| Real-time multiplayer collaboration | ✓ | ✓ |
| Links to documentation and code components | ✓ | ✓ |
| Other code generation language availability | ✓ | |
| Compare changes (visual diffing) | ✓ | |
| Use the Figma for VS Code extension | ✓ | |
| Mark designs that are ready for development, statuses, and annotations | ✓ | |
| Add and edit dev resources | ✓ | |
| Pin and set plugins to auto-run | ✓ | |
| Read design system token/custom properties from files | ✓ | |
| Explore design system components in a playground | ✓ |
Sources and resources
Permalink to "Sources and resources"- Dev Mode: Design-to-Development | Figma
- Guide to Dev Mode – Figma Learn - Help Center
- Everything You Need to Know About Dev Mode | Figma Blog
- Dev Mode is out of beta: what admins need to know – Figma Learn - Help Center
- Dev Mode licensing needs a review - Share an idea - Figma Community Forum
- Licensing dev mode at a high cost - Ask the community - Figma Community Forum
- Free and paid seats in Figma – Figma Learn - Help Center
- Questions about dev mode - Ask the community - Figma Community Forum
- A Guide to Figma View Mode to Send to Clients, Developers, and Non Designers (Tutorial) (youtube.com)
- Pros & Cons of Using Figma (Updated) | by Bayu Ferdian | GizaLab | Medium
- Figma Software Review | Advantages and Disadvantages (talentgarden.com)
- Figma pros and cons: tips and advice from real users 2024 | PeerSpot
- Figma Tutorial: Presentation View (youtube.com)
- Figma Dev Mode is here! (youtube.com)
- Figma tutorial: Intro to Dev Mode (youtube.com)
- How to use Figma's new Dev Mode (youtube.com)
- What Figma's Dev Mode Means for Developers (makeuseof.com)
- Figma: exploring dev mode. An overview of useful features that… | by Mikael Cederbom | Medium
- Figma Dev Mode: Princing, Features, and More Details (codemotion.com)
- Free Viewer Experience in Figma - YouTube
- Design, prototype, and explore layer properties in the right sidebar – Figma Learn - Help Center
- What's new in Dev Mode? – Figma Learn - Help Center
- Viewer experience with Dev Mode - Imgur