Chrome network error · -21 · System

ERR_NETWORK_CHANGED

The network connection changed while the page was loading: another Wi-Fi, a VPN going up or down, or a new IP address. Chrome aborted the requests in flight.

Chromium's description

The network changed.

Chrome shows it as net::ERR_NETWORK_CHANGED, error -21. puppeteer and Playwright report the same name when a page fails to load in Chromium.

Common causes

  • Switching between Wi-Fi networks or between Wi-Fi and mobile data.
  • A VPN that connects, reconnects or drops.
  • Virtual network adapters (VirtualBox, Docker, Hyper-V) that come and go.
  • A router that renews IP addresses or an unstable connection.

How to fix ERR_NETWORK_CHANGED

  1. Reload the page once the connection is stable.
  2. Disconnect the VPN, or keep it connected, while browsing.
  3. Disable network adapters you do not use.
  4. Restart the router and reset the network settings.

ERR_NETWORK_CHANGED in the screenshot API

This error describes a change on the browser’s own machine; the renderer runs on a server with a fixed connection, so it does not come from the target website.

Only the page's own load can fail a render. An image, script or frame of the page that fails with a network error does not: the page is captured as the browser shows it without that resource.

Check whether a website loads

Rendered in a real browser with cookie banners hidden. Takes 5–30 seconds.

Frequently asked questions

What does ERR_NETWORK_CHANGED mean?

The network connection changed while the page was loading: another Wi-Fi, a VPN going up or down, or a new IP address. Chrome aborted the requests in flight.

How do I fix ERR_NETWORK_CHANGED?

Reload the page once the connection is stable.

Is a screenshot that fails with ERR_NETWORK_CHANGED billed?

No. Requests the screenshot API answers with an error are not billed.

Other common errors

All 249 Chrome network errors · Screenshot API errors

Screenshot API

Take screenshots from your code

screenshotbase renders any website in a real browser and returns the image: full page or viewport, any device size, retina, from 100+ countries, with cookie banners and ads hidden.

/v1/take documentation Screenshot API All documentation

300 free screenshots every month. No credit card required.

GET https://api.screenshotbase.com/v1/take?url=https://example.com&full_page=true

# Response: the image (PNG, JPG, WebP or GIF)
curl -G "https://api.screenshotbase.com/v1/take" \
  --data-urlencode "url=https://example.com" \
  -d viewport_width=1280 -d viewport_height=800 \
  -d format=png \
  -H "apikey: YOUR-API-KEY" \
  -o screenshot.png

More free tools

Start using our Screenshot API for free today!

Get 300 requests / month for free