Gerador de Tabela de Preços em CSS
A tabela de preços é o espaço mais valioso de uma página de marketing: ela precisa ser clara, fácil de bater o olho e conduzir o visitante até o plano que a empresa quer vender. Este gerador monta um cartão de preço em HTML + CSS, com o nome do plano, o preço e uma cor de destaque para o preço e o botão de chamada para ação. Coloque vários cartões lado a lado para formar uma tabela de preços completa e copie o código para a sua landing page.
Como construir uma tabela de preços
-
1
Informe o nome do plano
O título do plano no topo do cartão, por exemplo "Pro".
-
2
Defina o preço
O preço em letras grandes, por exemplo "$29". O sufixo "/mo" é adicionado automaticamente.
-
3
Escolha uma cor de destaque
Usada no preço e no botão de chamada para ação. Escolha uma cor que combine com a sua marca.
-
4
Copie o código
O cartão inclui uma lista de recursos e um botão de chamada para ação, além do próprio bloco <style>. Edite os itens direto no código.
-
5
Repita para mais planos
Para uma tabela de preços completa, duplique o cartão de cada plano e organize-os em uma grade.
Estrutura básica
<section class="pricing">
<article class="plan">
<h3>Iniciante</h3>
<p class="price">R$ 29 <span>/mês</span></p>
<p class="tagline">Para projetos solo.</p>
<ul class="features">
<li>3 projetos</li>
<li>10 GB de armazenamento</li>
<li>Suporte da comunidade</li>
</ul>
<a class="cta" href="#">Comece grátis</a>
</article>
<article class="plan featured">
<span class="badge">Mais popular</span>
<h3>Pro</h3>
<p class="price">R$ 89 <span>/mês</span></p>
<!-- ... -->
</article>
<article class="plan">
<h3>Equipe</h3>
<!-- ... -->
</article>
</section>
Grid responsiva de três colunas
.pricing {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 1.5rem;
align-items: stretch;
}
.plan {
padding: 2rem 1.5rem;
background: #fff;
border: 1px solid #e5e7eb;
border-radius: 12px;
display: flex;
flex-direction: column;
}
.plan.featured {
border: 2px solid #2563eb;
position: relative;
transform: translateY(-4px);
box-shadow: 0 10px 30px rgba(37, 99, 235, 0.15);
}
auto-fit + minmax(240px, 1fr) fornece um layout de três colunas no desktop e uma pilha de uma coluna no mobile, sem nada mais para configurar.
O plano em destaque
Sinais visuais que chamam a atenção:
- Borda colorida na cor de destaque da marca.
- Card levemente elevado, com margin-top negativo ou
translateY(-4px). - Botão de CTA maior, geralmente preenchido com a cor da marca, enquanto os outros planos ficam com um botão apenas contornado.
- Selo (“Mais escolhido”, “Melhor custo-benefício”) posicionado em absolute no topo do card.
- Card mais alto, para atrair o olhar, ainda que isso dificulte a comparação entre os planos.
Não use todos de uma vez: escolha dois ou três. Sinais demais achatam a hierarquia em vez de criá-la.
Alternância mensal/anual
<div class="billing-toggle">
<button data-active="true">Mensal</button>
<button>Anual · Economize 20%</button>
</div>
A alternância normalmente troca os valores de preço com um pouco de JavaScript, ou usa o estado :checked de um botão de rádio. Mostre a porcentagem de desconto ou quanto o cliente economiza em reais no próprio texto da alternância (por exemplo, “Anual · Economize 20%”): em muitas tabelas, esse é o elemento mais persuasivo de todos.
Estilo das linhas de recursos
.features {
list-style: none;
padding: 0;
margin: 1.5rem 0;
display: flex;
flex-direction: column;
gap: 0.5rem;
}
.features li {
display: flex;
align-items: center;
gap: 0.5rem;
}
.features li.yes::before {
content: "";
width: 16px; height: 16px;
background: url(...check.svg);
}
.features li.no {
color: #9ca3af;
text-decoration: line-through;
}
Use uma marca de verificação para o que está “incluído” e texto em cinza ou uma cruz suave para o que “não está incluído”. Nunca risque o texto sem também reduzir o contraste: um risco forte demais é lido como ênfase, e não como ausência do recurso.
Mantenha o CTA em evidência
Um CTA por plano, visualmente consistente entre todos eles. Usar textos diferentes em cada plano (“Comece grátis”, “Assine o Pro”, “Fale com vendas”) é totalmente válido e ainda ajuda a levar o usuário para o fluxo certo.
Deixe a tabela fácil de escanear
Os usuários raramente leem uma tabela de preços da esquerda para a direita: primeiro batem o olho nos preços, depois nos CTAs e só então nas diferenças de recursos. Otimize para esse caminho:
- Nome do plano e preço em destaque, no topo do card.
- CTA visível sem precisar rolar o card.
- Lista de recursos logo abaixo. Realce as diferenças entre os planos em vez de repetir os mesmos recursos em todas as colunas.
Checklist de acessibilidade
- Cada plano é um
<article>próprio, com seu próprio<h3>. - O selo “Mais escolhido” é um rótulo de texto visível, não só uma cor (por causa dos usuários daltônicos).
- Os botões de CTA trazem texto descritivo (“Começar o teste do Pro”) em vez de “Clique aqui”.
- A alternância de cobrança usa
aria-pressedou a semântica de botões de rádio. - Se a alternância for feita em JavaScript, anuncie a mudança de preço via
aria-live="polite".
Perguntas frequentes
Três é o padrão do marketing: a tabela fica mais fácil de escanear e destaca com clareza a opção do meio. Quatro planos fazem sentido quando você realmente tem quatro públicos (individual / equipe / empresa / enterprise). De cinco em diante o visitante costuma se perder; nesse caso, divida em duas tabelas ou acrescente uma comparação detalhada à parte.
Depende do negócio. Começar no anual destaca o desconto e ancora um preço mais baixo na cabeça do visitante; começar no mensal é menos agressivo. Se houver receita real em jogo, faça um teste A/B. Um meio-termo: comece no anual, mas deixe a opção mensal a um clique de distância.
O grid repeat(auto-fit, minmax(240px, 1fr)) faz isso sozinho. Abaixo de uns 800px de largura de viewport, os cards caem para uma única coluna sem precisar de nenhuma media query.
Na ponta direita, se você ordenar os planos do mais barato para o mais caro. O texto do CTA deve ser “Fale com vendas” em vez de um preço, e o card precisa manter a mesma aparência dos outros para a tabela continuar fácil de escanear. Algumas empresas preferem tirar o plano enterprise da tabela e colocá-lo em uma seção separada logo abaixo, para não atrapalhar a comparação de preços dos demais planos.
Ferramentas relacionadas
Gerador de Cartão CSS
Crie o CSS de um contêiner de cartão: fundo, borda, raio dos cantos, espaçamento interno e sombra suave, com pré-visualização imediata e código para copiar e colar.
Referência da Tabela ASCII
Tabela ASCII completa de 0 a 127 com valores decimais, hexadecimais, octais e binários e notação de referência numérica HTML, incluindo NUL, LF e DEL.
Conversor de Tamanho de Arquivo
Converta entre bytes, KB, MB, GB, TB e as unidades binárias IEC (KiB, MiB, GiB, TiB), combinando decimal e binário como preferir.
Visualizador de Markdown
Escreva Markdown e veja a renderização HTML atualizar ao vivo. Sintaxe com estilo GitHub, incluindo tabelas, listas de tarefas, blocos de código cercados e autolinks.
Gerador de Docker Compose
Gere um docker-compose.yml a partir de definições de serviços com imagem, portas e volumes, com padrões de boas práticas.
Conversor de base numérica
Converta números entre binário, octal, decimal, hexadecimal e qualquer base personalizada de 2 a 36, com o detalhamento posicional.
Ferramenta disponível em outros idiomas
- Generator tabel cenowych CSS [PL]
- เครื่องสร้างตารางราคา CSS [TH]
- CSS-Preistabellen-Generator [DE]
- Generator Tabel Harga CSS [ID]
- Generador de Tablas de Precios CSS [ES]
- CSS料金表ジェネレーター [JA]
- CSS-generator för pristabeller [SV]
- Trình tạo bảng giá CSS [VI]
- Générateur de tableau de prix CSS [FR]
- CSS 요금제 표 생성기 [KO]
- مولد جدول تسعير CSS [AR]
- CSS-prijstabelgenerator [NL]
- CSS Pricing Table Generator [EN]
- Generatore di Tabelle Prezzi CSS [IT]
- Генератор таблиц тарифов на CSS [RU]
- CSS Fiyat Tablosu Oluşturucu [TR]
- CSS 价格表生成器 [ZH]