O que o mercado realmente recomenda
Antes de discutir gosto, vale a pena contar. Capturamos os resultados para esta consulta e analisamos cada página com conteúdo acessível, contabilizando quais famílias cada uma recomendava.
| Páginas que a recomendam | |
|---|---|
| Inter | 4 / 5 |
| Plus Jakarta Sans | 4 / 5 |
| Geist | 2 / 5 |
| Lato | 2 / 5 |
| Space Grotesk | 2 / 5 |
| Outfit | 2 / 5 |
A convergência é real, e interpretá-la como preguiça é ignorar o ponto principal. Essas fontes continuam aparecendo porque satisfazem uma lista específica de restrições que a maioria das tipografias não cumpre — e, assim que você conhece essa lista, tanto a convergência quanto a maneira de evitá-la tornam-se óbvias.
Em um produto, uma combinação geralmente é uma única família
Conselhos de combinação de fontes vêm predominantemente do design editorial e de branding, onde usar uma serifada de display sobre uma sans-serif de corpo é a jogada clássica. Interfaces de produto funcionam de forma diferente. A maior parte do texto em uma tela de produto tem entre 12 e 16 pixels: labels, células de tabela, dicas de formulário, itens de navegação, estados vazios. Há muito pouco "display" e uma quantidade enorme de texto funcional, pequeno e denso.
Portanto, a resposta comum é usar uma única família em dois papéis — uma configuração mais pesada e compacta para títulos, e uma regular para o corpo do texto — com a diferença definida pelo peso, tamanho e espaçamento entre letras, em vez de usar um segundo design. Isso não é um compromisso. É o que faz uma interface densa parecer equilibrada e elimina toda uma categoria de incompatibilidades sutis.
Token specimen · real values
Ambient Sage
Live renderAmbient Sage's actual tokens — the same values its exports use.
Typography
Ambient Sage
Scale: compact-product
Density: balanced
Heading · Plus Jakarta Sans · 1.875rem
Sample headline
Subheading · Plus Jakarta Sans · 1.375rem
A warm-sage neutral-surface mobile kit with a single vivid yellow accent, flat tonal cards, and oversized display numerals.
Body · Plus Jakarta Sans · 1rem
Ambient Sage uses a near-white warm-sage canvas (#f3f4ef) with card panels distinguished only by a tonal shift to #e5e6e0, never by shadows or borders. A single vivid yellow (#fee951) is the only saturated color and appears sparingly at component scale as orbs, button fills, and focus rings. Primary data values render as oversized bold hero numerals with a small superscript unit. Typography is a friendly rounded geometric (Plus Jakarta Sans) with no uppercase and no tight tracking, while JetBrains Mono is reserved for hex codes and technical strings. Generous rounding and luminance-only contrast give the whole system a calm, minimal feel.
Mono · JetBrains Mono · 0.8125rem
npx shadcn add ambientsage.json
Aa
Plus Jakarta Sans · Heading
Aa
Plus Jakarta Sans · Body
ABCDEFGHIJKLM NOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
0123456789 & @ # % →
Duas tipografias que são quase iguais parecem um erro. Duas que são obviamente diferentes parecem uma decisão.
As cinco funções que uma tipografia de produto deve desempenhar
- Numerais tabulares. No momento em que você tem uma tabela, uma fatura, uma lista de preços ou uma métrica que se atualiza, dígitos proporcionais fazem as colunas oscilarem e os números mudarem de largura conforme o valor altera. Uma fonte sem numerais tabulares — ou uma UI que nunca os ativa — produz aqueles dashboards instáveis que todos já viram, mas ninguém sabe explicar a causa.
- Separação real entre pesos adjacentes. A hierarquia de produtos geralmente transita entre 400 e 600 em tamanhos pequenos. Se o 400 e o 500 forem quase idênticos a 14px, cada label parecerá ter o mesmo peso e a hierarquia deixará de existir silenciosamente. Verifique isso no tamanho real do seu corpo de texto, não a 48px, onde qualquer família parece boa.
- Uma altura-x (x-height) elevada. Textos pequenos compõem a maior parte de um produto. Fontes com altura-x generosa e aberturas abertas permanecem legíveis a 12–13px; fontes elegantes com altura-x pequena tornam-se ilegíveis, e você acaba compensando aumentando o tamanho, o que quebra a densidade da interface.
- Caracteres inequívocos.
1,leI;0eO;rnem. Produtos exibem IDs, chaves de API, códigos de erro e nomes de usuário. Uma fonte onde esses caracteres se confundem gera tickets de suporte, e isso é invisível em um espécime de lorem ipsum. - Uma licença que cubra web apps. Self-hosting, incorporação em apps e a faixa de tráfego esperada. Esta é a restrição que costuma ser descoberta por último e a que mais prejudica, razão pela qual as Google fonts de licença aberta dominam todas as listas.
Esses cinco pontos eliminam a maioria das tipografias, e é exatamente por isso que os mesmos nomes continuam recorrendo. Mas note o que *não* está na lista: nada sobre humor, era ou personalidade. As restrições estreitam o campo para algumas dúzias de famílias, não para quatro — e a escolha restante é genuinamente sua.
De onde vem a distinção real
Se a fonte de corpo de todo mundo é um grotesk neutro, igualá-los nesse ponto não custa nada e diferenciar-se ali rende pouco — o usuário não fica admirando a tipografia nas células da sua tabela. Outros dois caminhos são muito mais eficazes:
- Um papel de display genuinamente diferente. Uma sans condensada, uma serifada real ou um grotesk de formato distinto usado apenas para títulos de página e superfícies de marketing. Ela aparece raramente e define a voz do produto e, como não carrega textos densos, não precisa passar por todas as cinco restrições acima.
- Uma monospace escolhida, não herdada. Qualquer produto que exiba código, IDs, timestamps ou métricas tem uma fonte mono na tela constantemente. Deixá-la como o padrão do navegador é uma decisão não tomada e visível; escolher uma é um movimento barato e distintivo que ninguém copia.
Combinações reais de kits de produção seguem exatamente esse modelo: uma sans condensada sobre um corpo neutro; um display serifado sobre uma sans geométrica; ou uma única família usada em ambos os papéis quando o produto é tão denso que uma segunda fonte seria ruído. O que nenhuma delas faz é combinar dois grotesks semelhantes e esperar que a diferença seja percebida.
Aqui estão três desses modelos renderizados ao vivo, para que você possa comparar o *papel de display* diretamente — o único lugar onde a tipografia de um produto difere significativamente. Leia-os na extremidade de legenda da escala, e não na de título: tudo parece distinto a 48px.
Token specimen · real values
Terrain Vivant
Live renderTerrain Vivant's actual tokens — the same values its exports use.
Typography
Terrain Vivant
Scale: perfect-fourth
Density: balanced
Heading · Space Mono · 3rem
Sample headline
Subheading · Space Mono · 2.25rem
A bold two-color institutional editorial system built on vivid green and cobalt blue full-screen surfaces, with monospace type throughout and zero-radius geometry.
Body · Space Mono · 1rem
A resolutely flat two-color surface system. Vivid grass-green (#229f39) and deep cobalt-blue (#2b3386) are sovereign peers: either can fill an entire screen or section, with no neutral intermediary. All text is set in Space Mono at every scale from hero display down to captions, making the monospace grid the primary typographic voice rather than a code aesthetic. All shapes are sharp 90-degree rectangles, and section breaks use stacked parallel horizontal lines as a graphic band.
Mono · Space Mono · 0.75rem
npx shadcn add terrainvivant.json
Aa
Space Mono · Heading
Aa
Space Mono · Body
ABCDEFGHIJKLM NOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
0123456789 & @ # % →
A escala importa mais do que a família
Esta é a parte que as listas nunca abordam, e é onde a maioria das tipografias de produto realmente falha. Uma família perfeitamente escolhida em uma escala ad-hoc parece pior do que uma família simples em uma escala consistente.
Defina quatro coisas e documente-as: um tamanho base, uma proporção entre os degraus, um conjunto pequeno de alturas de linha (line heights) e quais pesos são permitidos. Uma proporção entre 1.2 e 1.25 adequa-se a UIs de produtos densos — proporções maiores criam páginas de marketing lindas, mas não deixam nada utilizável entre um cabeçalho de seção e um label de tabela. A altura da linha deve diminuir conforme o tamanho cresce, embora as pessoas esperem o contrário. E restringir os pesos permitidos a dois ou três é o que impede que a base de código acumule cinco.
Defina a regra de numerais junto com a escala
font-variant-numeric: tabular-nums deve ser usado em tabelas, métricas e qualquer coisa com dígitos alinhados — e proportional-nums em textos corridos, onde numerais tabulares parecem excessivamente espaçados. Decidir isso uma vez no nível da escala é uma regra de duas linhas; descobrir isso por componente resulta em um ano de pequenas inconsistências.
Por que isso piorou recentemente
As interfaces são cada vez mais geradas a partir de briefings escritos, e a tipografia é onde esses briefings são mais rasos. Analisamos 299 arquivos DESIGN.md públicos — o documento que um agente de código lê antes de escrever a UI. 83% mencionam tipografia, o que parece bom até você ver o que dizem: 44% nunca declaram um único valor de tamanho concreto, e 54% contêm pelo menos um adjetivo imensurável, sendo os mais comuns "clean" ou "moderno".
"A tipografia deve parecer refinada" não é uma especificação — é um acordo. Um agente satisfaz isso com sua ideia média de refinado, que é Inter a 16px com altura de linha de 1.5, e o agente de todo mundo faz o mesmo. Uma família nomeada, um tamanho base, uma proporção e uma lista de pesos permitidos mudam o resultado em quatro linhas.
Escolhendo, em ordem
- 1
Filtre pelas cinco restrições
Numerais tabulares, separação de peso no seu tamanho de corpo, altura-x, ambiguidade de caracteres, licença. Isso leva vinte minutos e elimina a maior parte das opções antes mesmo do gosto pessoal entrar em jogo.
- 2
Teste a 13px em uma tabela
Não em um espécime. Monte uma tabela real com números, uma coluna de ID e uma mistura de pesos 400 e 500. Quase todas as falhas aparecem aqui e em nenhum outro lugar.
- 3
Decida se você precisa de uma segunda família
Se o produto for denso, provavelmente não — invista o esforço na escala. Se adicionar uma, escolha uma fonte de display que seja inconfundivelmente diferente.
- 4
Escolha a monospace deliberadamente
Se qualquer código, ID ou timestamp aparecer na sua UI, esta fonte estará na tela constantemente e, geralmente, será o padrão do navegador por acidente.
- 5
Documente a escala
Tamanho base, proporção, alturas de linha, pesos permitidos e a regra dos numerais. No repo, onde tanto a próxima pessoa quanto o agente farão a leitura.
Tipografia como parte de um sistema, não como uma amostra
Cada kit aqui entrega um pairing de fontes real com escala tipográfica completa, pesos e tracking — junto com suas funções de cor, raios e movimento, instaláveis como um único item do registro do shadcn. Kits gratuitos não exigem conta.
FAQ
Qual é o melhor pairing de fontes para um produto SaaS?
Para a maioria das interfaces de produto, uma família em duas funções — uma configuração mais pesada e compacta para títulos e uma configuração regular para o corpo — com a hierarquia sustentada por peso, tamanho e espaçamento entre letras. Adicione uma segunda família apenas para a função de display, e torne-a inconfundivelmente diferente. Uma semelhança excessiva entre duas grotescas similares parece um erro, não uma decisão.
Por que toda lista de fontes para SaaS recomenda as mesmas fontes?
Porque uma tipografia de produto precisa satisfazer cinco restrições que a maioria das fontes não atende: numerais tabulares, separação visível entre pesos adjacentes em tamanhos pequenos, um x-height amplo, distinção clara entre 1/l/I e 0/O, e uma licença que cubra um web app. Isso reduz drasticamente as opções, e fontes de licença aberta superam a barreira jurídica sem burocracia.
Numerais tabulares realmente importam?
No momento em que você tem uma tabela, uma lista de preços ou uma métrica que é atualizada. Com dígitos proporcionais, as colunas não se alinham e os números mudam de largura conforme seu valor altera, o que causa aqueles dashboards sutilmente instáveis que as pessoas notam sem saber explicar o porquê. Use font-variant-numeric: tabular-nums em dígitos alinhados e proporcional em textos corridos.
Quantos pesos devo usar?
Dois ou três, decididos antecipadamente. A hierarquia de produto reside principalmente entre 400 e 600 em tamanhos pequenos; se 400 e 500 parecerem idênticos no tamanho do seu corpo de texto, a hierarquia para de funcionar silenciosamente. Restringir o conjunto permitido é também o que impede que a base de código acumule cinco pesos que ninguém escolheu.
Uma serifada serve para a UI de um produto?
Como fonte de display, frequentemente — é a maneira mais barata de não soar como qualquer outro produto, e como carrega pouco texto denso, não precisa passar pelas restrições de tamanho pequeno. Como fonte de corpo em uma interface densa, raramente: os requisitos de x-height e abertura em 12–14px eliminam a maioria delas.