Chrome 155 hits stable on 6 Oct 2026 (early stable 155.0.8059.26/.27 since late Sep). ChromeStatus lists 11 features on by default, led by JPEG XL decoding, plus margin-trim, symbols(), text modules and a hidden-iframe media policy. Sourced from Google pages; nothing installed; no affiliate.
7 min read
Chrome 155 reached the Stable channel on 6 October 2026 as 155.0.8059.39/.40 on Windows and Mac and 155.0.8059.39 on Linux, after an early-stable build (155.0.8059.26/.27) went to a small share of desktop users on 30 September. Its headline change for site owners is JPEG XL (image/jxl) decoding, alongside 10 other default-on features including CSS margin-trim, symbols(), text-decoration-skip-spaces and a policy that blocks audio in hidden iframes.
There is no affiliate link in this article.
Google’s Chromium schedule data for milestone 155 gives these dates:
The same schedule data puts Chrome 154’s stable date at September 22 and Chrome 156’s at October 20. That is a two-week gap each time, counted by ShopperCove from those three dates.
“Early stable” means a small group gets the release first. On September 30, the Chrome Releases blog said the Stable channel had been updated to 155.0.8059.26/.27 for Windows and Mac “as part of our early stable release to a small percentage of users.” PiunikaWeb reported on 1 October that Chrome 155 was already on the stable channel for iPhone and iPad, while desktop and Android were still in early stable.
So some of your visitors may already be on Chrome 155. Most desktop users should get it over the days after October 6.
ShopperCove counted the features that ChromeStatus lists for milestone 155: 11 enabled by default and 5 in developer trial behind a flag, with none listed as deprecated or removed. The count comes from ChromeStatus’s feature data for milestone 155, read on 5 October.
The 11 enabled by default, as ChromeStatus names them:
image/jxl)symbols()text-decoration-skip-spacesmargin-trimsrgb-linear and display-p3-linear canvas color spaceschrome.debugger extension APIThe 5 behind a flag are WebGPU atomic-vec2u-min-max and four WebTransport items (a datagram readable stream type, datagram writable streams with prioritization, reliability attributes, and WebTransportReceiveStream). Do not build anything visitors depend on around those yet.
ChromeStatus says Chrome 155 adds decoding of JPEG XL (image/jxl) images in Blink, using jxl-rs, which it describes as a memory-safe decoder written in Rust. It describes JPEG XL as an image format standardized as ISO/IEC 18181, with progressive decoding for faster perceived loading, wide color gamut, HDR, high bit depth, and animation.
What that means in practice:
<source type="image/jxl" /> inside a <picture> element, with your current JPEG, PNG, or WebP image as the fallback <img />..jxl files with the right content type. That is outside Chrome’s notes, so check with your provider.margin-trim. ChromeStatus says this property lets a container drop the margin before its first child or after its last child. It works on regular block containers and multi-column containers. The notes say an earlier version of the spec also covered flex and grid containers, and that this was removed. So it will not help inside flex or grid layouts.
text-decoration-skip-spaces. This controls whether underlines, overlines, and line-throughs skip whitespace characters. It is a small polish item for link underlines and struck-through prices.
symbols(). This lets you define a list-marker style inline, for example in list-style-type, without first writing a named @counter-style rule. It supports cyclic, numeric, alphabetic, symbolic, and fixed counting systems.
As with any new CSS, older browsers will ignore what they do not understand. Write it so the page still looks fine without it.
Hidden iframe audio. A new media-playback-while-not-visible permission policy lets an embedding page control audible media in iframes that are hidden, meaning display: none, visibility: hidden, or zero width or height. While hidden, audible playback attempts are blocked, and the block lifts when the frame is shown again. If your product pages hide video embeds in tabs, accordions, or carousels, this gives you a browser-level way to stop hidden audio.
Text modules. JavaScript can now load a file as a string with import … with { type: "text" }, according to ChromeStatus.
WebCrypto. New algorithms in the Web Cryptography API: ML-KEM (768, 1024), ML-DSA (44, 65, 87), ChaCha20-Poly1305, and X-Wing. Most stores will not touch these directly. They matter if you build your own client-side crypto.
Digital Credentials issuance. An issuing site, such as a university, government agency, or bank, can start putting a digital credential into a user’s mobile wallet app. On Android this uses Credential Manager. On desktop it uses cross-device approaches based on the CTAP protocol.
Windowing controls. Web apps with the window-management permission can call maximize(), minimize(), restore(), and setResizable(). New CSS media features, display-state and resizable, let pages adapt to those window states.
Extensions. If you ship a Chrome extension that uses chrome.debugger, attaching can now fail on managed browsers when enterprise host or screenshot policies block it. ChromeStatus lists the errors “Host access is restricted by policy” and “Screenshot capture is restricted by policy,” and suggests handling the rejection or using chrome.scripting or chrome.declarativeNetRequest instead.
The Chrome 155 beta post, published September 16, also describes CSS corner shorthand properties, retrying failed module loads (so a second import() can succeed after a network failure), new HTML insertion and streaming methods such as streamAppendHTML(), and custom request and response headers for WebTransport.
None of those four appear in ChromeStatus’s Chrome 155 release notes as read on 5 October. ShopperCove cannot tell from these pages whether they were moved to a later release or are simply missing from one page. Treat them as unconfirmed for Chrome 155 stable until Google’s stable-day notes say otherwise.
<picture> fallback first and check the result in Chrome 155 and at least one other browser.chrome.debugger on company-managed browsers.This is a separate release from Firefox 157 and from the Chrome 154 security update linked above. Updating one browser does not update the other.
The early-stable desktop build Google released on 30 September 2026 to a small percentage of Windows and Mac users. The full stable rollout on 6 October 2026 is 155.0.8059.39/.40.
Yes. ChromeStatus lists JPEG XL (image/jxl) decoding, using the Rust jxl-rs decoder. Serve it inside <picture> with a JPEG, PNG or WebP fallback.
The Chromium schedule puts Chrome 156 stable on October 20, 2026, two weeks after 155.
Lab evidence
Google pages read 5 Oct 2026: ChromeStatus release-notes/155 and its features API (milestone=155), Chrome for Developers 'Chrome 155 beta' (16 Sep), ChromiumDash milestone schedule JSON for 154/155/156, Chrome Releases early-stable post (30 Sep) and October archive (no 155 desktop stable post yet). PiunikaWeb 1 Oct via WebSearch for iOS rollout. Feature count (11 enabled by default, 5 developer trial, 0 deprecated/removed) counted by parsing the ChromeStatus features API JSON for milestone 155. Two-week gap computed from ChromiumDash stable dates (22 Sep, 6 Oct, 20 Oct). No Chrome 155 install, no test page, no image size benchmark.
Explore the product
Untested by us. Check what's included, the license and refund terms before you buy.
Both cut a string at a separator, but they fail in different ways. We ran them on Python 3.13.5 to show where partition() is safer and where split() is the right tool.
Summary2 Nov 20263 min read
What changes when you swap sort() for toSorted(), with a real 1-million-item Node.js benchmark and the support table.
Summary1 Nov 20263 min read
Dragging videos is the official way to change a playlist's order. Here are the steps from YouTube Help, where to find them in YouTube Studio, and the cases where reordering will not work.
Summary31 Oct 20263 min read