This page contains affiliate links. If you click on these links and make a purchase, we may earn a commission at no additional cost to you.

CVA: Component Variants Automator

CVA is an easy-to-use plugin for Figma that helps design teams create and manage component variants more efficiently. Think of CVA as an assistant that eliminates hours of repetitive, manual variant setup—letting you focus on what matters most: designing great products. You don’t have to install anything extra outside of Figma; just add the plugin, and you’re set to go.

Since its inception by Saulo Vallory—a programmer who loves to automate anything repetitive—CVA has continued to evolve, offering new features that keep design systems healthy and collaborative. He was tasked with building a design system and found himself spending a lot of time on repetitive tasks. Realizing Figma lacked native variant automation, he formed a team to solve the problem. Over two years, they faced challenges that required building or customizing their own tools—most notably, a custom Figma SDK in Svelte. The result was CVA, a plugin that now saves countless hours for designers and developers worldwide by simplifying and accelerating variant management in Figma.

Automated Variant Generation

CVA’s core functionality is to automate the process of creating component variants in Figma. Instead of manually duplicating and tweaking each instance, you can set your parameters once, and CVA does the rest. This not only saves time, but also ensures consistency across your designs.

Use Case

Imagine you’re working on a comprehensive button library for a large enterprise product. Each button has different states (hover, active, disabled), sizes (small, medium, large), and color themes. Normally, you’d have to create each variant by hand. With CVA, you simply define the key properties, then let the plugin generate every possible combination in seconds—making it easy to maintain design quality across the entire system.

Linking Properties in Real Time

While CVA can generate all possible variants of a component, it also gives you fine-grained control through “linking properties.” Linking properties ensures that certain attributes always vary together. For instance, if you have a button label size tied to the icon size, adjusting one automatically adjusts the other, guaranteeing consistency.

Use Case

A design team is working on a new set of card components. They want the corner radius and the shadow depth to always update together (e.g., a “soft” corner style also uses a “light” shadow). By linking these properties in CVA, the team can make one change and automatically keep the rest of the design elements aligned. This speeds up the design flow and reduces back-and-forth edits.

Built-in Controls & Frameworks

Because CVA focuses on variant creation, it comes with built-in controls that guide you on best practices for organizing and naming your components. You can also leverage basic frameworks within the plugin to shape consistent structures across a growing design system.

Use Case

A startup is rapidly evolving its user interface and needs a robust, future-proof design system. Using CVA’s frameworks and naming conventions, they keep every component well-organized. As new designers join the team, they can easily understand how variants are set up, ensuring faster onboarding and fewer mistakes.

Integration with Figma (and a Custom SDK)

CVA is built specifically for Figma. When Saulo Vallory set out to automate variant creation, Figma didn’t offer the necessary functionality or an easy SDK. Over two years, the team behind CVA developed a custom Figma SDK in Svelte to bring these features to life. Today, CVA is fully integrated with Figma, allowing you to:

  • Use Figma’s UI and shortcuts seamlessly
  • Update your variants in real time without leaving Figma
  • Keep your design files organized and version-controlled

Visual Design System Management

CVA helps teams manage large design systems visually by offering a structured approach to component variants. You can keep your components, properties, and states clearly labeled and visually distinct, reducing confusion. This visual clarity is essential when a design system begins to span dozens—or even hundreds—of components.

CVA is a powerful, time-saving solution for anyone working with design systems in Figma. It automates variant creation, offers linking properties to maintain consistency, and integrates seamlessly with Figma thanks to a custom-built SDK. Just as Miro makes digital whiteboarding effortless, CVA revolutionizes how you build and manage component variants—ensuring your designs remain cohesive, scalable, and easy to maintain.

Subscribe to our newsletter and get the best resources every week

Last resources