MarkupGenMarkupGen
DocsRecursosBlogCasos de usoComparar
Iniciar sesiónConvierte gratis
  1. MarkupGen
  2. /Blog
  3. /De Figma a CSS: guía práctica de conversión
Volver al blog

Publicado el 2026-08-20 · Por El equipo de MarkupGen

De Figma a CSS: guía práctica de conversión

De Figma a CSS: guía práctica de conversión

Respuesta rápida: convertir Figma a CSS plano significa traducir Auto Layout a Flexbox, resolver cada valor de relleno/espaciado/tipografía a su número real en lugar de una aproximación con clases de utilidad, y mantener el resultado libre de dependencias. Es el objetivo correcto cuando quieres control total sobre cada regla y ningún framework que aprender, instalar ni sobrescribir más adelante.

Por qué elegir CSS plano en lugar de un framework

Todos los formatos de salida que soporta MarkupGen —CSS puro, Tailwind, Bootstrap, Bulma— parten de la misma fuente: la estructura y los valores reales del frame de Figma. El CSS plano es simplemente el formato sin nada entre tu archivo y el navegador:

  • No hay ninguna convención de nombres de clases que aprender. La escala de utilidades de Tailwind y las clases de componentes de Bootstrap son potentes, pero siguen siendo un sistema que hay que interiorizar. El CSS plano solo necesita conocer CSS.
  • Sin peso de framework. Incluso con purga de clases sin usar, un framework añade un paso de build y una dependencia que mantener actualizada. Una exportación de CSS puro no tiene ninguna de las dos cosas.
  • Cada regla es editable directamente. Cambiar un valor de espaciado significa editar una sola declaración, no buscar qué clase de utilidad corresponde al valor en píxeles que quieres.

La contrapartida es la misma que Tailwind existe para resolver: sin un framework que imponga una escala, los valores de espaciado y color pueden volverse inconsistentes en un codebase que crece, si nadie es disciplinado reutilizando los mismos números. Para una landing page o un sitio pequeño, rara vez es un problema. Para un producto grande con muchos colaboradores, vale la pena leer Vanilla CSS vs Bootstrap vs Tailwind antes de decidir.

Qué hay que convertir realmente

Un frame de Figma tiene más estructura de la que parece a simple vista, y cada pieza se corresponde con una parte específica del CSS:

Propiedad de Figma Salida CSS
Dirección de Auto Layout display: flex; flex-direction: row/column
Gap de Auto Layout gap
Padding de Auto Layout padding
Color de relleno background-color (o color en texto)
Radio de esquina border-radius
Efectos (sombra, desenfoque) box-shadow / filter
Estilo de texto (tamaño, peso, interlineado) font-size, font-weight, line-height
Restricciones de redimensionado reglas responsive de ancho/alto, no un layout único fijo

Nada de esto es exótico: es la misma correspondencia que hace un desarrollador a mano al reconstruir un diseño píxel a píxel. La diferencia es hacerlo a partir de la estructura y los valores reales del frame en lugar de calcular a ojo desde una captura de pantalla.

Cómo genera MarkupGen el CSS

El flujo de trabajo son los mismos cuatro pasos sin importar el formato de salida: exportas el frame desde Figma con el plugin de MarkupGen, que captura la estructura, los estilos y las imágenes juntos; la IA construye el markup a partir de esa estructura real en lugar de aproximar una imagen; refinas contenido, fuentes o layout en el editor integrado si algo necesita un ajuste; exportas el paquete final.

Para el CSS plano en concreto, eso significa que la hoja de estilos generada usa los valores reales de color y espaciado del frame en lugar de ajustarlos a la escala predefinida de un framework — un relleno fijado en #3B82F6 sale exactamente así, no el azul de Tailwind más cercano. Auto Layout se mapea automáticamente a una estructura Flexbox (consulta Auto Layout to CSS para el desglose completo propiedad por propiedad), y el comportamiento responsive se genera a partir de las restricciones de redimensionado del frame en lugar de añadirse como un paso manual aparte. El HTML de salida prioriza elementos semánticos frente a <div> anidados por defecto, algo que importa tanto para el mantenimiento como para la accesibilidad y el SEO.

Convertir las variables de Figma en custom properties de CSS

Las variables de Figma (colores, tipografía, espaciado, radio, efectos) son lo más parecido a un sistema de diseño que tiene un archivo de diseño, y se corresponden conceptualmente con las custom properties de CSS — un bloque :root de pares --nombre: valor que cualquier regla de la hoja de estilos puede referenciar. Como se ha señalado antes, hoy en día la salida CSS de MarkupGen resuelve cada propiedad a su valor literal por elemento en lugar de emitir automáticamente esa capa de variables :root, así que construir la correspondencia es un paso manual. Aun así, es un paso mecánico en cuanto conoces el patrón:

Variable de Figma Valor de ejemplo Custom property de CSS
color/primary #3B82F6 --color-primary: #3B82F6;
color/text-muted #6B7280 --color-text-muted: #6B7280;
spacing/md 16px --spacing-md: 16px;
radius/lg 12px --radius-lg: 12px;
shadow/card 0 4px 12px rgba(0,0,0,.08) --shadow-card: 0 4px 12px rgba(0,0,0,.08);
font/heading 24px / 600 / 1.2 --font-heading-size: 24px; --font-heading-weight: 600; --font-heading-line: 1.2;

Una convención de nombres que vale la pena mantener: reflejar la propia estructura de grupo/nombre de la variable de Figma (color/primary → --color-primary) en lugar de inventar una paralela, para que ambas sigan siendo fáciles de cotejar a medida que el diseño evoluciona. Una vez que las variables existen como custom properties, sustituye los valores literales generados por referencias var(--color-primary) en el CSS exportado.

Dos limitaciones que conviene conocer antes de apoyarte en esto: no toda variable de Figma se corresponde limpiamente con una única propiedad CSS — una variable usada tanto para un color de borde como para un color de texto en distintos lugares del diseño no implica que deban quedar vinculadas en el código si sus propósitos realmente son distintos. Y las variables responsive (un valor de espaciado que cambia entre breakpoints) necesitan volver a declararse dentro de cada media query relevante, ya que una sola custom property :root no puede contener más de un valor a la vez — los frames por breakpoint de Figma no se resuelven automáticamente en las sobrescrituras responsive de CSS basadas en cascada.

Revisar el CSS generado antes de publicar

  • Busca desviaciones de valor. Sin una escala de utilidades que imponga consistencia, revisa si hay valores casi duplicados (padding: 15px junto a padding: 16px en otro lugar) que probablemente deberían ser el mismo número.
  • Confirma el comportamiento responsive en breakpoints reales, no solo en el tamaño por defecto del frame — redimensiona el navegador en lugar de confiar en una sola captura de pantalla.
  • Revisa los nombres de clases/selectores si el proyecto tiene su propia convención que seguir (BEM, CSS Modules, etc.) y ajústalos antes de hacer merge.
  • Usa el editor integrado para ajustes de contenido o layout en lugar de editar la exportación a mano, y vuelve a exportar para que nada quede desincronizado.

Cada exportación recibe además una puntuación de calidad automática de IA, comparando la vista previa en vivo con el diseño original, así tienes una señal rápida de si está lista para publicarse antes de una revisión manual.

Preguntas frecuentes

¿La salida CSS usa custom properties (variables) de CSS? El resultado se centra en reglas estándar, directamente editables por elemento, en lugar de una capa de tema basada en variables — si tu proyecto usa un sistema de custom properties, planifica incorporar los valores generados a él como un paso manual.

¿El layout es responsive por defecto? Sí — los breakpoints se generan a partir de las restricciones de redimensionado del Auto Layout del frame, no se añaden después. Consulta Diseño responsive en Figma: Mobile y Desktop explicados para ver cómo funciona esto con layouts separados de mobile/desktop.

¿En qué se diferencia de la salida en Tailwind? Misma fuente de datos, destino distinto: la salida en Tailwind resuelve los valores a la clase de utilidad más parecida (con un valor arbitrario como respaldo para lo que quede fuera de escala); la salida en CSS plano mantiene los valores exactos del diseño como declaraciones estándar. Elige según si tu proyecto ya está estandarizado en un framework de utilidades.

Pruébalo con tu propio diseño

Si estás decidiendo entre una exportación de CSS puro y una basada en framework, la forma más rápida de saber cuál encaja es ver ambas sobre el mismo diseño. Prueba MarkupGen gratis, o consigue el recorrido completo en la guía de conversión de Figma a HTML. ¿Prefieres primero una visión rápida? Consulta la página del conversor de Figma a CSS.

Pruébalo con Figma to CSS

Lecturas relacionadas

Figma to HTML vs React vs Tailwind: ¿cuál elegir?Blog

Figma to HTML vs React vs Tailwind: ¿cuál elegir?

Una guía de decisión para las tres opciones de salida más consultadas de MarkupGen: cuándo exportar Figma a HTML/CSS, cuándo exportarlo a React, y dónde encaja realmente Tailwind.

Leer más
De Figma a código: soporte de React, Vue y frameworks CSS en MarkupGenBlog

De Figma a código: soporte de React, Vue y frameworks CSS en MarkupGen

MarkupGen convierte un diseño de Figma en componentes React o Vue 3 (además de Svelte y Angular), o en HTML/CSS con Tailwind, Bootstrap y más.

Leer más
Cómo evaluar HTML generado por IA antes de publicarloBlog

Cómo evaluar HTML generado por IA antes de publicarlo

Una checklist repetible para juzgar la salida de Figma a código con IA más allá de 'se ve bien' — fidelidad visual, semántica, responsividad, accesibilidad y peso.

Leer más
¿La salida de Figma a HTML está lista para SEO? Qué comprobarBlog

¿La salida de Figma a HTML está lista para SEO? Qué comprobar

El HTML convertido puede verse idéntico al diseño y aun así perjudicar el SEO. Una checklist de qué verificar antes de publicar una exportación de Figma a código.

Leer más
De Figma a HTML accesible: guía prácticaBlog

De Figma a HTML accesible: guía práctica

Lo que la accesibilidad realmente exige en un flujo de trabajo de Figma a HTML: marcado semántico, encabezados, ARIA, formularios, contraste y navegación por teclado.

Leer más
Design tokens de Figma a Tailwind: colores, tipografía y espaciadoBlog

Design tokens de Figma a Tailwind: colores, tipografía y espaciado

Por qué el mapeo de tokens a utilidades solo funciona tan bien como la propia consistencia del archivo de Figma — y qué pasa realmente cuando un valor queda fuera de la escala de Tailwind.

Leer más
Comparar

MarkupGen vs. Builder.io: conversor independiente frente a plugin de plataforma

Visual Copilot de Builder.io mapea Figma a tu código existente dentro de una plataforma CMS más grande; MarkupGen es un conversor de Figma a HTML/CSS independiente.

Leer más
MarkupGen para equipos de marketingCasos de uso

MarkupGen para equipos de marketing

Publica la landing page de campaña que tu diseñador ya construyó en Figma — sin abrir un ticket a desarrollo ni esperar al próximo sprint.

Leer más

Convierte tu próximo diseño de Figma en código en minutos

Empieza gratis y exporta HTML, CSS o React limpio desde cualquier archivo de Figma.

Convierte gratis
MarkupGenMarkupGen© 2025 MarkupGen. Todos los derechos reservados.
BlogCasos de usoCompararRecursos
Acerca deDocumentaciónPrivacidadTérminosContacto