Skip to main content

Overview

Design variants let you maintain multiple configurations of a single PCB design. Instead of duplicating your project for each configuration, you define variants that specify which components are populated, which values change, and which footprints are swapped — all within one project. Common use cases:
  • Regional variants — Different power input stages for 120V vs 240V markets
  • Feature tiers — A base model without Bluetooth and a premium model with it
  • Development vs production — Debug headers and test points populated in development, removed in production
  • Component alternatives — Swap between two pin-compatible LDOs depending on availability

Creating Variants

Define variants in the project settings. Each variant has:
PropertyDescription
NameA short identifier (e.g., US_120V, EU_240V, DEV, PROD)
DescriptionHuman-readable explanation of what this variant is for

Text Variables in Drawing Sheets

Variants expose text variables you can use in your drawing sheet (title block):
  • ${VARIANT} — The variant name
  • ${VARIANT_DESC} — The variant description
These update automatically when you switch variants, so your printed schematics and PCB plots always show which variant they represent.

Variant-Aware Properties

Component properties in the PCB editor are variant-aware:
  • The Footprint Properties dialog shows which components are affected by the current variant
  • The Message Panel reflects variant-specific information when you select components
  • Variant changes are non-destructive — switching variants doesn’t modify the base design

Exporting with Variants

All PCB export commands support a --variant flag for CLI-driven workflows:
# Export Gerbers for the production variant
trace-cli pcb export gerbers --variant PROD board.kicad_pcb

# Export STEP model for the EU variant
trace-cli pcb export step --variant EU_240V board.kicad_pcb

# Export SVG for documentation
trace-cli pcb export svg --variant DEV board.kicad_pcb

Supported Export Formats

FormatCLI Flag
Gerberpcb export gerbers --variant NAME
SVGpcb export svg --variant NAME
PDFpcb export pdf --variant NAME
DXFpcb export dxf --variant NAME
PSpcb export ps --variant NAME
STEPpcb export step --variant NAME
IPC-2581pcb export ipc2581 --variant NAME
ODB++pcb export odb --variant NAME

Plot Dialog

The PCB plot dialog includes a variant dropdown so you can select which variant to plot without using the CLI.

Importing Altium Variants

If you’re migrating from Altium Designer, Trace imports variant data from .PrjPcb project files. Altium project variants are parsed and converted to Trace’s variant system during import, preserving your variant definitions and component assignments. See the Importing from Other EDA Tools guide for details on importing Altium projects.

BOM Generation with Variants

When generating a BOM, the variant determines which components are included. Components marked as “not fitted” in a variant are excluded from that variant’s BOM. Rule areas with “exclude from BOM” are also respected during generation.