
Guía de minificación CSS: CSSO, CSS no usado, builds
Minificar CSS en 2026: CSSO, CSS no usado, Vite/Webpack, frente a un minificador en línea. Límites honestos antes de cazar bytes.
¿Por qué minificar el CSS en 2026?
Minificar CSS no es eliminar las reglas muertas, extraer el critical CSS ni activar gzip/Brotli. La minificación reescribe la hoja que ya sirves: desaparecen comentarios y espacios, se acortan colores y ceros, y los selectores duplicados adyacentes pueden fusionarse. Los nombres de clase siguen siendo el contrato con el HTML — a diferencia del mangling JavaScript. Puedes probar este paso en el navegador con el minificador CSS en línea FastMinify (CSSO, sin envío). Las apps de producción se quedan en el build. Esta guía cubre CSSO tal como funciona, las herramientas de CSS no usado que sustituyeron a PurifyCSS, Webpack/Vite, y cuándo basta un campo de pegar.
Minificar vs CSS no usado vs compresión
Un relato « CSS pasó de 1,8 MB a 420 KB » casi nunca es minify-only: primero es CSS de framework no usado, luego minify, luego gzip. Las cifras de marketing mezclan los pipelines. El minificador FastMinify no escanea tu HTML. Para el paralelo JavaScript: tree shaking vs minificación.
La señal de Google es el INP, y ya no el FID. Un CSS minificado puede reducir la descarga y el parse de las hojas bloqueantes, lo que puede sostener el LCP. No renombra las clases, no extrae el above-the-fold ni reserva el espacio de las imágenes. Mide con Lighthouse o CrUX — no prometas una ganancia en milisegundos ni en conversión. Después de minify, comprimir aún: guía GZIP/Brotli Apache y Nginx.
Configurar CSSO (el motor de FastMinify)
CSSO (CSS Optimizer) parsea con CSSTree, luego limpia, comprime y eventualmente reestructura los rulesets. La página Minificar CSS ejecuta CSSO en el navegador: el nivel de compresión corresponde a restructure/merge; Agresivo puede cambiar el orden de origen. Los extractos siguientes son la API pública — no flags inventados.
Instalación
API (Node)
CLI
La opción `usage` de CSSO lista tags, ids y clases presentes en el markup para eliminar selectores. Debes mantener esa lista. No es un escaneo de `*.html` / `*.jsx`. Una clase construida en JavaScript desaparece si se omite. Para el unused-CSS de verdad: PurgeCSS o los content paths de Tailwind; reserva `usage` para superficies pequeñas y conocidas.
Configuration
Uso
CSS no usado: PurgeCSS, Tailwind, usage CSSO
PurifyCSS es un proyecto estancado. En 2026, escanea el contenido con PurgeCSS (o el scan content / `@source` de Tailwind). FastMinify no hace este paso. Después de quitar las reglas muertas, minifica el resto con CSSO o cssnano — o pega un archivo en el minificador CSS en línea para comprobar.
Instalación
PurgeCSS (API v8)
Tailwind: content paths, no un doble purge
CSS de producción: Webpack y Vite
Un pipeline Webpack prod extrae a menudo con MiniCssExtractPlugin y minifica con css-minimizer-webpack-plugin. El motor por defecto es cssnano, no CSSO. Siempre puedes lanzar CSSO en un script npm o vía un minimizer custom. Vite minifica el CSS en producción vía build.cssMinify — históricamente esbuild, Lightning CSS en las majors más recientes. Lee la doc Vite de tu versión. Tema WordPress sin build JS: plugins de minificación WordPress.
Configuration Webpack
package.json
Critical CSS, selectores, en línea vs build
Inlinear el above-the-fold y cargar el resto en async no es el trabajo de un minificador. Extrae primero, luego minifica el bloque crítico. Guía: Critical CSS: extraer, minificar, inlinear.
Los selectores profundos cuestan sobre todo en mantenimiento y especificidad, no solo en kilobytes. Minify no aplanará `.container .row .card .title` por ti. Menos clases, más estables — luego minify.
Antes
Después
Pegar-minificar conviene para una sobrecarga de tema hijo, un CSS de landing puntual, o para ver qué hace CSSO con un snippet antes de cambiar el build. No es el único pipeline de una app que publica en cada commit. Comparativa: minificadores en línea vs herramientas de build. Compila SCSS/LESS primero — hub preprocesadores CSS — luego minifica el CSS.
Medir el CSS, no adivinar
El tamaño en disco no son los bytes en el cable. Comprueba el tamaño comprimido en la pestaña Red, Coverage para los bytes no usados, y el LCP de campo — no una « puntuación CSS » inventada.
Una puntuación Lighthouse « página entera » no es un presupuesto CSS. Prefiere un tamaño máximo del artefacto CSS extraído, y luego eventualmente una aserción de perf en una URL estable.
Configuration GitHub Actions
Usa las herramientas de minificación gratis para optimizar tu código:
Minificador JavaScript
Minifica, desminifica y embellece JavaScript al instante.
Minificador CSS
Optimiza hojas de estilo CSS para un mejor rendimiento.
Formateador JSON
Formatea JSON minificado con sangría personalizable — herramienta dedicada del cluster JSON.
Optimizador SVG (SVGO)
Optimización SVGO profunda más allá del minify rápido — presets safe, default y aggressive.
Prepara cadenas para URLs, markup o APIs — todo permanece en el navegador:
Base64
Codifica o decodifica texto UTF-8 en Base64, incluido el alfabeto URL-safe.
Codificar URL
Codifica en porcentaje componentes de consulta o URIs con encodeURIComponent, encodeURI o form-urlencoded.
Decodificar URL
Decodifica cadenas percent-encoded — componente, URI completa o form-urlencoded.
Entidades HTML
Escapa o quita el escape de &, <, comillas y entidades con nombre antes de insertar markup.
Y después
Minifica el CSS con CSSO o cssnano en el build que ya controlas. Quita las reglas muertas con PurgeCSS o el scan Tailwind — no con PurifyCSS, y no con el campo de pegar de FastMinify. Usa el minificador CSS en línea para inspeccionar un archivo o un snippet custom. Si el sitio es WordPress sin build front, empieza por la minificación plugin en staging en lugar de inventar un plugin FastMinify.
Artículos relacionados

YAML roto, `on` o `jobs` ausentes, steps vacíos: valida la estructura de tus workflows antes del push — y deja actionlint para la CI.

Errores de sintaxis SDL, review de esquema y formateo antes del merge — complemento al beautify GraphQL existente.

Reduce la factura OpenAI/Anthropic/Gemini: estima input/output, activa batch y caching en tus cálculos — tarifas verificadas, 100 % local.