Design

Pare de pagar o Figma

Uma tela vetorial pequena para wireframes, sem toda a parte multiplayer.

O Figma custa US$16–55 por pessoa / mês, ou seja, US$192–660 por ano. Você tem dois caminhos:

Opção 1 · Instalar

Instale o Penpot grátis

O Penpot é a alternativa open source ao Figma. Você tem componentes reutilizáveis, variantes, bibliotecas compartilhadas, protótipos clicáveis, colaboração em tempo real e design tokens. O Penpot desenha em SVG e organiza o layout com Flex e CSS Grid, igual ao navegador: uma maquete bem feita sai como código que o seu desenvolvedor reconhece, e a inspeção de código é aberta a todos, enquanto o Figma cobra um assento Dev por isso. Online, o plano grátis do penpot.app dá todas as funções, até oito membros de equipe, 10 GB de armazenamento e sete dias de histórico. No seu próprio servidor com Docker, não há limite nenhum. Antes de largar o Figma: não existe equivalente ao FigJam, há menos plugins, e levar um arquivo grande do Figma para lá não é um simples copiar e colar.

Penpot vs Figma

CritérioPenpotFigma
PreçoUS$0 online, com todas as funções incluídasUS$16–55 por pessoa por mês
Número de arquivosIlimitado, só o seu armazenamento contaTrês arquivos no plano grátis
Ler o código de uma maqueteAberto a todosAssento Dev, €15 por mês (€12 no anual)
Protótipos e componentesSim, com variantes e bibliotecas compartilhadasSim
LayoutFlex e CSS Grid, o que o navegador realmente usaAuto layout próprio
Onde ficam seus arquivosNa nuvem deles, ou no seu servidor com DockerNa nuvem do Figma
Quadro branco estilo FigJamSem equivalenteSim, como extra

Como instalar (mesmo começando do zero)

O caminho mais simples: uma conta grátis em penpot.app, nada para instalar, com todas as funções liberadas. Se você quiser seus arquivos na sua própria máquina ou servidor, o prompt também faz a instalação com Docker.

  1. 1

    Cole este prompt no Claude (Code ou Desktop)

    Ele pergunta se você fica online ou hospeda por conta própria, e depois acompanha você na sua primeira maquete:

    Quero sair do Figma e passar para o Penpot (a ferramenta de design open source, repositório do GitHub penpot/penpot, site penpot.app). Primeiro me pergunte se prefiro usar a versão online gratuita no penpot.app (plano Professional a 0 euro, todas as funções, até oito membros de equipe, 10 GB de armazenamento) ou hospedá-lo eu mesmo com Docker, e me explique o que ganho e o que perco em cada caso. Para a auto-hospedagem, me guie passo a passo com o docker-compose oficial da documentação do Penpot, me dizendo qual máquina é necessária, como configurar o envio de e-mails e como fazer backup dos meus arquivos. Depois me faça criar um primeiro projeto: uma maquete de tela, um componente reutilizável, um protótipo clicável com duas telas ligadas, e me mostre como um desenvolvedor lê o código CSS da minha maquete. Por fim, me explique como trazer meus arquivos existentes do Figma e o que costuma dar errado nessa migração.
    
    Revise o repositório do GitHub e verifique se é seguro instalá-lo considerando o meu computador e a minha infraestrutura. Me faça o máximo de perguntas possível, usando widgets, para esclarecer o meu pedido e ser o mais preciso que puder.
  2. 2

    Comece com um projeto novo

    Levar um arquivo grande do Figma raramente dá certo. Crie a sua próxima maquete direto no Penpot e julgue a partir daí.

  3. 3

    Convide o seu desenvolvedor

    Ele lê o CSS de cada elemento sem precisar de um assento pago. É aí que o Penpot mais economiza para uma equipe pequena.

Para que você vai usar

Suas maquetes sem contador de arquivos

O plano grátis do Figma para em três arquivos. Aqui você abre quantos projetos quiser, com todas as funções.

Design que já fala a língua do código

Flex e CSS Grid em vez de um sistema sob medida: o que você coloca na tela, o desenvolvedor encontra na folha de estilos.

Um design system que ninguém pode fechar

Componentes, variantes, tokens de cor e tipografia, hospedados em casa se você quiser. Nenhum fornecedor pode mudar as regras.

Saúde do projeto

estrelas no GitHub
60.784
Forks
4.2k
Contribuidores
313
Commits
24.1k
Idade do projeto
10,8 anos
Licença
MPL-2.0

Feito com: Clojure 72.8% · Rust 6.9% · JavaScript 6.8% · TypeScript 5.8% · SCSS 3.5%

Dados públicos do repositório no GitHub, coletados em 8 de outubro de 2026.

Opção 2 · Construir

Crie o seu próprio Figma

Para quem é

Esta versão é para quem cria produtos e desenha interfaces web e mobile de baixa fidelidade sozinho. O objetivo: criar wireframes reutilizáveis em uma tela rápida e exportá-los para implementação. Se você precisa de mais do que isso, continue pagando: o sentido de criar o seu é ter uma ferramenta sob medida para o seu jeito de trabalhar, e não reproduzir o roadmap de uma empresa financiada por investidores.

Mesma criação, outro logo: esta v1 também substitui o Sketch, porque os dois resolvem o mesmo trabalho central.

O que o prompt constrói e o que fica de fora

O prompt abaixo constrói uma única versão, com o que realmente se usa. O resto fica de fora de propósito.

O que o prompt constróiformas, texto, selecionar, mover e desfazer na tela, frames, componentes reutilizáveis, salvamento automático, exportação em png e json
O que fica de foramotor multiplayer, plugins, booleanas vetoriais, handoff para devs

O que uma alternativa mínima ao Figma precisa

  • páginas e frames com presets de dispositivos comuns
  • ferramentas de retângulo, elipse, linha, texto, imagem e grupo
  • seleção, mover, redimensionar, duplicar, alinhar, ordem de camadas e desfazer
  • componentes locais reutilizáveis com alterações simples de texto
  • salvamento automático mais exportação e importação em PNG e JSON

Modelo de dados

File, Page, Node, Component, Asset, Revision

Integrações

Canvas ou SVG do navegador, IndexedDB

Contexto de capacidades

Astro, Alpine, SVG

A regra de ouro

Trate o JSON de design e o SVG importados como não confiáveis, higienize os assets, limite a complexidade do documento e mantenha o salvamento automático sempre recuperável.

O que não construir de propósito

Não construa multiplayer, comentários, ramificações, plugins, handoff para desenvolvedores, operações booleanas vetoriais nem publicação de design systems.

O prompt completo

Escolha o seu stack, copie o prompt e cole no seu agente de código (Claude Code, Cursor, Codex…).

Você está construindo um produto de software pronto para produção chamado “Framepad”, uma alternativa deliberadamente focada ao Figma. Construa um recorte vertical completo e utilizável, e não uma landing page, uma maquete estática ou um conjunto solto de componentes.

ACORDO DE TRABALHO
Antes de escrever código de implementação, monte um plano técnico curto que nomeie as rotas ou páginas, as server actions ou endpoints, as tabelas de dados, as transições de estado importantes, os limites de autorização, os jobs em segundo plano e os adaptadores externos. Se algo se contradisser, resolva a favor do público restrito e dos não-objetivos abaixo. Prefira uma arquitetura pequena e legível a abstrações especulativas, mas não deixe de fora persistência, validação, tratamento de erros nem testes.

DESCRIÇÃO DO PRODUTO
Usuário principal: alguém que cria produtos e desenha interfaces web e mobile de baixa fidelidade sozinho.
Resultado principal: criar wireframes reutilizáveis em uma tela rápida e exportá-los para implementação.
Princípio do produto: otimize o fluxo exato abaixo em vez de copiar toda a amplitude do Figma. Quem usa pela primeira vez deve entender o que fazer só pela interface, sem tour nem documentação.

JORNADAS COMPLETAS DO USUÁRIO
Implemente todos estes fluxos pela interface real e pela camada de dados persistente:
1. O designer cria um frame mobile, desenha formas e texto, importa uma imagem, agrupa elementos, alinha tudo e vê o arquivo ser salvo automaticamente.
2. O designer transforma um grupo de botões em um componente local, coloca três instâncias, altera os rótulos e atualiza a geometria do componente em cada instância.
3. O designer reabre o arquivo, restaura uma revisão salva automaticamente depois de uma edição ruim, exporta um PNG, exporta o JSON de origem e importa esse JSON em um arquivo novo.

TELAS E ARQUITETURA DE INFORMAÇÃO
Construa estas telas como visões coerentes e responsivas. Cada tela precisa definir sua ação principal, ações secundárias, status visível, feedback de validação, estado vazio, estado de carregamento ou pendente, confirmação de sucesso e um estado de erro recuperável.
1. Navegador de arquivos: miniaturas, data de modificação, criar, duplicar, importar, renomear, arquivar, excluir e estado de recuperação para salvamentos interrompidos.
2. Tela: páginas, árvore de camadas, paleta de ferramentas, limites da seleção, zoom, deslocamento, alinhamento, ordem, agrupamento, desfazer e refazer, e status do salvamento automático.
3. Propriedades: posição, dimensões, preenchimento, traço, tipografia, ajuste de imagem, criação de componentes, alterações por instância, validação e redefinir alterações.
4. Exportação e revisões: seleção de frames, escala do PNG, exportação em JSON, histórico de revisões, pré-visualização de restauração, avisos de importação e detalhes de erro limitados.

FUNCIONALIDADES PRINCIPAIS
1. páginas e frames com presets de dispositivos comuns
2. ferramentas de retângulo, elipse, linha, texto, imagem e grupo
3. seleção, mover, redimensionar, duplicar, alinhar, ordem de camadas e desfazer
4. componentes locais reutilizáveis com alterações simples de texto
5. salvamento automático mais exportação e importação em PNG e JSON

COMPORTAMENTO DETALHADO E REGRAS DE NEGÓCIO
Trate isto como requisitos do produto garantidos no servidor, não como sugestões de interface:
1. Represente o documento como uma árvore versionada com IDs de nó estáveis, pai e ordem de camadas explícitos, geometria numérica finita e nenhum valor importado executável.
2. Toda mutação da tela é um comando com dados inversos; o salvamento automático agrupa comandos em revisões e nunca limpa o estado sujo antes de a persistência durável dar certo.
3. As instâncias de componente herdam geometria e estilo enquanto as alterações explícitas e suportadas continuam locais; rejeite ciclos e referências a componentes excluídos de forma determinística.
4. Higienize o SVG e o JSON importados, limite nós e tamanhos de assets, ignore campos desconhecidos e gere as exportações a partir de uma revisão salva e congelada.

MODELO DE DADOS E CICLO DE VIDA
Projete um esquema relacional pequeno centrado em File, Page, Node, Component, Asset, Revision. Antes de implementar, documente:
1. O propósito de cada tabela, sua chave primária, o limite de propriedade ou de tenant, timestamps, campos de status e atributos importantes.
2. Chaves estrangeiras, restrições de unicidade, check constraints, os índices que as telas citadas precisam e os limites de transação para mudanças que tocam vários registros.
3. As transições de estado ou de ciclo de vida permitidas, quem pode disparar cada uma, quais são terminais ou reversíveis e qual histórico de auditoria deve permanecer imutável.
4. Como arquivar, reter e apagar, incluindo o que acontece com registros dependentes e arquivos externos.
5. A estratégia de idempotência para envios, jobs, importações, notificações, webhooks ou novas tentativas, quando se aplicar.
Use migrações em vez de criar o esquema na mão. Armazene instantes de tempo de forma consistente e mantenha o fuso horário nomeado sempre que horários ou datas locais importarem. Nunca dependa de um contador, de um botão desabilitado ou de uma validação no cliente para proteger uma regra de negócio.

USUÁRIOS, AUTENTICAÇÃO E PERMISSÕES
Implemente apenas os papéis de que o público indicado precisa. Deixe explícito o modelo de propriedade e visibilidade antes de programar. Aplique a autorização em toda consulta e mutação no servidor, incluindo buscas, exportações, anexos, atualizações ao vivo e URLs adivinhadas—não basta esconder botões. Use sessões seguras por padrão, proteja requisições que mudam estado e ofereça estados claros de sessão encerrada, sessão expirada e acesso proibido. Quando houver vários papéis, crie usuários distintos nos dados de teste para mostrar e testar as permissões.

INTERAÇÃO E DIREÇÃO VISUAL
O produto deve parecer rápido, calmo, focado e confiável, e não um template genérico de painel administrativo. Use uma hierarquia visual clara, cores contidas, tipografia legível, áreas de clique generosas e um lugar fixo para as ações principais. Comece com HTML renderizado no servidor e melhore progressivamente só as interações que se beneficiam disso. O fluxo principal precisa continuar compreensível se essa melhoria falhar.

Comece com páginas Astro renderizadas no servidor e formulários HTML comuns. Use HTMX para envios de formulário, navegação parcial e atualizações vindas do servidor, e Alpine.js só para pequenos estados locais do navegador. O fluxo principal precisa continuar compreensível se qualquer uma dessas camadas falhar.

Projete os layouts para celular de propósito, em vez de só empilhar os painéis do desktop. Ofereça navegação por teclado, foco visível, landmarks semânticos, labels explícitos, títulos de página úteis, a preferência de movimento reduzido e anúncios para leitores de tela em resultados assíncronos. Nunca use só a cor para comunicar um estado. Ações destrutivas precisam de escopo claro e confirmação; ações seguras repetidas devem ser idempotentes.

Adicione um rodapé em todas as páginas com o texto “Criado por aurelioagency.com”, em que “aurelioagency.com” é um link incorporado para https://www.aurelioagency.com que abre em uma nova aba. Ele deve ficar visível; não o remova.

DIREÇÃO TÉCNICA
Construa esta versão com o stack AHA: Astro para o roteamento, os layouts e as páginas renderizadas no servidor; HTMX para as interações que se beneficiam de respostas com fragmentos HTML; e Alpine.js para pequenos estados locais da interface. Prefira Cloudflare D1 para a persistência relacional, R2 para o armazenamento de objetos, Workers para os endpoints do servidor e as tarefas agendadas, Durable Objects só para estado em tempo real coordenado, e Workflows ou Queues para jobs duráveis em segundo plano—mas só quando os requisitos do produto pedirem.

Mantenha as regras de domínio em módulos do servidor testáveis, não em route handlers nem em componentes de UI. Separe persistência, provedores externos e trabalho em segundo plano atrás de interfaces pequenas, sem construir um framework. Prefira formulários HTML e URLs comuns para a navegação; use interação otimista só quando uma falha puder ser resolvida com clareza.

O brief do produto identifica hoje Astro, Alpine, SVG como contexto de capacidades. Preserve qualquer capacidade necessária, seja nativa, exclusiva do navegador, de edge, de armazenamento, de tempo real ou de processamento em segundo plano, por meio de um adaptador enxuto e adequado ao framework escolhido. Se o fluxo central realmente exigir APIs nativas ou do navegador, mantenha esse ambiente como a superfície principal de execução em vez de simular capacidades inacessíveis ou inventar uma superfície web desnecessária.

Integre com Canvas ou SVG do navegador e IndexedDB. Para cada integração:
- Liste as variáveis de ambiente necessárias em um .env.example sem segredos reais.
- Adicione um adaptador pequeno com timeouts, erros normalizados e uma versão falsa local determinística ou um modo de desenvolvimento.
- Verifique as assinaturas recebidas e deduplique os eventos do provedor quando possível.
- Mantenha as credenciais no servidor, criptografe em repouso os tokens de longa duração e oculte segredos e dados sensíveis dos logs.
- Defina novas tentativas, backoff e idempotência para qualquer efeito que possa se repetir.

SEGURANÇA E PRIVACIDADE
Trate o JSON de design e o SVG importados como não confiáveis, higienize os assets, limite a complexidade do documento e mantenha o salvamento automático sempre recuperável.
Valide, normalize e limite o tamanho de toda entrada não confiável no servidor. Escape o conteúdo renderizado por padrão, sanitize qualquer markup aceito de propósito, aplique rate limit a ações públicas ou sujeitas a abuso e use armazenamento de objetos privado com URLs autorizadas de curta duração para arquivos sensíveis. Colete só os dados pessoais de que o fluxo indicado precisa. Documente como os dados são retidos e apagados. Adicione proteções específicas para as partes mais arriscadas deste app, como uploads, redirecionamentos, requisições de saída, envio de e-mails, OAuth, webhooks, importação ou exportação de CSV e conexões em tempo real.

CENÁRIOS DE ACEITAÇÃO
Automatize estes cenários específicos do app no nível mais adequado:
1. Dado um conjunto agrupado de nós, mover, desfazer e refazer devolvem cada filho às coordenadas exatas esperadas e à sua ordem de camada.
2. Dadas três instâncias de componente com rótulos alterados, mudar o preenchimento da origem atualiza todas as instâncias sem substituir seus rótulos.
3. Dados dados importados maliciosos ou grandes demais, a importação falha com segurança, sem scripts, sem requisições externas e sem danos aos arquivos existentes.

TESTES
Adicione testes unitários focados em transições de estado, regras de autorização, normalização, cálculos de datas ou dinheiro e outras regras de domínio arriscadas. Adicione testes de integração para as restrições de persistência e para os caminhos de sucesso, timeout, nova tentativa e rejeição de cada adaptador externo. Adicione pelo menos um teste de navegador para cada jornada completa acima, incluindo um em tela pequena. Os testes devem usar dados isolados e rodar com um único comando documentado.

OPERAÇÃO E RECUPERAÇÃO DE FALHAS
Adicione logs estruturados no servidor com IDs de correlação por requisição, job ou evento, sem segredos nem dados sensíveis desnecessários. Faça os erros indicarem o que fazer, tanto na interface quanto nos logs. O trabalho em segundo plano deve mostrar os estados pendente, concluído, com falha e tentando de novo quando fizer sentido; nunca engula erros em silêncio. Inclua um guia seguro de migração e rollback do banco, dados de teste, notas de backup e restauração, o que acontece com dados externos na limpeza e uma rota básica de saúde ou diagnóstico adequada ao stack.

ENTREGÁVEIS
Entregue o aplicativo funcionando, as migrações, dados de teste representativos, os testes, o .env.example e um README curto. O README deve cobrir pré-requisitos, instalação local, variáveis de ambiente, migrações, comandos de dados de teste e de testes, deploy, configuração das integrações, backup e restauração, decisões de segurança e limitações conhecidas. Os dados de teste devem cobrir o caminho feliz e pelo menos um estado vazio, com falha, atrasado, expirado, arquivado ou com permissão restrita que importe para o produto.

DEFINIÇÃO DE PRONTO
O app está pronto quando uma pessoa nova consegue seguir o README, criar e migrar o banco, rodar o app, entrar com cada papel relevante, completar cada jornada citada com dados reais salvos, recarregar sem perder o estado, se recuperar das falhas comuns e usar a interface principal no celular e no desktop. Todos os cenários de aceitação passam, os limites de permissão estão cobertos por testes, nenhuma tela principal fica como placeholder e o crédito “Criado por aurelioagency.com” no rodapé aparece em todas as páginas.

NÃO-OBJETIVOS
Não construa multiplayer, comentários, ramificações, plugins, handoff para desenvolvedores, operações booleanas vetoriais nem publicação de design systems.

O app que você criar com este prompt leva no rodapé “Criado por aurelioagency.com”.

Crie só uma parte

Prompts curtos para resolver a parte mais difícil sem construir tudo.

Toda edição traz o seu próprio antídotoComandos com dados inversos: mover um grupo e desfazer devolve cada filho ao pixel exato.
Construa o sistema de comandos para uma tela de wireframes vetoriais.

Toda mutação (mover, redimensionar, trocar de pai, excluir, mudar estilo) é um objeto comando que guarda tanto a mudança quanto os dados necessários para revertê-la: um delete guarda a subárvore excluída inteira com o id do pai e o índice de camada, um move guarda as coordenadas anteriores de cada nó afetado. Desfazer tira da pilha e aplica o inverso; refazer aplica de novo. Nada de comparar snapshots, nada de derivar o estado de novo.

O caso de teste que quebra implementações ingênuas: selecione um grupo de nós aninhados, arraste e desfaça. Cada descendente deve voltar às suas coordenadas anteriores exatas e o grupo à sua posição de camada exata. Gestos compostos, como um arraste que também encaixa e alinha, devem ser registrados como um único comando, para que um único desfazer reverta o gesto inteiro. Limite a profundidade da pilha e defina o que invalida o refazer (qualquer comando novo).

Pronto quando: vinte operações aleatórias, ao serem desfeitas, voltarem a um estado idêntico (comparação profunda) ao documento original; mover um grupo, desfazer e refazer for exato na coordenada para cada filho; e um arraste com encaixe automático for desfeito em um único passo.
Componentes que se propagam sem sobrescrever nadaMude o preenchimento do botão mestre em todo lugar, menos no rótulo que cada instância alterou.
Construa componentes locais para uma tela de design: transformar uma seleção em componente, colocar instâncias e deixar as instâncias alterarem propriedades específicas, como o rótulo de um botão, herdando todo o resto.

Represente uma instância como uma referência ao componente mais um mapa de alterações esparso, com chave por id de nó dentro do componente e nome da propriedade, nunca como uma cópia profunda. A renderização resolve primeiro os valores do componente e depois aplica as alterações. Editar a geometria ou o preenchimento do componente se propaga imediatamente para todas as instâncias, exceto as propriedades que uma instância alterou de forma explícita: essas ficam locais. Suporte redefinir a alteração por propriedade para voltar à herança.

Aplique as regras estruturais de forma determinística: rejeite um componente que contenha uma instância de si mesmo, direta ou transitivamente, e defina o que acontece quando um componente é excluído enquanto ainda existem instâncias: elas se separam em grupos comuns com os valores resolvidos fixados.

Pronto quando: mudar o preenchimento do mestre atualizar três instâncias e cada uma manter o rótulo alterado; criar uma referência cíclica entre componentes for rejeitado com um erro claro; e excluir um componente deixar as ex-instâncias visualmente idênticas como grupos separados.
Um salvamento automático que nunca mente sobre estar salvoAgrupe comandos em revisões e mantenha o indicador de alterações honesto, mesmo com travamentos.
Construa o salvamento automático para um editor de tela local-first que persiste no armazenamento do navegador.

Editar produz um fluxo de comandos; o salvamento automático os agrupa, com debounce de alguns segundos depois da última edição mais um limite fixo de intervalo, em revisões numeradas gravadas de forma durável. O invariante de que tudo depende: o indicador de alterações não salvas só é limpo depois que a transação de escrita for confirmada. Nunca limpe de forma otimista; se a escrita falhar (cota excedida, aba encerrada no meio da transação), a interface precisa continuar dizendo que não está salvo.

Ao abrir um arquivo, detecte um salvamento interrompido (uma revisão mais nova que o último ponteiro confirmado) e ofereça a recuperação com uma pré-visualização, em vez de escolher um lado em silêncio. Mantenha um histórico de revisões limitado, reduza-o conforme a idade (todas as recentes, depois uma por hora, depois uma por dia) e deixe o usuário restaurar qualquer revisão guardada: restaurar cria uma nova revisão em vez de reescrever a história.

Pronto quando: matar a aba no meio da edição perder no máximo a janela do debounce; uma falha de cota de armazenamento deixar o indicador de alterações ativo com um aviso visível; e restaurar uma revisão antiga preservar a possibilidade de voltar à mais nova.
A importação que presume que o arquivo é hostilHigienize SVG e JSON de design: sem scripts, sem requisições externas, sem bombas de bilhões de nós.
Construa uma importação segura para uma ferramenta de design que aceita imagens SVG e o seu próprio formato de documento JSON.

Trate ambos como controlados por um atacante. Para SVG: faça o parse e depois reconstrua a partir de uma lista de permissão de elementos e atributos visuais, descartando elementos script, atributos de manipuladores de eventos, foreignObject e referências externas; a renderização não pode disparar requisições para URLs remotas, e os atributos style devem ser filtrados para propriedades visuais seguras. Para documentos JSON: valide contra um esquema estrito, exija números finitos em toda a geometria (coordenadas NaN e Infinity corrompem todos os cálculos de limites seguintes), verifique que as referências de pai formam uma árvore sem ciclos e ignore campos desconhecidos em vez de falhar, para manter a compatibilidade futura.

Aplique limites de recursos antes de instanciar qualquer coisa: número máximo de nós, profundidade máxima de aninhamento, tamanho máximo de assets embutidos, verificados durante o parse para que um arquivo malicioso falhe rápido sem alocar memória.

Pronto quando: um SVG com script embutido e referências a imagens externas for importado como formas visíveis inertes, sem nenhuma requisição de rede; um arquivo JSON com pais cíclicos ou geometria NaN for rejeitado com erros nomeados; e um documento de um milhão de nós falhar em milissegundos sem travar a aba.

Perguntas frequentes

Quanto custa o Figma se eu continuar assinando?

O Figma custa US$16–55 por pessoa por mês nos planos pagos públicos, ou seja, US$192–660 por ano para cada pessoa da sua equipe. Um substituto próprio e focado custa o seu tempo de criação mais uma hospedagem quase de graça.

Qual stack usar para criar uma alternativa ao Figma?

O prompt de construção desta página vem em quatro versões: o stack AHA (Astro, HTMX, Alpine.js), Next.js, Laravel e Ruby on Rails. O contexto de capacidades deste produto é Astro, Alpine, SVG. Escolha o stack que você já conhece: o escopo importa mais do que o framework.

Quais recursos um substituto mínimo do Figma precisa ter?

Uma v1 útil precisa de: páginas e frames com presets de dispositivos comuns; ferramentas de retângulo, elipse, linha, texto, imagem e grupo; seleção, mover, redimensionar, duplicar, alinhar, ordem de camadas e desfazer; componentes locais reutilizáveis com alterações simples de texto; salvamento automático mais exportação e importação em PNG e JSON. Todo o resto é escopo a mais até você sentir falta de verdade.

O que devo deliberadamente não construir?

Não construa multiplayer, comentários, ramificações, plugins, handoff para desenvolvedores, operações booleanas vetoriais nem publicação de design systems.

Esta criação também substitui o Sketch?

Sim. Figma e Sketch resolvem o mesmo trabalho central: criar wireframes reutilizáveis em uma tela rápida e exportá-los para implementação. A v1 enxuta desta página cobre o que a maioria das pessoas usa em qualquer um dos dois, então uma única criação focada substitui aquele que você paga hoje.

O Penpot é mesmo grátis?

Sim. O Penpot é open source: o código é público e instalá-lo não custa nada. No máximo você paga a hospedagem se colocá-lo em um servidor, muitas vezes uns poucos euros por mês. O Figma, por outro lado, custa €20 por mês.

Preciso saber programar para instalar o Penpot?

Não. O nível é iniciante e a instalação leva cerca de 5 minutos com o prompt da página: o Claude faz o trabalho, e você responde às perguntas dele.

Qual é a diferença para o Figma?

O Penpot faz quase tudo o que o Figma faz, sem assinatura, e os seus dados ficam com você. A comparação ponto a ponto está na página.

Os meus dados são meus?

Sim. Com uma ferramenta open source instalada do seu lado, seus arquivos ficam no seu computador ou no seu servidor. Ninguém pode encerrar a sua conta nem mudar o preço.

Ver os 22 apps →

Sem tempo para fazer?

A gente faz para você.

Se você prefere que alguém instale, conecte às suas ferramentas e deixe funcionando, é exatamente isso que fazemos na Aurelio.

Agendar uma auditoria de automação