In Puppeteer, a browser tag names a release channel; a build ID identifies a particular browser build. To identify the binary consistently, record its browser family, resolved build ID, and platform, then check the running browser’s version and the compatibility mapping for your Puppeteer release.
Browser tag vs. build ID: what each one tells you
A tag answers “which release channel?” A build ID answers “which specific build?” Tags such as stable, beta, canary, dev, devedition, esr, latest, and nightly are channel labels, not version strings. Use Puppeteer’s BrowserTag enum with resolveBuildId() when you need to turn a channel choice into a build ID.
As an Amazon Associate I earn from qualifying purchases.
A build ID alone is not a complete operational record: note the browser family and platform alongside it. Puppeteer’s install and executable-path APIs accept browser, build ID, and platform information; the build ID is intended to uniquely identify a binary for purposes such as caching. See the InstallOptions interface and Options interface.
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 matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallResolve a tag and record the selected build
Use the browser-install package when you need to resolve a channel tag to a concrete build. This example resolves Chrome’s stable channel for the current platform and prints the build ID; it does not install the binary.
#1 Best Overall
import { Browser, resolveBuildId } from '@puppeteer/browsers';
const buildId = await resolveBuildId(Browser.CHROME, 'stable');
console.log({ browser: Browser.CHROME, buildId, platform: process.platform });
For a reproducible install workflow, pass the resolved build ID and the intended platform to the corresponding install/path APIs. Keep the values together in logs or deployment configuration rather than saving only the tag: a channel can move, while the build ID denotes the selected build. Consult the @puppeteer/browsers API for the current API signatures and supported browser/platform values.
Check which browser is actually running
When you need runtime evidence, inspect the launched browser with Browser.version():
const version = await browser.version();
console.log(version);
Puppeteer examples show strings such as HeadlessChrome/..., Chrome/..., and Firefox/.... Treat this as a useful browser name/version indicator, not a permanently stable parsing format: the Browser.version() documentation warns that the returned format may change.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Rank #2
Find the browser version supported by your Puppeteer release
Check Puppeteer’s Supported browsers table for the mapping between Puppeteer releases and Chrome for Testing or Firefox versions. If the exact Puppeteer release is not listed, the documentation says its supported browser version is the one for the immediately prior Puppeteer version. Use the mapping for the release you have installed rather than assuming that any nearby browser version is compatible.
Choose a binary source with compatibility in mind
Chrome for Testing
Puppeteer tests and guarantees Chrome for Testing binaries. This is the most straightforward choice when you want the browser family Puppeteer validates.
Custom or system browser providers
Other providers are not officially supported by Puppeteer. If you use a custom or system binary, you take responsibility for compatibility testing, feature validation, maintenance, and keeping versions consistent across platforms. The boundary is described in the @puppeteer/browsers documentation.
Rank #3
Using puppeteer-core
With puppeteer-core, launch requires an explicit executablePath or channel. Puppeteer documents its bundled browser as the guaranteed configuration; other executable paths are used at the user’s risk. See PuppeteerNode and LaunchOptions.
Free tools Windows power users keep installed
One-click scans. No signup required.
Compare two browser-build choices
When deciding between two binaries, compare the properties that determine whether the choice is repeatable and compatible:
- Selection: Is it a moving channel tag or a pinned build ID?
- Browser family: Chrome, Firefox, or another provider?
- Platform: Which operating system and architecture will run it?
- Puppeteer compatibility: Does it match the supported-browser mapping for your Puppeteer release?
- Provider: Is it Chrome for Testing or a custom/system binary that you must validate?
Troubleshoot identification and launch mismatches
The tag is mistaken for a version
A tag such as stable or canary identifies a release channel, not a concrete version. Resolve it to a build ID when you need to identify the selected binary precisely.
The recorded build does not reproduce the deployment
Check that your record includes browser, build ID, and platform. Recording a channel alone is insufficient to identify a fixed binary selection.
The runtime version string is different than expected
Use Browser.version() to inspect the launched browser, but do not rely on an undocumented, permanent string grammar. Compare the reported browser/version with your recorded build and supported-browser mapping.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
A custom executable behaves differently
Verify it against the supported-browser table and test the required features on each target platform. Puppeteer’s guarantees cover Chrome for Testing, not arbitrary providers.
Best Value
puppeteer-core launch fails without a browser selection
Supply either executablePath or channel in launch options, as required by the API. If using an external executable, validate its compatibility yourself.
Or skip the browser setup
If your goal is a website screenshot rather than running browser automation locally, ScreenshotNeo provides a screenshot API and MCP server. One GET request can return an image or PDF; for example, using cURL:
Quick Recap
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
See the ScreenshotNeo API docs for parameters and response details. It removes cookie/consent banners, newsletter popups, and chat widgets before capture; bot checks, blank pages, and failed loads are never billed. Its MCP server lets AI agents take screenshots, and 1,000 screenshots per month are free with no card; paid plans start at $5 for 3,000. Sign up for the free plan.
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 problemsProduct 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.




