The browser shows you two different kinds of failure: what happened on the network and what your JavaScript did with the response. Keeping those separate saves a lot of guessing.

Start in the Network tab

Reload the page with DevTools open. Find the request that failed and check its URL, method, status, and response. A missing request may mean your code never reached the fetch call. A successful 200 with a broken page means the network worked; look at parsing or rendering next.

Read the Console as a clue, not a verdict

A CORS message tells you the browser blocked access to a response, not necessarily that the server never received the request. Fix the first relevant error, reload, and see whether the next one remains. Avoid pasting session cookies or authorization headers into a public bug report.

  • Camera Recorder — Record a short video from the webcam in the browser.
  • Device Information — Show what the browser reports about the current device.
  • Gamepad Tester — See every axis and button of a connected controller, with the pressed buttons lit up.
  • JavaScript Playground — Write JavaScript with Monaco syntax highlighting and run it in the page, reading its console output, return value and timing.
  • Keycode Info — Press a key to see its code, key and modifier state.
  • Microphone Recorder — Check a microphone, watch its level and peak, and record a clip to play back or download.