Download 144.0.7559.133 from the Chrome Stable for Windows 32-bit
Download Google Chrome 144.0.7559.133 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 144.0.7559.133
Google Chrome 144.0.7559.133 is available here as part of the Windows 32-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: January 13th, 2026
Unless otherwise noted, the following changes apply to Chrome 144 stable channel release for Android, ChromeOS, Linux, macOS, and Windows.
CSS and UI
CSS find-in-page highlight pseudos
This feature exposes find-in-page search result styling to authors as a highlight pseudo-element, similar to selection and spelling errors. This lets developers change foreground and background colors or add text decorations. This is especially useful if browser defaults have insufficient contrast with page colors or are otherwise unsuitable.
Related technical references: ChromeStatus.com entry · Spec
Non-tree-scoped container-name matching
Ignore tree-scope when matching container-name for @container queries.
Previously, container-name matching for container queries used tree-scoped names or references for matching. This meant the same name didn't match if the @container rule and the container-type property originated from different trees, such that the container-type declaration came from an inner shadow tree.
With this change, container names match regardless of @container rule or container-type declaration origins.
Related technical references: ChromeStatus.com entry · Spec
CSS anchor positioning with transforms
When an anchor-positioned element is tethered against an anchor that has a transform (or is contained by an element with a transform), resolve anchor() and anchor-size() functions against the bounding box of the transformed anchor.
Related technical references: ChromeStatus.com entry · Spec
CSS caret-shape property
The caret's shape in native applications is most commonly a vertical bar, an underscore, or a rectangular block. Additionally, the shape often varies depending on the input mode, for example, insert or replace. The CSS caret-shape property lets sites choose one of these shapes for the caret inside editable elements, or leave the choice to the browser. The recognized property values are auto, bar, block, and underscore.
Related technical references: ChromeStatus.com entry · Spec
SVG2 CSS cascading
Align the Chrome implementation with the SVG2 specification for matching CSS rules in <use> element trees.
Match selectors against the <use> instantiation elements instead of the originating element subtree. This means selectors no longer match ancestor and sibling elements outside the cloned subtree. More importantly, state selectors, for example, :hover, now start matching in <use> instances.
Related technical references: ChromeStatus.com entry · Spec
Respect overscroll-behavior on non-scrollable scroll containers
The overscroll-behavior property applies to all scroll container elements, regardless of whether those elements currently have overflowing content or are user scrollable. Developers can use overscroll-behavior to prevent scroll propagation on an overflow: hidden backdrop or an overflow: auto element without considering whether it will currently be overflowing.
Related technical references: ChromeStatus.com entry · Spec
Respect overscroll-behavior for keyboard scrolls
When you set overscroll-behavior to a value other than auto, the browser shouldn't perform scroll chaining. The browser respects this for mouse or touch scrolling, but keyboard scrolls ignored it. This change makes keyboard scrolling also respect overscroll-behavior.
Related technical references: ChromeStatus.com entry · Spec
@scroll-state scrolled support
Lets developers style descendants of containers based on the most recent scrolling direction.
Related technical references: ChromeStatus.com entry · Spec
Side-relative syntax for background-position-x/y longhands
Defines the background image position relative to one of its edges.
This syntax gives developers more flexible and responsive mechanisms to define the background image position, instead of using fixed values that need adaptation to the window or frame size.
This feature also applies to the -webkit-mask-position property to ensure web compatibility.
Related technical references: ChromeStatus.com entry · Spec
View transitions waitUntil() method
View transitions automatically construct a pseudo-element tree to display and animate participating elements in the transition. Per the specification, this subtree is constructed when the view transition starts animating and is destroyed when the animations associated with all view transition pseudo-elements are in the finished state (or more precisely, in a non-running, non-paused state).
This works for most cases and provides a seamless experience for developers. However, for more advanced cases, this is insufficient because developers sometimes want the view transition pseudo-tree to persist beyond the animation finish state.
One example is tying view transitions with Scroll Driven Animations. When a scroll timeline controls the animation, the subtree shouldn't be destroyed when the animations finish because scrolling back should still animate the pseudo elements.
To enable advanced uses of view transition, this intent adds a waitUntil() function on the ViewTransition object that takes a promise. This promise delays destruction of the pseudo-tree until it settles.
Related technical references: ChromeStatus.com entry · Spec
Device
XRVisibilityMaskChange
Adds an XRVisibilityMaskChange event that provides a list of vertices and a list of indices to represent the mesh of the visible portion of the user's viewport. This data can then limit the amount of the viewport drawn to, which improves performance. To better support this event, XRView objects are also given unique identifiers to allow easier pairing with the associated masks. This extends the core WebXR specification.
Related technical references: ChromeStatus.com entry · Spec
DOM
The <geolocation> element
Introduces the <geolocation> element, a declarative, user-activated control for accessing the user's location. It streamlines the user and developer journey by handling the permission flow and directly providing location data to the site. This often eliminates the need for a separate JavaScript API call.
This addresses the long-standing problem of permission prompts triggering directly from JavaScript without a strong signal of user intent. By embedding a browser-controlled element in the page, the user's click provides a clear, intentional signal. This enables a better prompt UX and, crucially, provides a recovery path for users who previously denied the permission.
Related technical references: ChromeStatus.com entry · Spec
Graphics
WebGPU: Uniform buffer standard layout
Uniform buffers declared in WGSL shaders are no longer required to have 16-byte alignment on array elements or to pad nested structure offsets to a multiple of 16 bytes.
Related technical references: ChromeStatus.com entry · Spec
WebGPU: subgroup_id feature
The subgroup_id and num_subgroups built-in values are available when the subgroups extension is enabled.
Related technical references: ChromeStatus.com entry · Spec
JavaScript
Temporal in ECMA262
The Temporal API in ECMA262 is a new API that provides standard objects and functions for working with dates and times. Date has been a long-standing pain point in ECMAScript. This proposes Temporal, a global Object that acts as a top-level namespace (similar to Math), which brings a modern date and time API to the ECMAScript language.
Related technical references: ChromeStatus.com entry · Spec
Support ping , hreflang , type , and referrerPolicy for SVGAElement
Adds support for ping, hreflang, type, and referrerPolicy attributes on SVGAElement, aligning its behavior with HTMLAnchorElement for consistent link handling across HTML and SVG.
Related technical references: ChromeStatus.com entry · Spec
Mirroring of RTL MathML operators
Supports character-level and glyph-level mirroring when rendering MathML operators in right-to-left mode.
When using RTL mode, some operators can be mirrored by changing them to another code point. For example, a right parenthesis becomes a left parenthesis. This is character-level mirroring, with equivalences defined by Unicode's Bidi_Mirrored property.
Some operators have no appropriate mirroring character. Glyph-level mirroring applies in this case, with the rtlm font feature, where another glyph can replace it in a mirrored context. Some existing implementations mirror the original glyph directly, but this might change the meaning for asymmetrical characters, for example, the clockwise contour integral.
Related technical references: ChromeStatus.com entry · Spec
The clipboardchange event
The clipboardchange event fires whenever a web app or any other system application changes the system clipboard contents. This lets web apps, for example, remote desktop clients, keep their clipboards synchronized with the system clipboard. It provides an efficient alternative to polling the clipboard (using JavaScript) for changes.
Related technical references: ChromeStatus.com entry · Spec
Permissions
User-Agent Client Hints ch-ua-high-entropy-values permissions policy
Adds support for a ch-ua-high-entropy-values permissions policy that enables a top-level site to restrict which documents can collect high-entropy client hints with the navigator.userAgentData.getHighEntropyValues() JavaScript API.
Restricting collection of high-entropy hints over HTTP is possible through existing per-client-hint permissions policies.
This page highlights the release changes most relevant to users. The official source below contains the full technical detail.
Official source: Chrome 144 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.