Code Formatting

Prettier

Prettier es el formateador de código opinado que pone fin a los debates sobre el estilo. Analiza tu código y lo vuelve a imprimir de manera consistente, para que nadie discuta sobre los espacios, las comillas o los puntos y coma.

beginner12 min readUpdated 15 sept 2026
.prettierrc
json
// .prettierrc
{
  "semi": true,
  "singleQuote": false,
  "trailingComma": "all",
  "printWidth": 100,
  "arrowParens": "always"
}
Qué es
Un formateador opinado
Enfoque
Parsear y reimprimir
Configuración
Pocas opciones
Lenguajes
JS, TS, CSS, HTML, JSON, MD
CI
--check falla si hay diffs
Editores
Formatear al guardar

Por que importa

Por qué Prettier termina con las discusiones

Un estilo consistente

Cada archivo se ve igual independientemente de quién lo haya escrito, lo que hace que los diffs sean más pequeños y las revisiones más rápidas.

Sin debates de estilo

El formateador decide. Los equipos dejan de gastar tiempo de revisión en espacios, comillas y saltos de línea.

Se ejecuta en todas partes

Formatea desde la CLI, al guardar en tu editor, en un hook de pre-commit y como una comprobación en CI.

La imagen completa

Las tres ideas detrás de Prettier

Un parser, un printer determinista y un conjunto reducido de opciones. El formateo se decide una vez y se aplica en todas partes.

El parser

Leer

Entiende la sintaxis de cada lenguaje soportado y construye un árbol de sintaxis.

El printer

Formatear

Vuelve a imprimir el árbol con un diseño determinista, ignorando tus espacios en blanco originales.

La configuración

Opciones

Un puñado de opciones y archivos ignore controlan las pocas decisiones que quedan a tu cargo.

Prettier de un vistazo

El núcleo de Prettier

.prettierrc

Un pequeño archivo de configuración para las opciones que realmente quieres cambiar.

prettier --write

Formatea los archivos directamente desde la línea de comandos.

prettier --check

Falla si algún archivo no está formateado, ideal para CI.

Integración con el editor

Formatear al guardar para que los archivos estén siempre formateados mientras trabajas.

eslint-config-prettier

Desactiva las reglas de ESLint que entrarían en conflicto con Prettier.

.prettierignore

Omite la salida de build, archivos generados y dependencias.

Una breve historia

El formateador que convirtió el estilo en un problema resuelto

  1. 2017

    Lanzamiento de Prettier

    James Long introduce un formateador opinado que reimprime el código a partir de su AST.

    17
  2. 2018

    Adopción masiva

    Prettier se convierte en el estándar en proyectos de JavaScript, TypeScript, CSS y markdown.

    18
  3. 2020

    Prettier 2

    Nuevos valores por defecto y mejor soporte para TypeScript y JSX.

    20
  4. 2023

    Prettier 3

    Enfoque ESM-first, plugins asíncronos y rendimiento mejorado.

    23
  5. Hoy

    El estándar de formateo

    Utilizado por la mayoría de los equipos e integrado en muchos scaffolds de frameworks.

    Hoy

La guia completa

Prettier: Todo lo que necesitas saber

¿Qué es Prettier?

Prettier es un formateador de código opinionated. Analiza tu código para convertirlo en un árbol de sintaxis y lo vuelve a imprimir con un diseño determinista, ignorando los espacios en blanco que hayas escrito. El resultado depende únicamente de la estructura del código y de un pequeño conjunto de opciones, por lo que la misma entrada siempre produce la misma salida.

Ese determinismo es precisamente el objetivo. Las discusiones sobre el estilo desaparecen porque es el formateador quien decide, no el equipo. Los diffs se reducen a los cambios reales en lugar de ruido por espacios, y los revisores dedican su tiempo a la lógica y al diseño. Prettier es una de las pocas herramientas que reduce mediblemente la fricción en una base de código.

Configuración

Prettier funciona sin necesidad de configuración, pero puedes definir algunas opciones en .prettierrc.

{
  "semi": true,
  "singleQuote": false,
  "trailingComma": "all",
  "printWidth": 100,
  "tabWidth": 2,
  "arrowParens": "always"
}

Estas son las opciones que la mayoría de los equipos suelen ajustar. Más allá de ellas, Prettier toma las decisiones. Cuantas menos opciones configures, más consistente será el resultado entre proyectos y menos mantenimiento requerirá.

Ejecutando Prettier

Formatea los archivos directamente o verifica los cambios sin escribirlos.

npx prettier --write .
npx prettier --check .
npx prettier --write src/app.tsx

--write reformatea y guarda; --check informa sobre los archivos que cambiarían y sale con un código distinto de cero, que es exactamente lo que necesita la CI. Añade un script para que los comandos sean consistentes.

{
  "scripts": {
    "format": "prettier --write .",
    "format:check": "prettier --check ."
  }
}

Ignorar archivos

.prettierignore enumera las rutas que se deben omitir, utilizando la misma sintaxis que .gitignore.

dist
coverage
pnpm-lock.yaml
*.generated.ts

Ignorar la salida de compilación y los archivos generados es importante: formatearlos genera ruido que la siguiente compilación sobrescribirá, e incluso puede romper la generación de código que espera una estructura específica.

Integración con el editor

Instala la extensión de Prettier para tu editor y activa la opción de formatear al guardar (format on save). Aquí es donde Prettier demuestra su mayor valor: no tienes que pensar en el formato y cada vez que guardas, el archivo queda limpio. Esto también significa que puedes usar --check en CI con total confianza, ya que el formateo ocurre de manera continua en lugar de hacer una limpieza masiva al final.

Trabajando con ESLint

Prettier y ESLint se solapan en cuanto a reglas de estilo y, si se dejan solos, entrarán en conflicto. La solución estándar es dejar que Prettier se encargue del formateo y desactivar las reglas de ESLint que causen conflictos.

// eslint.config.js
import js from "@eslint/js";
import prettier from "eslint-config-prettier";

export default [js.configs.recommended, prettier];

eslint-config-prettier desactiva todas las reglas de ESLint que podrían entrar en conflicto con Prettier, de modo que ESLint se centre en la calidad del código y Prettier en el diseño. Si prefieres que los problemas de formateo aparezcan como errores de lint, eslint-plugin-prettier ejecuta Prettier como una regla, aunque muchos equipos prefieren mantener ambos procesos separados.

Pre-commit hooks

Formatear el código antes de un commit mantiene la CI en verde y el historial limpio.

{
  "lint-staged": {
    "*.{js,jsx,ts,tsx,css,md}": "prettier --write"
  }
}

Combinado con un hook runner como husky, esto formatea únicamente los archivos en el stage, por lo que los commits siguen siendo rápidos. Es una configuración sencilla que evita toda una categoría de comentarios de revisión sobre “código sin formatear”.

Dónde encaja Prettier

Prettier se encarga únicamente del formateo. No busca errores, no impone tipos ni verifica las importaciones; esas tareas corresponden a ESLint y al comprobador de tipos. Un toolchain saludable ejecuta los tres: Prettier para el diseño, ESLint para la calidad y TypeScript para los tipos. Cada uno tiene una función específica y ninguno entra en conflicto con los demás.

Mejores prácticas

  • Acepta los valores predeterminados a menos que tu equipo tenga una razón sólida para cambiar alguno.
  • Haz commit de un .prettierrc para que todos los editores y las ejecuciones de CI estén sincronizados.
  • Añade .prettierignore para la salida de build y los archivos generados.
  • Configura el editor para formatear al guardar.
  • Ejecuta --check en CI y --write en un pre-commit hook.
  • Desactiva las reglas de ESLint que entren en conflicto mediante eslint-config-prettier.
  • Mantén la lista de opciones corta.

Errores comunes

  • Permitir que ESLint y Prettier formateen el código al mismo tiempo y entren en conflicto.
  • Formatear archivos generados automáticamente, creando diffs ruidosos.
  • Omitir la verificación en el CI, permitiendo que se fusionen cambios con código sin formatear.
  • Cambiar las opciones en cada proyecto sin motivo, perdiendo la consistencia entre proyectos.
  • Ejecutar Prettier en todo el repositorio mediante un pre-commit hook, ralentizando los commits.
  • Usar Prettier para imponer reglas semánticas que corresponden a ESLint.

Próximos pasos

Prettier elimina por completo toda una categoría de tareas repetitivas. Combínalo con ESLint para asegurar la calidad, TypeScript para obtener seguridad de tipos, e integra ambos en tu proyecto de Vite y en tu CI. Después, configura el formateo al guardar y no vuelvas a preocuparte por los espacios.

Dividir responsabilidades

Deja que Prettier formatee y que ESLint detecte errores. Desactivar las reglas estilísticas de ESLint evita que dos herramientas peleen por el mismo código.

Preferir
// eslint.config.js
import prettier from
  "eslint-config-prettier";

export default [
  js.configs.recommended,
  prettier,
];
Evitar
// ESLint stylistic rules and
// Prettier both rewrite the
// same lines and disagree

Forzar el formateo

Comprueba el formateo en CI para que el código no formateado no pueda fusionarse. Un hook de pre-commit lo detecta aún antes.

Preferir
# CI
npx prettier --check .

# before commit
npx prettier --write .
Evitar
# no check at all, so
# formatting drifts and
# diffs fill with noise

Preguntas frecuentes

Preguntas frecuentes

Keep learning

Related topics from the roadmap.

$ comienza a aprender

Listo para aprender Prettier?

Nuestro tutorial interactivo te guia a traves de Prettier paso a paso — con quizzes y codigo real que puedes ejecutar en el navegador.