Puppeteer’s buildArchiveFilename(browser, platform, buildId, extension) utility is documented as a way to build a “standard archive filename.” That does not mean every browser download uses that name: the download provider supplies the archive URL, and Puppeteer’s installer derives a temporary cache filename from that URL plus the build ID. The exact filename template produced by the utility is not established by the available API reference, so do not assume a particular extension or pattern without checking the implementation for your Puppeteer version.
What the filename utility does—and what it does not tell you
The Puppeteer browser API lists buildArchiveFilename(browser, platform, buildId, extension) as a utility for building a standard archive filename. The API separately lists getDownloadUrl, which retrieves an archive URL for a browser, platform, and build ID, and install, which downloads and unpacks the archive. These are related steps, not interchangeable operations. See the API reference.
The word “standard” does not establish the exact name template, nor does it show that the utility’s result must match a provider’s real archive name. The detailed API information available for this behavior does not establish a specific template or default extension. For code that depends on the exact output, inspect the implementation at the release tag or commit corresponding to the Puppeteer package you use.
How the installer forms its temporary archive path
During installation, Puppeteer takes the final path component of the provider’s download URL as the archive filename. It then builds a cache path in this form:
Recommended Free Tools
#1 Best Overall
path.join(browserRoot, `${options.buildId}-${fileName}`)
Here, fileName comes from the provider URL, while options.buildId identifies the browser binary and is also used for caching. This temporary archive path is therefore not necessarily the filename returned by buildArchiveFilename, nor is it necessarily the source archive’s name by itself.
Rank #2
If unpacking is disabled
With unpack disabled, installation returns or downloads the archive at the cache archive path. The path includes the build ID prefix and the URL-derived filename.
If unpacking is enabled
With unpacking enabled, Puppeteer extracts the archive into a separate installation directory. After successful processing, it removes the downloaded archive. The extracted installation directory and the executable inside it are distinct from the temporary archive path.
Install options also include the browser, platform, cache directory, and unpack choice. You may provide an expected SHA-256 checksum; if you omit it, the documented behavior is to download without that integrity verification. See the install API.
Why provider archive names vary
A provider controls the URL Puppeteer downloads, so archive names can vary with browser, platform and architecture, build ID or release channel, and archive format. Puppeteer’s API examples illustrate Chrome mirror names such as chrome-linux64.zip, chrome-mac-x64.zip, chrome-mac-arm64.zip, chrome-win32.zip, and chrome-win64.zip. These are examples for a custom-provider scenario, not a guarantee for every provider or release. See the API reference.
Rank #4
Firefox source code offers a concrete example of release-specific naming: its archive construction differs by channel and platform. For Nightly Linux builds, the source selects .tar.xz from major version 135 onward and .tar.bz2 for earlier versions. Stable, Beta, ESR, and Developer Edition builds use different patterns from Nightly, with platform-specific names for Linux, macOS, and Windows. This is a Firefox implementation rule, not a universal Puppeteer naming convention. See Puppeteer’s Firefox source.
Keep archive, cache, install, and executable paths separate
- Provider archive: the downloadable asset named by the final component of the provider URL.
- Temporary cache archive: the installer’s archive path, made by adding the build ID before that URL-derived filename within the browser root.
- Installation directory: where the archive is unpacked when unpacking is enabled.
- Executable path: the browser binary within the installed files; it is not the archive filename or installation directory.
When checking a path, identify which of these objects you mean, along with the browser, platform and architecture, build ID or channel, and archive format. Confusing them can make a correct download look like a naming mismatch.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Best Value
How to verify a filename for your Puppeteer version
- Pin the version. Identify the exact Puppeteer package release in your project lockfile; source on the mutable
mainbranch may differ from your installed version. - Check the matching implementation. Review
buildArchiveFilenameand the browser-specific provider code at that release’s tag or commit. Confirm the accepted extension and the resulting template instead of assuming a default. - Trace the URL. Check the value returned by the applicable
getDownloadUrlprovider and inspect its last path component. That component is what the installer uses forfileName. - Trace the install options. Confirm the browser, platform, build ID, cache directory, and
unpacksetting. These determine which archive is requested and whether you should expect a retained archive or an extracted install. - Compare like with like. Do not compare a standard utility output with a provider URL, a build-ID-prefixed cache path, an installation directory, or an executable path as if they were the same filename.
Common filename and installation problems
- The observed archive does not match the utility output. The provider may use its own archive naming. Inspect the URL returned for the selected browser, platform, and build ID.
- The cache filename has an unexpected prefix. The installer adds the build ID before the URL-derived filename. Check the cache path rather than treating it as the provider’s original archive name.
- The downloaded archive is missing after installation. Successful unpacking removes the temporary downloaded archive. Check the separate installation directory instead; with unpacking disabled, the archive is retained or returned at its archive path.
- An assumed extension is wrong. Archive formats can differ by browser, channel, platform, and release. Verify the matching provider implementation and URL for your pinned version.
- A cache path changes between builds. The build ID participates in the archive cache path. Confirm that the requested build ID is the one you intended.
- You need download integrity verification. Supply the optional expected SHA-256 checksum; without one, the documented installer behavior does not perform that checksum verification.
Or skip the browser setup
If your goal is a website image or PDF rather than a local Puppeteer browser archive, ScreenshotNeo offers a one-request screenshot API. Its API reference is at ScreenshotNeo docs.
For example, this cURL request captures a page as WebP:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
Quick Recap
ScreenshotNeo removes cookie banners, newsletter popups, and chat widgets before the shot; bot checks, blank pages, and failed loads are never billed. Its MCP server lets AI agents take screenshots. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000. Sign up free for 1,000 screenshots a month with no card.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Product 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.

