Download 137.0.7151.119 from the Chrome Stable for Windows 64-bit
Download Google Chrome 137.0.7151.119 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 137.0.7151.119
Google Chrome 137.0.7151.119 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: May 27th, 2025
Unless otherwise noted, the following changes apply to Chrome 137 stable channel release for Android, ChromeOS, Linux, macOS, and Windows.
CSS and UI
CSS if() function
The CSS if() function provides a concise way to express conditional values. It accepts a series of condition-value pairs, delimited by semicolons. The function evaluates each condition sequentially and returns the value associated with the first true condition. If none of the conditions evaluate to true, the function returns an empty token stream. This lets you express complex conditional logic in a simple and concise way.
Example:
Related technical references: ChromeStatus.com entry · Spec
CSS reading-flow , reading-order properties
The reading-flow CSS property controls the order in which elements in a flex, grid, or block layout are exposed to accessibility tools and focused using tab keyboard focus navigation.
The reading-order CSS property allows authors to manually-override the order within a reading flow container. It is an integer with default value of 0.
Learn more about these properties in Use CSS reading-flow for logical sequential focus navigation, and try out some examples.
Related technical references: ChromeStatus.com entry · Spec
Ignore letter spacing in cursive scripts
This feature adds logic to ignore the letter-spacing setting for cursive scripts as specified by the developer, in line with the specification, to ensure that letter spacing does not disrupt word structure and aims to produce better user experience for users relying on cursive scripts.
With this feature, Chrome ensures that cursive scripts will be readable and properly spaced, even if the fonts don't have advanced typographic features.
The scripts this applies to in Chromium are Arabic, Hanifi Rohingya, Mandaic, Mongolian, N'Ko, Phags Pa, and Syriac as these scripts are considered cursive as per the specification.
Related technical references: ChromeStatus.com entry · Spec
Selection API getComposedRanges and direction
This feature ships two new API methods for the Selection API:
Selection.directionwhich returns the selection's direction as eithernone,forward, orbackwardSelection.getComposedRanges()which returns a list of 0 or 1 composedStaticRange
A composed StaticRange is allowed to cross shadow boundaries, which a normal Range cannot.
For example:
If the selection crosses a shadow root boundary that isn't provided in the shadowRoots list, then the endpoints of the StaticRange will be rescoped to be outside that tree. This makes sure Chrome doesn't expose unknown shadow trees.
Related technical references: ChromeStatus.com entry · Spec
Support offset-path: shape()
Support offset-path: shape(), to allow using responsive shapes to set the animation path.
Related technical references: ChromeStatus.com entry · Spec
Support the transform attribute on SVGSVGElement
This feature enables the application of transformation properties—such as scaling, rotation, translation, and skewing—directly to the <svg> root element using its transform attribute. This enhancement lets you manipulate the entire SVG coordinate system or its contents as a whole, providing greater flexibility in creating dynamic, responsive, and interactive vector graphics. By supporting this attribute, the <svg> element can be transformed without requiring additional wrapper elements or complex CSS workarounds, streamlining the process of building scalable and animated web graphics.
Related technical references: ChromeStatus.com entry · Spec
System accent color for accent-color property
This lets you use the operating system's accent color for form elements. By using the accent-color CSS property, you can ensure that form elements such as checkboxes, radio buttons, and progress bars automatically adopt the accent color defined by the user's operating system. This has been supported on macOS since 2021, and is now supported on Windows and ChromeOS.
Related technical references: ChromeStatus.com entry · Spec
Allow <use> to reference an external document's root element by omitting the fragment.
This feature streamlines the SVG <use> element by loosening referencing requirements. Before Chrome 137, you had to explicitly reference fragments within the SVG document. If no fragment ID is given <use> won't be able to resolve the target and nothing will be rendered or referred.
For example: a <use> element referencing an external file with fragment identifier:
In this example, #icon is the fragment identifier pointing to an element with id="icon" within myshape.svg.
Without a fragment identifier:
With this feature, omitting fragments or just giving the external svg file name will automatically reference the root element, eliminating the need for you to alter the referenced document just to assign an ID to the root. This enhancement simplifies this manual editing process and improves efficiency.
Related technical references: ChromeStatus.com entry · Spec
Canvas floating point color types
Introduces the ability to use floating point pixel formats (as opposed to 8-bit fixed point) with CanvasRenderingContext2D, OffscreenCanvasRenderingContext2D, and ImageData.
This is necessary for high precision applications (for example, medical visualization), high dynamic range content, and linear working color spaces.
Related technical references: ChromeStatus.com entry · Spec
view-transition-name: match-element
The match-element value generates a unique ID based on the element's identity and renames the same for this element. This is used in Single Page App cases where the element is being moved around and you want to animate it with a view transition.
Related technical references: ChromeStatus.com entry · Spec
Payments
Align error type thrown for payment WebAuthn credential creation: SecurityError becomes NotAllowedError
Correct the error type thrown during WebAuthn credential creation for payment credentials. Due to a historic specification mismatch, creating a payment credential in a cross-origin iframe without a user activation would throw a SecurityError instead of a NotAllowedError, which is what is thrown for non-payment credentials.
This is a breaking change, albeit a niche one. Code that previously detected the type of error thrown (for example, e instanceof SecurityError) is affected. Code that just generally handles errors during credential creation (for example, catch (e)) will continue to function correctly.
Related technical references: ChromeStatus.com entry · Spec
Web APIs
Blob URL Partitioning: Fetching/Navigation
As a continuation of Storage Partitioning, Chrome has implemented partitioning of Blob URL access by Storage Key (top-level site, frame origin, and the has-cross-site-ancestor boolean), with the exception of top-level navigations which will remain partitioned only by frame origin. This behavior is similar to what's currently implemented by both Firefox and Safari, and aligns Blob URL usage with the partitioning scheme used by other storage APIs as part of Storage Partitioning. In addition, Chrome now enforces noopener on renderer-initiated top-level navigations to Blob URLs where the corresponding site is cross-site to the top-level site performing the navigation. This aligns Chrome with similar behavior in Safari, and the relevant specs have been updated to reflect these changes.
Related technical references: ChromeStatus.com entry
Call stacks in crash reports from unresponsive web pages
This feature captures the JavaScript call stack when a web page becomes unresponsive due to JavaScript code running an infinite loop or other very long computation. This helps developers to identify the cause of the unresponsiveness and fix it more easily. The JavaScript call stack is included in the crash reporting API when the reason is unresponsive.
Related technical references: ChromeStatus.com entry · Spec
Document-Isolation-Policy
Document-Isolation-Policy lets a document enable crossOriginIsolation for itself, without having to deploy COOP or COEP, and regardless of the crossOriginIsolation status of the page. The policy is backed by process isolation. Additionally, the document non-CORS cross-origin subresources will either be loaded without credentials or will need to have a CORP header.
Related technical references: ChromeStatus.com entry · Spec
Ed25519 in web cryptography
This feature adds support for Curve25519 algorithms in the Web Cryptography API, namely the signature algorithm Ed25519
Related technical references: ChromeStatus.com entry · Spec
HSTS tracking prevention
Mitigates user tracking by third-parties using the HSTS cache.
This feature only allows HSTS upgrades for top-level navigations and blocks HSTS upgrades for sub-resource requests. Doing so makes it infeasible for third-party sites to use the HSTS cache in order to track users across the web.
Related technical references: ChromeStatus.com entry
WebAssembly
JavaScript promise integration
JavaScript Promise Integration (JSPI) is an API that allows WebAssembly applications to integrate with JavaScript Promises.
It allows a WebAssembly program to act as the generator of a Promise, and it allows the WebAssembly program to interact with Promise-bearing APIs.
In particular, when an application uses JSPI to call a Promise-bearing (JavaScript) API, the WebAssembly code is suspended; and the original caller to the WebAssembly program is given a Promise that will be fulfilled when the WebAssembly program finally completes.
Related technical references: ChromeStatus.com entry · Spec
WebAssembly Branch Hints
Improves the performance of compiled WebAssembly code by informing the engine that a particular branch instruction is very likely to take a specific path.
This allows the engine to make better decisions for code layout (improving instruction cache hits) and register allocation.
This page highlights the release changes most relevant to users. The official source below contains the full technical detail.
Official source: Chrome 137 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.