v0.dev: Converta Designs do Figma em Código React Diretamente
O workflow de design → implementação é um dos gargalos mais comuns em times de produto. O v0 tem integrações específicas com Figma para acelerar essa conversão.
Plugin oficial do v0 para Figma
O Figma tem um plugin oficial do v0 que permite selecionar frames e enviar diretamente para geração de código:
- No Figma, vá em Plugins → Pesquisar → "v0 by Vercel"
- Instale o plugin
- Selecione um frame ou componente no Figma
- Abra o plugin e clique em Send to v0
- O v0 abre com o design importado
O que o plugin envia
- Screenshot do frame selecionado
- Metadados de cores, fontes e espaçamentos do design
- Nome do frame como contexto
Sem plugin: screenshot + prompt
Se o design não está no Figma ou você prefere controle total:
- Exporte o frame do Figma como PNG (2x de resolução)
- Cole no v0 ou no chat do Cursor/Windsurf
- Adicione contexto:
[screenshot do design]
Converta este design em um componente React.
Informações técnicas:
- Cor primária: #2563eb (blue-600 no Tailwind)
- Fonte: Inter
- Espaçamento base: 16px (gap-4 no Tailwind)
- O botão usa as cores do shadcn/ui
O componente deve receber os dados via props.
Refinando o código gerado
O v0 raramente acerta 100% na primeira tentativa — especialmente para designs complexos. Itere:
O espaçamento entre o avatar e o nome está 4px maior que no design
A sombra do card está muito forte — use shadow-sm em vez de shadow-md
O botão secundário deve ter border de 1px, não 2px
O texto de descrição deve ter cor gray-500, não gray-400
Comparação visual: Figma vs gerado
Uma técnica útil é comparar o design original com o renderizado:
[screenshot do Figma ao lado do screenshot do resultado gerado]
Identifique as diferenças e corrija para que o resultado seja o mais fiel possível ao design original.
Exportando para Next.js App Router
Quando o componente está pronto:
Adapte o componente para o Next.js App Router:
- Adicione "use client" se necessário
- Substitua img por next/image com width e height
- Substitua a href por next/link
- Exporte como default export
- Nomeie o arquivo conforme a convenção do projeto: PascalCase
Criando uma biblioteca de componentes do Figma
Workflow escalável para times:
- Designer cria componentes no Figma com variantes
- Dev usa plugin v0 para converter cada variante em código
- Componentes são consolidados no projeto com cva para variantes
- Biblioteca é documentada no Storybook
Temos 5 variantes do componente Card no Figma (Default, Highlighted, Warning, Error, Success).
Cada uma foi convertida separadamente. Consolide em um único componente Card com:
interface CardProps {
variant?: "default" | "highlighted" | "warning" | "error" | "success"
title: string
description?: string
action?: React.ReactNode
}
Precisão pixel-perfect
Para projetos que exigem alta fidelidade:
- Sempre use resolução 2x nos exports do Figma
- Especifique o device pixel ratio do preview (desktop vs mobile)
- Verifique fontes — o v0 usa Inter por padrão; ajuste se o design usa outra
- Bordas arredondadas: confira o valor exato (4px = rounded, 8px = rounded-lg)
O workflow Figma → v0 → código corretamente implementado pode reduzir o tempo de implementação de UI em 70%.

