DEV Community

Cover image for NestJS vs Express: cuándo elegir cada uno en 2026
Adrián Colom
Adrián Colom

Posted on

NestJS vs Express: cuándo elegir cada uno en 2026

La pregunta aparece en cada proyecto: ¿Express o NestJS? La respuesta corta es "depende", pero la respuesta larga es más útil. Aquí tienes código, benchmarks y una matriz de decisión.

Filosofía

Express es minimalista. Te da routing y middleware. El resto lo decides tú.

NestJS es opinionated. Te da arquitectura (módulos, controllers, providers), DI, y patrones listos para usar.

// Express 5 — un endpoint
import express from 'express';
const app = express();

app.get('/users/:id', async (req, res) => {
  const user = await db.user.findById(req.params.id);
  res.json(user);
});
Enter fullscreen mode Exit fullscreen mode
// NestJS 11 — el mismo endpoint
@Controller('users')
export class UsersController {
  constructor(private readonly usersService: UsersService) {}

  @Get(':id')
  async findOne(@Param('id') id: string) {
    return this.usersService.findOne(id);
  }
}
Enter fullscreen mode Exit fullscreen mode

Más código en NestJS, sí. Pero fíjate en lo que no ves: el UsersService está inyectado, tipado, y testeable sin mockear nada manualmente.

Benchmarks reales

Node 22, autocannon, 50 conexiones, 10 segundos, JSON response:

Framework Req/s Latency p99
Express 5 9.200 12ms
NestJS 11 (Express) 8.100 14ms
NestJS 11 (Fastify) 14.500 7ms

NestJS con Express es ~12% más lento que Express puro. Con Fastify adapter, es más rápido que Express. La diferencia desaparece en apps reales con DB calls.

Cuándo elegir Express

  • API pequeña (< 10 endpoints)
  • Prototipo rápido que vas a tirar
  • Equipo que prefiere configurar todo manualmente
  • No necesitas DI, guards, interceptors

Cuándo elegir NestJS

  • API con > 10 endpoints
  • Necesitas DI (testing, swappable implementations)
  • Auth complejo (guards, RBAC, multi-tenant)
  • Webhooks, colas, cron jobs, event-driven
  • Equipo > 1 dev (la arquitectura estándar reduce fricción)
  • Microservicios (NestJS tiene transporters para TCP, Redis, NATS, gRPC)

Matriz de decisión

Criterio Express NestJS
Setup inicial 5 min 15 min
Curva de aprendizaje Baja Media
Boilerplate Tú lo escribes Lo genera CLI
Testing Manual Integrado
DI Manual o lib externa Nativo
Microservicios DIY Built-in
Performance Base +Fastify = mejor
Escalabilidad de equipo Baja Alta

El coste de equivocarse

Empezar con Express y migrar a NestJS cuando tienes 50 endpoints y 3 devs cuesta 2-3 sprints. Empezar con NestJS para una API de 3 endpoints cuesta 15 minutos más de setup.

El error caro es el primero. Si dudas, empieza con NestJS. El overhead inicial es mínimo y el coste de migración es cero.


En SOM-OS usamos NestJS en todos los backends. Construimos sistemas operativos de negocio con IA en Mallorca — si necesitas un sistema, hablemos.

¿Usas Express o NestJS? ¿Por qué? Cuéntamelo en los comentarios.

Top comments (0)