Conversor de PX a REM
Convierte px a rem y em con cualquier tamaño de fuente raíz, crea una tabla de conversión y pasa a rem todos los px de un fragmento de CSS con un clic.
em es relativo al tamaño de fuente del elemento padre; rem, al del elemento raíz (html).
Convertir un valor
Tabla de conversión masiva
| px | rem | em |
|---|
Convertir un fragmento de CSS
Cómo usar el conversor de PX a REM
- Indica el Tamaño de fuente raíz (px). Es 16 en todos los navegadores principales, salvo que tu hoja de estilos lo cambie. Los botones bajo el campo cambian a 16 px, 10 px (el truco de
html { font-size: 62.5%; }) o 18 px. - Si trabajas con em, indica el Tamaño de fuente del padre para em (px): el tamaño de fuente calculado del elemento que contiene al que estás maquetando.
- En Convertir un valor, escribe en Píxeles (px), REM o EM. Los otros dos campos se actualizan mientras escribes, y la línea de debajo muestra la división utilizada.
- La Tabla de conversión masiva enumera tamaños habituales. Sustituye los Valores en píxeles por tus propios tokens de diseño (escala de espaciado, escala tipográfica…) y usa Copiar tabla para pegar el resultado en una hoja de cálculo o un documento de diseño.
- Para migrar código existente, pégalo en CSS que convertir, elige las opciones y pulsa Convertir px a rem. Cargar un ejemplo muestra una pequeña hoja de estilos. Copia el CSS convertido con Copiar.
Las fórmulas
- rem = px ÷ tamaño de fuente raíz. Con los 16 px por defecto, 24px = 24 ÷ 16 = 1.5rem.
- em = px ÷ tamaño de fuente del padre. Dentro de un título de 20 px, 10px = 0.5em.
- px = rem × tamaño de fuente raíz, y px = em × tamaño de fuente del padre.
rem o em: ¿cuál usar?
rem («root em») se refiere siempre al tamaño de fuente del elemento html, así que 1.5rem significa lo mismo en toda la página. Es la opción más segura para tamaños de letra, espaciados, anchos máximos y separaciones del diseño.
em se refiere al tamaño de fuente del propio elemento (en el caso de font-size, al del padre). Se acumula: una lista a 0.9em anidada tres veces acaba en 0,9 × 0,9 × 0,9 = 73 % de la base. Eso hace que em sea útil para lo que debe escalar con su propio texto (el padding de un botón, el tamaño de un icono junto a una etiqueta) y arriesgado para la tipografía global.
Por qué rem es importante para la accesibilidad
Mucha gente aumenta el tamaño de letra predeterminado en los ajustes del navegador (por ejemplo, de 16 a 20 o 24 px) en lugar de hacer zoom en cada página. Los tamaños escritos en px ignoran esa preferencia; los tamaños en rem o em la respetan. Usar rem para el texto y los espaciados permite que todo el diseño crezca con la elección del lector, lo que ayuda a cumplir el criterio de conformidad 1.4.4 de WCAG 2.2 (cambiar el tamaño del texto hasta el 200 %).
Por el mismo motivo, evita fijar html { font-size: 16px; } en px: usa un porcentaje (100%, o 62.5% si quieres que 1rem = 10px) para que el ajuste del usuario se siga aplicando.
Qué cambia el conversor de CSS
Sustituye los números seguidos de px en las declaraciones por el valor dividido entre el tamaño de fuente raíz. Nunca toca los comentarios, las cadenas ni los valores url().
- Mantener en px los grosores de border y outline:
border,border-*-width,outline,outline-offsetycolumn-rulese quedan en px, para que las líneas finas sigan nítidas.border-radiussí se convierte. - Mantener los valores de 1px: cualquier valor entre −1px y 1px se queda como está.
- Convertir las media queries a em (base de 16px): en las condiciones
@media, rem y em se refieren siempre al tamaño de fuente inicial del navegador, nunca a tu reglahtml, así que la herramienta divide entre 16 y escribe em, sea cual sea tu tamaño raíz. Si la desmarcas, las media queries conservan sus px.
Preguntas frecuentes
¿Cuántos píxeles son 1rem?
16 px por defecto. Si tu hoja de estilos fija html { font-size: 62.5%; }, 1rem = 10 px, y aumenta si el usuario sube el tamaño de letra predeterminado del navegador.
¿rem es lo mismo que em?
Solo en los elementos cuyo padre usa el tamaño de fuente raíz. rem siempre mira al elemento html; em mira al padre, así que los valores em anidados se multiplican.
¿Debo convertir los bordes a rem?
Normalmente no. Un borde de 1px convertido a 0.0625rem puede verse borroso o desaparecer en algunas pantallas con tamaños de letra poco habituales. Por eso las opciones de bordes y de 1px están activadas por defecto.
¿El zoom de la página hace inútil el rem?
No. El zoom del navegador escala por igual px y rem, pero el ajuste del tamaño de letra predeterminado solo escala las unidades relativas. Tener en cuenta ambos forma parte de respetar las preferencias del lector.
¿Se envía mi CSS a algún sitio?
No. La conversión se hace íntegramente en tu navegador y nada de lo que pegas sale de tu dispositivo.
Herramientas relacionadas
- Calculadora de relación de aspecto Calcula la relación de aspecto de cualquier ancho y alto, redimensiona sin deformar, compara 16:9, 4:3 o 21:9 y copia el código CSS aspect-ratio.
- Combinador de fuentes tipográficas Prueba combinaciones de fuentes para títulos y texto con 20 tipografías de licencia abierta, ajusta tamaño e interlineado y copia el font-family en CSS.
- Formateador y minificador CSS Embellece CSS desordenado con una indentación limpia o minifícalo con csso, y compara el tamaño antes y después. Funciona en tu navegador, no se sube nada.
- Generador de box-shadow Diseña sombras CSS por capas con vista previa en directo. Ajusta desplazamiento, desenfoque, expansión, color, opacidad e inset, y copia el código.