Download 141.0.7390.122 from the Chrome Stable for Windows 64-bit
Download Google Chrome 141.0.7390.122 with the branch, platform, release date, and file size shown clearly on the same page.
What users usually want to know first
What changed in Chrome 141.0.7390.122
Google Chrome 141.0.7390.122 is available here as part of the Windows 64-bit Stable archive. Use this release page when you want the exact version, the current package details, and quick access to the correct installer.
Stable release date: September 30th, 2025
Unless otherwise noted, the following changes apply to Chrome 141 stable channel release for Android, ChromeOS, Linux, macOS, and Windows.
CSS
Custom property enumeration in getComputedStyle()
When iterating over window.getComputedStyle(element) in Chrome, there was a bug where it forgets to include any custom properties set on the element. Therefore, length() on the returned object forgets to account for the number of custom properties set. This bug is fixed from Chrome 141, aligning Chrome with Firefox and Safari.
Related technical references: ChromeStatus.com entry · Spec
DOM
ARIA Notify API
ariaNotify provides a JavaScript API that lets content authors tell a screen reader what to read.
ariaNotify improves reliability and developer control compared to ARIA live regions, allowing for announcing changes not tied to DOM updates. This enables more consistent and ergonomic accessibility experiences across dynamic web applications. Iframe usage of this feature can be controlled using the "aria-notify" permission policy.
Related technical references: ChromeStatus.com entry · Spec
Update hidden=until-found and details ancestor revealing algorithm
The specification recently had some small changes to the revealing algorithms for hidden=until-found and details elements to prevent the browser from getting stuck in an infinite loop, these are now shipping in Chrome.
Related technical references: ChromeStatus.com entry · Spec
JavaScript
Align implementations on when RTP stats should be created
RTP stats objects, of type "outbound-rtp" or "inbound-rtp" in this case, represents a WebRTC stream. The identifier of this stream is the SSRC (a number). This feature aligns with the specification on when these stats should be created.
Related technical references: ChromeStatus.com entry · Spec
Media
Support restrictOwnAudio
The restrictOwnAudio property is a captured display surfaces constrainable property. It changes the behavior of system audio in a captured display surface. The restrictOwnAudio constraint only has an effect if the captured display surface inherently includes system audio; otherwise, it will have no impact.
Related technical references: ChromeStatus.com entry · Spec
windowAudio for getDisplayMedia()
Extends DisplayMediaStreamOptions for getDisplayMedia() with a windowAudio option. This new option allows web applications to hint to the user agent whether the user should be offered the ability to share audio when a window is selected. windowAudio can be set to exclude, system, or window based on application preference.
A web application that is configured for audio capture but wants to limit system audio capture when a window is selected should set windowAudio: "exclude".
Related technical references: ChromeStatus.com entry · Spec
Miscellaneous
Support width and height as presentation attributes on nested <svg> elements
This feature supports applying width and height as presentation attributes on nested <svg> elements through both SVG markup and CSS. This dual approach provides even greater flexibility for developers, allowing them to manage and style SVG elements more efficiently within complex designs.
Related technical references: ChromeStatus.com entry · Spec
Digital Credentials API (presentation support)
Websites retrieve credentials from mobile wallet apps using a variety of mechanisms, such as custom URL handlers and QR code scanning. This feature lets sites request identity information from wallets using Android's IdentityCredential CredMan system. It is extensible to support multiple credential formats (such as ISO mDoc and W3C verifiable credential) and allows multiple wallet apps to be used. This update adds mechanisms to help reduce the risk of ecosystem-scale abuse of real-world identity.
Related technical references: ChromeStatus.com entry · Spec
Navigation API: deferred commit (precommit handlers)
Normally, when navigateEvent.intercept() is called, the intercepted navigation commits (and therefore the URL updates) as soon as the NavigateEvent finishes dispatch.
This feature adds a precommitHandler option to navigateEvent.intercept(), similar to handler. It defers the commit until that handler (and all other precommit handlers) are resolved, and it allows the handler to change the navigation's URL, info, status, and history handling behavior (push/replace).
Related technical references: ChromeStatus.com entry · Spec
FedCM: Alternative fields in account selection
Adds support for phone numbers and usernames, in addition to or instead of a user's full name and email address as identifiers for disambiguating accounts in the account selector. Also, makes these new fields available for websites to affect the disclosure text.
Related technical references: ChromeStatus.com entry · Spec
Network / Connectivity
No-Vary-Search support for the HTTP disk cache
Lets the HTTP disk cache use the No-Vary-Search response header to share a cache entry between URLs that differ only in the query parameters.
Developers can use No-Vary-Search to specify query parameters that have no impact on the user experience. A common example might be an ID used to track conversions. Supporting this header in the HTTP disk cache means that if the user later goes back to that same page without the conversion ID, it can be used or revalidated from the cache rather than having to be fetched from scratch from the network.
Previously, No-Vary-Search support shipped for the navigation prefetch cache, prefetch and prerender speculation rules, and prerender. This launch makes it generally available to any feature that uses the HTTP disk cache.
Related technical references: ChromeStatus.com entry · Spec
Offline / Storage
IndexedDB getAllRecords() and direction option for getAll() and getAllKeys()
This feature adds the getAllRecords() method to the IndexedDB IDBObjectStore and IDBIndex. It also adds a direction parameter to getAll() and getAllKeys(). This functionality lets certain read patterns be significantly faster when compared to the existing alternative of iteration with cursors. In one test, a workload from a Microsoft property showed a 350ms improvement.
The getAllRecords() method combines getAllKeys() and getAll() by enumerating both primary keys and values at the same time. For an IDBIndex, getAllRecords() also provides the record's index key in addition to the primary key and value.
Related technical references: ChromeStatus.com entry · Spec
Performance
Speculation rules: desktop "eager" eagerness improvements
On desktop, "eager" eagerness speculation rules prefetches and prerenders now trigger when users hover on a link for a shorter time than the "moderate" mouse hover time.
The previous behavior, of starting prefetch and prerenders as soon as possible, was the same as "immediate" eagerness. This new behavior is more useful as it better reflects the author's intent to be more eager than the "moderate" and less eager than "immediate".
Related technical references: ChromeStatus.com entry · Spec
Security
Strict Same Origin Policy for Storage Access API
Adjusts the Storage Access API semantics to strictly follow the Same Origin Policy with regard to security. That is, using document.requestStorageAccess() in a frame only attaches cookies to requests to the iframe's origin (not site) by default.
Related technical references: ChromeStatus.com entry · Spec
Signature-based Integrity
This feature provides web developers with a mechanism to verify the provenance of resources they depend upon, creating a technical foundation for trust in a site's dependencies. In short: servers can sign responses with a Ed25519 key pair, and web developers can require the user agent to verify the signature using a specific public key. This offers a helpful addition to URL-based checks offered by Content Security Policy on the one hand, and Subresource Integrity's content-based checks on the other.
Related technical references: ChromeStatus.com entry · Spec
WebRTC
WebRTC Encoded Transform (V2)
This API allows processing of encoded media flowing through an RTCPeerConnection. Chrome shipped an early version of this API in 2020. Since then, the specification has changed and other browsers have shipped the updated version (Safari in 2022 and Firefox in 2023). This launch aligns Chrome with the updated specification as part of Interop 2025.
This launch does not cover the generateKeyFrame method, which is still under discussion.
Related technical references: ChromeStatus.com entry · Spec
echoCancellationMode for getUserMedia()
Extends the echoCancellation behavior of the MediaTrackConstraints dictionary. his previously accepted true or false and now additionally accepts the values "all" and "remote-only". This lets clients modify echo cancellation behavior applied to audio tracks received from microphones, controlling how much of the user system playout (all, or only audio received from PeerConnections) is removed from the microphone signal.
Related technical references: ChromeStatus.com entry · Spec
Managed ChromeOS only
Permissions Policy for Device Attributes API
The new Permissions Policy enables restricting access to the Device Attributes API, which is available only for policy-installed kiosk web apps and policy-installed Isolated Web Apps, both only on managed ChromeOS devices.
Additionally, the feature is controlled by content settings. Two new policies are introduced: DeviceAttributesBlockedForOrigins and DefaultDeviceAttributesSetting, to complement previously introduced DeviceAttributesAllowedForOrigins. The feature is enabled by default for policy-installed kiosk web apps and policy-installed Isolated Web Apps on managed ChromeOS devices.
This page highlights the release changes most relevant to users. The official source below contains the full technical detail.
Official source: Chrome 141 Release Notes
Installation notes
After downloading the package, confirm that the branch and platform match your device before launching the installer or extracting the archive. If you only need a standard everyday browser, Stable is usually the safest choice. If you are testing new behavior, Beta, Dev, and Canary are better fits.
Related release pages
For newer or older builds in the same branch, open the category archive linked above. For different platforms, use the related desktop archives in the sidebar.
Frequently asked questions
These FAQ blocks help the page read like a complete release article instead of a download stub, which is better for trust and better for SEO.
Should I use this release or stay on Stable?
If you just want the safest everyday browsing experience, Stable is usually the right default. Preview branches are better for testing, compatibility checks, and early feature access.
Why show exact version numbers so prominently?
Because exact-version queries are common in English search behavior, especially for QA teams, enterprise users, and people trying to reproduce a bug or environment.
Why keep a full article around the download buttons?
A stronger page body gives users context and gives Google clearer signals about what the release page actually covers.
Where should older releases live?
Older versions belong in the category archive page, with this article template handling exact-version landing pages one release at a time.