La tipografía es mucho más que la simple elección de una fuente visualmente atractiva. Es uno de los pilares fundamentales del diseño web que afecta profundamente la legibilidad, la velocidad de carga, la accesibilidad, la percepción de marca y, en última instancia, la efectividad comunicativa de tu sitio. Un estudio realizado por el MIT encontró que una tipografía bien seleccionada mejora la comprensión del contenido en un 20% y aumenta la retención de información. Además, el 95% del contenido web es textual, lo que hace de la tipografía el elemento de diseño más ubicuo y crítico.
En esta guía exhaustiva, exploraremos las mejores prácticas para crear sistemas tipográficos efectivos que equilibren estética, funcionalidad, rendimiento y accesibilidad.
Selección estratégica de familias tipográficas

La elección de fuentes debe ser intencional y basarse en el propósito comunicativo, la identidad de marca y el contexto de uso. No se trata solo de estética, sino de funcionalidad contextual.
Fuentes para titulares: impacto y personalidad
Los titulares requieren fuentes que capturen atención y comuniquen personalidad. Las fuentes sans-serif como Montserrat, Poppins, Raleway o Inter aportan modernidad, limpieza y profesionalismo, siendo ideales para tech, startups y marcas contemporáneas. Las fuentes serif como Playfair Display, Merriweather o Lora transmiten elegancia, tradición y autoridad, perfectas para editoriales, firmas legales o marcas premium.
Para proyectos más creativos o distintivos, considera fuentes de display como Bebas Neue o Archivo Black, pero úsalas con moderación y nunca en cuerpos de texto extensos.
Fuentes para cuerpo de texto: legibilidad ante todo
El cuerpo de texto requiere optimización para lectura prolongada en pantalla. Serif: Georgia, Lora, PT Serif ofrecen excelente legibilidad y facilitan la lectura continua, especialmente en contenidos largos como blogs o artículos. Sans-serif: Open Sans, Roboto, Lato, Source Sans Pro son versátiles, altamente legibles y funcionan excepcionalmente bien en interfaces digitales.
Evita fuentes excesivamente estilizadas, con trazos muy finos o demasiado condensadas para cuerpos de texto. La regla de oro: si requiere esfuerzo leerla, no es apropiada para cuerpo.
Sistema tipográfico coherente: menos es más
Limítate a 2-3 familias tipográficas máximo en todo tu sitio. Una estructura típica efectiva: una fuente para titulares, otra para cuerpo, y opcionalmente una tercera para elementos UI (botones, labels). Más fuentes generan inconsistencia visual, aumentan tiempo de carga y diluyen la identidad de marca.
Google Fonts: biblioteca profesional gratuita
Google Fonts ofrece más de 1,400 fuentes gratuitas, optimizadas para web, con hosting CDN global. Es la solución más accesible y confiable para la mayoría de proyectos. Alternativas: Adobe Fonts (requiere suscripción Creative Cloud) ofrece fuentes premium, y servicios como Fonts.com o MyFonts para tipografías comerciales únicas.
Tamaños, line-height, spacing y jerarquía visual

Escala tipográfica: armonía matemática
Una escala tipográfica consistente crea armonía visual y facilita la implementación. Establece tamaños proporcionales basados en ratios como 1.25 (Major Third), 1.333 (Perfect Fourth) o 1.5 (Perfect Fifth). Ejemplo práctico:
- Cuerpo base: 16px (nunca menos de 16px para accesibilidad)
- H6: 18px
- H5: 20px
- H4: 24px
- H3: 28px
- H2: 32px
- H1: 40-48px
Usa herramientas como Type Scale (type-scale.com) para generar escalas armónicas automáticamente.
Line-height (interlineado): espacio para respirar
El line-height afecta críticamente la legibilidad. Para cuerpo de texto, usa 1.5-1.6 (150-160% del tamaño de fuente). Para titulares, reduce a 1.2-1.3, ya que líneas más ajustadas funcionan mejor con textos cortos. Líneas de texto muy largas (más de 75 caracteres) requieren line-height mayor (1.6-1.8) para mantener legibilidad.
body {
font-size: 16px;
line-height: 1.6; /* 25.6px */
}
h1, h2, h3 {
line-height: 1.2;
}
Letter-spacing y word-spacing: ajustes sutiles
El espaciado entre letras (letter-spacing) y palabras (word-spacing) normalmente debe dejarse en sus valores predeterminados. Sin embargo, textos en mayúsculas o fuentes condensadas pueden beneficiarse de incrementos sutiles (+0.05em – +0.1em). Nunca uses valores negativos en cuerpo de texto.
Jerarquía visual clara: guía al lector
Una jerarquía tipográfica clara guía al usuario a través del contenido de forma intuitiva. Establece diferencias visuales evidentes entre niveles usando: tamaño, peso (font-weight), color y espacio. El usuario debe identificar instantáneamente títulos principales, subtítulos y cuerpo sin confusión.
Accesibilidad tipográfica: diseño inclusivo
Contraste texto-fondo: cumplir WCAG
Las Web Content Accessibility Guidelines (WCAG) establecen ratios de contraste mínimos para garantizar legibilidad. Nivel AA (estándar): ratio 4.5:1 para texto normal, 3:1 para texto grande (18px+ o 14px+ en negrita). Nivel AAA (excelencia): ratio 7:1 para texto normal, 4.5:1 para texto grande.
Usa WebAIM Contrast Checker o Colour Contrast Analyser para validar combinaciones. Texto gris sobre fondo blanco (#666 sobre #FFF = 5.74:1) cumple AA; texto gris claro (#999 sobre #FFF = 2.85:1) falla y debe evitarse.
Tamaños mínimos y máximos de fuente
Nunca uses fuentes menores a 16px para cuerpo de texto; 14px es el mínimo absoluto para elementos UI secundarios. Para usuarios con discapacidad visual, considera implementar un control de tamaño de texto accesible. Longitud de línea óptima: 50-75 caracteres (45-90 rango aceptable).
Responsive typography: adaptándose al dispositivo
Usa unidades fluidas como rem, em o clamp() para tipografía responsive. clamp() permite definir tamaños mínimo, preferido y máximo:
h1 {
font-size: clamp(2rem, 5vw, 4rem);
/* Mínimo 32px, crece con viewport, máximo 64px */
}
Variable Fonts: la revolución tipográfica

Los variable fonts son archivos de fuente únicos que contienen múltiples variaciones (pesos, anchos, estilos) en un solo archivo, reduciendo drásticamente el peso total y solicitudes HTTP. Por ejemplo, Inter Variable incluye todos los pesos (100-900) en un archivo de ~300KB, mientras que cargar 5 pesos tradicionales sumaría ~150KB cada uno = 750KB total.
@font-face {
font-family: 'InterVariable';
src: url('Inter-Variable.woff2') format('woff2-variations');
font-weight: 100 900; /* Rango completo */
}
Variable fonts permiten animaciones tipográficas fluidas y ajustes dinámicos imposibles con fuentes tradicionales.
Optimización de carga y rendimiento
Font-display: control sobre el comportamiento de carga
La propiedad font-display controla cómo se comportan las fuentes mientras se cargan. swap es el valor más recomendado: muestra texto inmediatamente con fuente del sistema, luego intercambia a la fuente web cuando carga, evitando FOIT (Flash of Invisible Text).
@font-face {
font-family: 'MiFuente';
src: url('mifuente.woff2') format('woff2');
font-display: swap;
}
Subset y unicode-range: carga solo lo necesario
Si solo necesitas caracteres latinos, carga solo ese subset en lugar del archivo completo. Google Fonts permite especificar subsets (&subset=latin). Alternativamente, usa unicode-range en @font-face para cargar rangos específicos.
Preload fuentes críticas
Usa <link rel="preload"> para fuentes críticas (cuerpo de texto y titulares above the fold) para iniciar la descarga antes de que el CSS sea procesado:
<link rel="preload" href="font.woff2" as="font" type="font/woff2" crossorigin>
Herramientas y recursos esenciales
Para selección y emparejamiento
- Font Pair: Sugiere combinaciones probadas de fuentes Google Fonts
- Fontjoy: Genera combinaciones usando machine learning
- Google Fonts: Biblioteca con previsualización y emparejamientos sugeridos
Para escalas y sistemas
- Type Scale: Genera escalas tipográficas armónicas
- Modular Scale: Calculadora avanzada de escalas
- Typewolf: Inspiración con ejemplos reales de uso tipográfico
Para accesibilidad y contraste
- WebAIM Contrast Checker: Validación WCAG instantánea
- Colour Contrast Analyser: Aplicación desktop para diseñadores
Para optimización
- Google Fonts Helper: Auto-hosting de Google Fonts con optimización
- Subfont: Genera subsets automáticamente
Casos de uso y mejores prácticas por tipo de sitio
Blogs y contenido editorial
Prioriza legibilidad sobre personalidad. Fuentes serif para cuerpo (Georgia, Lora) con sans-serif para titulares (Montserrat, Open Sans). Line-height generoso (1.6-1.8) y longitud de línea controlada (60-70 caracteres).
E-commerce y sitios corporativos
Claridad y profesionalismo. Sans-serif system fonts (Inter, Roboto) para toda la jerarquía. Asegúrate de que precios, CTAs y elementos críticos tengan contraste perfecto y tamaños generosos.
Portfolios creativos
Permite más experimentación, pero mantén legibilidad. Puedes usar fuentes display únicas para titulares, pero asegúrate de que descripciones y textos de proyecto sean totalmente legibles.
Conclusión y checklist tipográfico
Una tipografía bien ejecutada es invisible: los usuarios no la notan conscientemente, pero mejora dramáticamente su experiencia. Es tanto ciencia como arte, requiriendo atención a detalles técnicos y sensibilidad estética.
Checklist esencial:
- ✅ Usa 2-3 familias tipográficas máximo
- ✅ Establece escala tipográfica consistente (ratio 1.25-1.5)
- ✅ Cuerpo de texto mínimo 16px
- ✅ Line-height 1.5-1.6 para cuerpo, 1.2-1.3 para titulares
- ✅ Contraste mínimo 4.5:1 (WCAG AA)
- ✅ Longitud de línea 50-75 caracteres
- ✅ Usa font-display: swap
- ✅ Considera variable fonts para mejor rendimiento
- ✅ Preload fuentes críticas
- ✅ Carga solo subsets necesarios
- ✅ Prueba en múltiples dispositivos y tamaños
- ✅ Valida accesibilidad con herramientas automáticas
Artículo relacionado: Cómo crear una página web – Guía completa