Exportación y código

Tus tokens no tienen por qué vivir solo en Figma. Expórtalos desde la aplicación web en el formato que usa realmente tu código (sin plugin), o deja que tus herramientas de compilación e IA obtengan los tokens más recientes como código.

Exportar desde la web

En la lista de proyectos, abre el menú ⋯ de una tarjeta de proyecto y elige Exportar; o bien, dentro de un proyecto, haz clic con el botón derecho en una colección de la barra lateral izquierda (o en una fila de la cuadrícula) y elige Exportar esta colección. Se abre un cuadro de diálogo con:

  • Alcance: las colecciones que se exportan; marca Todas las colecciones o elige colecciones concretas. Si lo abres desde una colección, esa colección ya viene marcada.
  • Formato: uno de los seis formatos (abajo).
  • Resolver referencias a valores: convierte alias como {Primitive/blue/500} en su valor final. Los formatos de código de plataforma siempre resuelven, así que para ellos la casilla está activada y bloqueada.
El cuadro de diálogo Exportar con el desplegable de formato abierto: DTCG, JSON, CSV, CSS, SwiftUI y Jetpack Compose
El cuadro de diálogo Exportar con el desplegable de formato abierto: DTCG, JSON, CSV, CSS, SwiftUI y Jetpack Compose
FormatoResultado
DTCG (.tokens.json)Formato del W3C Design Tokens Community Group
JSONVariables en bruto, una entrada por token
CSVUna hoja de cálculo: una fila por variable, una columna por modo
CSSPropiedades personalizadas: el modo predeterminado en :root, los demás en [data-theme="…"]
SwiftUIUn tipo por colección, una instancia estática por modo
Jetpack ComposeKotlin: una clase por colección, un valor por modo

Código de plataforma listo para pegar

Elige CSS, SwiftUI o Jetpack Compose y obtendrás código que puedes llevar directamente a tu aplicación. La conversión se hace en el servidor y es determinista: los mismos tokens producen siempre los mismos bytes, así que los diffs quedan limpios y se cachea bien. Una colección con modos light y dark queda así:

/* CSS custom properties */
:root {
  --colors-button-background: #18181b;
  --colors-radius-md: 8px;
}
[data-theme="dark"] {
  --colors-button-background: #fafafa;
}
// SwiftUI — one instance per mode
struct ColorsTokens {
  let buttonBackground: Color
  let radiusMd: CGFloat
  static let light = ColorsTokens(buttonBackground: Color(vjHex: 0x18181B), radiusMd: 8)
  static let dark  = ColorsTokens(buttonBackground: Color(vjHex: 0xFAFAFA), radiusMd: 8)
}
// Jetpack Compose (Kotlin)
class ColorsTokens(val buttonBackground: Color, val radiusMd: Dp)
val ColorsTokensLight = ColorsTokens(buttonBackground = Color(0xFF18181B), radiusMd = 8.dp)
val ColorsTokensDark  = ColorsTokens(buttonBackground = Color(0xFFFAFAFA), radiusMd = 8.dp)

Las referencias siempre se resuelven a valores finales; si alguna no se puede resolver, se deja como comentario, nunca como un valor inventado.

Volver a importar tokens

El menú ⋯ de una tarjeta de proyecto también tiene Importar. Suelta un archivo JSON o DTCG y verás una vista previa (número de colecciones, variables y modos, además de las advertencias) antes de crear nada. Al confirmar, se añade como una colección nueva (los colores se interpretan con flexibilidad: hexadecimal de 3 o 6 dígitos, rgb() y hsl() funcionan). El cambio queda en el historial como una importación.

Los valores que no puede representar —tokens compuestos como tipografía o sombra, dimensiones en unidades distintas de px, colores que no puede leer o valores que no coinciden con su tipo— se omiten en lugar de adivinarse, y la vista previa muestra cuántos y cuáles. Si importas el mismo archivo otra vez, se añade otra colección nueva.

Obtener con la API y MCP

Para pipelines de CI y herramientas de programación con IA, no exportes a mano: obtén los tokens. Los mismos formatos de plataforma están disponibles en la API REST con ?format=css|swift|compose, y el servidor @variablejar/mcp ofrece una herramienta get_tokens para que los agentes de tu IDE obtengan los tokens más recientes como código. Un solo token de API del proyecto sirve para ambos.