Saltar al contenido

Ordenador de clases Tailwind

Ordena las clases utility en atributos class/className según el orden recomendado por Tailwind.

Entrada
Salida

Ordenador de clases Tailwind

Pega HTML o JSX y esta herramienta reordena las clases dentro de cada atributo class y className para que coincidan con el orden recomendado por Tailwind CSS — el mismo orden de categorías usado por el plugin oficial prettier-plugin-tailwindcss: primero layout y posicionamiento, luego flexbox y grid, espaciado, tamaño, tipografía, fondos, bordes y efectos, con modificadores responsive y de estado (hover:, sm:, dark:) colocados después de la utilidad base que modifican. Un orden consistente reduce los diffs y facilita la revisión de pull requests, ya que dos desarrolladores que escriben "flex p-4 text-white" y "text-white p-4 flex" terminan con salida idéntica.

Elige si procesar todo el documento pegado — escaneando cada atributo class y className que encuentre — o tratar la entrada como una lista simple de clases. Las clases no-Tailwind (tus propias clases de componentes, nombres de utilidad de otros frameworks) se mantienen juntas al inicio o final de cada lista en lugar de dispersarse. Activa "Eliminar clases duplicadas" para descartar repeticiones exactas, y "Avisar sobre clases que se anulan" para detectar pares como p-4 y p-2, o block y hidden, que se anulan al aplicarse juntos — el conteo aparece en el resumen en vivo debajo del resultado. "Agrupar variantes responsive" agrupa cada clase sm:, md: y lg: al final en lugar de intercalarlas junto a su equivalente sin prefijo, lo que algunos equipos prefieren para escanear de un vistazo.

Las clases dentro de un template literal con una expresión JavaScript, como className={`flex \${isActive ? 'bg-red-500' : 'bg-blue-500'} p-4`}, se dejan sin cambios por defecto ya que la herramienta no puede saber qué renderizará una variable en tiempo de ejecución — desactiva "Dejar clases dinámicas sin cambios" para ordenarlas de todas formas. Resultado como código fuente modificado, listo para pegar en tu editor, o como lista ordenada simple, una clase por línea.

Todo funciona localmente en tu navegador — el HTML, JSX o lista de clases que pegas nunca se carga en ningún lado. Cuando termines, copia el resultado, descárgalo como archivo .txt, o envía el resultado nuevamente a la entrada para usar otra herramienta.

Preguntas frecuentes

¿En qué orden ordena las clases?
El mismo orden de categorías recomendado por el plugin oficial de Tailwind: layout, flexbox/grid, espaciado, tamaño, tipografía, fondos, bordes, efectos, filtros, transiciones, transformaciones e interactividad, con modificadores como hover: y sm: colocados después de la clase base a la que aplican.
¿Funciona con JSX y template literals, no solo HTML puro?
Sí. Reconoce class="…", className="…" y template literals className={`…`}. Un className establecido desde una variable o una llamada a función como clsx(…) no puede ser analizado de forma segura y se deja tal cual.
¿Qué cuenta como una clase "personalizada"?
Cualquier clase que la herramienta no reconozca como una utilidad de Tailwind — tus propias clases de componentes, o clases de un plugin que esta herramienta no cubre. Las clases personalizadas mantienen su orden relativo y se colocan al inicio o final de la lista, según la opción que elijas.
¿Cómo detecta las clases en conflicto?
Detecta casos comunes: dos clases que establecen la misma propiedad basada en escala (como p-4 y p-2), y palabras clave mutuamente excluyentes (como block y hidden, o text-left y text-right) aplicadas con los mismos modificadores. No es un linter exhaustivo, pero detecta las clases que más a menudo se cuelan por error.
¿Se carga mi código en algún lugar?
No. La ordenación de clases funciona completamente en tu navegador — el HTML, JSX o lista de clases que pegas nunca abandona tu dispositivo.