Conversor de unidades CSS
Este conversor de unidades CSS transforma um comprimento numérico em px, em, rem ou pt usando o tamanho de fonte base informado por você.
Executar grátis
Ele ajuda quando uma especificação de design, folha de estilos, documento ou biblioteca de componentes adota uma unidade diferente da exigida pelo projeto. Informe o valor, selecione as unidades de origem e destino e defina a referência tipográfica em pixels. O conversor aplica as proporções CSS padronizadas e retorna um número claro e um valor CSS pronto para copiar.
Escolha origem, destino e referência com cuidado
Primeiro, informe a parte numérica do comprimento CSS sem a unidade e selecione a unidade de origem correspondente. Escolha px, em, rem ou pt como destino e forneça um tamanho de fonte base positivo em pixels. A base controla toda conversão que entra ou sai de em ou rem. Por exemplo, com uma base de 16 pixels, 2rem correspondem a 32px, enquanto 24px correspondem a 1.5em. No CSS real, em geralmente se refere ao tamanho de fonte calculado do elemento relevante ou do pai, enquanto rem se refere ao elemento raiz. Como a ferramenta tem um único campo de base, informe a referência apropriada: o tamanho local para em e o tamanho raiz para rem. Conversões apenas entre px e pt não dependem matematicamente dessa referência, mas o campo continua obrigatório para manter um contrato uniforme e explícito. Isso também evita presumir que todo site utiliza uma raiz de 16px.
Entenda o caminho da conversão e o arredondamento
O conversor normaliza o valor de origem em pixels CSS e depois transforma esses pixels na unidade de destino. Unidades relativas usam a base informada: um valor em ou rem é multiplicado pela base para gerar pixels, e um valor em pixels é dividido por ela para gerar em ou rem. Os pontos seguem a relação CSS padrão de 96 pixels por polegada e 72 pontos por polegada; portanto, 1pt equivale a 96 dividido por 72 pixels CSS. Encaminhar todos os pares aceitos por pixels torna previsíveis até conversões de pt para rem e de em para pt. Você pode definir de zero a doze casas decimais. O arredondamento ocorre apenas no final, evitando o acúmulo de erros intermediários. A resposta inclui unidades normalizadas, base, número arredondado e uma string como 1.5rem. Se origem e destino forem iguais, o valor validado é devolvido com o arredondamento solicitado. Números não finitos e bases iguais ou inferiores a zero são rejeitados.
Use os valores sem perder a intenção do design
Um número correto é apenas parte de uma boa migração CSS. Antes de substituir unidades em uma folha de estilos, determine se a medida original deveria acompanhar a tipografia. Pixels e pontos são medidas CSS essencialmente absolutas, enquanto em e rem participam do dimensionamento relativo à fonte. Converter uma borda fixa de px para rem altera seu comportamento quando o usuário ou um tema muda a fonte raiz; isso pode ajudar no espaçamento, mas surpreender em linhas finas. Teste as declarações nos menores e maiores tamanhos de fonte aceitos pela interface, sobretudo em altura de linha, controles e layouts responsivos. Em sistemas de design, registre a base usada em cada lote para permitir reprodução futura. A API é determinística e não depende de rede, aleatoriedade ou relógio, sendo adequada para scripts de build, geradores e testes repetíveis. Unidades incompatíveis, como porcentagens, unidades de viewport, centímetros ou expressões mistas, são rejeitadas em vez de estimadas. Em calc(), converta separadamente cada termo compatível e preserve a estrutura.
Casos de uso
Migrar um componente baseado em pixels
Converta tipografia e espaçamento fixos para em ou rem e documente o tamanho de fonte de referência do componente.
Alinhar especificações impressas e web
Transforme medidas em pontos de um design ou documento em pixels CSS e confira o resultado na escala desejada.
Automatizar tokens de design
Produza variantes determinísticas para tokens, testes de snapshot, geradores de folhas de estilo ou bibliotecas de componentes.
Perguntas frequentes
Quanto custa uma conversão?
Você pode executá-la gratuitamente no navegador. Cada solicitação bem-sucedida da API custa US$ 0,002 por item convertido.
Qual base devo usar para rem?
Use o tamanho de fonte calculado do elemento raiz em pixels. Muitos projetos usam 16px, mas a folha de estilos ou as configurações do usuário podem definir outro valor.
Qual base devo usar para em?
Use o tamanho de fonte calculado ao qual a medida em se refere, normalmente o elemento relevante ou o pai, conforme a propriedade e o contexto.
Como os pontos são convertidos?
O cálculo usa a proporção CSS de 96px por polegada e 72pt por polegada; assim, 1pt equivale a 1.333333 pixels CSS recorrentes.
Quais unidades são rejeitadas?
Qualquer origem ou destino fora de px, em, rem e pt é rejeitado. O conversor não estima porcentagens, unidades de viewport nem expressões calc().
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/web/css-unit-convert \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":24,"from":"px","to":"rem","base":16}'const res = await fetch("https://api.kit.forhosting.com/web/css-unit-convert", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": 24,
"from": "px",
"to": "rem",
"base": 16
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/css-unit-convert",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": 24,
"from": "px",
"to": "rem",
"base": 16
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/css-unit-convert", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":24,"from":"px","to":"rem","base":16}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":24,"from":"px","to":"rem","base":16}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/css-unit-convert", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"value": 24,
"from": "px",
"to": "rem",
"base": 16
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.css_unit_convert",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
timeout_sec | 30 |
max_crawl_pages | 25 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |