Conversor PX, REM y EM

Indica el font-size raíz en px y convierte entre px, rem y em.

Descripción

Durante años, el pixel fue la única unidad que importaba en el diseño web. Cuando la pantalla estándar era un monitor CRT de 1024x768, escribir `font-size: 16px` significaba algo concreto y predecible. El iPhone en 2007 empezó a cambiar eso, y la pantalla Retina de Apple en 2010 completó la transformación: ahora había más píxeles físicos que píxeles CSS en la misma área. El píxel CSS dejó de ser un punto físico en la pantalla y se convirtió en una unidad abstracta — lo que la especificación llama pixel de referencia — calibrada para parecer razonablemente consistente en dispositivos con distintas densidades. Surgieron los tamaños de pantalla variables, los zooms de accesibilidad, las preferencias de fuente del sistema operativo, y de repente `px` solo no era suficiente para construir interfaces que funcionaran bien para todos.

La unidad `em` existe desde CSS1 en 1996, pero tiene un comportamiento que sorprende a muchos: es relativa al `font-size` del elemento padre, no de la raíz del documento. Esto significa que dentro de un componente anidado, `1.2em` aplicado en tres niveles se convierte en `1.2 × 1.2 × 1.2 = 1.728em` respecto al tamaño base — un fenómeno llamado compound cascading que puede hacer crecer la tipografía de forma inesperada. La unidad `rem`, introducida en CSS3 y soportada de forma segura desde 2013, resuelve esto siendo siempre relativa al `font-size` del elemento `html`. El truco clásico de establecer `font-size: 62.5%` en `html` viene de aquí: como el tamaño predeterminado en la mayoría de los navegadores es 16px, el 62,5% de eso son 10px, haciendo que `1rem` equivalga a `10px` y simplificando mucho el cálculo mental.

El argumento de accesibilidad es donde la elección entre `rem` y `px` realmente importa. Cuando un usuario va a la configuración de su sistema operativo o navegador y aumenta el tamaño de fuente predeterminado — algo habitual en personas con baja visión — los layouts construidos con `px` ignoran completamente esa preferencia. Los layouts con `rem` se adaptan de forma automática. La unidad `em`, por su parte, brilla cuando quieres que un componente sea completamente autónomo: botones, alertas y tarjetas que definen su espaciado interno en `em` escalarán proporcionalmente si solo cambias el `font-size` del componente padre, sin necesidad de ajustar cada propiedad por separado. La regla práctica más usada: `rem` para tipografía y espaciado global, `em` para componentes aislados que necesitan escalar internamente.

Detalle técnico

Ideas claras antes de usar la herramienta

  • ¿Para qué sirve esta herramienta?: Funciona por completo en tu navegador: sirve para validar, formatear o convertir datos en el día a día.
  • ¿Se envían mis datos a algún servidor?: El procesamiento es local con JavaScript. No almacenamos lo que pegas en los campos de texto.
  • ¿Puedo usarlo con datos reales en producción?: Úsalo bajo tu responsabilidad. Para secretos (contraseñas, tokens), prefiere entornos controlados y políticas internas. Recuerda de revisar los contenidos generados. Nunca confies ciegamente en cosas que ves en internet.

Fragmento corto para probar

  • Debajo aparece también el ejemplo largo en "Fragmentos de Código"; pega esta versión corta: Base 16px — 16px = 1rem = 1em (com contexto raiz) 24px = 1.5rem

Guía de la herramienta

  • Unidades absolutas y relativas en CSS Las unidades absolutas (como px) representan un valor fijo en píxeles CSS. Las unidades relativas (rem, em, vh, vw, %, ch, ex, vmin, vmax, svh, lvh, dvh) dependen de un contexto: fuente raíz, fuente local, viewport o contenedor.

  • PX, REM y EM en la práctica px es directo para bordes, sombras y ajustes finos. rem escala desde el font-size de html, ideal para consistencia global de tipografía y espaciado. em escala desde el contexto local y funciona bien en componentes que deben crecer con su texto.

  • VH y unidades de viewport vh representa porcentaje de altura del viewport (100vh ocupa toda la altura visible). En móvil, la UI del navegador puede cambiar el área útil, por eso existen svh, lvh y dvh para viewport dinámico. vw aplica la misma idea al ancho.

  • Otras unidades útiles % depende de la propiedad y referencia, ch aproxima el ancho del carácter “0”, fr reparte espacio libre en CSS Grid y cm/mm/in/pt/pc se usan más en impresión.

  • Qué hace la herramienta Convierte entre px, rem, em y vh con base tipográfica y contexto de viewport configurables. También incluye vista previa visual en tiempo real para desktop y mobile.

  • Por qué usarla Acelera decisiones de design system, refactors de CSS y documentación técnica al mostrar de inmediato el impacto de cada unidad.

Fragmentos de Código

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

Base 16px

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

Preguntas frecuentes

¿Para qué sirve esta herramienta?

Funciona por completo en tu navegador: sirve para validar, formatear o convertir datos en el día a día.

¿Se envían mis datos a algún servidor?

El procesamiento es local con JavaScript. No almacenamos lo que pegas en los campos de texto.

¿Puedo usarlo con datos reales en producción?

Úsalo bajo tu responsabilidad. Para secretos (contraseñas, tokens), prefiere entornos controlados y políticas internas. Recuerda de revisar los contenidos generados. Nunca confies ciegamente en cosas que ves en internet.