The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Set a page-wide navigation limit with page.setDefaultNavigationTimeout(timeoutInMilliseconds), or set timeout on a single navigation call. Puppeteer measures both values in milliseconds: 60_000 is 60 seconds, and 0 disables the timeout for that call.
Set a default timeout for page navigation
Call page.setDefaultNavigationTimeout() on a Puppeteer Page before the navigation you want it to govern:
As an Amazon Associate I earn from qualifying purchases.
page.setDefaultNavigationTimeout(60_000); // 60 seconds
await page.goto('https://example.com');
The setting applies to page.goBack(), page.goForward(), page.goto(), page.reload(), page.setContent(), and page.waitForNavigation(). Its argument is a maximum duration in milliseconds. See the Puppeteer 25.12.0 method reference.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsOverride the timeout for one navigation
Pass timeout in the options for a single call when you do not want to change the page-wide navigation default:
#1 Best Overall
await page.goto('https://example.com', { timeout: 60_000 });
The documented default for wait options is 30,000 milliseconds. Set timeout: 0 to disable the limit for that call. The WaitForOptions reference documents these values, and the Frame.goto reference covers navigation options and failure conditions.
Choose the setting with the right scope
| Setting | Scope | Use it when |
|---|---|---|
page.setDefaultNavigationTimeout(ms) |
Navigation methods on that page | You want the same navigation limit for relevant calls such as goto(), reload(), or waitForNavigation(). |
Per-call timeout |
One navigation or wait | Only a particular operation needs a different limit. |
page.setDefaultTimeout(ms) |
Broader page wait defaults | You intend to adjust general page waits, not only navigation limits. See the Page.setDefaultTimeout reference. |
Use the navigation-specific method when you mean to change navigation behavior. The Page class documentation distinguishes it from the broader default timeout: Puppeteer 25.12.0 Page reference.
Rank #2
Understand what a timeout does—and does not—fix
A longer timeout gives a navigation more time before Puppeteer stops waiting; it does not guarantee that the page can load. Puppeteer also documents invalid URLs, SSL errors, unreachable servers, and main-resource failures as navigation failure conditions. Increasing the limit will not resolve those underlying problems.
Troubleshoot a navigation that still fails
- It times out sooner than intended: confirm that the value is in milliseconds and that the setting is applied to the same
Pagebefore the relevant call. Check for a per-calltimeoutthat overrides the default. - A non-navigation wait still uses its old limit:
setDefaultNavigationTimeout()is navigation-specific. Usepage.setDefaultTimeout()only when you intend to change broader page wait defaults. - The error is not a timeout: inspect the URL and browser/network conditions. Invalid URLs, SSL problems, an unreachable server, or a main-resource failure require fixing the cause, not just extending the wait.
- You set
timeout: 0: this disables the timeout rather than choosing a very large finite limit. Use it only when an unbounded wait is appropriate for your workflow.
Or skip the browser setup
If your goal is a website screenshot rather than controlling a Puppeteer navigation in your own browser session, ScreenshotNeo can return an image or PDF with one GET request. Its capture flow accepts cookie/consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each of those steps can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers identify the page verdict and billing status. It also offers an MCP server for AI agents.
Example using cURL; see the ScreenshotNeo API documentation for options:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp
The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots. Sign up for free ScreenshotNeo screenshots.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Frequently Asked Questions
What unit does Puppeteer use for navigation timeouts?
Milliseconds. For example, 60,000 is 60 seconds.
Does a navigation timeout apply to `waitForNavigation()`?
Yes. `page.setDefaultNavigationTimeout()` applies to `page.waitForNavigation()` as well as the other listed navigation methods.
Free tools Windows power users keep installed
One-click scans. No signup required.
Quick Recap
Best Value
- Used Book in Good Condition
Rank #4
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




