Chrome DevTools helps you inspect what a page displays, what it stores and what it sends. You can find useful evidence without changing the application code.
Open DevTools
Use the shortcut that takes you directly to the panel you need.
| Action | Windows / Linux | macOS |
|---|---|---|
| Open the last used panel | F12 or Ctrl + Shift + I | Cmd + Option + I |
| Select an element | Ctrl + Shift + C | Cmd + Option + C |
| Open the Console | Ctrl + Shift + J | Cmd + Option + J |
| Open the Command Menu | Ctrl + Shift + P | Cmd + Shift + P |
Inspect the page
Use the Elements panel for visible UI problems.
Confirm labels, IDs, classes, ARIA attributes, links and image alternative text.
Use the Styles tab. Untick a rule or edit a value to test a possible fix.
Use the box model in Computed to inspect margin, border, padding, width and height.
Use :hov to test hover, focus, active and visited styles.
Useful element checks
- Is the element present but hidden?
- Is another element covering it?
- Is a button disabled?
- Does a field have the correct label and attributes?
- Does text overflow or become clipped?
- Does the focus style appear?
Check Console errors
Use the Console to find JavaScript errors, warnings and failed resources.
- Open Console.
- Clear existing messages.
- Reproduce the issue.
- Look for new red errors.
- Expand the error and save the message, file and line number.
Useful commands
// Find the first matching element
document.querySelector('[data-testid="save"]')
// Find every matching element
document.querySelectorAll('button')
// Read local storage
localStorage
// Read cookies available to JavaScript
document.cookie
// Inspect the element currently selected in Elements
$0
Debug Network requests
Use the Network panel when data is missing, an action fails or a page loads slowly.
- Open Network.
- Enable Preserve log if the flow changes pages.
- Clear the request list.
- Reproduce the issue.
- Filter by Fetch/XHR for API calls.
- Select the relevant request.
| Tab / field | What to check |
|---|---|
| Status | Was the response successful? Look for 4xx and 5xx responses. |
| Headers | URL, method, query parameters, request headers and response headers. |
| Payload | Was the correct data sent? |
| Preview / Response | Did the server return the expected body and error details? |
| Timing | Which part of the request took the most time? |
| Initiator | Which script or action triggered the request? |
Practical network tests
- Choose a throttling profile to test a slow connection.
- Select Offline to check offline and recovery behaviour.
- Right-click a request and block its URL to test a missing dependency.
- Right-click and copy a request as cURL when you need to share or replay it.
- Export a HAR file when the full request history is useful evidence. Review it first because it may contain sensitive data.
Inspect browser storage
Use the Application panel to inspect cookies, local storage, session storage, IndexedDB and cache storage.
Check whether authentication cookies appear, change and disappear at the correct time.
Edit or remove local storage values, then reload the page.
Use Clear storage to remove site data and repeat the flow as a new user.
Review expiry, domain, path, Secure, HttpOnly and SameSite values.
Test responsive behaviour
Open the device toolbar from DevTools and test the page at different sizes.
- Use responsive mode instead of checking only named devices.
- Drag the viewport slowly to find layout breakpoints.
- Test portrait and landscape.
- Check menus, modals, tables, forms and fixed elements.
- Look for horizontal scrolling, clipped content and small touch targets.
- Test zoom separately in the normal browser window.
Accessibility and performance
Accessibility
- Select an element and open the Accessibility section in Elements.
- Check its computed role and accessible name.
- Use Lighthouse for a quick automated accessibility scan.
- Still test keyboard navigation and a screen reader manually.
Performance
- Start with Network and check large or slow resources.
- Use Lighthouse for a quick page-quality report.
- Use Performance when you need to record a slow interaction or rendering problem.
- Repeat measurements to avoid judging a page from one run.
Quick QA workflow
- Open DevTools before reproducing the issue.
- Clear Console and Network. Enable Preserve log when needed.
- Reproduce the issue once. Avoid adding unrelated actions.
- Inspect the visible element. Check DOM, state and CSS.
- Check Console. Record relevant new errors.
- Check Network. Inspect failed or unexpected requests.
- Check storage. Confirm the expected user and session state.
- Capture evidence. Include the minimum details needed to reproduce and understand the failure.
Useful tools and links
- Chrome DevTools documentation ↗ — official starting point.
- Open DevTools and shortcuts ↗ — all supported ways to open panels.
- Elements panel ↗ — inspect DOM, CSS and accessibility information.
- Console panel ↗ — inspect messages and run JavaScript.
- Network panel ↗ — practical request inspection.
- Application panel ↗ — cookies, storage, cache and other application data.
- Device mode ↗ — responsive and mobile simulation.
- Accessibility features ↗ — accessibility inspection and audit tools.