Formatear CSS

Ordena CSS minificado o escrito sin criterio: una declaración por línea, sangría de dos espacios y listas de selectores separadas. No toca cadenas, valores url() ni comentarios.

El resultado aparecerá aquí.

Cómo funciona Formatear CSS

Ordena CSS minificado o escrito sin criterio: una declaración por línea, sangría de dos espacios y listas de selectores separadas. No toca cadenas, valores url() ni comentarios.

Entrada CSS
Salida CSS legible
Trabajos realizados 1.410

Herramientas relacionadas

Guía de uso

Esta herramienta sirve para formatear CSS minificado o escrito sin un estilo común: coloca cada declaración en su propia línea con dos espacios de sangría, separa las listas de selectores y ordena los espacios alrededor de los combinadores. Las consultas de medios se sangran como cualquier otro bloque. Las cadenas, los valores url() y los comentarios se respetan sin cambios, y todo ocurre en tu navegador.

Cómo formatear CSS paso a paso

  1. Pega el CSS en el campo de entrada: una sola regla o una hoja de estilos completa.
  2. Pulsa el botón de ejecutar o el atajo Ctrl + Enter para darle formato.
  3. Si aparece un error de llaves, ve a la línea indicada y corrige el desequilibrio.
  4. Copia la hoja ya formateada o guárdala como archivo de texto.

Antes y después

AntesDespués
.boton{color:#fff;background:#8f39e8}Selector en su línea y cada propiedad debajo, sangrada y escrita como color: #fff;
Última declaración sin punto y comaSe añade, para que una línea nueva no rompa la regla
.boton:hover,.boton:focus{...}Un selector por línea
nav>a+anav > a + a
@media (max-width:600px){...}@media (max-width: 600px) { con las reglas internas un nivel más adentro
Dos reglas seguidasUna línea en blanco entre ellas

Lo que se respeta tal cual

Un formateador que modifica valores es un riesgo. Por eso estos casos pasan sin cambios:

  • Cadenas con signos de puntuación, como content: "Ver más →" o content: ";}".
  • Direcciones y data URI: el punto y coma de url(data:image/png;base64,...) no se interpreta como el final de una declaración.
  • Abreviaturas como font: 12px/1.5 sans-serif, cuya barra forma parte del valor.
  • Selectores con caracteres escapados, habituales en los frameworks de clases utilitarias: .sm\:p-4 o .w-1\/2.
  • Selectores de atributo como [class~="activo"], donde la virgulilla es un operador y no un combinador.
  • Comentarios, marcas !important y el orden de las declaraciones.

Si aparece un error de llaves

La herramienta analiza el CSS en lugar de aplicar sustituciones a ciegas, así que se detiene cuando las llaves no cuadran y te dice dónde. Unexpected "}" on line 14. indica una llave de cierre que sobra. Missing "}" for the block opened on line 3. indica que el bloque que empieza en la línea 3 nunca se cierra; a menudo el fallo está en una consulta de medios o un bloque anidado dentro de él. Los navegadores suelen recuperarse de estos errores ignorando en silencio las reglas siguientes, y por eso una sola llave olvidada puede explicar por qué media hoja de estilos no se aplica.

Cuándo resulta útil

  • Al revisar la hoja de estilos minificada de una plantilla o un plugin para saber qué selector tienes que sobrescribir.
  • Al copiar reglas desde las herramientas para desarrolladores del navegador y querer leerlas con calma.
  • Antes de una revisión de código, para unificar un archivo que han tocado varias personas.
  • Para desenredar el bloque <style> de una plantilla de correo HTML.
  • Como paso previo a anidar reglas con el conversor de CSS a SCSS.

Límites y privacidad

No ordena propiedades, no añade prefijos de navegador, no abrevia colores ni fusiona reglas duplicadas, y la sangría es siempre de dos espacios. La sintaxis exclusiva de SCSS, como los comentarios //, no es CSS válido; compílala antes con el conversor de SCSS a CSS. El código se procesa con JavaScript en tu navegador y no se envía al servidor; la página solo suma un contador de uso anónimo. Para el marcado de la página tienes la herramienta para formatear HTML.

Preguntas frecuentes

No. Solo se añaden espacios, saltos de línea y sangría; los selectores, los valores, el orden de las declaraciones y las marcas important se mantienen. El único carácter que puede añadirse es un punto y coma tras la última declaración de un bloque, algo que no cambia el significado en CSS. Como el orden de las reglas se conserva, la cascada es idéntica y puedes sustituir el archivo original por el formateado.

No directamente: esta página solo genera código legible. Para un fragmento pequeño hay un truco práctico: mete el CSS dentro de un elemento style y pásalo por el minificador de HTML, que también reduce las hojas de estilo incrustadas. En un proyecto real, la minificación debería formar parte del proceso de compilación, para que se aplique sola en cada publicación.

Significa que el bloque que se abre en esa línea no encuentra su llave de cierre antes del final del archivo. Lo habitual es que el fallo esté dentro del bloque, por ejemplo en una consulta de medios o una regla anidada que se quedó sin cerrar, y no al final de la regla exterior. Cuenta las llaves de apertura y cierre desde la línea indicada. El error contrario, Unexpected "}", señala una llave de cierre sobrante.

No. Las declaraciones se quedan en el orden original porque el orden puede importar: una abreviatura como margin seguida de margin-top no se comporta igual si se intercambian. Si tu equipo quiere un orden fijo de propiedades, lo más seguro es aplicarlo con una regla de linter en el editor o en el proceso de compilación. Esta herramienta cambia la presentación, nunca el significado.