Usa el diálogo del navegador para guardar este tutorial como PDF.

FPCode
Material educativo FPCode

FPCode

Chrome DevTools

DevTools en el navegador de Google Chrome. Herramienta para desarrolladores que sirve para inspeccionar HTML, CSS, JavaScript, red, rendimiento, almacenamiento, seguridad y accesibilidad en desarrollo web.

Autor
José Luís Ferrer Rodríguez
Actualizado
05/07/2026
Publicado
05/07/2026
Generado
25/07/2026

Introducción

Las herramientas para desarrolladores de Google Chrome, conocidas como Chrome DevTools, son un conjunto de paneles integrados en el navegador que permiten inspeccionar, depurar y medir una página web mientras se está ejecutando. No son una extensión externa: vienen incluidas en Chrome y están pensadas para ayudar a entender qué está pasando en el navegador.

DevTools sirve tanto en desarrollo web en entorno cliente como en desarrollo web en entorno servidor. En cliente permite revisar HTML, CSS, JavaScript, eventos, almacenamiento, accesibilidad y rendimiento. En servidor ayuda a comprobar peticiones HTTP, respuestas, cabeceras, cookies, códigos de estado, errores de API y comportamiento de formularios.

La idea principal es sencilla: una cosa es el código que escribes en tus archivos y otra cosa es lo que el navegador acaba cargando, interpretando y ejecutando. DevTools permite observar esa segunda parte.

Conocimiento previo

Referencias

Índice

  1. Qué es Chrome DevTools
  2. Cómo abrir DevTools
  3. La interfaz de DevTools
    3.1. Panel Elements
    3.2. Panel Console
    3.3. Panel Sources
    3.4. Panel Network
    3.5. Panel Performance
    3.6. Panel Memory
    3.7. Panel Application
    3.8. Panel Security
    3.9. Panel Lighthouse
  4. Simuladores y condiciones de visualización
    4.1. Device Mode
    4.2. Rendering
  5. Otras herramientas y utilidades
  6. Usos en el desarrollo Front-End y Back-End
  7. Ejercicios

1. Qué es Chrome DevTools

Chrome DevTools es el conjunto de herramientas de desarrollo integrado en Google Chrome. Permite ver cómo interpreta el navegador una página, qué recursos descarga, qué errores aparecen, qué estilos se aplican, qué código JavaScript se ejecuta y cuánto tarda cada parte.

DevTools no modifica por sí mismo los archivos del proyecto que se visualiza por el navegador. Cuando editas HTML o CSS con está herramienta, estás haciendo cambios temporales sobre la página cargada en memoria. Si recargas, esos cambios se pierden salvo que uses herramientas específicas como Workspaces o copies los cambios a tus archivos.

Usos habituales:

2. Cómo abrir DevTools

Hay varias formas de abrir DevTools:

AcciónWindows y LinuxmacOSResultado
Abrir DevTools completoF12 o Ctrl + Shift + ICmd + Option + IAbre el último panel usado.
Inspeccionar elementoClic derecho > InspectClic derecho > InspectAbre Elements sobre el elemento seleccionado.
Abrir ConsoleCtrl + Shift + JCmd + Option + JAbre directamente Console.
Abrir selector de elementosCtrl + Shift + CCmd + Shift + CPermite seleccionar un elemento de la página.

También puedes abrirlo desde el menú de Chrome.

Abrir DevTools

Cuando trabajas, lo más habitual es usar F12 o clic derecho sobre un elemento y elegir Inspect.

3. La interfaz de DevTools

DevTools se organiza en paneles. Cada panel se centra en una parte del desarrollo web: estructura, estilos, consola, código fuente, red, almacenamiento, rendimiento o seguridad.

Interfaz de DevTools

Las principales zonas que componen la interfaz son:

Si no encuentras un panel, puedes abrir el menú de comandos con Ctrl + Shift + P o Cmd + Shift + P y escribir su nombre.

3.1. Panel Elements

El panel Elements muestra la estructura del DOM de la página, es decir, la jerarquía de elementos HTML y los estilos CSS aplicados al elemento seleccionado.

Sirve para:

Un ejemplo sencillo de HTML para inspeccionar:

index.html
<!DOCTYPE html>
<html lang="es">
<head>
<title>Document</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<article class="producto destacado">
<h2>Teclado mecánico</h2>
<p>49.95 €</p>
<button>Añadir al carrito</button>
</article>
</body>
</html>

Con este ejemplo podrías comprobar:

Panel Elements

Además, en la zona Styles puedes modificar reglas temporalmente para ver como afectan al diseño. Por ejemplo, cambiar el color de fondo de .destacado o añadir un borde al button. Estos cambios no se guardan en tus archivos, pero te permiten probar rápidamente ideas de diseño.

Es importante tener en cuenta que si una propiedad css aparece tachada, significa que otra regla con más prioridad la está sobrescribiendo o que no se aplica en ese contexto. Se puede pulsar sobre la propiedad tachada para ver qué regla la está anulando.

3.2. Panel Console

El panel Console es una de las herramientas más utilizadas de las DevTools. Permite visualizar mensajes generados por JavaScript y ejecutar instrucciones directamente sobre la página que se encuentra abierta en el navegador.

La consola resulta especialmente útil durante el desarrollo, ya que facilita la detección de errores y la comprobación del funcionamiento del código sin necesidad de modificar los archivos del proyecto.

Desde el panel podemos:

Ejemplo:

index.html
<!DOCTYPE html>
<html lang="es">
<head>
<title>Document</title>
<script src="app.js" defer></script>
</head>
<body>
<button id="guardar">Guardar</button>
</body>
</html>

Al pulsar el botón aparecerá en la consola apareceran varios mensajes. Si el selector #guardar no existe o no coincide con ningún elemento, aparecerá un error porque boton será null. Console te ayuda a localizar el archivo y la línea aproximada del problema.

Además del mensaje de error, la consola indica el archivo y la línea donde se ha producido, lo que facilita la depuración.

Panel Console

Una de las ventajas de Consola es que permite ejecutar código JavaScript directamente sobre la página cargada.

Algunos comandos disponibles:

document.title // Obtiene el título de la página
document.querySelector('h1') // Selecciona el primer elemento h1
document.querySelectorAll('button').length // Cuenta el número de botones
localStorage // Permite consultar la información almacenada en el navegador para esa página
location.href // Obtiene la URL actual

3.3. Panel Sources

El panel Sources permite visualizar los archivos que ha cargado el navegador y depurar el código JavaScript paso a paso.

Mientras que Console ayuda a detectar errores mediante mensajes, Sources permite detener la ejecución del programa en un punto concreto y analizar qué está ocurriendo en ese momento.

Es una herramienta muy útil cuando el programa no produce el resultado esperado y queremos averiguar por qué.

Con este panel podemos:

Ejemplo:

index.html
<!DOCTYPE html>
<html lang="es">
<head>
<title>Document</title>
<script src="carrito.js" defer></script>
</head>
<body>
<button id="calcular">Calcular total</button>
</body>
</html>

Si el resultado obtenido no es el esperado, podemos colocar un breakpoint dentro del bucle for.

Cuando el programa llegue a esa línea, la ejecución se detendrá y podremos comprobar, por ejemplo:

De esta forma es posible averiguar en qué momento aparece el error y qué datos lo están provocando.

Panel Sources

Controles básicos de depuración

Una vez que el programa está detenido, Chrome ofrece varios controles para avanzar por el código.

ControlUso
ResumeContinúa la ejecución hasta el siguiente breakpoint o hasta que finalice el programa.
Step overEjecuta la línea actual y pasa a la siguiente sin entrar en las funciones que se llamen.
Step intoEntra dentro de la función llamada para seguir su ejecución paso a paso.
Step outFinaliza la función actual y vuelve al punto desde el que fue llamada.
WatchPermite observar el valor de una variable o una expresión mientras el programa está detenido.

3.4. Panel Network

El panel Network muestra todas las peticiones que realiza una página web mientras se carga o mientras el usuario interactúa con ella.

Cada vez que el navegador necesita un recurso, como un documento HTML, un archivo CSS, un programa JavaScript, una imagen o una llamada a una API, aparece registrado en este panel.

Gracias a Network podemos comprobar qué recursos se han solicitado, cuánto han tardado en descargarse y si el servidor ha respondido correctamente.

Desde este panel podemos:

Ejemplo:

index.html
<!DOCTYPE html>
<html lang="es">
<head>
<title>Document</title>
<script src="productos.js" defer></script>
</head>
<body>
<h1>Productos</h1>
<ul id="lista-productos"></ul>
</body>
</html>

Al ejecutar este código aparecerá una nueva entrada en el panel Network correspondiente a la petición realizada a: https://dummyjson.com/products.

Al seleccionar esa petición podremos consultar diferente información.

Panel Network

Durante cualquier desarrollo, este panel permite responder a preguntas como:

3.5. Panel Performance

El panel Performance permite analizar el rendimiento de una página web. Mediante una grabación, registra todo lo que ocurre mientras la página se carga o mientras el usuario interactúa con ella.

Gracias a esta información es posible identificar qué operaciones consumen más tiempo y descubrir por qué una página responde lentamente.

Desde este apartado es posible:

¿Cómo funciona?

  1. Abre las DevTools y selecciona la pestaña Performance.
  2. Pulsa el botón Record.
  3. Recarga la página o realiza la acción que deseas analizar.
  4. Pulsa Stop para finalizar la grabación.
  5. Examina la línea de tiempo para identificar las operaciones que más tiempo han consumido.
Panel Performance

¿Cuándo utilizar Performance?

3.6. Panel Memory

El panel Memory permite analizar cómo utiliza la memoria una aplicación web mientras se está ejecutando.

Su principal objetivo es detectar situaciones en las que el navegador mantiene en memoria objetos que ya no son necesarios. Este tipo de problemas se conocen como fugas de memoria (memory leaks) y pueden provocar que la aplicación consuma cada vez más memoria y funcione más lentamente con el paso del tiempo.

En proyectos iniciales no será el panel más usado, pero conviene saber para qué sirve.

Casos habituales:

Panel Memory

Un ejemplo de cómo detectar fuga de memoria

Supon una aplicación web que permite navegar entre distintas secciones.

  1. Al iniciar la aplicación, el navegador utiliza aproximadamente 50 MB de memoria.
  2. El usuario navega por varias secciones y la aplicación crea nuevos objetos para mostrar información. Como consecuencia, el consumo de memoria aumenta a 80 MB.
  3. El usuario vuelve a la página principal. En ese momento, los objetos utilizados en las secciones anteriores ya no deberían ser necesarios y, por tanto, deberían liberarse de la memoria.
  4. Sin embargo, al volver a abrir esas mismas secciones, los objetos anteriores siguen ocupando memoria y se crean otros nuevos. El consumo aumenta nuevamente (por ejemplo, hasta 110 MB) y continúa creciendo cada vez que el usuario repite la operación.

Cuando se detecte un aumento de memoria no siempre significa que exista una fuga. Es normal que una aplicación necesite más memoria mientras trabaja. El problema aparece cuando esa memoria sigue ocupada aunque los objetos ya no sean necesarios.

3.7. Panel Application

El panel Application permite consultar la información que una página web almacena en el navegador del usuario.

Muchas aplicaciones necesitan guardar datos para recordar preferencias, mantener una sesión iniciada o almacenar información temporal. Este panel facilita visualizar y modificar esos datos durante el desarrollo.

Desde este apartado podemos consultar, entre otros:

Ejemplo:

index.html
<!DOCTYPE html>
<html lang="es">
<head>
<title>Document</title>
<script src="preferencias.js" defer></script>
</head>
<body>
<h1>Preferencias de usuario</h1>
</body>
</html>

En Application puedes comprobar si la clave tema existe, qué valor tiene y eliminarla para probar el comportamiento inicial de la aplicación.

Panel Application

Application puede ser muy útil para revisar cookies de sesión, flags como HttpOnly, Secure o SameSite, y comprobar si la sesión se conserva entre peticiones.

3.8. Panel Security

El panel Security permite comprobar si la comunicación entre el navegador y el servidor se realiza de forma segura.

Actualmente, la mayoría de los sitios web utilizan el protocolo HTTPS, que cifra la información intercambiada entre el navegador y el servidor para protegerla frente a accesos no autorizados.

Gracias a este panel podemos verificar que la conexión es segura y detectar posibles problemas relacionados con la configuración de seguridad del sitio web.

Este panel sirve para:

Panel Security

Contenido mixto

Un problema habitual es el llamado contenido mixto.

Se produce cuando una página cargada mediante HTTPS intenta descargar algún recurso utilizando HTTP, por ejemplo una imagen, un archivo JavaScript o una hoja de estilos.

Página → https://www.ejemplo.com
Imagen → http://www.ejemplo.com/logo.png

Los navegadores consideran esta situación insegura y pueden bloquear ese recurso o mostrar una advertencia al usuario.

3.9. Panel Lighthouse

El panel Lighthouse permite analizar automáticamente una página web y generar un informe con recomendaciones para mejorar distintos aspectos de la aplicación.

A diferencia de otros paneles de las DevTools, Lighthouse no muestra información en tiempo real, sino que realiza una auditoría de la página y evalúa diferentes criterios de calidad.

Entre los aspectos que puede analizar se encuentran:

Panel Lighthouse

¿Qué tipo de problemas puede detectar?

Interpreta Lighthouse con cuidado. Una puntuación no explica por sí sola todo el estado de una web. Lee cada recomendación y comprueba si aplica al contexto del proyecto.

4. Simuladores y condiciones de visualización

Además de los paneles principales, las herramientas de desarrollo de Chrome incluyen funciones que permiten comprobar cómo se comporta una página en distintos dispositivos y condiciones de visualización.

Estas herramientas resultan muy útiles para verificar que una aplicación ofrece una buena experiencia de usuario antes de publicarla.

4.1. Device Mode

Device Mode permite simular el funcionamiento de una página web en diferentes dispositivos móviles sin necesidad de disponer físicamente de ellos.

Desde este modo es posible comprobar cómo se adapta la interfaz a distintos tamaños de pantalla y verificar que el diseño responsive funciona correctamente.

Panel Device Mode

Con este modo podemos:

4.2. Rendering

La herramienta Rendering permite activar diferentes opciones de visualización para analizar cómo se representa una página y facilitar la detección de determinados problemas.

Aunque no es una herramienta de uso diario, resulta útil cuando se desea comprobar el comportamiento de la aplicación en condiciones especiales.

Entre sus opciones más utilizadas se encuentran:

Esta herramienta no tiene un panel propio, sino que se encuentra dentro del Drawer inferior de DevTools. Para acceder a ella, existen dos métodos:

  1. Abrir el Drawer inferior con Esc y pulsa en los tres botones para seleccionar Rendering.
  2. Abrir el menú de comandos con Ctrl + Shift + P o Cmd + Shift + P, escribir “Rendering” y seleccionar la opción correspondiente.
Acceso a Rendering

5. Otras herramientas y utilidades

Además de los paneles principales, existen numerosas herramientas especializadas que ayudan a analizar, depurar y optimizar aplicaciones web.

Aunque no se utilizan con tanta frecuencia como los paneles explicados anteriormente, conviene conocer su existencia, ya que pueden resultar muy útiles en determinadas situaciones.

HerramientaPara qué sirve
RecorderGraba una secuencia de acciones del usuario (clics, escritura, navegación, etc.) para reproducirla posteriormente o utilizarla en pruebas automatizadas.
CoverageIndica qué parte del código CSS y JavaScript se utiliza realmente y qué parte no se ejecuta durante la carga de la página.
IssuesReúne advertencias y problemas detectados por Chrome, como errores de seguridad, accesibilidad o configuración.
ChangesMuestra los cambios temporales realizados sobre archivos desde las DevTools antes de incorporarlos al proyecto.
CSS overviewGenera un informe con información sobre colores, tipografías, reglas CSS y posibles problemas de estilo.
SensorsPermite simular diferentes condiciones del dispositivo, como la ubicación geográfica, la orientación o la aceleración.
Network conditionsSimula distintas condiciones de red, modifica el User-Agent y permite comprobar cómo responde una aplicación en diferentes escenarios.

6. Usos en el desarrollo Front-End y Back-End

Las DevTools son una herramienta fundamental durante el desarrollo de aplicaciones web. Aunque suelen asociarse al desarrollo del lado cliente, también resultan de gran utilidad para quienes trabajan en el servidor.

Dependiendo del tipo de tarea que se esté realizando, algunos paneles tendrán mayor protagonismo que otros.

Front-End

En el desarrollo Front-End, las DevTools permiten inspeccionar y depurar el código que se ejecuta en el navegador.

Los paneles más utilizados son:

Back-End

Aunque el código del servidor se ejecuta fuera del navegador, las DevTools también son una ayuda importante para comprobar la comunicación entre el cliente y el servidor.

Los paneles más utilizados son:

7. Ejercicios

Ejercicio 1: Uso de DevTools

Abre una página web cualquiera, por ejemplo, www.google.es y abre DevTools. Inspecciona los elementos que hay y busca que etiqueta HTML se usa en el buscador.

Ejercicio 2: Modificaciones

Genera un fichero html con el siguiente contenido:

index.html
<!DOCTYPE html>
<html lang="es">
<head>
<title>Operadores matemáticos</title>
</head>
<body>
<h1>Ejemplos de operaciones</h1>
<p>5 + 3 = 8</p>
<p>5 - 3 = 2</p>
<p>5 × 3 = 15</p>
<p>6 ÷ 2 = 3</p>
<p>7 % 2 = 1</p>
</body>
</html>

Abre el fichero con el navegador e inspecciona sus elementos. Cambia cualquier contenido directamente con DevTools y añade algun elemento más. ¿Que sucede si recargas la página?

Ejercicio 3: Errores

La siguiente aplicación debería calcular el precio final de un producto después de aplicar un descuento y mostrar el resultado en la consola. Sin embargo, el archivo JavaScript contiene varios errores que impiden su ejecución.

Reproduce el siguiente código y abre el panel Console para leer los mensajes de error, identificar el archivo y la línea donde se encuentra cada problema. Después corrige los errores uno a uno.

index.html
<!DOCTYPE html>
<html lang="es">
<head>
<title>Cálculo de descuento</title>
<script src="descuento.js" defer></script>
</head>
<body>
<h1>Cálculo de descuento</h1>
<p>Abre la consola para ver el resultado.</p>
</body>
</html>
Ejercicio 4: Depuración

Reproduce el siguiente contenido.

index.html
<!DOCTYPE html>
<html lang="es">
<head>
<title>Operaciones</title>
<script src="operaciones.js" defer></script>
</head>
<body>
<h1>Suma de números</h1>
<p>Abre la consola para ver el resultado.</p>
</body>
</html>

La aplicación debería calcular la suma de todos los números del array y mostrar el resultado en la consola. Sin embargo, el programa no funciona correctamente. Usa DevTools para depurar el código y localizar los errores para corregirlos. Una pista, si se cambia un número del array, ¿Qué resultado da?

Ejercicio 5: Peticiones

Reproduce el siguiente código y abre la página en el navegador.

index.html
<!DOCTYPE html>
<html lang="es">
<head>
<title>Peticiones HTTP</title>
<script src="peticiones.js" defer></script>
</head>
<body>
<h1>Peticiones</h1>
</body>
</html>

Abre el panel Network y recarga la página. A continuación, responde a las siguientes preguntas:

  1. ¿Cuántas peticiones HTTP se han realizado?
  2. ¿Qué método HTTP utiliza cada petición?
  3. ¿Qué código de estado devuelve cada una?
  4. ¿Cuál de las dos peticiones ha fallado?
  5. Selecciona la petición correcta y responde:
    • ¿Qué URL se ha solicitado?
    • ¿Qué información aparece en la pestaña Headers?
    • ¿Qué contiene la pestaña Response?
  6. Selecciona la petición que ha fallado y responde:
    • ¿Qué código de estado devuelve el servidor?
    • ¿Qué mensaje aparece en la respuesta?
Ejercicio 6: Datos que se guardan

Reproduce el siguiente código y abre la página en el navegador.

index.html
<!DOCTYPE html>
<html lang="es">
<head>
<title>Preferencias de usuario</title>
<script src="preferencias.js" defer></script>
</head>
<body>
<h1>Preferencias de usuario</h1>
</body>
</html>

Localiza con DevTools que información se ha guardado localmente.

Una vez localizado los datos, realiza las siguientes acciones:

  • Cambia el valor de tema a claro.
  • Añade una nueva clave cualquiera y su valor.
  • Modifica la fecha de la cookie a la fecha actual.

Recarga la página, ¿Los datos siguen ahí?

Guarda una preferencia en localStorage, localízala en Application, cambia su valor desde DevTools y recarga la página.

Ejercicio 7: Probar responsive

Abre la página https://es.wikipedia.org/ y usa Device Mode haciendo los siguientes ajustes:

  • Cambia las dimensiones manualmente.
  • Aplica algun modelo de dispositivo, por ejemplo, iPhone SE.
  • Añade algun dispositivo nuevo que no se encuentre en el listado.
  • Cambia la vista de vertical a horizontal.

¿La página es resposive?

Ejercicio 8: Auditar páginas

Elige una página cualquiera y ejecuta una auditoría desde Lighthouse. Revisa la puntuación que obtiene y para aquella que tenga menor puntuación, indica que defectos tiene y mejoras se puede aplicar.