Chrome DevTools Overview

The Chrome Developer Tools (DevTools for short), are a set of web authoring and debugging tools built into Google Chrome. The DevTools provide web developers deep access into the internals of the browser and their web application. Use the DevTools to efficiently track down layout issues, set JavaScript breakpoints, and get insights for code optimization.

Note: If you are a web developer and want to get the latest version of DevTools, you should use Google Chrome Canary.

Accessing the DevTools

To access the DevTools, open a web page or web app in Google Chrome. Either:

  • Select the Chrome menu Chrome Menu at the top-right of your browser window, then select Tools > Developer Tools.
  • Right-click on any page element and select Inspect Element.

The DevTools window will open at the bottom of your Chrome browser.

There are several useful shortcuts for opening the DevTools:

  • Use Ctrl+Shift+I (or Cmd+Opt+I on Mac) to open the DevTools.
  • Use Ctrl+Shift+J (or Cmd+Opt+J on Mac) to open the DevTools and bring focus to the Console.
  • Use Ctrl+Shift+C (or Cmd+Shift+C on Mac) to open the DevTools in Inspect Element mode, or toggle Inspect Element mode if the DevTools are already open.

For your day-to-day workflow, learning the shortcuts will save you time.

The DevTools window

The DevTools are organised into task-oriented groups in the toolbar at the top of the window. Each toolbar item and corresponding panel let you work with a specific type of page or app information, including DOM elements, resources, and sources.

The colorpicker available in the DevTools..

Overall, there are eight main groups of tools available view Developer Tools:

You can use the Ctrl+[ and Ctrl+] shortcuts to move between panels.

Inspecting the DOM and styles

The Elements panel lets you see everything in one DOM tree, and allows inspection and on-the-fly editing of DOM elements. You will often visit the Elements tabs when you need to identify the HTML snippet for some aspect of the page. For example, you may be curious if an image has an HTML id attribute and what the value is.

Viewing a heading element in the DOM.

Read more about inspecting the DOM and styles

Working with the Console

The JavaScript Console provides two primary functions for developers testing web pages and applications. It is a place to:

  • Log diagnostic information in the development process.
  • A shell prompt which can be used to interact with the document and DevTools.

You may log diagnostic information using methods provided by the Console API. Such as console.log() or console.profile().

You can evaluate expressions directly in the console and use the methods provided by the Command Line API. These include $() command for selecting elements or profile() to start the CPU profiler.

Evaluating some commands in the JS Console.

Read more about working with the console

Debugging JavaScript

As the complexity of JavaScript applications increase, developers need powerful debugging tools to help quickly discover the cause of an issue and fix it efficiently. The Chrome DevTools include a number of useful tools to help make debugging JavaScript less painful.

A conditonal breakpoint which logs to the console.

Read more about how to debug JavaScript with the DevTools »

Improving network performance

The Network panel provides insights into resources that are requested and downloaded over the network in real time. Identifying and addressing those requests taking longer than expected is an essential step in optimizing your page.

The context menu for network requests.

Read more about how to improve your network performance »

Audits

The Audit panel can analyze a page as it loads. Then provides suggestions and optimizations for decreasing page load time and increase perceived (and real) responsiveness. For further insight, we recommend using PageSpeed Insights.

The recommendations of an audit.

Improving rendering performance

The Timeline panel gives you a complete overview of where time is spent when loading and using your web app or page. All events, from loading resources to parsing JavaScript, calculating styles, and repainting are plotted on a timeline.

An example timeline with various events.

Read more about how to improve rendering performance »

JavaScript & CSS performance

The Profiles panel lets you profile the execution time and memory usage of a web app or page. These help you to understand where resources are being spent, and so help you to optimize your code. The provided profilers are:

  • The CPU profiler shows where execution time is spent in your page's JavaScript functions.
  • The Heap profiler shows memory distribution by your page's JavaScript objects and related DOM nodes.
  • The JavaScript profile shows where execution time is spent in your scripts
An example heap snapshot.

Read more about using how to improve JavaScript and CSS performance »

Inspecting storage

The Resources panel lets you inspect resources that are loaded in the inspected page. It lets you interact with HTML5 Database, Local Storage, Cookies, AppCache, etc.

The JavaScript file of the Web Starter Kit as displayed in the resources panel.

Read more about inspecting storage resources »

Further reading

There are several other areas of the DevTools documentation that you might find beneficial to review. These include:

Further resources

Get more

You can also follow us on @ChromiumDev or ask a question using the forums.

Styled output in the console.

Be sure to checkout the Google Chrome Developers page on Google+.

Take the course

Explore and master the DevTools with our free "Discover DevTools" course on Code School.

The Discover Devtools course.

Get involved

To submit a bug or a feature request on DevTools, please use issue tracker at http://crbug.com. Please also mention "DevTools" in the bug summary.

crbug.com's bug report category selector.

Anyone can also help make the DevTools better be directly contributing back to the source.

Debugging Extensions

Looking to use the DevTools to debug Chrome extensions? Watch Developing and Debugging extensions. A Debugging tutorial is also available.