Fetch vs Axios en 2026: todavia tiene sentido una libreria aparte?

Angel Carrero
12 de Agosto del 2026

Pregunta que sigue apareciendo en cursos y entrevistas: en 2026, con fetch ya nativo y bastante maduro en todos los navegadores, ¿sigue teniendo sentido meter Axios como dependencia?

A favor de fetch nativo: cero dependencias, está en todos los navegadores modernos y en Node desde hace varias versiones, y para peticiones sencillas es perfectamente suficiente:

const respuesta = await fetch('/api/usuarios');
const datos = await respuesta.json();

A favor de Axios: cosas que con fetch hay que escribir a mano cada vez. Por ejemplo, fetch no rechaza la promesa cuando el servidor responde con un código de error (404, 500...), solo la rechaza si hay un fallo de red. Eso significa que con fetch necesitas comprobar response.ok tú mismo:

const respuesta = await fetch('/api/usuarios');
if (!respuesta.ok) {
    throw new Error('Error ' + respuesta.status);
}
const datos = await respuesta.json();

Axios hace eso automáticamente, además de traer de serie cancelación de peticiones más cómoda, interceptores para añadir cabeceras a todas las peticiones de golpe (por ejemplo un token de autenticación), transformación automática de JSON sin tener que llamar a .json(), y mejor soporte histórico en navegadores antiguos (cada vez menos relevante).

Mi resumen: para un proyecto pequeño o un script suelto, fetch nativo sobra. Para una aplicación con muchas llamadas a una API propia, autenticación, e interceptores necesarios en varios sitios, Axios (o una capa fina propia construida sobre fetch) sigue ahorrando bastante código repetido.

¿Vosotros qué usaís en proyectos nuevos?

Angel Carrero


David Carrero
12 de Agosto del 2026

Vale la pena mencionar también una tercera vía intermedia: librerías ligeras construidas encima de fetch, en vez de sustituirlo por completo, como ky o ofetch (esta última es la que usa Nuxt por debajo). Dan reintentos automáticos, timeouts, y comprobación de response.ok de serie, sin arrastrar todo el peso ni la API distinta de Axios:

import ky from 'ky';

const datos = await ky.get('/api/usuarios').json();

Para quien quiere algo más que fetch pelado pero le parece que Axios es demasiado para el caso de uso, este tipo de librerías suelen ser el punto medio más razonable.

David Carrero