Conversor PX, REM e EM

Informe o font-size raiz em px e converta entre px, rem e em.

Descrição

Durante anos, o pixel foi a única unidade que importava no design para web. Quando a tela padrão era um monitor CRT de 1024x768, falar em `font-size: 16px` era falar em algo concreto e previsível. O iPhone em 2007 começou a mudar isso, e o display Retina da Apple em 2010 consolidou a transformação: agora havia mais pixels físicos do que pixels CSS numa mesma área. O CSS pixel deixou de ser um ponto físico na tela e se tornou uma unidade abstrata — o que a especificação chama de pixel de referência — calibrada para parecer razoavelmente consistente em dispositivos com densidades diferentes. Surgiram os screen sizes variados, os zooms de acessibilidade, as preferências de fonte do sistema operacional, e de repente `px` sozinho não era mais suficiente para construir interfaces que funcionassem bem para todo mundo.

O `em` existe desde o CSS1 em 1996, mas tem um comportamento que pega muita gente de surpresa: ele é relativo ao `font-size` do elemento pai, não da raiz do documento. Isso significa que dentro de um componente aninhado, `1.2em` aplicado em três níveis resulta em `1.2 × 1.2 × 1.2 = 1.728em` em relação ao tamanho base — um fenômeno chamado compound cascading que pode fazer a tipografia crescer de forma inesperada. O `rem`, introduzido no CSS3 e suportado com segurança desde 2013, resolve isso sendo sempre relativo ao `font-size` do elemento `html`. O truque antigo de setar `font-size: 62.5%` no `html` vem daí: como o tamanho padrão da maioria dos browsers é 16px, 62.5% disso dá 10px, e `1rem` passa a equivaler a `10px`, tornando os cálculos mentais muito mais simples.

A questão de acessibilidade é onde a escolha entre `rem` e `px` realmente importa. Quando um usuário vai nas configurações do sistema operacional ou do navegador e aumenta o tamanho padrão de fonte — algo comum para pessoas com baixa visão — layouts construídos com `px` ignoram completamente essa preferência. Layouts com `rem` se adaptam automaticamente. O `em`, por sua vez, brilha quando você quer que um componente seja completamente auto-suficiente: botões, alertas e cards que definem espaçamentos internos em `em` vão se dimensionar proporcionalmente se você apenas mudar o `font-size` do componente pai, sem precisar ajustar cada propriedade individualmente. A regra prática mais usada: `rem` para tipografia e espaçamentos globais, `em` para componentes isolados que precisam escalar internamente.

Detalhamento técnico

Pontos frequentes

  • Para que serve esta ferramenta?: Ela roda 100% no seu navegador: útil para validar, formatar ou converter dados no dia a dia de desenvolvimento.
  • Meus dados são enviados a algum servidor?: O processamento é feito localmente via JavaScript. Não armazenamos o conteúdo que você cola nas caixas de texto.
  • Posso usar em produção ou para dados reais?: Use por sua conta e risco. Para segredos (senhas, tokens), prefira ambientes controlados e políticas da sua empresa. E lembre sempre de revisar os conteúdos gerados. Nunca confie cegamente nas coisas que vê na internet.

Trecho para testar

  • Há também o bloco "Exemplo de Código" com o trecho completo; use esse texto rápido para colar nos campos e validar: Base 16px — 16px = 1rem = 1em (com contexto raiz) 24px = 1.5rem

Guia da ferramenta

  • O que são unidades absolutas e relativas no CSS Unidades absolutas (como px) representam um valor fixo no contexto de CSS pixels. Unidades relativas (como rem, em, vh, vw, %, ch, ex, vmin, vmax, svh, lvh, dvh) dependem de algum contexto: fonte raiz, fonte do elemento pai/atual, viewport ou tamanho do container.

  • PX, REM e EM na prática px é a unidade mais direta para bordas, sombras e ajustes finos. rem escala a partir do font-size do html, por isso ajuda a manter consistência global de tipografia e espaçamento. em escala pelo contexto local, sendo útil em componentes que devem crescer proporcionalmente ao próprio texto (por exemplo botões compostos).

  • VH e unidades de viewport vh representa porcentagem da altura da viewport (100vh ocupa toda a altura visível). Em mobile, barras do navegador podem alterar a área útil, então também existem svh, lvh e dvh para cenários com viewport dinâmica. vw segue a mesma lógica para largura.

  • Outras unidades importantes % depende da propriedade e do elemento de referência, ch aproxima a largura do caractere “0”, fr distribui espaço em CSS Grid, cm/mm/in/pt/pc existem para contextos de impressão e raramente são ideais para layout web responsivo.

  • O que a ferramenta faz Converte entre px, rem, em e vh, usando base tipográfica configurável e contexto de viewport. Também mostra preview visual em tempo real para desktop e celular, para você validar impacto de escala sem abrir outra aba.

  • Por que usar Acelera decisões de design system, documentação técnica e refatorações de CSS. Você visualiza imediatamente o efeito de trocar unidade fixa por relativa e reduz regressões em responsividade.

Exemplo de Código

Exemplo de código
16px = 1rem = 1em (com contexto raiz)
24px = 1.5rem

Base 16px

16px = 1rem = 1em (com contexto raiz)
24px = 1.5rem

Perguntas frequentes

Para que serve esta ferramenta?

Ela roda 100% no seu navegador: útil para validar, formatar ou converter dados no dia a dia de desenvolvimento.

Meus dados são enviados a algum servidor?

O processamento é feito localmente via JavaScript. Não armazenamos o conteúdo que você cola nas caixas de texto.

Posso usar em produção ou para dados reais?

Use por sua conta e risco. Para segredos (senhas, tokens), prefira ambientes controlados e políticas da sua empresa. E lembre sempre de revisar os conteúdos gerados. Nunca confie cegamente nas coisas que vê na internet.