<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:dcterms="http://purl.org/dc/terms/"
     xmlns:media="http://search.yahoo.com/mrss/"
     xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:cf="https://www.futureplc.com/rss/content-flags"
>
    <channel>
                    <atom:link rel="alternate" hreflang="en-GB"
                       href="https://www.tomsguide.com/uk/feeds/articletype/face-off"
                       type="application/rss+xml"/>
                            <title><![CDATA[ Latest from Tom's Guide UK in Face-off ]]></title>
                <link>https://www.tomsguide.com/uk/face-off</link>
        <description><![CDATA[ All the latest face-off content from the Tom's Guide  UK team ]]></description>
                                    <lastBuildDate>Sun, 13 Sep 2026 04:15:00 +0000</lastBuildDate>
                            <language>en</language>
                                <item>
                                                            <title><![CDATA[ iPhone 18 Pro vs. iPhone 17 Pro: Biggest upgrades explained ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-hands-on-sneaky-awesome-upgrades-but-worth-the-price-hike">iPhone 18 Pro Max</a> is the biggest, <a href="https://www.tomsguide.com/us/best-apple-iphone,review-6348.html">best iPhone</a> you can buy right now. But I've never liked the 'Max' models and always preferred the smaller, regular Pro models. Maybe it's a hangover from my time with the <a href="https://www.tomsguide.com/reviews/iphone-13-mini">iPhone 13 mini</a> or perhaps it's just that I don't like walking around with a dinner plate in my pocket for making phone calls or taking a picture.</p><p>If you're like me, you'll no doubt be wondering whether or not the <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-hands-on-sneaky-awesome-upgrades-but-worth-the-price-hike">iPhone 18 Pro</a> offers enough new features over last year's<a href="https://www.tomsguide.com/phones/iphones/apple-iphone-17-pro-review"> iPhone 17 Pro</a> to make it worth the upgrade. There are the usual upgrades, in the form of a faster processor and therefore better battery life, but what about the rest?</p><p>Well, I think photographers and gamers are going to be most impressed with this year's offering, thanks to the variable aperture integrated into the main camera and the improved vapor chamber nestled inside the iPhone 18 Pro's chassis.</p><p>Are you thinking of upgrading this year — or are you happy to stick with your current phone? Let me know in the comments. In the meantime, let's get into it. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ODm7mX"></div>                            </div>                            <script src="https://kwizly.com/embed/ODm7mX.js" async></script><h2 class="article-body__section" id="section-iphone-17-pro-vs-iphone-18-pro-specifications"><span>iPhone 17 Pro vs. iPhone 18 Pro: specifications</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>iPhone 17 Pro</strong></p></th><th  ><p><strong>iPhone 18 Pro</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Display size</strong></p></td><td  ><p>6.3 inches</p></td><td  ><p>6.3 inches</p></td></tr><tr><td class="firstcol " ><p><strong>Refresh rate</strong></p></td><td  ><p>120Hz</p></td><td  ><p>120Hz</p></td></tr><tr><td class="firstcol " ><p><strong>CPU</strong></p></td><td  ><p>A19 Pro</p></td><td  ><p>A20 Pro</p></td></tr><tr><td class="firstcol " ><p><strong>Memory</strong></p></td><td  ><p>12GB</p></td><td  ><p>12GB</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>256GB, 512GB, 1TB,</p></td><td  ><p>256GB, 512GB, 1TB, 2TB</p></td></tr><tr><td class="firstcol " ><p><strong>Cameras</strong></p></td><td  ><p>48MP main (f/1.78), 48MP ultrawide (f/2.2), 48MP telephoto with 4x optical zoom (f/2.8)</p></td><td  ><p>48MP main with /1.48, ƒ/1.8, ƒ/2.8, ƒ/4.0 variable aperture options, 48MP ultrawide, 48MP telephoto with 5x optical zoom</p></td></tr><tr><td class="firstcol " ><p><strong>Battery Size</strong></p></td><td  ><p>3,988 mAh (with SIM tray)</p></td><td  ><p>4,056 mAh (with SIM tray)</p></td></tr><tr><td class="firstcol " ><p><strong>Software</strong></p></td><td  ><p>iOS 27</p></td><td  ><p>iOS 27</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>5.91 x 2.83 x 0.34 inches (150 x 71 x 8.75 mm)</p></td><td  ><p>5.91 × 2.83 × 0.34 inches (150 x 71.9 x 8.75 mm)</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>7.20 ounces (204 grams)</p></td><td  ><p>7.44 ounces (211 grams)</p></td></tr><tr><td class="firstcol " ><p><strong>Starting price</strong></p></td><td  ><p>$1,099 / £1,099</p></td><td  ><p>$1,199 / £1,199</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-iphone-17-pro-vs-iphone-18-pro-price"><span>iPhone 17 Pro vs. iPhone 18 Pro: Price</span></h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="high" data-lazy-src="https://www.youtube-nocookie.com/embed/BZi0R_thP9M" allowfullscreen></iframe></div></div><p>Following the announcement of the iPhone 18 Pro at Apple's <a href="https://www.tomsguide.com/news/live/apple-event-live-foldable-iphone-iphone-18-pro-max-apple-watch-12-and-all-the-big-news">'Surprise and shine' event</a>, pre-orders <a href="https://www.tomsguide.com/phones/iphones/avoid-that-usd100-price-hike-how-to-save-up-to-usd885-on-your-iphone-18-pro-preorder">go live on September 12,</a> with the phone going on regular sale on September 18. Apple has quietly removed the iPhone 17 Pro from its store, so anyone looking to pick up a 17 Pro now will need to do so through carriers.</p><p>As expected, the iPhone 18 Pro arrived with a $100 / £100 price hike, putting the starting price at $1,199 / £1,099 compared to the iPhone 17 Pro's $1,099 / £1,099 starting price. </p><p>All things considered, with the <a href="https://www.tomsguide.com/computing/hardware/sk-hynix-warns-2027-will-be-worst-year-for-ram-prices-right-as-a-damning-report-reveals-something-that-will-add-fuel-to-the-price-fixing-lawsuit">ongoing RAM crisis</a> raising prices on almost every area of consumer electronics, a $100/£100 bump isn't as bad as it could have been. The question is whether or not the following upgrades are worth that much to you.</p><h2 class="article-body__section" id="section-iphone-17-pro-vs-iphone-18-pro-design-and-display"><span>iPhone 17 Pro vs. iPhone 18 Pro: Design and display</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="EPuTcyWZVdJGZNc54Ww6E9" name="iPhone 17 Pro review" alt="iPhone 17 Pro review." src="https://cdn.mos.cms.futurecdn.net/EPuTcyWZVdJGZNc54Ww6E9.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide / John Velasco)</span></figcaption></figure><p>At a glance, you might have trouble telling the iPhone 18 Pro apart from the iPhone 17 Pro. Both phones have the same ergonomic 6.3-inch form factor, a size that nicely balances usability and screen real estate. The iPhone 17 Pro made waves with its aluminum unibody design and Ceramic Shield 2 back, and the 18 Pro maintains that unified look</p><p>The most notable design shift is that Apple has shrunk the Dynamic Island by 25% for the 18 Pro, as well as increased its functionality. It takes up less screen real estate when not in use but can now show three Live Activities at once, while continuing to enable Face ID for securely unlocking the phone. It's a minor change, and probably not one that many users will worry too much about.</p><p>In all other ways, the two phones are more or less identical. The iPhone 18 Pro is a touch heavier at  7.44 ounces (211 grams) vs the 7.2 ounces (204 grams) of the iPhone 17 Pro. But with the dimensions remaining unchanged, including the camera plateau, it means you won't be forced to buy a brand new case if you do decide to upgrade.</p><p>Where you're of course going to see a change is in the color scheme. The iPhone 17 Pro is hard to miss thanks to its Cosmic Orange finish but the iPhone 18 Pro goes in for a more muted palette.</p><p>The iPhone 18 Pro (and 18 Pro Max) is available in Black, Silver, Glacier, and Burgundy. This is one extra shade compared to the iPhone 17 Pro, which comes in Cosmic Orange, Deep Blue or Silver.</p><h2 class="article-body__section" id="section-iphone-17-pro-vs-iphone-18-pro-cameras"><span>iPhone 17 Pro vs. iPhone 18 Pro: Cameras</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="HYuuDMJ2Ch2YMUKD2MbYWc" name="iPhone 18 Pro cameras" alt="iPhone 18 Pro cameras" src="https://cdn.mos.cms.futurecdn.net/HYuuDMJ2Ch2YMUKD2MbYWc.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The camera system is probably the <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-camera-upgrades-everything-we-know-about-the-new-sensor">single biggest upgrade on the iPhone 18 Pro</a> and your main reason for switching up from last year's model. While the iPhone 17 Pro boasts a phenomenal 48MP main lens with a fixed f/1.78 aperture alongside a 48MP ultrawide and 48MP telephoto, the iPhone 18 Pro is set to take mobile photography to the next level.</p><p>Apple outfitted the iPhone 18 Pro with a variable-aperture main camera. This gives users true hardware-level control over depth of field and how much light reaches the sensor, heavily outclassing the digital portrait blur we've relied on for years. In the iPhone 18 Pro camera app you'll find four stops that you can cycle through (ƒ/1.48, ƒ/1.8, ƒ/2.8 and ƒ/4.0) and you'll actually see the laser-cut blades moving above the camera lens.</p><p>This means you can manually change aperture between, for example, f/1.48 for portraits (to get more of that background blur) or go up to f/4.0 if you want all of the scene to look sharp. </p><p>There was some concern Apple was going to limit this feature to the iPhone 18 Pro Max but it's great to see the regular Pro is getting it as well.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="EHpBdnKc9CNvu4GiNaPbH9" name="iPhone 17 Pro review" alt="iPhone 17 Pro taking a photo." src="https://cdn.mos.cms.futurecdn.net/EHpBdnKc9CNvu4GiNaPbH9.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide / John Velasco)</span></figcaption></figure><p>Video mode has also been improved, with the iPhone 18 Pro letting users apply cinematic effects after capture to videos shot at up to 60 fps. In Time-lapse mode, users can now record videos in 4K and Dolby Vision HDR. Audio Mix also has new algorithms that deliver higher-quality voices and can now isolate music.</p><p>There's no doubt that if you're constantly using your iPhone for photography and want the best experience possible, you're going to want to upgrade to this year's model from the iPhone 17 Pro.</p><h2 class="article-body__section" id="section-iphone-17-pro-vs-iphone-18-pro-performance-and-battery"><span>iPhone 17 Pro vs. iPhone 18 Pro: Performance and battery</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cTmx5d63stEFmgKNszEyDo" name="iPhone 18 Pro Max gameplay" alt="iPhone 18 Pro Max" src="https://cdn.mos.cms.futurecdn.net/cTmx5d63stEFmgKNszEyDo.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The iPhone 17 Pro is no slouch, thanks to the A19 Pro chip built on a 3-nanometer process. However, the iPhone 18 Pro seems ready to blast past it thanks to Apple's next-generation A20 Pro chip, manufactured using TSMC's cutting-edge 2nm process.</p><p>We won't know for certain until we put it through our benchmarking tests, but there's sure to be some big performance gains over the 17 Pro. Apple says the 18 Pro features 50 percent more memory bandwidth than what we saw with the A19 Pro. The new 7-core GPU design is up to 40 percent faster than A19 Pro — a significant upgrade for graphics rendering and I'll come to why that matters in a moment. </p><p>The A20 Pro also features a new Dual 16-core Neural Engine, which accelerates on-device AI models and computational photography, and includes 32 total cores for double the AI processing power of A19 Pro. </p><p>Backing that processor performance is a vapor chamber that boasts three times more surface area than the one inside the iPhone 17 Pro. Apple says this new thermal management system will enable a 40 percent performance gain over last year's model.</p><p>These two improvements will manifest in two particular ways: gaming and battery life. In fact, Apple claims the 18 Pro has the same battery life as the iPhone 17 Pro Max. Again, we'll need to put it through our own battery life benchmarks to be sure, but Apple says you'll see up to 34 hours of video playback on the 18 Pro vs up to 31 on the 17 Pro.</p><p>If you use your iPhone primarily as a gaming device (and my colleague Mark tried out a demo of the upcoming Monster Hunter game on iPhone 18 Pro this week) then chances are you'll be well served by upgrading to the iPhone 18 Pro.</p><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-18-pro-software-and-apple-intelligence"><span>iPhone 18 Pro Max vs. iPhone 18 Pro: Software and Apple Intelligence</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3490px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qdS9MAp79UU3D85qwZjEV6" name="iOS 27 Siri AI" alt="iOS 27 Siri AI running on iPhone 17 Pro." src="https://cdn.mos.cms.futurecdn.net/qdS9MAp79UU3D85qwZjEV6.jpg" mos="" align="middle" fullscreen="" width="3490" height="1963" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: John Velasco / Tom's Guide)</span></figcaption></figure><p>Both the iPhone 17 Pro and the iPhone 18 Pro will have access to Apple's latest software tricks, but this year's model will run <a href="https://www.tomsguide.com/phones/iphones/ios-27-public-beta-hands-on-preview-the-new-siri-and-apple-intelligence-features-completely-changed-how-i-use-my-iphone">iOS 27</a> out of the box. The 17 Pro, meanwhile, launched with <a href="https://www.tomsguide.com/phones/iphones/ios-26-review-new-features-liquid-glass">iOS 26</a> but will be eligible for the update in the coming weeks.</p><p>The real difference lies in hardware integration for Apple Intelligence. With 12GB of RAM on both devices, the AI playing field looks level on paper. However, with the aforementioned A20 Pro's Neural Engine, we'll see a snappier response for on-device AI tasks. </p><p>And with <a href="https://www.tomsguide.com/phones/iphones/i-spent-a-week-with-siri-ai-here-are-my-honest-pros-and-cons">Siri AI</a> finally starting to hit its stride, Apple's AI offering feels like it's just starting to catch up with the competition.</p><p>However, for the most part, the 17 Pro will remain able to use almost all the AI software features Apple has to offer for at least a few more years. Access to new AI features alone isn't a big enough reason to consider upgrading.</p><h2 class="article-body__section" id="section-iphone-17-pro-vs-iphone-18-pro-final-thoughts"><span>iPhone 17 Pro vs. iPhone 18 Pro: Final thoughts</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="XEnBSEb3MMRqFRw7NPesBo" name="iPhone 18 Pro Max front" alt="iPhone 18 Pro Max" src="https://cdn.mos.cms.futurecdn.net/XEnBSEb3MMRqFRw7NPesBo.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>If you're already rocking an iPhone 17 Pro, I feel it's going to be tough to justify an upgrade based on what's already at your disposal. Apple's 2025 effort has a gorgeous 6.3-inch display, a triple 48MP camera setup, and 12GB of RAM to power Apple Intelligence. It’s an incredibly capable device that still has years of top-tier life left in it.</p><p>That said, if you’re a photographer or a gamer, I think there's enough here to make an upgrade look tempting. The variable aperture feature is, of course, the headline draw, but also think about the fact that you can now get a 2TB storage option with the iPhone 18 Pro. Yes, it's a very expensive $2,399 / £2,399 to do so, but if you're shooting a lot of 4K video or installing dozens of AAA games, then you're going to want it.</p><p>All told, the iPhone 18 Pro is an entirely predictable refresh — there's just enough newness here around the features people actually use (photography, battery life, etc) but it stops well short of a major design and features overhaul.</p><p>Of course we'll know more about the 18 Pro and how it holds up to its predecessor once we get it into the Tom's Guide benchmarking and review process. In the meantime, let me know in the comments below whether you think an iPhone 18 Pro upgrade is a must-have or if you're content to hold on to the iPhone 17 Pro for a few more years yet.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-hands-on-sneaky-awesome-upgrades-but-worth-the-price-hike">iPhone 18 Pro and Pro Max hands-on: Sneaky awesome upgrades, but worth the price hike?</a></li><li><a href="https://www.tomsguide.com/phones/iphones/iphone-duo-hands-on-apple-nailed-it-and-just-put-everyone-else-on-notice">iPhone Duo hands-on: Apple nailed it — and just put everyone else on notice</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-series-12">Apple Watch Series 12 hands-on: A new heart rate sensor and a readiness score (at last)</a></li></ul><div class="vizualizer-embed"><div class="tg-df-widget-host" data-widget-config="?search=iPhones&rows=4&view_mode=savings_squad&widget_title=Top+Deals+Handpicked+by+Our+Editors&widget_subtitle=Discover+the+best+discounts+currently+available%2C+curated+daily+by+the+Tom%27s+Guide+Savings+Squad.&bg_color=transparent" data-vizualizer-embed="true"></div>    <script>    /**     * Tom's Guide Deals Finder - Vanilla JS Encapsulated Engine     */    (function() {      // --- Freyr Analytics Adapter ---      function initAnalytics() {        window.dataLayer = window.dataLayer || [];        window.googletag = window.googletag || {};        window.googletag.cmd = window.googletag.cmd || [];        window.hawk = window.hawk || { analytics: { freyr: [] } };        window.hawk.analytics = window.hawk.analytics || { freyr: [] };        window.hawk.analytics.freyr = window.hawk.analytics.freyr || [];        window.freyr = window.freyr || { cmd: [] };        const scriptSrc = 'https://freyr.futurecdn.net/freyr.js';        const hostname = typeof window !== 'undefined' ? window.location.hostname : '';        const isTestEnv = typeof window.navigator !== 'undefined' && (window.navigator.webdriver || window.navigator.userAgent.includes('Headless'));        const shouldSendRealAnalytics = !isTestEnv && hostname && hostname !== 'localhost' && hostname !== '127.0.0.1' && !hostname.includes('run.app');        if (shouldSendRealAnalytics && !document.querySelector(`script[src="${scriptSrc}"]`)) {          const script = document.createElement('script');          script.src = scriptSrc;          script.async = true;          document.head.appendChild(script);        }      }      function storeEventForDebug(name, data) {        if (!window.hawk || !window.hawk.analytics || !window.hawk.analytics.freyr) return;        window.hawk.analytics.freyr.push({ name, data });        try {          if (typeof window !== 'undefined' && window.localStorage) {            window.localStorage.setItem("hawk", JSON.stringify(window.hawk));          }        } catch (e) {          // Ignore storage issues        }        try {          window.dispatchEvent(new CustomEvent("hawk-analytics-update"));        } catch (e) {}      }      function sendToFreyr(eventName, data) {        if (typeof window === 'undefined') return;        window.freyr = window.freyr || { cmd: [] };        window.freyr.cmd.push(() => {          if (window.freyr && window.freyr.pushAndUpdate) {            window.freyr.pushAndUpdate(eventName, data);          }        });      }      function sendEvent(event, skip = false) {        try {          storeEventForDebug(event.name, event.data);          if (!skip) {            sendToFreyr(event.name, event.data);          }        } catch (e) {          // Ensure tracking errors don't surface to the user        }      }      function getCookie(name) {        try {          const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));          return match ? match[2] : null;        } catch (e) {          return null;        }      }      function getTimeAgo(dateString) {        if (!dateString) return '';        const date = new Date(dateString);        const now = new Date();        const diffInSeconds = Math.floor((now.getTime() - date.getTime()) / 1000);        if (diffInSeconds < 60) return 'Just now';        const diffInMinutes = Math.floor(diffInSeconds / 60);        if (diffInMinutes < 60) return `${diffInMinutes} min${diffInMinutes > 1 ? 's' : ''} ago`;        const diffInHours = Math.floor(diffInMinutes / 60);        if (diffInHours < 24) return `${diffInHours} hr${diffInHours > 1 ? 's' : ''} ago`;        const diffInDays = Math.floor(diffInHours / 24);        if (diffInDays < 30) return `${diffInDays} day${diffInDays > 1 ? 's' : ''} ago`;        const diffInMonths = Math.floor(diffInDays / 30);        if (diffInMonths < 12) return `${diffInMonths} mo${diffInMonths > 1 ? 's' : ''} ago`;        const diffInYears = Math.floor(diffInDays / 365);        return `${diffInYears} yr${diffInYears > 1 ? 's' : ''} ago`;      }      function normalizeCurrency(symbol) {        const map = {          '£': 'GBP',          '$': 'USD',          'A$': 'AUD',          'CA$': 'CAD',          '€': 'EUR'        };        return map[symbol] || symbol;      }      function trackElementInteraction(props) {        sendEvent({          name: 'elementInteraction',          data: {            element: {              action: props.action || "click",              id: props.id || undefined,              class: props.class || undefined,              name: props.name || undefined,              text: props.text || undefined,              label: props.label || undefined,              container: props.container || undefined,              url: props.url || undefined,              articleId: props.articleId || undefined            }          }        });      }      function generateRevenueId(url, productName, merchantName, modelId) {        const str = `${window.location.href}|${productName}|${merchantName}|${modelId || ''}|${new Date().toDateString()}|tomsguide`;        let hash = 0;        for (let i = 0; i < str.length; i++) {          const char = str.charCodeAt(i);          hash = ((hash << 5) - hash) + char;          hash = hash & hash;        }        let numericStr = Math.abs(hash).toString();        while (numericStr.length < 19) {          numericStr += Math.floor(Math.random() * 10).toString();        }        return numericStr.substring(0, 19);      }      function rewriteAffiliateLink(url, territory, revenueId) {        if (!url) return url;        const t = (territory || 'gb').toLowerCase();        return url.replace(/hawk-custom-tracking/g, `tomsguide-${t}-${revenueId}`);      }      function trackHawkEvent(params) {        const { clickType, widgetId, productCategoryName, product, productsArray, zeroBasedProductIndexOrNull, totalDealsOrProducts, areaClicked, merchant, revenueId, isoCurrencyCode, queryName, widgetTypeName } = params;        const data = {          event: "hawkEvent",          category: "Affiliates",          affiliate: {            action: {              type: clickType,              id: widgetId,              event: clickType === "appeared" ? "viewed" : "Click from",              timestamp: Date.now()            },            component: {              flag: "Editor",              product: productCategoryName || "deals",              category: `Signal Deal Finder ${widgetTypeName || "Carousel"} widget`,              type: clickType === "appeared" ? "review" : "signal product",              label: queryName || (product ? (product.name || "") : ""),              index: zeroBasedProductIndexOrNull === null || zeroBasedProductIndexOrNull === undefined ? -1 : zeroBasedProductIndexOrNull,              linkCount: totalDealsOrProducts || 0,              blockLayout: "",              areaClicked: areaClicked || ""            }          },          products: productsArray || (product && merchant ? [            {              product: {                primary: {                  id: product.id || product.matchId || null,                  name: product.name,                  type: "deal",                  price: product.price,                  previousPrice: product.previousPrice || null,                  currency: isoCurrencyCode || "USD",                  preorder: false,                  labels: [],                  link: product.link,                  originalLink: product.originalLink || null,                  revenueId: revenueId || null,                  startTime: null,                  endTime: null,                  voucherCode: null,                  voucherAudience: null,                  voucherPercentageSaving: null,                  voucherMoneySaving: null,                  voucherType: null,                  offerExclusive: false,                  offerScope: null,                  globalId: product.globalId || null,                  inStock: product.inStock !== false,                  contractProvider: null,                  contractMinutes: null,                  contractTexts: null,                  contractData: null,                  contractLength: null,                  contractMonthlyPrice: null,                  contractCurrency: isoCurrencyCode || "USD"                }              },              merchant: {                id: merchant.id || null,                name: merchant.name,                url: merchant.url || null,                network: merchant.network || null              },              model: {                id: product.modelId || null,                brand: product.brand || null,                name: product.name,                parent: product.parent || null              }            }          ] : []),          reviews: [],          _clear: true,          "gtm.uniqueEventId": Date.now() % 10000        };        sendEvent({ name: 'hawkEvent', data });      }      function trackDealClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Product Card" });      }      function trackViewSimilarClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Product Card View Similar" });      }      function trackPriceComparisonClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Price Comparison" });      }      function trackReviewClick(params) {        trackHawkEvent({ ...params, clickType: "review", areaClicked: "Signal Product Card Review Link" });      }      function trackShare(params) {        trackHawkEvent({ ...params, clickType: "share", areaClicked: "Signal Product Card Share" });      }      function trackDealsAppeared(widgetId, deals, revenueId, currency, queryName, widgetTypeName) {         if (!deals || deals.length === 0) return;                  const productsArray = deals.slice(0, 50).map((deal) => {            let voucherPct = null;            let rawPrice = parseFloat(deal.rawPrice) || parseFloat(deal.price) || null;            let rawMsrp = parseFloat(deal.rawMsrp) || parseFloat(deal.msrp) || null;            if (rawMsrp > rawPrice && rawPrice > 0) {              voucherPct = Math.round((1 - (rawPrice / rawMsrp)) * 100);            }            let numId = null;            if (deal.externalProductId && !isNaN(parseInt(deal.externalProductId))) {              numId = parseInt(deal.externalProductId);            } else if (deal.id && !isNaN(parseInt(deal.id))) {              numId = parseInt(deal.id);            } else {              numId = deal.matchId || null;            }            return {              product: {                primary: {                  id: numId,                  name: deal.productName || deal.title || "",                  type: "deal",                  price: rawPrice,                  previousPrice: rawMsrp,                  currency: currency || 'USD',                  preorder: false,                  labels: deal.modelBrand || deal.brand ? [                     { type: "brand", value: deal.modelBrand || deal.brand }                  ] : [],                  link: deal.url,                  originalLink: deal.url,                  revenueId: revenueId || null,                  startTime: null,                  endTime: null,                  voucherCode: null,                  voucherAudience: null,                  voucherPercentageSaving: voucherPct,                  voucherMoneySaving: null,                  voucherType: null,                  offerExclusive: false,                  offerScope: null,                  globalId: deal.productKey || null,                  inStock: deal.inStock !== false,                  contractProvider: null,                  contractMinutes: null,                  contractTexts: null,                  contractData: null,                  contractLength: null,                  contractMonthlyPrice: null,                  contractCurrency: currency || 'USD'                }              },              merchant: {                id: deal.merchantId ? parseInt(deal.merchantId) : null,                name: deal.merchant || "Retailer",                url: deal.merchantUrl || null,                network: deal.merchantNetwork || null              },              model: {                id: deal.modelId ? parseInt(deal.modelId) : null,                brand: deal.modelBrand || deal.brand || null,                name: deal.productName || deal.title || "",                parent: deal.modelParent || null              }            };         });                  trackHawkEvent({             clickType: "appeared",             widgetId: widgetId,             productCategoryName: "deals",             zeroBasedProductIndexOrNull: null,             totalDealsOrProducts: deals.length,             productsArray: productsArray,             queryName: queryName,             widgetTypeName: widgetTypeName         });      }      // 1. Setup Shadow DOM Sandbox      const currentScript = document.currentScript;      let hostContainer = null;      let template = null;            if (currentScript) {        let prev = currentScript.previousElementSibling;        while (prev) {          if (prev.tagName === 'TEMPLATE' && prev.classList.contains('tg-df-widget-template')) {            template = prev;          } else if (prev.tagName === 'DIV' && prev.classList.contains('tg-df-widget-host') && !prev.hasAttribute('data-initialized')) {            hostContainer = prev;            break;          }          prev = prev.previousElementSibling;        }      }            // Fallbacks in case script is deferred      if (!hostContainer) {        const hosts = document.querySelectorAll('.tg-df-widget-host:not([data-initialized])');        if (hosts.length > 0) hostContainer = hosts[0];      }            // Safely embedded template for CMS environments      const rawTemplate = `  \x3Cstyle>    /* --- Shadow DOM Base Reset --- */    *, *::before, *::after {      box-sizing: border-box;    }    img, picture, svg, video {      max-width: 100%;      height: auto;      display: block;    }    /*       1. Scoped CSS for Tom's Guide Deals Widget       All classes are prefixed with \`tg-df-\` to prevent CMS style leakage.    */    .tg-df-container {      container-type: inline-size;      container-name: tg-df;      --tg-df-blue: #1F69FF;      --tg-df-blue-hover: #004d8c;      --tg-df-text: #222222;      --tg-df-text-muted: #555555;      --tg-df-bg: #ffffff;      --tg-df-bg-secondary: #f4f4f4;      --tg-df-border: #e2e8f0;      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;      color: var(--tg-df-text);      background-color: transparent;       width: 100%;      max-width: 1200px;      margin: 0 auto;      padding-bottom: 24px;    }    .tg-df-container *, .tg-df-container *::before, .tg-df-container *::after {      margin: 0;      padding: 0;      box-sizing: border-box;    }    .tg-df-container img {      border: none;      margin: 0;      padding: 0;    }    .tg-df-container a {      text-decoration: none;      color: inherit;    }    /*       2. Search & Filter Bar    */    .tg-df-controls {      display: flex;      flex-direction: column;      align-items: center;      gap: 20px;      margin-bottom: 32px;      width: 100%;      position: relative;      z-index: 20;    }    .tg-df-top-bar {      display: flex;      width: 100%;      max-width: 760px;      gap: 12px;      margin: 0 auto;      align-items: center;    }    .tg-df-search-wrapper {      position: relative;      flex: 1;      width: 100%;      box-shadow: 0 8px 24px rgba(0,0,0,0.06);      border-radius: 40px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      z-index: 100;    }    .tg-df-autocomplete-dropdown {      position: absolute;      top: calc(100% + 4px);      left: 0;      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      max-height: 300px;      overflow-y: auto;      z-index: 200;      display: none;    }    .tg-df-autocomplete-dropdown.active {      display: block;    }    .tg-df-autocomplete-item {      padding: 12px 24px;      cursor: pointer;      font-size: 14px;      color: var(--tg-df-text);      transition: background 0.1s ease;    }    .tg-df-autocomplete-item:hover {      background: var(--tg-df-bg-secondary);    }    .tg-df-search-input {      width: 100%;      padding: 16px 64px 16px 24px;      font-size: 16px;      border: 2px solid transparent;      border-radius: 40px;      outline: none;      transition: border-color 0.2s ease, box-shadow 0.2s ease;      color: var(--tg-df-text);      background: transparent;    }    .tg-df-search-input:focus {      border-color: transparent;      box-shadow: 0 0 0 3px rgba(0, 108, 196, 0.15);    }    .tg-df-search-input::placeholder {      color: #999999;    }        .tg-df-search-btn {      position: absolute;      right: 8px;      top: 50%;      transform: translateY(-50%);      width: 40px;      height: 40px;      border-radius: 50%;      background: #222;      border: none;      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: background 0.2s ease;    }        .tg-df-search-btn:hover {      background: #000;    }    .tg-df-search-icon {      width: 16px;      height: 16px;      fill: #fff;    }    .tg-df-settings-wrapper {      position: relative;    }        .tg-df-settings-btn {      width: 48px;      height: 48px;      border-radius: 50%;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      box-shadow: 0 4px 12px rgba(0,0,0,0.04);      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: all 0.2s ease;      color: var(--tg-df-text-muted);      flex-shrink: 0;    }    .tg-df-settings-btn:hover {      background: var(--tg-df-bg-secondary);      border-color: #0000ff;      color: var(--tg-df-text);    }    .tg-df-settings-btn svg {      width: 24px;      height: 24px;      fill: currentColor;    }    .tg-df-settings-dropdown {      position: absolute;      top: calc(100% + 8px);      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      width: 280px;      padding: 20px;      display: none;      z-index: 100;      flex-direction: column;      gap: 20px;    }    .tg-df-settings-dropdown.active {      display: flex;    }        .tg-df-settings-dropdown-backdrop {      display: none;      position: fixed;      inset: 0;      z-index: 99;    }        .tg-df-settings-dropdown-backdrop.active {      display: block;    }    .tg-df-setting-item {      display: flex;      flex-direction: column;      gap: 10px;    }    .tg-df-setting-label {      font-size: 11px;      font-weight: 700;      color: var(--tg-df-text-muted);      text-transform: uppercase;      letter-spacing: 0.5px;    }        .tg-df-region-select {        padding: 10px 12px;        border-radius: 8px;        border: 1px solid var(--tg-df-border);        font-size: 15px;        outline: none;        background: var(--tg-df-bg-secondary);        color: var(--tg-df-text);        cursor: pointer;        width: 100%;    }    .tg-df-toggle {        position: relative;        display: inline-block;        width: 44px;        height: 24px;        flex-shrink: 0;    }    .tg-df-toggle input {        opacity: 0;        width: 0;        height: 0;    }    .tg-df-slider {        position: absolute;        cursor: pointer;        top: 0; left: 0; right: 0; bottom: 0;        background-color: #ccc;        transition: .2s;        border-radius: 24px;    }    .tg-df-slider:before {        position: absolute;        content: "";        height: 18px;        width: 18px;        left: 3px;        bottom: 3px;        background-color: white;        transition: .2s;        border-radius: 50%;    }    .tg-df-toggle input:checked + .tg-df-slider {        background-color: #1F69FF;    }    .tg-df-toggle input:checked + .tg-df-slider:before {        transform: translateX(20px);    }    .tg-df-dl-row {        flex-direction: row;        align-items: center;        justify-content: space-between;    }    .tg-df-dl-row-text {        font-size: 14px;        font-weight: 600;        color: var(--tg-df-text);    }    .tg-df-dl-row-subtext {        font-size: 12px;        font-weight: 400;        line-height: 1.3;        color: var(--tg-df-text-muted);        margin-top: 4px;        display: block;    }    .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 800px;    }    .tg-df-scroll-btn {      display: none;      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 0px;    }    .tg-df-scroll-btn.right {      right: 0px;    }    @container tg-df (max-width: 768px) {      .tg-df-scroll-btn {        display: flex;        top: 22px; /* vertically center within the 44px high filter buttons */      }    }    .tg-df-filters {      display: grid;      width: 100%;      grid-template-columns: repeat(4, 1fr);      gap: 12px;      margin: 0 auto;      max-width: 800px;    }                 .tg-df-sort-wrapper {      position: relative;      display: flex;      align-items: center;      width: 100%;    }        .tg-df-sort-icon {      position: absolute;      left: 14px;      width: 14px;      height: 14px;      fill: var(--tg-df-text-muted);      pointer-events: none;    }    .tg-df-sort-select, .tg-df-filter-select {      width: 100%;      padding: 10px 36px 10px 38px;      font-size: 14px;      border: 1px solid var(--tg-df-border);      border-radius: 100px;      outline: none;      appearance: none;      background-color: var(--tg-df-bg-secondary);      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E");      background-repeat: no-repeat;      background-position: right 14px center;      color: var(--tg-df-text);      cursor: pointer;      font-weight: 500;      transition: all 0.2s ease;    }        .tg-df-price-input::-webkit-outer-spin-button,    .tg-df-price-input::-webkit-inner-spin-button {      -webkit-appearance: none;      margin: 0;    }    .tg-df-price-input {      -moz-appearance: textfield;    }    .tg-df-sort-select:hover, .tg-df-filter-select:hover {      background-color: #e2e8f0;    }    .tg-df-multiselect-container {      position: relative;    }    @container tg-df (max-width: 768px) {      .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 800px;    }    .tg-df-scroll-btn {      display: none;      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 0px;    }    .tg-df-scroll-btn.right {      right: 0px;    }    @container tg-df (max-width: 768px) {      .tg-df-scroll-btn {        display: flex;        top: 22px; /* vertically center within the 44px high filter buttons */      }    }    .tg-df-filters {        width: 100%;        margin: 0;        margin-bottom: -320px;        padding: 0 16px 320px 16px;        display: flex;        flex-wrap: nowrap;        gap: 8px;        overflow-x: auto;        overflow-y: hidden;        pointer-events: none;        scrollbar-width: none;        -webkit-overflow-scrolling: touch;      }      .tg-df-filters::-webkit-scrollbar {        display: none;      }      .tg-df-sort-wrapper {        pointer-events: auto;        flex: 0 0 auto;        width: 175px;        min-width: 175px;      }    }        .tg-df-multiselect-trigger {      display: block;      background: #fff;      user-select: none;      width: 100%;      overflow: hidden;      white-space: nowrap;      text-overflow: ellipsis;    }        .tg-df-multiselect-dropdown {      display: none;      position: absolute;      top: calc(100% + 4px);      left: 0;      width: 100%;      min-width: 220px;      max-height: 300px;      overflow-y: auto;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);      z-index: 100;      padding: 8px 0;    }    .tg-df-multiselect-dropdown.active {      display: block;    }    .tg-df-ms-option {      padding: 8px 16px;      display: flex;      align-items: center;      gap: 8px;      cursor: pointer;      font-size: 14px;    }    .tg-df-ms-option:hover {      background-color: var(--tg-df-bg-secondary);    }        .tg-df-ms-option input {      cursor: pointer;      accent-color: #1f69ff;    }    .tg-df-sort-select:focus, .tg-df-filter-select:focus {      border-color: #0000ff;      box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.2);      background-color: var(--tg-df-bg);    }    /*       3. Deal Grid Layout    */    .tg-df-grid.tg-df-grid-auto {      padding-top: 24px;    }    .tg-df-grid, .tg-df-grid.layout-grid {      display: grid;      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));      gap: 10px;    }    .tg-df-grid.layout-row {      grid-template-columns: 1fr;      gap: 16px;    }        .tg-df-grid.layout-row .tg-df-card {      flex-direction: row;      align-items: stretch;      height: auto;      box-shadow: none;      border-bottom: 1px solid var(--tg-df-border);    }    .tg-df-grid.layout-row .tg-df-card:hover {      box-shadow: none;    }    .tg-df-grid.layout-row .tg-df-card-image-box {      width: 140px;      min-width: 140px;      aspect-ratio: 3/4;      border-right: none;      padding: 16px 16px 16px 32px;    }    .tg-df-grid.layout-row .tg-df-card-body {      padding: 16px;      justify-content: space-between;    }    .tg-df-grid.layout-row .tg-df-card-title {      font-size: 15px;      margin-bottom: 16px;    }    .tg-df-grid.layout-row .tg-df-card-stars { margin-bottom: 8px; }    .tg-df-grid.layout-row .tg-df-card-footer {      flex-direction: column;      align-items: flex-start;      gap: 0;    }    .tg-df-grid.layout-row .tg-df-card-merchant-pill {      margin-bottom: 4px;    }    .tg-df-grid.layout-row .tg-df-card-price-group {      margin-bottom: 8px;    }    .tg-df-grid.layout-row .tg-df-price-group {      width: auto;    }    .tg-df-grid.layout-row .tg-df-card-cta {      width: 100%;      max-width: 200px;      padding: 10px 24px;      font-size: 13px;      flex-shrink: 0;      text-align: center;      justify-content: center;    }    /*       4. Deal Card Design    */    .tg-df-card {      position: relative;      display: flex;      flex-direction: column;      background-color: #ffffff;      border-radius: 0;      overflow: hidden;      transition: transform 0.2s ease, box-shadow 0.2s ease;      text-decoration: none;      color: inherit;      height: 100%;      box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);      border: 1px solid var(--tg-df-border);    }    .tg-df-card:hover {      box-shadow: 0 0 24px rgba(0, 0, 0, 0.12);    }    .tg-df-card-image-box {      width: 100%;      aspect-ratio: 3/4;      background-color: #f8f8f8;      display: flex;      align-items: center;      justify-content: center;      position: relative;      overflow: hidden;      padding: 32px;      flex: 0 0 auto;    }    .tg-df-card-image {      max-width: 100%;      max-height: 100%;      width: auto;      height: auto;      object-fit: contain;      mix-blend-mode: multiply; /* Helps white background images blend into secondary bg */      transition: transform 0.3s ease;    }    .tg-df-card:hover .tg-df-card-image {      transform: scale(1.05); /* Zoom in on hover */    }    .tg-df-card-discount-badge {      position: absolute;      top: 12px;      left: 12px;      background: #dc2626; /* Red */      color: #ffffff;      padding: 6px 8px;      font-size: 11px;      font-weight: 500;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      z-index: 10;    }        .tg-df-card-merchant-pill {      display: block;      padding: 0;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      color: var(--tg-df-text-muted);      margin-bottom: 8px;      white-space: nowrap;      overflow: hidden;      text-overflow: ellipsis;    }    .tg-df-card-body {      padding: 16px;      display: flex;      flex-direction: column;      flex-grow: 1;      min-width: 0;    }    .tg-df-card-badges {      display: flex;      flex-wrap: wrap;      gap: 6px;      margin-bottom: 8px;    }    .tg-df-tag {      display: inline-flex;      align-items: center;      padding: 4px 6px;      font-size: 11px;      font-weight: 700;      text-transform: uppercase;      border-radius: 4px;      gap: 4px;    }    .tg-df-tag-prime {      background-color: #00A8E1;      color: #fff;    }    .tg-df-tag-coupons {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-coupons:hover {      background-color: #e2e8f0;    }        .tg-df-tag-outline {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-outline:hover {      background-color: #e2e8f0;    }        @keyframes tg-df-spin {      0% { transform: rotate(0deg); }      100% { transform: rotate(360deg); }    }    .tg-df-coupon-spinner {      border: 2px solid #e2e8f0;      border-top: 2px solid #3b82f6;      border-radius: 50%;      width: 14px;      height: 14px;      animation: tg-df-spin 1s linear infinite;      margin: 4px 8px;      display: inline-block;    }        /* Vouchers Modal */    .tg-df-modal-backdrop {      position: fixed;      top: 0; left: 0; right: 0; bottom: 0;      background: rgba(0,0,0,0.5);      z-index: 10000;      display: flex;      align-items: center;      justify-content: center;      opacity: 0;      pointer-events: none;      transition: opacity 0.3s;    }    .tg-df-modal-backdrop.active {      opacity: 1;      pointer-events: auto;    }    .tg-df-modal {      background: #fff;      border-radius: 12px;      width: 90%;      max-width: 400px;      max-height: 80vh;      display: flex;      flex-direction: column;      box-shadow: 0 10px 40px rgba(0,0,0,0.2);      transform: translateY(20px);      transition: transform 0.3s;    }    .tg-df-modal-backdrop.active .tg-df-modal {      transform: translateY(0);    }    .tg-df-modal-header {      padding: 16px;      border-bottom: 1px solid #e2e8f0;      display: flex;      align-items: center;      justify-content: space-between;    }    .tg-df-modal-title {      font-size: 16px;      font-weight: 600;      margin: 0;    }    .tg-df-modal-close {      background: none;      border: none;      cursor: pointer;      padding: 4px;      color: #64748b;    }    .tg-df-modal-body {      padding: 16px;      overflow-y: auto;    }    .tg-df-voucher-item {      padding: 12px;      border: 1px dashed #cbd5e1;      border-radius: 8px;      margin-bottom: 10px;      background: #f8fafc;      display: flex;      align-items: center;      gap: 12px;      text-decoration: none;      color: inherit;      transition: background-color 0.2s, border-color 0.2s;    }    .tg-df-voucher-item:hover {      background: #f1f5f9;      border-color: #94a3b8;    }    .tg-df-voucher-item:last-child {      margin-bottom: 0;    }    .tg-df-voucher-logo {      width: 48px;      height: 48px;      object-fit: contain;      border-radius: 4px;      background: #fff;      border: 1px solid #e2e8f0;      flex-shrink: 0;    }    .tg-df-voucher-content {      flex: 1;      min-width: 0;    }    .tg-df-voucher-title {      font-size: 14px;      font-weight: 600;      margin: 0 0 4px 0;      line-height: 1.3;      color: #0f172a;    }    .tg-df-voucher-expiry {      font-size: 12px;      color: #64748b;      display: flex;      align-items: center;      gap: 4px;      margin-top: 6px;    }    .tg-df-voucher-code {      display: inline-flex;      align-items: center;      background: #f1f5f9;      border: 1px dashed #cbd5e1;      padding: 6px 10px;      font-family: monospace;      font-weight: 700;      font-size: 14px;      color: #0f172a;      border-radius: 4px;      margin-top: 8px;      cursor: pointer;      transition: all 0.2s ease;    }    .tg-df-voucher-code:hover {      background: #e2e8f0;      border-color: #94a3b8;    }    .tg-df-voucher-code.copied {      background: #ecfdf5;      border-color: #10b981;      color: #10b981;    }    .tg-df-voucher-cta {      display: inline-block;      margin-top: 8px;      font-size: 13px;      font-weight: 600;      color: #2563eb;      text-decoration: none;    }    .tg-df-card-title {      font-size: 15px;      font-weight: 400;      line-height: 1.4;      margin: 0 0 12px 0;      color: var(--tg-df-text);    }    .tg-df-card-footer {      margin-top: auto;      display: flex;      flex-direction: column;      width: 100%;    }    .tg-df-card-price-group {      display: flex;      flex-direction: row;      align-items: center;      gap: 8px;      margin-bottom: 12px;    }    .tg-df-card-price {      font-size: 16px;      font-weight: 700;      color: #dc2626; /* Red price */      line-height: 1;    }        .tg-df-card-msrp {      font-size: 13px;      color: var(--tg-df-text-muted);      text-decoration: line-through;    }    .tg-df-container .tg-df-card-cta {      display: flex;      align-items: center;      justify-content: center;      width: 100%;      box-sizing: border-box;      background-color: #1f69ff;      color: #ffffff;      font-size: 12px;      font-weight: 700;      text-transform: uppercase;      letter-spacing: 0.5px;      padding: 12px 16px;      border-radius: 0;      border: none;      cursor: pointer;      transition: background-color 0.2s ease;    }    .tg-df-card:hover .tg-df-card-cta,    .tg-df-card-cta:hover {      background-color: #1555cc;    }    /*       5. State & Skeleton Styles    */    .tg-df-message {      grid-column: 1 / -1;      text-align: center;      padding: 48px 24px;      color: var(--tg-df-text-muted);      font-size: 16px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;    }    @keyframes tg-df-shimmer {      0% { background-position: -200% 0; }      100% { background-position: 200% 0; }    }    .tg-df-skeleton {      background: linear-gradient(90deg, var(--tg-df-bg-secondary) 25%, #e2e8f0 50%, var(--tg-df-bg-secondary) 75%);      background-size: 200% 100%;      animation: tg-df-shimmer 1.5s infinite;      border-radius: 4px;    }    .tg-df-skeleton-img {      width: 100%;      height: 100%;      position: absolute;      top: 0; left: 0;    }        .tg-df-skeleton-text {      height: 16px;      margin-bottom: 8px;      width: 100%;    }    .tg-df-skeleton-text.short { width: 40%; }    .tg-df-skeleton-text.title { height: 20px; margin-bottom: 16px; }    /* Editor Floating Bar & Elements */    .tg-df-editor-bar {      position: sticky;      top: 120px;      z-index: 1000;      background: #111827;      color: #fff;      padding: 12px 16px;      border-radius: 8px;      margin-bottom: 16px;      display: flex;      align-items: center;      justify-content: space-between;      box-shadow: 0 4px 12px rgba(0,0,0,0.15);    }    .tg-df-editor-bar-text {      font-weight: 600;      font-size: 14px;    }    .tg-df-editor-copy-btn {      background: #10b981;      color: #fff;      padding: 6px 16px;      border: none;      border-radius: 4px;      font-weight: 600;      cursor: pointer;      display: flex;      align-items: center;      font-size: 13px;    }    .tg-df-editor-copy-btn:hover { background: #059669; }        .tg-df-deal-checkbox {      position: absolute;      top: 12px;      right: 12px;      z-index: 10;      width: 20px;      height: 20px;      cursor: pointer;      pointer-events: auto;    }    /*       6. Mobile List View (Stacks into a cleaner horizontal row/list)    */    @container tg-df (max-width: 599px) {      .tg-df-controls {        padding: 16px 16px 8px;      }            .tg-df-top-bar {        width: 100%;      }            .tg-df-settings-dropdown {        position: fixed;        top: auto;        bottom: 0;        left: 0;        right: 0;        width: 100%;        border-radius: 20px 20px 0 0;        padding: 24px;        box-shadow: 0 -8px 32px rgba(0,0,0,0.15);        z-index: 1000;        border: none;        border-top: 1px solid var(--tg-df-border);      }            .tg-df-settings-dropdown-backdrop.active {        background: rgba(0,0,0,0.4);      }            .tg-df-search-wrapper {        box-shadow: 0 0 16px rgba(0,0,0,0.08);      }                  .tg-df-sort-wrapper.tg-df-price-range-wrapper {        flex: 0 0 auto;        min-width: max-content;        width: auto;      }            .tg-df-sort-select, .tg-df-filter-select {        width: 100%;        text-align: left;        padding: 10px 24px 10px 32px;        background-position: right 8px center;        text-overflow: ellipsis;        white-space: nowrap;        overflow: hidden;      }      .tg-df-sort-icon {        left: 10px;      }      .tg-df-grid:not(.layout-grid):not(.layout-row),      .tg-df-grid.layout-row {        grid-template-columns: 1fr;        gap: 16px;      }            .tg-df-grid.tg-df-grid-auto {        padding-top: 24px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card,      .tg-df-grid.layout-row .tg-df-card {        flex-direction: row;        align-items: stretch;        height: auto;        box-shadow: none; /* simple line on mobile if preferred, or keep */        border-bottom: 1px solid var(--tg-df-border);      }      .tg-df-grid.tg-df-grid-auto .tg-df-card:hover,      .tg-df-grid.layout-row .tg-df-card:hover {        box-shadow: none;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-image-box,      .tg-df-grid.layout-row .tg-df-card-image-box {        width: 120px;        min-width: 120px;        aspect-ratio: 3/4;        border-right: none;        padding: 12px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-body,      .tg-df-grid.layout-row .tg-df-card-body {        padding: 12px;        justify-content: space-between;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-title,      .tg-df-grid.layout-row .tg-df-card-title {        font-size: 14px;        margin-bottom: 12px;      }      /* Single column mobile grid override */      .tg-df-grid.layout-grid {        grid-template-columns: 1fr;        gap: 16px;      }      .tg-df-grid.layout-grid .tg-df-card-image-box {        padding: 12px;      }      .tg-df-grid.layout-grid .tg-df-card-body {        padding: 10px;      }      .tg-df-grid.layout-grid .tg-df-card-title {        font-size: 13px;        margin-bottom: 8px;      }      .tg-df-grid.layout-grid .tg-df-card-price {        font-size: 14px;      }            .tg-df-card-footer {        flex-direction: column;        align-items: stretch;        gap: 0;        width: 100%;        min-width: 0;      }      .tg-df-card-merchant-pill {        margin-bottom: 4px;      }      .tg-df-card-price-group {        flex: 1 1 auto;        margin-bottom: 8px;      }      .tg-df-card-price {        font-size: 16px;      }      .tg-df-card-msrp {        display: block;       }      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 8px 16px;        font-size: 12px;        flex: 0 0 auto;        text-align: center;        white-space: normal;        line-height: 1.2;      }    }    .tg-df-container.is-carousel {      min-height: 760px;      background-color: #E7F0FF;      padding: 0 0 24px 0;      border-radius: 24px;      width: 100vw;      max-width: 1200px;      position: relative;      left: 50%;      transform: translateX(-50%);    }    .tg-df-container.is-carousel.hide-header-details {      min-height: 480px;    }    /*       7. Carousel View Mode    */    .tg-df-container .tg-df-carousel-host {      /* Layout is now handled by container wrapper */    }    .tg-df-container .tg-df-carousel-eyebrow {      color: #1F69FF;      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      padding: 24px 16px 0 16px;      display: none;    }    .tg-df-container .tg-df-carousel-query-title {      color: #011535;      font-size: 28px;      font-weight: 600;      padding: 0 16px 24px 16px;      line-height: 1.2;      display: none;    }    .tg-df-container .tg-df-carousel-blue-box {      background-color: transparent;      border-radius: 0;      padding: 24px 24px 0 24px;      margin: 0;      color: #1F69FF;          position: relative;      overflow: hidden;    }    .tg-df-container .tg-df-carousel-bg-circle-1 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-2 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-3 {      display: none;    }    .tg-df-container .tg-df-carousel-box-content {      position: relative;      z-index: 10;    }    .tg-df-container .tg-df-carousel-box-eyebrow {      background-color: transparent;      color: #1F69FF;      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      display: inline-block;      padding: 0;      border-radius: 0;    }    .tg-df-container .tg-df-carousel-box-title {      font-size: 28px;      font-weight: 600;      line-height: 1.2;      margin-top: 8px;      color: #1e293b;    }    .tg-df-container .tg-df-countdown-wrapper {      position: absolute;      top: 0;      right: 0;      display: flex;      flex-direction: column;      align-items: flex-end;      gap: 12px;      transform: scale(0.67);      transform-origin: top right;    }    .tg-df-container .tg-df-countdown-title {      font-size: 14px;      font-weight: 600;      color: #011535;      margin: 0;    }    .tg-df-container .tg-df-countdown-blocks {      display: flex;      gap: 16px;    }    .tg-df-container .tg-df-countdown-item {      display: flex;      flex-direction: column;      align-items: center;      gap: 4px;    }    .tg-df-container .tg-df-countdown-box {      width: 59px;      height: 59px;      background: #03FE9E;      border-radius: 15px;      display: flex;      align-items: center;      justify-content: center;    }    .tg-df-container .tg-df-countdown-num {      font-family: 'Inter', sans-serif;      font-weight: 700;      font-size: 20px;      line-height: normal;      color: #011535;    }    .tg-df-container .tg-df-countdown-label {      font-family: 'Inter', sans-serif;      font-weight: 500;      font-size: 16px;      line-height: normal;      color: #1e293b;      text-transform: uppercase;    }    .tg-df-container .tg-df-carousel-box-subtitle {      font-size: 16px;      margin-top: 8px;      font-weight: 300;      color: #1e293b;      line-height: 24px;    }    .tg-df-container .tg-df-carousel-roundels-wrapper {      position: relative;      margin-top: 24px;      margin-left: -24px;      margin-right: -24px;    }    .tg-df-container .tg-df-carousel-roundels {      display: flex;      gap: 16px;      overflow-x: auto;            scrollbar-width: none;      padding-top: 12px;      padding-bottom: 24px;      padding-left: 24px;      padding-right: 24px;      margin-left: 0;      margin-right: 0;    }        .tg-df-container .tg-df-carousel-scroll-left,    .tg-df-container .tg-df-carousel-scroll-right {      position: absolute;      top: 50%;      transform: translateY(-50%);      height: 36px;      width: 36px;      display: flex;      align-items: center;      justify-content: center;      border-radius: 50%;      background-color: #ffffff;      border: 1px solid #e2e8f0;      box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);      color: #1F69FF;      cursor: pointer;      transition: all 0.2s;      margin-top: -4px;      z-index: 20;    }    .tg-df-container .tg-df-carousel-scroll-left { left: 8px; }    .tg-df-container .tg-df-carousel-scroll-right { right: 8px; }    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left { left: 0px; }    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right { right: 0px; }    .tg-df-carousel-filters-outer { margin-left: -24px; margin-right: -24px; padding-left: 24px; padding-right: 24px; }    .tg-df-grid-wrapper { position: relative; }    @container tg-df (max-width: 599px) { .tg-df-carousel-filters-outer { margin-left: -16px; margin-right: -16px; padding-left: 16px; padding-right: 16px; } }        .tg-df-container .tg-df-carousel-scroll-left:hover,    .tg-df-container .tg-df-carousel-scroll-right:hover {      background-color: rgba(255, 255, 255, 0.6);    }    .tg-df-container .tg-df-carousel-roundels::-webkit-scrollbar {      display: none;    }    .tg-df-container .tg-df-roundel {      display: flex;      flex-direction: column;      align-items: center;      gap: 8px;      cursor: pointer;      min-width: 120px;      flex-shrink: 0;    }    .tg-df-container .tg-df-roundel-img-box {      width: 120px;      height: 120px;      border-radius: 50%;      background: white;      display: flex;      align-items: center;      justify-content: center;      overflow: hidden;      box-shadow: 0px 3px 14px 0px rgba(30, 41, 59, 0.08);      transition: box-shadow 0.2s;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px #1F69FF;    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px #1F69FF;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box img {      transform: scale(1.08);    }    .tg-df-container .tg-df-roundel-img-box img {      width: 100%;      height: 100%;      object-fit: contain;      padding: 10px;      box-sizing: border-box;      transition: transform 0.3s ease;    }    .tg-df-container .tg-df-roundel-label {      font-size: 13px;      font-weight: 400;      color: #1e293b;      text-align: center;    }    .tg-df-container .tg-df-carousel-filters-label {      font-size: 16px;      font-weight: 400;      color: #1e293b;      white-space: nowrap;      margin-right: 4px;    }    .tg-df-container .tg-df-carousel-filters-wrap {      display: flex;      align-items: center;      flex-wrap: nowrap;      gap: 8px;      margin-top: 8px;      overflow-x: auto;      scrollbar-width: none;      -webkit-overflow-scrolling: touch;      padding-bottom: 8px;      margin-left: -24px;      margin-right: -24px;      padding-left: 24px;      padding-right: 24px;    }    .tg-df-container .tg-df-carousel-filters-wrap::-webkit-scrollbar {      display: none;    }        .tg-df-container .tg-df-carousel-filter-btn img,    .tg-df-container .tg-df-carousel-filter-btn picture {      height: 20px;      width: 20px;      object-fit: contain;      object-position: center;      display: inline-flex;      align-items: center;      justify-content: center;      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn picture img {      margin-right: 0;      height: 100%;      width: 100%;    }    .tg-df-container .tg-df-carousel-filter-btn img.active-img,    .tg-df-container .tg-df-carousel-filter-btn picture:has(.active-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.inactive-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.inactive-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.active-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.active-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.active-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.active-img) {      display: inline-flex;    }    .tg-df-container .tg-df-carousel-filter-btn {      background: #ffffff;      border: 2px solid #1e293b;      color: #1e293b;      border-radius: 24px;      padding: 6px 16px;      font-size: 14px;      font-weight: 600;      cursor: pointer;      transition: all 0.2s;      flex-shrink: 0;      white-space: nowrap;    }    .tg-df-container .tg-df-carousel-filter-btn svg {      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn {      display: inline-flex;      align-items: center;    }    .tg-df-container .tg-df-carousel-filter-btn:hover {      background: #1e293b;      color: white;      border-color: #1e293b;    }    .tg-df-container .tg-df-carousel-filter-btn.active {      background: #1e293b;      color: white;      border-color: #1e293b;    }        .tg-df-grid.carousel-compact {      display: flex;      flex-wrap: nowrap;      overflow-x: auto;      gap: 16px;      padding: 16px 24px;      align-items: stretch;      scrollbar-width: none;    }    .tg-df-grid.carousel-compact::-webkit-scrollbar {      display: none;    }    .tg-df-grid.carousel-compact .tg-df-card {      flex: 0 0 auto;      width: 200px;      min-height: auto;      height: auto;      display: flex;      flex-direction: column;      border-radius: 15px;      border: none;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      overflow: visible;    }    .tg-df-grid.carousel-compact .tg-df-card-image-box {      padding: 12px;      background-color: transparent;      border-radius: 15px 15px 0 0;      height: 130px;    }    .tg-df-grid.carousel-compact .tg-df-card-image {      mix-blend-mode: normal;    }    .tg-df-grid.carousel-compact .tg-df-card-discount-badge {      border-radius: 0;      top: 0px;      left: 0px;      padding: 4px 8px;      font-size: 11px;    }    .tg-df-grid.carousel-compact .tg-df-card-body {      padding: 8px 12px 12px 12px;    }    .tg-df-grid.carousel-compact .tg-df-card-title {      font-size: 14px;      font-weight: 400;      margin-bottom: 8px;      color: #011535;    }    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):not(:has(.tg-df-tag-prime)):not(:has(.tg-df-coupon-wrapper:not([style*="none"]))) > .tg-df-card-title,    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):has(> .tg-df-card-title:first-child) > .tg-df-card-title {    }    .tg-df-grid.carousel-compact .tg-df-card-cta {      border-radius: 5px;      padding: 8px 10px;      margin-top: 4px;      background-color: #1F69FF;    }    .tg-df-grid.carousel-compact .tg-df-card-price-group {      margin-bottom: 2px;    }    .tg-df-grid.carousel-compact .tg-df-card-merchant-pill {      margin-bottom: 2px;    }    @container tg-df (max-width: 599px) {      .tg-df-container .tg-df-carousel-blue-box-title {        font-size: 24px;      }      .tg-df-container .tg-df-countdown-title {        display: none;      }      .tg-df-container .tg-df-countdown-wrapper {        position: absolute;        top: 0;        right: 0;        align-items: flex-end;        transform: scale(0.40);        transform-origin: top right;      }      .tg-df-container .tg-df-roundel {        min-width: 88px;      }      .tg-df-container .tg-df-roundel-img-box {        width: 88px;        height: 88px;      }    }    /* REPLICA BLOCK STYLES */    .tg-df-grid.layout-replica-2 { grid-template-columns: repeat(2, 1fr) !important; gap: 20px; }    .tg-df-grid.layout-replica-1 { grid-template-columns: 1fr !important; gap: 20px; }        .tg-df-container .hawk-deal-widget-container { border-bottom: 1px solid #e5e7eb; display: flex; flex-direction: column; margin: 0; padding: 20px 0; box-sizing: border-box; font-family: inherit; }    .tg-df-container .hawk-deal-widget-wrap { display: flex; flex-direction: row; align-items: flex-start; width: 100%; gap: 24px; }    .tg-df-container .hawk-deal-widget-image-container { display: flex; flex-shrink: 0; justify-content: center; width: 160px; height: 160px; align-items: center; background: white; margin-bottom: 0px; }    .tg-df-container .hawk-deal-widget-title-product-title { color: #111827; font-size: 18px; font-weight: 700; line-height: 1.4; display: inline; }    .tg-df-container .hawk-deal-widget-title-price { font-size: 18px; font-weight: 700; line-height: 1.4; white-space: nowrap; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-price-now { font-weight: 700; }    .tg-df-container .hawk-deal-widget-title-retailer-price:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-title-retailer { font-size: 18px; font-weight: 700; line-height: 1.4; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-was-price { color: #dc2626; font-size: 16px; font-weight: 500; line-height: 1.4; text-decoration: line-through; white-space: nowrap; margin-left: 8px; margin-right: 8px; }    .tg-df-container .hawk-deal-widget-text-body-container { position: relative; width: 100%; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-text-body-main { font-size: 16px; width: 100%; margin-bottom: 12px; }    .tg-df-container .hawk-deal-widget-text-body-description { display: block; font-size: 15px; margin-top: 12px; color: #4b5563; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-body-description p { margin: 0; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-cta-container { display: flex; flex-direction: column; gap: 12px; width: 100%; flex: 1; min-width: 0; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-footer { display: flex; justify-content: flex-end; width: 100%; margin-top: auto; }    .tg-df-container .hawk-deal-widget-button-wrapper { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; width: 100%; }    .tg-df-container .hawk-deal-widget-preferred-partner-wrapper { display: flex; flex-direction: row; }        @container tg-df (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @container tg-df (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-grid.layout-replica-2 { grid-template-columns: 1fr !important; }      .tg-df-grid.savings-squad-cards { grid-template-columns: 1fr !important; display: flex; flex-direction: column; }    }    .tg-df-grid.savings-squad-cards .tg-df-card-title {      -webkit-line-clamp: unset !important;      display: block !important;      overflow: visible !important;    }    @container tg-df (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: block; }      .tg-df-container .hawk-deal-widget-image-container { display: block; float: left; margin: 0 16px 8px 0; width: 120px; max-width: 120px; height: auto; align-items: normal; justify-content: normal; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: block; text-align: left; }      .tg-df-container .hawk-deal-widget-footer { display: block; margin-top: 16px; clear: both; width: 100%; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: block; width: 100%; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: block; width: 100%; }      .tg-df-container .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; max-width: none !important; width: 100% !important; margin: 0 !important; }    }        .tg-df-container .hawk-affiliate-link-deal-button {       align-items: center; background-color: #1f69ff; box-sizing: border-box; color: #ffffff !important; display: flex; font-size: 14px; font-weight: 700; justify-content: center; letter-spacing: 0.5px; line-height: 1; min-width: 160px; padding: 14px 24px; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; word-break: normal; border-radius: 4px; border: 0; transition: background-color 0.2s;     }    .tg-df-container .hawk-affiliate-link-deal-button:hover { background-color: #0056e0; text-decoration: none; }    .tg-df-container .hawk-lazy-image-deal-widget { display: block; height: auto; margin: auto; max-height: 160px; max-width: 100%; mix-blend-mode: multiply; object-fit: contain; }    .tg-df-container .hawk-deal-widget-text-cta-container a { color: #2563eb; text-decoration: none; display: inline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:has(.hawk-deal-widget-title-product-title) { color: #111827; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-product-title,    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-retailer-price { text-decoration: underline; }    .tg-df-savings-squad-header { margin-bottom: 24px; text-align: center; display: none; }    .tg-df-banner-img-desktop { display: block; width: 100%; height: auto; margin-bottom: 32px; }    .tg-df-banner-img-mobile { display: none; width: 100%; height: auto; margin-bottom: 32px; }    @container tg-df (max-width: 600px) {      .tg-df-banner-img-desktop { display: none; }      .tg-df-banner-img-mobile { display: block; }    }    .tg-df-header-title { font-size: 28px; font-weight: 700; color: var(--tg-df-text); margin: 32px 0 12px 0; line-height: 1.3; }    .tg-df-header-subtitle { font-size: 16px; color: var(--tg-df-text-muted); margin: 0 0 32px 0; line-height: 1.5; }  \x3C/style>  \x3C!-- Widget Container --\x3E  \x3Cdiv class="tg-df-container" id="signal-deals-finder-root">    \x3Cdiv class="tg-df-savings-squad-header" id="tg-df-savings-squad-header">      \x3Cpicture>        \x3Cimg src="https://cdn.mos.cms.futurecdn.net/flexiimages/xkh2og7m3d1778189998.png" alt="Deals Banner" class="tg-df-banner-img-desktop" />        \x3Cimg src="https://cdn.mos.cms.futurecdn.net/flexiimages/gmak6rtdf41778245089.png" alt="Deals Banner Mobile" class="tg-df-banner-img-mobile" />      \x3C/picture>      \x3Cdiv class="tg-df-header-text">        \x3Ch2 class="tg-df-header-title" id="tg-df-header-title">Editor's Choice Deals\x3C/h2>        \x3Cp class="tg-df-header-subtitle" id="tg-df-header-subtitle">Discover the best discounts currently available, curated daily by the Tom's Guide Savings Squad.\x3C/p>      \x3C/div>    \x3C/div>    \x3C!-- Editor Floating Bar --\x3E    \x3Cdiv class="tg-df-editor-bar" id="tg-df-editor-bar" style="display:none;">      \x3Cdiv class="tg-df-editor-bar-text" style="display: flex; align-items: center;">        \x3Cspan id="tg-df-selected-count">0\x3C/span>\x26nbsp;Deals Selected        \x3Cbutton class="tg-df-editor-clear-btn" id="tg-df-editor-clear" type="button" style="margin-left: 12px; font-size: 13px; color: #9ca3af; background: none; border: none; cursor: pointer; text-decoration: underline;">Clear All\x3C/button>      \x3C/div>      \x3Cbutton class="tg-df-editor-copy-btn" id="tg-df-editor-copy" type="button">        \x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2">\x3C/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1">\x3C/path>\x3C/svg>        Copy to CMS      \x3C/button>    \x3C/div>    \x3Cdiv class="tg-df-carousel-host" id="tg-df-carousel-host" style="display: none;">      \x3Cdiv class="tg-df-carousel-eyebrow">DEAL FINDER\x3C/div>      \x3Cdiv class="tg-df-carousel-query-title" id="tg-df-carousel-title-label">Best Deals\x3C/div>            \x3Cdiv class="tg-df-carousel-blue-box">        \x3Cdiv class="tg-df-carousel-bg-circle-1" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-bg-circle-2" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-bg-circle-3" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-box-content">          \x3Cdiv class="tg-df-countdown-wrapper" id="tg-df-countdown-wrapper" style="display:none;">            \x3Cdiv class="tg-df-countdown-title" id="tg-df-countdown-title">Prime Day starts in\x3C/div>            \x3Cdiv class="tg-df-countdown-blocks">              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-days">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">DAYS\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-hrs">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">HRS\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-min">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">MIN\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-sec">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">SEC\x3C/div>\x3C/div>            \x3C/div>          \x3C/div>          \x3Cdiv class="tg-df-carousel-box-eyebrow">DEAL FINDER\x3C/div>          \x3Cdiv class="tg-df-carousel-box-title">Find Deals Fast\x3C/div>          \x3Cdiv class="tg-df-carousel-box-subtitle">The latest deals from the biggest retailers, all in one place\x3C/div>                    \x3Cdiv class="tg-df-carousel-roundels-wrapper">          \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-roundels').scrollBy({left: -200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>          \x3Cdiv class="tg-df-carousel-roundels">                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Televisions" data-pr="all">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/wcMxTsHgqu3roMbAx7RLnT-132-100.png" alt="TVs" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">TVs\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Phones" data-pr="over50">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/G3KGaRGzj24F6PUsw4bWpT-132-100.png" alt="Phones" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Phones\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Computing" data-pr="all">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/znNvsLzx8NEgNkD9HSFSnT-132-100.png" alt="Computing" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Computing\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Gaming" data-pr="all">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/Pgew8yaRQeZFHqHjTzvBnT-132-100.png" alt="Gaming" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Gaming\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Mattresses" data-pr="over500">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/cW7xsaLyesxkHFVSiC4kmT-132-100.png" alt="Mattresses" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Mattresses\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Audio" data-pr="over30">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/pCvBVHuhaQVjKt3VgCjbqT-132-100.png" alt="Audio" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Audio\x3C/span>            \x3C/div>                  \x3C/div>        \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" onclick="this.parentElement.querySelector('.tg-df-carousel-roundels').scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>        \x3C/div>        \x3C/div>        \x3Cdiv class="tg-df-carousel-filters-outer" style="position: relative;">          \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-filters-wrap').scrollBy({left: -200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>          \x3Cdiv class="tg-df-carousel-filters-wrap">                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="0">All\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-ot="amazon_lightning">              \x3Cimg src="https://cdn.mos.cms.futurecdn.net/HqAui7w97ft2NPqBtQ5r38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/yWPQ5yyQRhUwVKzGwYbh38-600-100.png" class="active-img" alt="" /> Lightning deals\x3C/button>            \x3Cbutton class="tg-df-carousel-filter-btn" data-ot="amazon_prime">              \x3Cimg src="https://cdn.mos.cms.futurecdn.net/fwoVXvL79turN3Ph535m38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/u75QjVpt3w2EsMimJiRo38-600-100.png" class="active-img" alt="" /> Prime deals\x3C/button>            \x3Cbutton class="tg-df-carousel-filter-btn" data-d="10">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 10% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="15">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 15% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="25">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 25% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-pr="under50">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-badge-dollar-sign">\x3Cpath d="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z">\x3C/path>\x3Cpath d="M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8">\x3C/path>\x3Cpath d="M12 18V6">\x3C/path>\x3C/svg>            Under $50\x3C/button>        \x3C/div>        \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-filters-wrap').scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>      \x3C/div>    \x3C/div>    \x3C/div>      \x3C!-- Search & Filter Controls --\x3E      \x3Cdiv class="tg-df-top-bar" id="tg-df-top-bar" style="position: relative; z-index: 100; margin: 0 auto 20px;">        \x3Cdiv class="tg-df-search-wrapper">          \x3Cinput type="text" class="tg-df-search-input" placeholder="Search for deals, products, or brands...">          \x3Cbutton type="button" class="tg-df-search-btn" aria-label="Search">              \x3Csvg class="tg-df-search-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">                \x3Cpath d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>              \x3C/svg>          \x3C/button>          \x3Cdiv class="tg-df-autocomplete-dropdown" id="tg-df-autocomplete">\x3C/div>        \x3C/div>      \x3C/div>    \x3Cdiv class="tg-df-controls" id="tg-df-controls" style="display:flex;">              \x3Cdiv class="tg-df-filters-container" style="position: relative; width: 100%; max-width: 800px; margin: 0 auto;">          \x3Cbutton class="tg-df-scroll-btn left" style="display: none;" onclick="this.parentElement.querySelector('.tg-df-filters').scrollBy({left: -200, behavior: 'smooth'})">            \x3Csvg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">\x3Cpath d="M15 18l-6-6 6-6"/>\x3C/svg>          \x3C/button>          \x3Cbutton class="tg-df-scroll-btn right" style="display: none;" onclick="this.parentElement.querySelector('.tg-df-filters').scrollBy({left: 200, behavior: 'smooth'})">            \x3Csvg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">\x3Cpath d="M9 18l6-6-6-6"/>\x3C/svg>          \x3C/button>          \x3Cdiv class="tg-df-filters">          \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-category-filter-wrapper" style="display: none;">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-category-filter" aria-label="Category">            \x3Coption value="all">All Categories\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper tg-df-multiselect-container" id="tg-df-brand-filter-wrapper" style="display:none;">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39A.998.998 0 0 0 18.95 4H5.04c-.83 0-1.3.95-.79 1.61z"/>          \x3C/svg>          \x3Cdiv class="tg-df-filter-select tg-df-multiselect-trigger" id="tg-df-brand-trigger" tabindex="0">            Any Brand          \x3C/div>          \x3Cdiv class="tg-df-multiselect-dropdown" id="tg-df-brand-dropdown">            \x3C!-- Populated via script --\x3E          \x3C/div>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper tg-df-price-range-wrapper" id="tg-df-custom-price-wrapper" style="display: flex; align-items:center; justify-content:center; padding: 10px 20px; gap: 8px; border: 1px solid var(--tg-df-border); border-radius: 100px; background-color: var(--tg-df-bg);">          \x3Cspan style="font-size:14px; font-weight:500; color:var(--tg-df-text-primary);">Price\x3C/span>          \x3Cinput type="number" class="tg-df-price-input" id="tg-df-custom-price-min" placeholder="Min" style="width: 48px; background: transparent; border: none; color: var(--tg-df-text-primary); outline: none; font-size: 14px; text-align: center; padding: 0;">          \x3Cspan style="color:var(--tg-df-text-muted)">-\x3C/span>          \x3Cinput type="number" class="tg-df-price-input" id="tg-df-custom-price-max" placeholder="Max" style="width: 48px; background: transparent; border: none; color: var(--tg-df-text-primary); outline: none; font-size: 14px; text-align: center; padding: 0;">        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-legacy-price-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-price-filter" aria-label="Filter Prices">            \x3Coption value="all">All Prices\x3C/option>            \x3Coption value="under50">Under $50\x3C/option>            \x3Coption value="50_100">$50 - $100\x3C/option>            \x3Coption value="100_200">$100 - $200\x3C/option>            \x3Coption value="200_500">$200 - $500\x3C/option>            \x3Coption value="over500">Over $500\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-discount-filter-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">            \x3Cpath d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-discount-filter" aria-label="Discount Amount">            \x3Coption value="all">Any discount\x3C/option>            \x3Coption value="5">Min 5%\x3C/option>            \x3Coption value="10">Min 10%\x3C/option>            \x3Coption value="15">Min 15%\x3C/option>            \x3Coption value="20">Min 20%\x3C/option>            \x3Coption value="25">Min 25%\x3C/option>            \x3Coption value="30">Min 30%\x3C/option>            \x3Coption value="40">Min 40%\x3C/option>            \x3Coption value="50">Min 50%\x3C/option>            \x3Coption value="60">Min 60%\x3C/option>            \x3Coption value="70">Min 70%\x3C/option>          \x3C/select>          \x3C/div>        \x3C/div>        \x3C/div>      \x3C/div>    \x3C!-- Deals Grid Wrapper --\x3E    \x3Cdiv class="tg-df-grid-wrapper tg-df-carousel-cards-wrapper" id="tg-df-grid-wrapper">      \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('#tg-df-grid').scrollBy({left: -200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>      \x3Cdiv class="tg-df-grid" id="tg-df-grid">        \x3C!-- Content populated by JavaScript --\x3E      \x3C/div>      \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" style="display:none;" onclick="this.parentElement.querySelector('#tg-df-grid').scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>    \x3C/div>        \x3C!-- Vouchers Modal --\x3E    \x3Cdiv class="tg-df-modal-backdrop" id="tg-df-vouchers-modal">      \x3Cdiv class="tg-df-modal">        \x3Cdiv class="tg-df-modal-header">          \x3Ch3 class="tg-df-modal-title" id="tg-df-vouchers-title">Available Coupons & Deals\x3C/h3>          \x3Cbutton class="tg-df-modal-close" id="tg-df-vouchers-close">            \x3Csvg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">              \x3Cline x1="18" y1="6" x2="6" y2="18">\x3C/line>              \x3Cline x1="6" y1="6" x2="18" y2="18">\x3C/line>            \x3C/svg>          \x3C/button>        \x3C/div>        \x3Cdiv class="tg-df-modal-body" id="tg-df-vouchers-content">          \x3C!-- Vouchers injected here --\x3E        \x3C/div>      \x3C/div>    \x3C/div>  \x3C/div>`;      if (!template) {        template = document.createElement('template');        template.innerHTML = rawTemplate;      }      let shadowRoot = null;      if (hostContainer && template) {        hostContainer.setAttribute('data-initialized', 'true');        shadowRoot = hostContainer.attachShadow({ mode: 'open' });        shadowRoot.appendChild(template.content.cloneNode(true));      }      class DealsFinderWidget {        constructor(config) {          this.rootNode = config.rootNode || document;          this.hostContainer = config.hostContainer || null;          this.rootId = config.rootId || 'signal-deals-finder-root';          this.root = this.rootNode.querySelector('#' + this.rootId);          if (!this.root) return;          this.widgetId = (window.crypto && window.crypto.randomUUID) ? window.crypto.randomUUID() : 'widget-' + Date.now() + '-' + Math.random().toString(36).slice(2);          this.grid = this.root.querySelector('#tg-df-grid');          this.tagsContainer = this.root.querySelector('#tg-df-tags-container');          this.categoryFilter = this.root.querySelector('#tg-df-category-filter');          this.categoryFilterWrapper = this.root.querySelector('#tg-df-category-filter-wrapper');          this.searchInput = this.root.querySelector('.tg-df-search-input');          this.autocompleteDropdown = this.root.querySelector('#tg-df-autocomplete');          this.sortSelect = this.root.querySelector('.tg-df-sort-select');          this.searchBtn = this.root.querySelector('.tg-df-search-btn');                    this.settingsToggle = this.root.querySelector('#tg-df-settings-toggle');          this.settingsPanel = this.root.querySelector('#tg-df-settings-panel');          this.settingsBackdrop = this.root.querySelector('#tg-df-settings-backdrop');          this.regionSelect = this.root.querySelector('#tg-df-region-select');          this.retailerSelect = this.root.querySelector('#tg-df-retailer-select');          this.offerTypeSelect = this.root.querySelector('#tg-df-offer-type-select');          this.viewModeSelect = this.root.querySelector('#tg-df-view-mode-select');          this.rowsSelect = this.root.querySelector('#tg-df-rows-select');          this.dealModeToggle = this.root.querySelector('#tg-df-deal-mode');          this.editorModeToggle = this.root.querySelector('#tg-df-editor-mode');          this.priceFilter = this.root.querySelector('#tg-df-price-filter');          this.discountFilter = this.root.querySelector('#tg-df-discount-filter');                    this.editorBar = this.root.querySelector('#tg-df-editor-bar');          this.editorSelectedCount = this.root.querySelector('#tg-df-selected-count');          this.editorCopyBtn = this.root.querySelector('#tg-df-editor-copy');          this.editorClearBtn = this.root.querySelector('#tg-df-editor-clear');                    this.apiUrl = 'https://search-api.fie.future.net.uk/widget.php';          this.deals = [];          this.displayLimit = 12;          this.airedaleArticles = null;          this.airedaleTags = [];          this.airedaleTagCounts = {};          this.activeDealTag = null;          this.selectedBrands = [];          this.currentQuery = '';          this.editorMode = this.hostContainer ? this.hostContainer.hasAttribute('data-editor-mode') : false;          this.viewModeOverride = this.hostContainer ? this.hostContainer.getAttribute('data-view-mode') : null;          this.selectedDeals = new Map();                    this.brandFilterWrapper = this.root.querySelector('#tg-df-brand-filter-wrapper');          this.brandTrigger = this.root.querySelector('#tg-df-brand-trigger');          this.brandDropdown = this.root.querySelector('#tg-df-brand-dropdown');                    this.customPriceWrapper = this.root.querySelector('#tg-df-custom-price-wrapper');          this.customPriceMin = this.root.querySelector('#tg-df-custom-price-min');          this.customPriceMax = this.root.querySelector('#tg-df-custom-price-max');          this.legacyPriceWrapper = this.root.querySelector('#tg-df-legacy-price-wrapper');          this.discountFilterWrapper = this.root.querySelector('#tg-df-discount-filter-wrapper');          this.initResizeObserver();          this.init();        }        getViewMode() {          console.log("DEBUG getViewMode -> override:", this.viewModeOverride, "editorMode:", this.editorMode);          if (this.viewModeOverride && (!this.editorMode || !this.viewModeSelect)) {            return this.viewModeOverride;          }          return (this.viewModeSelect && this.viewModeSelect.value) ? this.viewModeSelect.value : (this.viewModeOverride || 'auto');        }        applyLayoutMode() {          if (!this.grid) return;          const mode = this.getViewMode();          console.log("[DEBUG] applyLayoutMode CALLED! mode=", mode);          this.grid.classList.remove('layout-row', 'layout-grid', 'tg-df-grid-auto', 'carousel-compact', 'layout-replica-1', 'layout-replica-2');                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          const showHeaderDetails = params.get('show_header_details') !== 'false';          const carouselHost = this.root.querySelector('#tg-df-carousel-host');          const controlsDiv = this.root.querySelector('#tg-df-controls');          const topBarDiv = this.root.querySelector('#tg-df-top-bar');          const headerElement = this.root.querySelector('#tg-df-savings-squad-header');          if (headerElement) {             headerElement.style.display = (mode === 'savings_squad' && showHeaderDetails) ? 'block' : 'none';          }          if (mode === 'carousel') {             this.grid.classList.add('carousel-compact');             if (carouselHost) carouselHost.style.display = 'block';             if (controlsDiv) controlsDiv.style.display = 'none';             if (topBarDiv) topBarDiv.style.display = 'none';             if (this.root.classList.contains('tg-df-container')) {               this.root.classList.add('is-carousel');             }          } else {             if (carouselHost) carouselHost.style.display = 'none';             if (controlsDiv) controlsDiv.style.display = 'flex';             if (topBarDiv) topBarDiv.style.display = 'block';             if (this.root.classList.contains('tg-df-container')) {               this.root.classList.remove('is-carousel');             }          }          if (mode === 'grid') {            this.grid.classList.add('layout-grid');          } else if (mode === 'row') {            this.grid.classList.add('layout-row');          } else if (mode === 'savings_squad') {            this.grid.classList.add('tg-df-grid-auto', 'savings-squad-cards');          } else if (mode !== 'carousel') {            this.grid.classList.add('tg-df-grid-auto');          }                    const settingsWrapper = this.root.querySelector('.tg-df-settings-wrapper');          if (settingsWrapper) {            settingsWrapper.style.display = mode === 'auto' ? 'none' : 'block';          }          if (this.customPriceWrapper) {             this.customPriceWrapper.style.display = mode === 'auto' ? 'flex' : 'none';          }          if (this.legacyPriceWrapper) {             this.legacyPriceWrapper.style.display = mode === 'auto' ? 'none' : 'flex';          }          if (this.discountFilterWrapper) {             this.discountFilterWrapper.style.display = mode === 'auto' ? 'none' : 'flex';          }        }        initResizeObserver() {          try {            if (window.parent === window) return;          } catch (e) {            // cross origin frame check threw          }          const emitHeight = () => {            try {              const height = document.documentElement.scrollHeight || document.body.scrollHeight;              const msg = { type: 'embed-size', height: height };              if (window.parent && window.parent !== window) {                window.parent.postMessage(msg, '*');                window.parent.postMessage(JSON.stringify({ ...msg, sentinel: 'amp' }), '*');              }            } catch (e) {}          };                    if (window.ResizeObserver) {            try {              const ro = new ResizeObserver(() => emitHeight());              ro.observe(document.body);              if (this.root) ro.observe(this.root);            } catch(e){ console.warn(e); }          }          window.addEventListener('resize', emitHeight);          setTimeout(emitHeight, 300);        }        initCountdown() {          this.cdWrapper = this.root.querySelector('#tg-df-countdown-wrapper');                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          this.showCountdown = params.get('show_countdown') === 'true';          const showHeaderDetails = params.get('show_header_details') !== 'false';          const eyebrow = this.root.querySelector('.tg-df-carousel-box-eyebrow');          const title = this.root.querySelector('.tg-df-carousel-box-title');          const subtitle = this.root.querySelector('.tg-df-carousel-box-subtitle');          if (!showHeaderDetails) {            let containerElement = this.root.classList.contains('tg-df-container') ? this.root : this.root.querySelector('.tg-df-container');            if (containerElement) containerElement.classList.add('hide-header-details');            if (eyebrow) eyebrow.style.display = 'none';            if (title) title.style.display = 'none';            if (subtitle) subtitle.style.display = 'none';          }          if (!this.cdWrapper) return;          this.cdTitle = this.root.querySelector('#tg-df-countdown-title');          this.cdDays = this.root.querySelector('#tg-df-cd-days');          this.cdHrs = this.root.querySelector('#tg-df-cd-hrs');          this.cdMin = this.root.querySelector('#tg-df-cd-min');          this.cdSec = this.root.querySelector('#tg-df-cd-sec');          this.updateCountdown();          this.cdInterval = setInterval(() => this.updateCountdown(), 1000);        }        updateCountdown() {          if (!this.cdWrapper) return;          if (!this.showCountdown) {            this.cdWrapper.style.display = 'none';            return;          }          const area = this.getAreaCode();          let offset = '-04:00';          if (['DE', 'FR', 'IT', 'ES', 'NL'].includes(area)) {             offset = '+02:00';          } else if (['GB', 'IE', 'UK'].includes(area)) {             offset = '+01:00';          }          const startTime = new Date('2026-06-23T00:00:00' + offset).getTime();          const endTime = new Date('2026-06-26T00:00:00' + offset).getTime();          const now = Date.now();          let targetTime = 0;          if (now < startTime) {             targetTime = startTime;             if (this.cdTitle) this.cdTitle.textContent = 'Prime Day starts in';             this.cdWrapper.style.display = 'flex';          } else if (now < endTime) {             targetTime = endTime;             if (this.cdTitle) this.cdTitle.textContent = 'Prime Day ends in';             this.cdWrapper.style.display = 'flex';          } else {             this.cdWrapper.style.display = 'none';             if (this.cdInterval) clearInterval(this.cdInterval);             return;          }          const diff = Math.max(0, targetTime - now);          const d = Math.floor(diff / (1000 * 60 * 60 * 24));          const h = Math.floor((diff / (1000 * 60 * 60)) % 24);          const m = Math.floor((diff / 1000 / 60) % 60);          const s = Math.floor((diff / 1000) % 60);          if (this.cdDays) this.cdDays.textContent = d;          if (this.cdHrs) this.cdHrs.textContent = h;          if (this.cdMin) this.cdMin.textContent = m;          if (this.cdSec) this.cdSec.textContent = s;        }        init() {          this.initCountdown();          try {            initAnalytics();          } catch (e) {            console.warn('Deals Widget Analytics Error:', e);          }                    this.bindEvents();                    let initialQuery = '';                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          let initialViewMode = params.get('view_mode');          if (!this.viewModeOverride && initialViewMode) {            this.viewModeOverride = initialViewMode;          }          if (!params.has('search') && !params.has('q') && !params.has('query') && initialViewMode !== 'savings_squad') {             initialQuery = 'Gaming laptops';          }          const website = params.get('website') || 'tomsguide';          this.website = website;          if (website === 'techradar') {            const squadHeader = this.root.querySelector('.tg-df-savings-squad-header');            if (squadHeader) {               const pic = squadHeader.querySelector('picture');               if (pic) pic.style.display = 'none';            }            const style = document.createElement('style');            style.innerHTML = `              .tg-df-container .hawk-affiliate-link-deal-button, .tg-df-container .tg-df-card-cta { background-color: #5DAF08 !important; }              .tg-df-container .hawk-affiliate-link-deal-button:hover, .tg-df-container .tg-df-card-cta:hover { background-color: #4a8c06 !important; }            `;            this.root.appendChild(style);          }                    if (this.regionSelect) {            this.regionSelect.value = params.get('region') || 'auto';            this.updatePriceDropdownCurrency();          }                    if (this.retailerSelect && params.has('retailer')) {            this.retailerSelect.value = params.get('retailer');          }                    if (params.has('brands')) {            const b = params.get('brands');            if (b) {              this.selectedBrands = b.split(',');            }          }                    if (this.offerTypeSelect && params.has('offer_type')) {            this.offerTypeSelect.value = params.get('offer_type');          }          if (this.viewModeSelect && params.has('view_mode')) {            this.viewModeSelect.value = params.get('view_mode');          }          if (this.rowsSelect && params.has('rows')) {            this.rowsSelect.value = params.get('rows');          }          if (params.has('price')) {            const priceVal = params.get('price');            if (this.priceFilter) {               // Try assigning it directly to select. If it's not present implicitly ignores               this.priceFilter.value = priceVal;            }            if (priceVal.includes('_')) {               const parts = priceVal.split('_');               if (this.customPriceMin && parts[0]) this.customPriceMin.value = parts[0];               if (this.customPriceMax && parts[1]) this.customPriceMax.value = parts[1];            }          }          if (this.discountFilter && params.has('min_discount_ratio')) {            // Need to convert back from ratio (e.g. 0.8) to select value (e.g. "20")            const ratioStr = params.get('min_discount_ratio');            const ratioFloat = parseFloat(ratioStr);            if (!isNaN(ratioFloat)) {               const percentage = Math.round((1 - ratioFloat) * 100);               this.discountFilter.value = percentage.toString();            }          }          if (this.sortSelect) {            this.sortSelect.value = params.get('sort') || 'date_desc';          }          if (this.dealModeToggle && params.has('deal_mode')) {            this.dealModeToggle.checked = params.get('deal_mode') === 'true' || params.get('deal_mode') === '1';          }          const headerTitleEl = this.root.querySelector('#tg-df-header-title');          const headerSubtitleEl = this.root.querySelector('#tg-df-header-subtitle');          if (params.has('widget_title') && headerTitleEl) {             headerTitleEl.textContent = params.get('widget_title');          }          if (params.has('widget_subtitle') && headerSubtitleEl) {             headerSubtitleEl.textContent = params.get('widget_subtitle');          }                    // Re-apply layout after params have updated control values          this.applyLayoutMode();                    if (params.get('search')) {            initialQuery = params.get('search');          } else if (params.get('q')) {            initialQuery = params.get('q');          } else if (params.get('query')) {            initialQuery = params.get('query');          }                    this.currentQuery = initialQuery;          if (this.searchInput) {            if (this.getViewMode() === 'savings_squad') {              this.searchInput.value = '';            } else {              this.searchInput.value = this.currentQuery;            }          }                    if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {            this.fetchDeals(this.currentQuery);          } else {            this.render();          }        }        updatePriceDropdownCurrency() {          if (!this.priceFilter || !this.regionSelect) return;          const currencySymbols = {            'US': '$',            'GB': '£',            'CA': '$CA',            'AU': '$AU',            'DE': '€',            'FR': '€',            'IT': '€',          };          const area = this.getAreaCode();          const cur = currencySymbols[area || 'US'] || '$';                    const options = this.priceFilter.options;          for (let i = 0; i < options.length; i++) {            const opt = options[i];            if (opt.value === 'all') {              opt.innerText = 'All Prices';            } else if (opt.value === 'under50') {              opt.innerText = `Under ${cur}50`;            } else if (opt.value === '50_100') {              opt.innerText = `${cur}50 - ${cur}100`;            } else if (opt.value === '100_200') {              opt.innerText = `${cur}100 - ${cur}200`;            } else if (opt.value === '200_500') {              opt.innerText = `${cur}200 - ${cur}500`;            } else if (opt.value === 'over500') {              opt.innerText = `Over ${cur}500`;            }          }        }        populateBrandDropdown(values) {          if (!this.brandDropdown || !this.brandFilterWrapper) return;          this.brandFilterWrapper.style.display = 'flex'; // show the wrapper                    let html = '';          const allChecked = this.selectedBrands.length === 0 ? 'checked' : '';          const _div = '<' + '/div>';          const _span = '<' + '/span>';          html += `\x3Cdiv class="tg-df-ms-option">\x3Cinput type="checkbox" value="" ${allChecked} class="tg-df-brand-chk"> Any Brand${_div}`;                    values.forEach(v => {             if (!v.formatted_value || v.formatted_value === 'Any Brand') return;             const isChecked = this.selectedBrands.includes(v.formatted_value) ? 'checked' : '';             html += `\x3Cdiv class="tg-df-ms-option">\x3Cinput type="checkbox" value="${this.escapeHTML(v.formatted_value)}" ${isChecked} class="tg-df-brand-chk"> ${this.escapeHTML(v.formatted_value)} \x3Cspan style="color:var(--tg-df-text-muted);font-size:12px">(${v.count || 0})${_span}${_div}`;          });                    this.brandDropdown.innerHTML = html;                    // Re-bind listeners          const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');          chks.forEach(chk => {            chk.addEventListener('change', (e) => {              const val = e.target.value;              if (val === '') {                this.selectedBrands = [];              } else {                if (e.target.checked) {                   if (!this.selectedBrands.includes(val)) this.selectedBrands.push(val);                } else {                   this.selectedBrands = this.selectedBrands.filter(b => b !== val);                }              }                            if (this.selectedBrands.length === 0) {                 this.brandTrigger.innerText = 'Any Brand';              } else if (this.selectedBrands.length === 1) {                 this.brandTrigger.innerText = this.selectedBrands[0];              } else {                 this.brandTrigger.innerText = `${this.selectedBrands.length} Brands selected`;              }                            // Only call API if changed from UI interactions              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                 this.updateURLParams();                 this.fetchDeals(this.currentQuery);              }            });          });                    // Update button text on load          if (this.selectedBrands.length === 0) {             this.brandTrigger.innerText = 'Any Brand';          } else if (this.selectedBrands.length === 1) {             this.brandTrigger.innerText = this.selectedBrands[0];          } else {             this.brandTrigger.innerText = `${this.selectedBrands.length} Brands selected`;          }        }        updateURLParams() {          const url = new URL(window.location);          if (this.currentQuery && this.currentQuery !== 'Gaming laptops') {            url.searchParams.set('q', this.currentQuery);          } else {            url.searchParams.delete('q');            url.searchParams.delete('search');            url.searchParams.delete('query');          }                    if (this.regionSelect && this.regionSelect.value !== 'auto') {            url.searchParams.set('region', this.regionSelect.value);          } else {            url.searchParams.delete('region');          }                    if (this.retailerSelect && this.retailerSelect.value) {            url.searchParams.set('retailer', this.retailerSelect.value);          } else {            url.searchParams.delete('retailer');          }                    if (this.selectedBrands && this.selectedBrands.length > 0) {            url.searchParams.set('brands', this.selectedBrands.join(','));          } else {            url.searchParams.delete('brands');          }                    if (this.offerTypeSelect && this.offerTypeSelect.value) {            url.searchParams.set('offer_type', this.offerTypeSelect.value);          } else {            url.searchParams.delete('offer_type');          }                    if (this.viewModeSelect && this.viewModeSelect.value !== 'auto') {            url.searchParams.set('view_mode', this.viewModeSelect.value);          } else {            url.searchParams.delete('view_mode');          }                    if (this.rowsSelect && this.rowsSelect.value !== '12') {            url.searchParams.set('rows', this.rowsSelect.value);          } else {            url.searchParams.delete('rows');          }                    const min = this.customPriceMin ? this.customPriceMin.value : '';          const max = this.customPriceMax ? this.customPriceMax.value : '';          if (min || max) {             url.searchParams.set('price', `${min}_${max}`);          } else if (this.priceFilter && this.priceFilter.value !== 'all') {            url.searchParams.set('price', this.priceFilter.value);          } else {            url.searchParams.delete('price');          }                    if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {            const v = parseInt(this.discountFilter.value);            if (!isNaN(v) && v > 0) {               const ratio = (100 - v) / 100;               url.searchParams.set('min_discount_ratio', ratio.toString());            }          } else {            url.searchParams.delete('min_discount_ratio');          }                    if (this.sortSelect && this.sortSelect.value !== 'date_desc') {            url.searchParams.set('sort', this.sortSelect.value);          } else {            url.searchParams.delete('sort');          }                    if (this.dealModeToggle && this.dealModeToggle.checked) {            url.searchParams.set('deal_mode', 'true');          } else {            url.searchParams.delete('deal_mode');          }                    window.history.replaceState({}, '', url);        }        bindEvents() {          const handleFiltersScroll = () => {            const filters = this.root.querySelector('.tg-df-filters');            const leftBtn = this.root.querySelector('.tg-df-scroll-btn.left');            const rightBtn = this.root.querySelector('.tg-df-scroll-btn.right');            if (filters && leftBtn && rightBtn) {              const { scrollLeft, scrollWidth, clientWidth } = filters;              leftBtn.style.display = scrollLeft > 0 ? 'flex' : 'none';              rightBtn.style.display = Math.ceil(scrollLeft + clientWidth) < scrollWidth - 5 ? 'flex' : 'none';            }          };          const filters = this.root.querySelector('.tg-df-filters');          if (filters) {            filters.addEventListener('scroll', handleFiltersScroll);            window.addEventListener('resize', handleFiltersScroll);            setTimeout(handleFiltersScroll, 100);                        // Also call after rendering dropdowns            const origRenderCategories = this.renderCategories;            if (origRenderCategories) {               this.renderCategories = (...args) => {                 origRenderCategories.apply(this, args);                 setTimeout(handleFiltersScroll, 50);               };            }          }                const roundels = this.root.querySelectorAll('.tg-df-carousel-cat');          roundels.forEach(r => {             r.addEventListener('click', () => {                const q = r.getAttribute('data-query');                const pr = r.getAttribute('data-pr');                if (typeof trackHawkEvent !== 'undefined') {                     trackHawkEvent({                         clickType: "CC",                         widgetId: this.widgetId,                         productCategoryName: "deals",                         zeroBasedProductIndexOrNull: null,                         totalDealsOrProducts: null,                         areaClicked: "Category Roundel",                         revenueId: this.revenueId,                         isoCurrencyCode: typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD',                         queryName: q,                         widgetTypeName: this.widgetTypeName                     });                 }                this.currentQuery = q;                const label = this.root.querySelector('#tg-df-carousel-title-label');                if (label) label.textContent = 'Best ' + q;                if (this.priceFilter) this.priceFilter.value = pr || 'all';                if (this.discountFilter) this.discountFilter.value = '5';                if (this.searchInput) this.searchInput.value = q;                                roundels.forEach(ro => ro.classList.remove('active'));                r.classList.add('active');                this.fetchDeals(this.currentQuery);             });          });          const discBtns = this.root.querySelectorAll('.tg-df-carousel-filter-btn');          discBtns.forEach(b => {             b.addEventListener('click', () => {                const d = b.getAttribute('data-d');                const pr = b.getAttribute('data-pr');                const ot = b.getAttribute('data-ot');                let label = b.innerText ? b.innerText.trim() : '';                let filterType = 'unknown';                let filterVal = 'unknown';                if (d !== null) { filterType = 'discount'; filterVal = d; }                else if (pr !== null) { filterType = 'price'; filterVal = pr; }                else if (ot !== null) { filterType = 'offertype'; filterVal = ot; }                if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: `filter-${filterType}-${filterVal}`, name: 'Filter Button', label: label });                                if (d !== null) {                   if (this.discountFilter) this.discountFilter.value = this.discountFilter.value === d ? '0' : d;                } else if (pr !== null) {                   if (this.priceFilter) this.priceFilter.value = this.priceFilter.value === pr ? 'all' : pr;                } else if (ot !== null) {                   if (this.offerTypeSelect) this.offerTypeSelect.value = this.offerTypeSelect.value === ot ? 'all' : ot;                } else {                   if (this.discountFilter) this.discountFilter.value = '0';                   if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.offerTypeSelect) this.offerTypeSelect.value = 'all';                }                if (d === null && pr === null && ot === null && b.getAttribute("data-type") !== "custom") {                   discBtns.forEach(ro => ro.classList.remove('active'));                   b.classList.add('active');                } else if (b.getAttribute("data-type") !== "custom") {                   // Only operate on hardcoded buttons (those without data-type)                   discBtns.forEach(ro => {                      if (!ro.getAttribute('data-d') && !ro.getAttribute('data-pr') && !ro.getAttribute('data-ot') && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active');                   });                                      let makeActive = true;                   if (d !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-d') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   } else if (pr !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-pr') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   } else if (ot !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-ot') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   }                                      if (makeActive) b.classList.add('active');                                      // Check if anything is active, if not activate "All"                   let anyActive = false;                   discBtns.forEach(ro => { if (ro.classList.contains('active') && ro.getAttribute('data-type') !== 'custom') anyActive = true; });                   if (!anyActive) {                       discBtns.forEach(ro => { if (!ro.getAttribute('data-d') && !ro.getAttribute('data-pr') && !ro.getAttribute('data-ot') && ro.getAttribute('data-type') !== 'custom') ro.classList.add('active'); });                   }                }                                this.fetchDeals(this.currentQuery);             });          });          if (this.brandTrigger && this.brandDropdown) {            this.brandTrigger.addEventListener('click', () => {              this.brandDropdown.classList.toggle('active');            });            document.addEventListener('click', (e) => {              if (this.brandFilterWrapper && !e.composedPath().includes(this.brandFilterWrapper)) {                this.brandDropdown.classList.remove('active');              }            });          }          const showAutocomplete = () => {             if (this.getViewMode() !== 'savings_squad' || !this.autocompleteDropdown || !this.airedaleTags) return;                          let terms = this.airedaleTags;             if (this.airedaleBrands) {                terms = terms.concat(this.airedaleBrands.map(b => b.formatted_value));             }             terms = [...new Set(terms)];                          const query = this.searchInput.value.trim();             let matches = [];             if (query.length > 0) {                 matches = terms.filter(t => t.toLowerCase().includes(query.toLowerCase()) && t.toLowerCase() !== query.toLowerCase());             } else {                 matches = terms;             }                          if (matches.length > 0) {                 this.autocompleteDropdown.innerHTML = matches.map(m => `\x3Cdiv class="tg-df-autocomplete-item" data-tag="${this.escapeHTML(m)}">${this.escapeHTML(m)}<` + `/div>`).join('');                 this.autocompleteDropdown.classList.add('active');             } else {                 this.autocompleteDropdown.classList.remove('active');             }          };          let debounceTimer;          if(this.searchInput) {            this.searchInput.addEventListener('focus', showAutocomplete);            this.searchInput.addEventListener('input', (e) => {              clearTimeout(debounceTimer);              const query = e.target.value.trim();              this.currentQuery = query;              showAutocomplete();              debounceTimer = setTimeout(() => {                this.updateURLParams();                if (query.length > 2) {                  this.fetchDeals(query);                } else if (query.length === 0) {                  if (this.getViewMode() === 'savings_squad') {                    this.activeDealTag = null;                    this.currentQuery = '';                    if (this.categoryFilter) this.categoryFilter.value = 'all';                    this.fetchDeals('');                  } else {                    this.deals = [];                    this.render();                  }                }              }, 400);            });            this.searchInput.addEventListener('keypress', (e) => {              if (e.key === 'Enter') {                if (this.autocompleteDropdown) this.autocompleteDropdown.classList.remove('active');                clearTimeout(debounceTimer);                const query = e.target.value.trim();                this.currentQuery = query;                                let isTag = false;                if (this.airedaleTags && this.airedaleTags.includes(query)) isTag = true;                if (this.airedaleBrands && this.airedaleBrands.some(b => b.formatted_value === query)) isTag = true;                this.activeDealTag = isTag ? query : null;                                trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });                this.updateURLParams();                if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                   if (query.length === 0 && this.getViewMode() === 'savings_squad') {                       if (this.categoryFilter) this.categoryFilter.value = 'all';                   }                   this.fetchDeals(query);                }              }            });          }          if (this.autocompleteDropdown) {             this.autocompleteDropdown.addEventListener('click', (e) => {                const item = e.target.closest('.tg-df-autocomplete-item');                if (item) {                   const tag = item.getAttribute('data-tag');                   this.currentQuery = tag;                   if (this.searchInput) this.searchInput.value = tag;                   this.activeDealTag = tag;                   if (this.categoryFilter && this.airedaleTags.includes(tag)) {                       this.categoryFilter.value = tag;                   }                   this.autocompleteDropdown.classList.remove('active');                   this.updateURLParams();                   this.fetchDeals(tag);                }             });             document.addEventListener('click', (e) => {               if (this.autocompleteDropdown && this.searchInput && !e.composedPath().includes(this.searchInput) && !e.composedPath().includes(this.autocompleteDropdown)) {                 this.autocompleteDropdown.classList.remove('active');               }             });          }          if (this.searchBtn) {            this.searchBtn.addEventListener('click', () => {              if (this.autocompleteDropdown) this.autocompleteDropdown.classList.remove('active');              clearTimeout(debounceTimer);              const query = this.searchInput.value.trim();              trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });                            let isTag = false;              if (this.airedaleTags && this.airedaleTags.includes(query)) isTag = true;              if (this.airedaleBrands && this.airedaleBrands.some(b => b.formatted_value === query)) isTag = true;              this.activeDealTag = isTag ? query : null;                            this.currentQuery = query;              this.updateURLParams();              if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                 if (query.length === 0 && this.getViewMode() === 'savings_squad') {                     if (this.categoryFilter) this.categoryFilter.value = 'all';                 }                 this.fetchDeals(query);              }            });          }          if(this.sortSelect && this.sortSelect.querySelector('option[value="date_desc"]') === null) {              const option = document.createElement('option');              option.value = "date_desc";              option.text = "Newest First";              this.sortSelect.insertBefore(option, this.sortSelect.firstChild);          }          if(this.sortSelect) this.sortSelect.addEventListener('change', () => {            trackElementInteraction({ id: `sort-option-${this.sortSelect.value}`, name: 'Sort', label: `Sort: ${this.sortSelect.options[this.sortSelect.selectedIndex].text}` });            this.updateURLParams();            if (this.deals.length > 0) {              this.sortData();              this.render();            }          });                    const priceFilter = this.root.querySelector('#tg-df-price-filter');          if (priceFilter) {            this.priceFilter = priceFilter;            this.priceFilter.addEventListener('change', () => {              trackElementInteraction({ id: `filter-price-${this.priceFilter.value}`, name: 'Price', label: this.priceFilter.options[this.priceFilter.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }            });          }          const updateCustomPrice = () => {             this.updateURLParams();             if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);             } else {                this.render();             }          };          if (this.customPriceMin) {             this.customPriceMin.addEventListener('change', updateCustomPrice);             this.customPriceMin.addEventListener('keypress', (e) => {                if (e.key === 'Enter') updateCustomPrice();             });          }          if (this.customPriceMax) {             this.customPriceMax.addEventListener('change', updateCustomPrice);             this.customPriceMax.addEventListener('keypress', (e) => {                if (e.key === 'Enter') updateCustomPrice();             });          }          const discountFilter = this.root.querySelector('#tg-df-discount-filter');          if (discountFilter) {            this.discountFilter = discountFilter;            this.discountFilter.addEventListener('change', () => {              trackElementInteraction({ id: `filter-discount-${this.discountFilter.value}`, name: 'Discount', label: this.discountFilter.options[this.discountFilter.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }            });          }          if (this.categoryFilter) {            this.categoryFilter.addEventListener('change', (e) => {               const val = e.target.value === 'all' ? null : e.target.value;               this.activeDealTag = val;               if (val) {                 this.currentQuery = val;               } else {                 if (this.searchInput && this.currentQuery === document.querySelector('#tg-df-brand-trigger')?.getAttribute('data-active-brand')) {                     // don't clear current query if a brand is selected                 } else if (this.searchInput) {                     this.currentQuery = '';                     this.searchInput.value = '';                 }               }               this.fetchSavingsSquad();            });          }                    if (this.settingsToggle) {            this.settingsToggle.addEventListener('click', () => {              const o = this.settingsPanel.classList.toggle('active');              this.settingsBackdrop.classList.toggle('active');              if (o) trackElementInteraction({ id: 'filter-open', name: 'Filters', label: 'Open filters' });            });          }                    if (this.settingsBackdrop) {            this.settingsBackdrop.addEventListener('click', () => {              this.settingsPanel.classList.remove('active');              this.settingsBackdrop.classList.remove('active');            });          }                    if (this.regionSelect) {            this.regionSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-region-${this.regionSelect.value}`, name: 'Region', label: this.regionSelect.options[this.regionSelect.selectedIndex].text });              this.updateURLParams();              this.updatePriceDropdownCurrency();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.retailerSelect) {            this.retailerSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-merchant-${this.retailerSelect.value}`, name: 'Retailer', label: this.retailerSelect.options[this.retailerSelect.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.offerTypeSelect) {            this.offerTypeSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-offertype-${this.offerTypeSelect.value}`, name: 'Offer Type', label: this.offerTypeSelect.options[this.offerTypeSelect.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.viewModeSelect) {            this._prevViewMode = this.viewModeSelect.value;            this.viewModeSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-viewmode-${this.viewModeSelect.value}`, name: 'View Mode', label: this.viewModeSelect.options[this.viewModeSelect.selectedIndex].text });                            // Reset all active toggles and filters to prevent config carry-over              this.selectedBrands = [];              if (this.brandTrigger) this.brandTrigger.innerText = 'Select Brands';              if (this.brandDropdown) {                const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                chks.forEach(chk => { chk.checked = false; });              }              if (this.priceFilter) this.priceFilter.value = 'all';              if (this.customPriceMin) this.customPriceMin.value = '';              if (this.customPriceMax) this.customPriceMax.value = '';              if (this.sortSelect) this.sortSelect.value = 'date_desc';              if (this.discountFilter) this.discountFilter.value = '0';              if (this.retailerSelect) this.retailerSelect.value = '';              if (this.offerTypeSelect) this.offerTypeSelect.value = '';              if (this.rowsSelect) this.rowsSelect.value = '12';              if (this.categoryFilter) this.categoryFilter.value = 'all';              this.activeDealTag = null;              this.updateURLParams();              this.applyLayoutMode();                            if (this.getViewMode() === 'savings_squad' || this._prevViewMode === 'savings_squad') {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }              this._prevViewMode = this.viewModeSelect.value;            });          }                    if (this.rowsSelect) {            this.rowsSelect.addEventListener('change', () => {              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.dealModeToggle) {            this.dealModeToggle.addEventListener('change', () => {              this.updateURLParams();              this.render();            });          }          if (this.editorModeToggle) {             this.editorModeToggle.addEventListener('change', (e) => {                this.editorMode = e.target.checked;                this.render();                this.updateFloatingCopyBar();             });          }          if (this.editorCopyBtn) {             this.editorCopyBtn.addEventListener('click', () => {                this.copySelectedDealsToCMS();             });          }          if (this.editorClearBtn) {             this.editorClearBtn.addEventListener('click', () => {                this.selectedDeals.clear();                this.render();                this.updateFloatingCopyBar();             });          }          if (this.grid) {            this.grid.addEventListener('change', (e) => {               if (e.target.classList.contains('tg-df-deal-checkbox')) {                  const dealId = e.target.getAttribute('data-id');                  if (e.target.checked) {                     const dealObj = this.deals.find(d => d.id === dealId);                     if (dealObj) this.selectedDeals.set(dealId, dealObj);                  } else {                     this.selectedDeals.delete(dealId);                  }                  this.updateFloatingCopyBar();               }            });            this.grid.addEventListener('click', (e) => {              const dealCard = e.target.closest('[data-action="deal-click"]');              const similarCard = e.target.closest('[data-action="view-similar-click"]');              const cardLink = dealCard || similarCard;              if (cardLink) {                const productName = cardLink.getAttribute('data-product-name');                const merchantName = cardLink.getAttribute('data-merchant-name');                const productId = cardLink.getAttribute('data-analytics-id');                const price = parseFloat(cardLink.getAttribute('data-price')) || null;                const prevPriceStr = cardLink.getAttribute('data-previous-price');                const previousPrice = prevPriceStr ? parseFloat(prevPriceStr) : null;                const originalLink = cardLink.getAttribute('data-original-link');                const finalHref = cardLink.href || cardLink.getAttribute('href') || '';                let actualRevenueId = cardLink.getAttribute('data-revenue-id');                const revMatch = finalHref.match(/(?:subId1|xcust|clickref|ascsubtag)=[^&]*?(\d{18,20})(?:&|$)/i);                if (revMatch && revMatch[1]) {                  actualRevenueId = revMatch[1];                }                const rewrittenLink = finalHref;                const revenueId = actualRevenueId;                const index = parseInt(cardLink.getAttribute('data-index'), 10) || 0;                const inStock = cardLink.getAttribute('data-in-stock') === 'true';                const totalText = cardLink.getAttribute('data-total');                const totalDeals = parseInt(totalText, 10) || 0;                const productCategoryName = 'deals';                const trackingParams = {                  widgetId: this.widgetId,                  productCategoryName: productCategoryName,                  product: {                    modelId: cardLink.getAttribute('data-model-id') || null,                    matchId: cardLink.getAttribute('data-match-id') || null,                    brand: cardLink.getAttribute('data-model-brand') || null,                    parent: cardLink.getAttribute('data-model-parent') || null,                    name: productName,                    price: price,                    previousPrice: previousPrice,                    link: rewrittenLink,                    originalLink: originalLink,                    inStock: inStock                  },                  zeroBasedProductIndexOrNull: index,                  totalDealsOrProducts: totalDeals,                   merchant: {                    id: cardLink.getAttribute('data-merchant-id') || null,                    network: cardLink.getAttribute('data-merchant-network') || null,                    url: cardLink.getAttribute('data-merchant-url') || null,                    name: merchantName                  },                  revenueId: revenueId,                  widgetTypeName: this.widgetTypeName,                  isoCurrencyCode: normalizeCurrency(this.escapeHTML(cardLink.getAttribute('data-currency') || '$'))                };                if (dealCard) {                  trackDealClick(trackingParams);                } else {                  trackViewSimilarClick(trackingParams);                }              }              const couponsBtn = e.target.closest('[data-action="coupons-click"]');              if (couponsBtn) {                trackElementInteraction({                  id: 'product-card-show-coupons',                  name: 'Coupons',                  label: `Product card coupons: ${couponsBtn.getAttribute('data-merchant')}`                });              }            });          }          this.setupScrollListeners();        }        setupScrollListeners() {          const containers = [             this.root.querySelector('.tg-df-carousel-roundels'),             this.root.querySelector('.tg-df-carousel-filters-wrap'),             this.root.querySelector('#tg-df-grid')          ];                    containers.forEach(container => {             if (!container) return;                          const checkScroll = () => {                if (!container.parentElement) return;                const leftBtn = container.parentElement.querySelector('.tg-df-carousel-scroll-left');                const rightBtn = container.parentElement.querySelector('.tg-df-carousel-scroll-right');                                if (leftBtn) {                   if (container.scrollLeft <= 5) leftBtn.style.display = 'none';                   else leftBtn.style.display = 'flex';                }                                if (rightBtn) {                   if (container.scrollWidth <= container.clientWidth) {                       rightBtn.style.display = 'none';                   } else if (container.scrollLeft >= container.scrollWidth - container.clientWidth - 5) {                       rightBtn.style.display = 'none';                   } else {                       rightBtn.style.display = 'flex';                   }                }             };                          container.addEventListener('scroll', checkScroll);             checkScroll();                          window.addEventListener('resize', checkScroll);                          const observer = new MutationObserver(checkScroll);             observer.observe(container, { childList: true, subtree: true, characterData: false });          });        }        get widgetTypeName() {          const mode = this.viewModeSelect ? this.viewModeSelect.value : (this.viewModeOverride || 'auto');          switch(mode) {              case 'carousel': return 'Carousel';              case 'savings_squad': return 'Savings Squad';              case 'grid': return 'Grid';              case 'row': return 'Row';              default: return 'Auto Collection';          }        }        getRowsLimit() {          if (this.rowsSelect && this.rowsSelect.value) return parseInt(this.rowsSelect.value, 10);          let configSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {             configSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {             configSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(configSource);          if (params.has('rows')) return parseInt(params.get('rows'), 10) || 12;          return 12;        }        getAreaCode() {          if (this.regionSelect && this.regionSelect.value) {            if (this.regionSelect.value === 'auto') return null;            return this.regionSelect.value;          }          let area = null;          try {            const locale = window.navigator.language || window.navigator.userLanguage;            if (locale && locale.includes('-')) {              area = locale.split('-')[1].toUpperCase();            } else if (locale && locale.length === 2) {              if (locale.toUpperCase() === 'EN') { area = 'US'; }              else { area = locale.toUpperCase(); }            }          } catch (e) { /* Ignore */ }                    // Map to known valid options or fallback to US          const valid = ['US', 'GB', 'CA', 'AU', 'DE', 'FR', 'IT'];          if (area === 'UK') area = 'GB';          if (valid.includes(area)) {             return area;          }          return 'US';        }        async fetchDeals(query) {          this.showLoading();          this.deals = [];          this.displayLimit = this.getRowsLimit();                    try {            console.log("getViewMode returns:", this.getViewMode());            if (this.getViewMode() === 'savings_squad') {               await this.fetchSavingsSquad();            } else {               if (this.isBroadQuery(query)) {                 await this.fetchAdviserDeals(query);               } else {                 await this.fetchHawkDeals(query);                 if (this.deals.length === 0) {                   await this.fetchAdviserDeals(query);                 }               }            }          } catch (error) {            console.warn("[Tom's Guide Widget] Fetch error:", error);            this.showError();          }        }        async fetchSavingsSquad() {          let topArticles = this.airedaleArticles;          if (!topArticles) {            const siteParam = this.website || 'tomsguide';            const airedaleUrl = `https://airedale.futurecdn.net/feeds/feed_1781000519267.json?site=${siteParam}&articleType=deals&limit=50`;            let res;            try {               res = await fetch(airedaleUrl);            } catch(e) {               try { res = await fetch(`https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=${siteParam}&articleType=deals&limit=50`); } catch (err) { console.warn("Fallback fetch failed", err); return; }            }            if (!res.ok) throw new Error('Airedale API Error');            const articles = await res.json();            topArticles = Array.isArray(articles) ? articles.slice(0, 50) : ((articles.data && Array.isArray(articles.data)) ? articles.data.slice(0, 50) : []);            this.airedaleArticles = topArticles;                        let tagCounts = {};            topArticles.forEach((a) => {              let articleTags = new Set();              if (a.articlecategory && Array.isArray(a.articlecategory)) {                 a.articlecategory.forEach((t) => articleTags.add(t));              }              articleTags.forEach(t => {                 tagCounts[t] = (tagCounts[t] || 0) + 1;              });            });                        this.airedaleTags = Object.keys(tagCounts).sort((a, b) => tagCounts[b] - tagCounts[a]);            this.airedaleTagCounts = tagCounts;          }                    let targetArticles = topArticles;          if (!this.activeDealTag && this.currentQuery) {             const tagMatch = this.airedaleTags.find(t => t.toLowerCase() === this.currentQuery.toLowerCase());             if (tagMatch) {                this.activeDealTag = tagMatch;             }          }          if (this.activeDealTag) {             const cleanTag = this.activeDealTag.toLowerCase().replace(/&/g, '').replace(/[^a-z0-9]+/g, '-').replace(/-+/g, '-').replace(/^-|-$/g, '');             const encodedTag = encodeURIComponent(cleanTag);             const siteParam = this.website || 'tomsguide';             const url = `https://airedale.futurecdn.net/feeds/feed_1781000519267.json?site=${siteParam}&articleType=deals&limit=50&articleCategoryHandle=${encodedTag}`;             try {                const res = await fetch(url);                if (res.ok) {                   const articles = await res.json();                   targetArticles = Array.isArray(articles) ? articles.slice(0, 50) : ((articles.data && Array.isArray(articles.data)) ? articles.data.slice(0, 50) : []);                }             } catch(e) {                console.warn("Failed to fetch by activeDealTag", e);             }          }          let extractedDeals = [];          let seenUrls = new Set();                    let overallBrandsCounts = {};                    // First pass: extract ALL brands from topArticles so the dropdown has all options          topArticles.forEach((article) => {             if (!article.articlepage) return;             let pageData = [];             try { pageData = JSON.parse(article.articlepage[0]); } catch(e){ console.warn(e); }             const savingsSquad = pageData.filter((p) => p.type === 'deal' || p.type === 'featured-product');             savingsSquad.forEach((block) => {                const data = block.data || {};                if (data.brand) {                   const cleanBrand = data.brand.replace(/^\d+\.\s*/, '').trim();                   overallBrandsCounts[cleanBrand] = (overallBrandsCounts[cleanBrand] || 0) + 1;                }             });          });          targetArticles.forEach((article) => {             if (!article.articlepage) return;                          let pageData = [];             try {                pageData = JSON.parse(article.articlepage[0]);             } catch(e){ console.warn(e); }                          const savingsSquad = pageData.filter((p) => p.type === 'deal' || p.type === 'featured-product');                          savingsSquad.forEach((block, idx) => {                const data = block.data || {};                const isFeatured = block.type === 'featured-product';                                const link = data.link || {};                const priceObj = data.price || {};                const image = data.image || {};                                if (data.brand) {                   data.brand = data.brand.replace(/^\d+\.\s*/, '').trim();                }                const externalUrl = isFeatured ? data.url : (link.href || null);                let summaryTitle = isFeatured ? (data.name || data.brand) : (data.productName || link.label || article.articlename);                let description = isFeatured ? (data.strapline || '') : (data.text || '');                                if (!isFeatured && !data.productName && data.text) {                   const brSplit = data.text.split(new RegExp('\x3Cbr\\s*\\/?\\x3E', 'i'));                   if (brSplit.length > 1) {                     summaryTitle = brSplit[0].replace(/<[^>]+>/g, '').trim();                     description = brSplit.slice(1).join(' ').replace(/<br\s*\/?>/gi, ' ').replace(/<\/?(p|div)[^>]*>/gi, ' ').replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').trim();                   } else {                     const match = data.text.match(/\x3Cstrong>(.*?)<\/strong>/);                     if (match) {                       summaryTitle = match[1].replace(/<[^>]+>/g, '').trim();                       if (summaryTitle.endsWith(':')) summaryTitle = summaryTitle.slice(0, -1);                     }                   }                }                                let imageUrl = isFeatured ? image.mos : (image.src || null);                if (imageUrl && imageUrl.startsWith('//')) imageUrl = 'https:' + imageUrl;                                description = this.decodeHTML(description.replace(/<br\s*\/?>/gi, ' ').replace(/<\/?(p|div)[^>]*>/gi, ' ').replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').replace(/View Deal$/i, '').trim());                summaryTitle = this.decodeHTML(summaryTitle);                                let merchantName = data.retailer || '';                if (!merchantName && externalUrl) {                   try {                     merchantName = new URL(externalUrl).hostname.replace('www.', '').split('.')[0];                     merchantName = merchantName.charAt(0).toUpperCase() + merchantName.slice(1);                   }catch(e){ console.warn(e); }                }                if (!merchantName) merchantName = 'Retailer';                const q = (this.currentQuery || '').toLowerCase();                const activeTagLogic = (this.activeDealTag || '').toLowerCase();                if (q.length > 2 && q !== activeTagLogic) {                   const searchTarget = `${summaryTitle || ''} ${description || ''}`.toLowerCase();                   if (!searchTarget.includes(q)) return;                }                let rawPrice = 0;                let rawMsrp = 0;                let currencyStr = '$';                if (isFeatured) {                   rawPrice = typeof data.salePrice === 'number' && data.salePrice > 0 ? data.salePrice : (typeof data.price === 'number' ? data.price : 0);                   rawMsrp = typeof data.salePrice === 'number' && typeof data.price === 'number' && data.price > data.salePrice ? data.price : 0;                   currencyStr = data.currency === 'GBP' ? '£' : '$';                } else {                   rawPrice = priceObj.amount ? parseFloat(priceObj.amount) : 0;                   rawMsrp = priceObj.amountWas ? parseFloat(priceObj.amountWas) : 0;                   currencyStr = priceObj.currency === 'GBP' ? '£' : '$';                }                                let savingAmt = 0;                let savingLabel = '';                if (rawPrice > 0 && rawMsrp > rawPrice) {                   savingAmt = parseFloat((rawMsrp - rawPrice).toFixed(2));                   savingLabel = `Save ${currencyStr}${savingAmt}`;                }                                // Apply Brand filter                if (this.selectedBrands && this.selectedBrands.length > 0) {                   const itemBrand = (data.brand || '').toLowerCase();                   const hasMatch = this.selectedBrands.some(sb => sb.toLowerCase() === itemBrand);                   if (!hasMatch) return;                }                // Apply Price filter                let priceFilterVal = null;                const min = this.customPriceMin ? this.customPriceMin.value : '';                const max = this.customPriceMax ? this.customPriceMax.value : '';                if (min || max) {                   priceFilterVal = `${min}_${max}`;                } else if (this.priceFilter && this.priceFilter.value !== 'all') {                   priceFilterVal = this.priceFilter.value;                }                if (priceFilterVal && rawPrice > 0) {                   if (priceFilterVal === 'under50' && rawPrice >= 50) return;                   if (priceFilterVal === 'over50' && rawPrice <= 50) return;                   if (priceFilterVal === 'over30' && rawPrice <= 30) return;                   if (priceFilterVal === 'over500' && rawPrice <= 500) return;                   if (priceFilterVal.includes('_')) {                      const parts = priceFilterVal.split('_');                      const min = parseFloat(parts[0]);                      const max = parseFloat(parts[1]);                      if (!isNaN(min) && rawPrice < min) return;                      if (!isNaN(max) && rawPrice > max) return;                   }                }                // Apply Discount filter                if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {                   const requiredDiscount = parseInt(this.discountFilter.value);                   if (!isNaN(requiredDiscount) && requiredDiscount > 0) {                      if (!rawMsrp || rawMsrp <= rawPrice) return;                      const ratio = Math.round((1 - (rawPrice / rawMsrp)) * 100);                      if (ratio < requiredDiscount) return;                   }                }                                if (externalUrl) {                   if (seenUrls.has(externalUrl)) return;                  seenUrls.add(externalUrl);                }                                extractedDeals.push({                   id: `airedale-${article.id || Math.random()}-${idx}`,                   url: externalUrl,                   image: imageUrl,                   fallbackImage: imageUrl,                   title: summaryTitle,                   brand: data.brand || '',                   productName: data.productName || '',                   merchant: merchantName,                   rawPrice: rawPrice,                   rawMsrp: rawMsrp,                   price: rawPrice > 0 ? rawPrice.toString() : '',                   msrp: rawMsrp > 0 ? rawMsrp.toString() : '',                   currency: currencyStr,                   isCheckPrice: !rawPrice,                   savingLabel: savingLabel,                   savingType: rawMsrp > rawPrice ? 'amount' : 'none',                   isPrime: false,                   starRating: null,                   description: description,                   text: data.text || '',                   authorName: article.articleauthortext ? article.articleauthortext[0] : (article.articleauthor ? article.articleauthor[0] : ''),                   authorRole: article.articleauthorrole ? article.articleauthorrole[0] : '',                   authorImage: article.articleauthormedia ? article.articleauthormedia[0] : '',                   documentUrl: article.documenturl ? article.documenturl[0] : '',                   modifiedDate: article.contentmodifieddate || article.modifieddate || ''                });             });          });                    const airedaleBrandsList = Object.keys(overallBrandsCounts).map(b => ({              formatted_value: b,              count: overallBrandsCounts[b]          })).sort((a,b) => b.count - a.count);                    if (this.getViewMode() === 'savings_squad') {             this.populateBrandDropdown(airedaleBrandsList.slice(0, 15));             if (this.brandFilterWrapper) {                if (airedaleBrandsList.length === 0) {                    this.brandFilterWrapper.style.display = 'none';                } else {                    this.brandFilterWrapper.style.display = 'flex';                }             }          }                    this.deals = extractedDeals;          this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.getFilteredDeals().slice(0, this.displayLimit), this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        isBroadQuery(query) {          const q = query.toLowerCase();          const intentModifiers = ['deals', 'best', 'sale', 'under', 'cheap', 'offers', 'discount'];          return intentModifiers.some(term => q.includes(term));        }        async fetchHawkDeals(query) {          const url = new URL(this.apiUrl);          url.searchParams.append('model_name', query);          const areaCode = this.getAreaCode();          if (areaCode) {            url.searchParams.append('area', areaCode);          }                    if (this.retailerSelect && this.retailerSelect.value) {            url.searchParams.append('filter_merchant_name', this.retailerSelect.value);          }                    if (this.selectedBrands && this.selectedBrands.length > 0) {            url.searchParams.append('filter_label[text_brand]', this.selectedBrands.join(','));          }                    let priceVal = null;          const min = this.customPriceMin ? this.customPriceMin.value : '';          const max = this.customPriceMax ? this.customPriceMax.value : '';          if (min || max) {             priceVal = `${min}_${max}`;          } else if (this.priceFilter && this.priceFilter.value !== 'all') {             priceVal = this.priceFilter.value;          }          if (priceVal) {            if (priceVal === 'under50') {              url.searchParams.append('filter_max_price', '50');            } else if (priceVal === 'over50') {              url.searchParams.append('filter_min_price', '50');            } else if (priceVal === 'over30') {              url.searchParams.append('filter_min_price', '30');            } else if (priceVal === 'over500') {              url.searchParams.append('filter_min_price', '500');            } else if (priceVal.includes('_')) {              const parts = priceVal.split('_');              if (parts[0]) url.searchParams.append('filter_min_price', parts[0]);              if (parts[1]) url.searchParams.append('filter_max_price', parts[1]);            }          }                    if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {            const v = parseInt(this.discountFilter.value);            if (!isNaN(v) && v > 0) {              const ratio = (100 - v) / 100;              url.searchParams.append('min_discount_ratio', ratio.toString());            }          }                    if (this.offerTypeSelect && this.offerTypeSelect.value) {            url.searchParams.append('offer', this.offerTypeSelect.value);          }                    url.searchParams.append('filter_product_types', 'deals');                    url.searchParams.append('rows', this.getRowsLimit().toString());          let response;          try {             response = await fetch(url.toString());          } catch(e) {             if (window.location.protocol === 'file:') {                console.warn("[Tom's Guide Widget] fetch from file:// blocked by local CORS policy, falling back to Adviser mock.");                await this.fetchAdviserDeals(query);                return;             }             console.warn("Hawk fetch failed", e);             this.deals = [];             this.render();             return;          }          if (!response.ok) {            throw new Error('Hawk API Response Error');          }          const rawData = await response.json();          // Safely locate data array from potentially wrapped response          let offers = [];          let modelInfoArray = [];                    let brandFilterData = null;          if (rawData && rawData.widget && rawData.widget.data && Array.isArray(rawData.widget.data.filters)) {             brandFilterData = rawData.widget.data.filters.find(f => f.type === 'label_text_brand');          } else if (rawData && rawData.data && Array.isArray(rawData.data.filters)) {             brandFilterData = rawData.data.filters.find(f => f.type === 'label_text_brand');          }          if (brandFilterData && Array.isArray(brandFilterData.values) && brandFilterData.values.length > 0) {             this.populateBrandDropdown(brandFilterData.values);          } else {             if (this.brandFilterWrapper && this.selectedBrands.length === 0) {                this.brandFilterWrapper.style.display = 'none';             }          }                    if (rawData && rawData.widget && rawData.widget.data) {            if (Array.isArray(rawData.widget.data.offers)) offers = rawData.widget.data.offers;            if (rawData.widget.data.model_info && typeof rawData.widget.data.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.widget.data.model_info) ? rawData.widget.data.model_info : Object.values(rawData.widget.data.model_info);            }          } else if (rawData && rawData.data) {            if (Array.isArray(rawData.data.offers)) offers = rawData.data.offers;            if (rawData.data.model_info && typeof rawData.data.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.data.model_info) ? rawData.data.model_info : Object.values(rawData.data.model_info);            }          } else {            if (Array.isArray(rawData)) offers = rawData;            else if (rawData && Array.isArray(rawData.offers)) offers = rawData.offers;            else if (rawData && rawData.offers && Array.isArray(rawData.offers.offer)) offers = rawData.offers.offer;            else if (rawData && rawData.offers) offers = [].concat(rawData.offers);                        if (rawData && rawData.model_info && typeof rawData.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.model_info) ? rawData.model_info : Object.values(rawData.model_info);            }          }          let modelDetails = {};          modelInfoArray.forEach(m => {            const mId = m.model_id || m.id;            if (mId) {              modelDetails[mId] = {                score: m.score != null ? parseFloat(m.score) : null,                brand: m.brand || null,                parent: (m.parents && Array.isArray(m.parents) && m.parents.length > 0) ? m.parents[0].name : null              };            }          });          offers.forEach(item => {            let data = { ...item };            const mId = data.model_id;            if (mId && modelDetails[mId]) {              data.review_score = modelDetails[mId].score;              data.model_brand = modelDetails[mId].brand;              data.model_parent = modelDetails[mId].parent;            } else {              data.review_score = null;            }                        let itemOffers = [];            if (Array.isArray(item.offers)) itemOffers = item.offers;            else if (Array.isArray(item.offer)) itemOffers = item.offer;            else if (item.offers && typeof item.offers === 'object') itemOffers = [item.offers];            else if (item.offer && typeof item.offer === 'object') itemOffers = [item.offer];            if (itemOffers.length > 0) {              itemOffers.forEach(subItem => {                let subData = { ...item, ...subItem };                const subId = subData.model_id;                if (subId && modelDetails[subId]) {                  subData.review_score = modelDetails[subId].score;                  subData.model_brand = modelDetails[subId].brand;                  subData.model_parent = modelDetails[subId].parent;                } else if (data.review_score != null) {                  subData.review_score = data.review_score;                }                if (subData.merchant && typeof subData.merchant === 'object') {                  subData.merchant_name = subData.merchant.name;                }                this.deals.push(this.extractDealData(subData));              });              return;            }                        if (item.merchant && typeof item.merchant === 'object') {              data.merchant_name = item.merchant.name;            }                        this.deals.push(this.extractDealData(data));          });                    this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.getFilteredDeals().slice(0, this.displayLimit), this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        async fetchAdviserDeals(query) {          // ======================================================================          // TODO: ADVISER API REPLACEMENT          // The code below simulates the Adviser API response using mock data.          // Once the real endpoint is ready, remove getAdviserMockData() and           // perform an actual fetch() request similar to fetchHawkDeals().          // Example:          // const area = this.getAreaCode();          // let apiUrl = `https://your-adviser-api.com/search?q=${query}&area=${area}`;          // if (this.priceFilter && this.priceFilter.value !== 'all') {          //   const val = this.priceFilter.value;          //   if (val === 'under50') apiUrl += '&filter_max_price=50';          //   else if (val === '50_100') apiUrl += '&filter_max_price=100';          //   else if (val === '100_200') apiUrl += '&filter_max_price=200';          //   else if (val === '200_500') apiUrl += '&filter_max_price=500';          // }          // const res = await fetch(apiUrl);          // const rawData = await res.json();          // ======================================================================          // Simulating network latency          await new Promise(resolve => setTimeout(resolve, 400));                    const rawData = this.getAdviserMockData();          let offers = [];                    if (rawData && rawData.data && rawData.data.Get && Array.isArray(rawData.data.Get.Deal)) {            offers = rawData.data.Get.Deal;          }                    // Basic client-side filtering for the mock if we want it to react to the query          const q = query.toLowerCase();          const selectedRetailer = (this.retailerSelect && this.retailerSelect.value) ? this.retailerSelect.value.toLowerCase() : null;                    offers.forEach(item => {            const dataObj = item;                        // Apply retailer filter            const itemRetailer = (dataObj.dataRetailer || '').toLowerCase();            if (selectedRetailer && itemRetailer !== selectedRetailer && !itemRetailer.includes(selectedRetailer)) {              return;            }                        // Apply mock price filter            let price = dataObj.dataDiscountedPrice || 0;            if (typeof price === 'string') {              price = parseFloat(price.replace(/[^0-9.]/g, ''));            }            let priceVal = null;            const min = this.customPriceMin ? this.customPriceMin.value : '';            const max = this.customPriceMax ? this.customPriceMax.value : '';            if (min || max) {               priceVal = `${min}_${max}`;            } else if (this.priceFilter && this.priceFilter.value !== 'all') {               priceVal = this.priceFilter.value;            }            if (priceVal) {              if (priceVal === 'under50' && price >= 50) return;              if (priceVal === 'over50' && price <= 50) return;              if (priceVal === 'over30' && price <= 30) return;              if (priceVal === 'over500' && price <= 500) return;              if (priceVal.includes('_')) {                 const parts = priceVal.split('_');                 if (parts[0] && price < parseFloat(parts[0])) return;                 if (parts[1] && price > parseFloat(parts[1])) return;              }            }                        // Map Adviser schema to our widget's expected schema            const mappedData = {              url: dataObj.linkHREF || dataObj.dataLink || '#',              image: dataObj.imageURL || (dataObj.image && dataObj.image.src) || '',              title: dataObj.dataProduct || (dataObj.product && dataObj.product.name) || 'Product Deal',              merchant: dataObj.dataRetailer || 'Retailer',              price: dataObj.dataDiscountedPrice || 0,              currency: dataObj.dataCurrency === 'USD' ? '$' : (dataObj.dataCurrency || '$'),              msrp: dataObj.dataOriginalPrice || null            };                        const titleLow = mappedData.title.toLowerCase();            const merchLow = mappedData.merchant.toLowerCase();                        // Smarter mock filtering            let isMatch = false;            if (q === '' || this.isBroadQuery(q)) {              isMatch = true;            } else if (titleLow.includes(q) || merchLow.includes(q)) {              isMatch = true;            } else if ((q.includes('laptop') || q.includes('mac') || q.includes('pc')) && (titleLow.includes('macbook') || titleLow.includes('laptop'))) {              isMatch = true;            } else if ((q.includes('tv') || q.includes('television')) && (titleLow.includes('tv') || titleLow.includes('oled') || titleLow.includes('qled'))) {              isMatch = true;            } else if ((q.includes('phone') || q.includes('smartphone')) && (titleLow.includes('galaxy') || titleLow.includes('phone'))) {              isMatch = true;            } else if ((q.match(/watch|fitness|run|shoe/)) && (titleLow.includes('forerunner') || titleLow.includes('saucony') || titleLow.includes('watch'))) {              isMatch = true;            }                        if (isMatch) {               this.deals.push(this.extractDealData(mappedData));            }          });                    let rowLimit = this.getRowsLimit();          // Intentionally omitting the slice here to allow "Load More" to work if the API returns more                    this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.getFilteredDeals().slice(0, this.displayLimit), this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        getAdviserMockData() {          return {            "data": {              "Get": {                "Deal": [                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 300,                    "dataOriginalPrice": 399,                    "dataProduct": "Samsung Galaxy A36",                    "dataRetailer": "Samsung",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/MqDYsukV3JBG54te6dEs7j.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 14,                    "dataOriginalPrice": 24,                    "dataProduct": "Blink Mini",                    "dataRetailer": "Amazon",                    "imageURL": "http://cdn.mos.cms.futurecdn.net/3JurmAjHsDa5tPdaHAwEV8.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 59,                    "dataOriginalPrice": 99,                    "dataProduct": "Ring Video Doorbell",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/rAh4uR7AsAsALCCLTXnLNJ.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 10,                    "dataOriginalPrice": 599,                    "dataProduct": "MacBook Neo",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/Lg4Dvg68j9SbB5CPNrTEpH.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 749,                    "dataOriginalPrice": 849,                    "dataProduct": "65\\\" Fire TV Omni 4K QLED TV",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/SG34ZWodUkLTxJvMTbjPYR.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 71,                    "dataOriginalPrice": 160,                    "dataProduct": "Saucony Hurricane 24",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/vxf7UD5T2Am7guVzFoFcZ4.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 649,                    "dataOriginalPrice": 749,                    "dataProduct": "Garmin Forerunner 970",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/3GKnEu7CdhtxPMfnPCMCiA.png"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 1049,                    "dataOriginalPrice": 1499,                    "dataProduct": "LG 48\\\" C4 4K OLED TV",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/imvwZV9zoMD6fn9Afuge35.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 1499,                    "dataOriginalPrice": 2199,                    "dataProduct": "Samsung 49\\\" Odyssey Neo G9 4K Gaming Monitor",                    "dataRetailer": "Amazon",                    "imageURL": "http://cdn.mos.cms.futurecdn.net/XWDEJ5dUAE2nhK8k3Jk7k7.png"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 299,                    "dataOriginalPrice": 699,                    "dataProduct": "EGOHOME Black Memory Foam Mattress (queen)",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/hMUemtAejNETLVYxNrktzm.jpg"                  }                ]              }            }          };        }        decodeHTML(html) {          if (!html) return '';          const txt = document.createElement("textarea");          txt.innerHTML = String(html);          return txt.value;        }        extractDealData(item) {          const priceRawStr = String(item.price || item.current_price || '0');          const msrpRawStr = String(item.was_price || item.msrp || item.original_price || '0');          const rawPrice = parseFloat(priceRawStr.replace(/[^\d.]/g, '')) || 0;          const rawMsrp = parseFloat(msrpRawStr.replace(/[^\d.]/g, '')) || 0;          const isCheckPrice = rawPrice === 0 || priceRawStr === '0.00' || priceRawStr === '0';                    let originalImageUrl = item.image || item.image_url || item.product_image || '';          let imageUrl = originalImageUrl;          if ((!imageUrl || isCheckPrice) && item.model_image_url) {             imageUrl = item.model_image_url;             originalImageUrl = imageUrl;          } else if ((!imageUrl || isCheckPrice) && item.model_image) {             imageUrl = item.model_image;             originalImageUrl = imageUrl;          }                    if (imageUrl) {            imageUrl = imageUrl.replace(/-(\d+)-(\d+)(\.[a-z.]+)$/i, '$3');          }                    let fallbackImage = '';          if (originalImageUrl && originalImageUrl !== imageUrl) {             fallbackImage = originalImageUrl;          } else if (item.model_image && item.model_image !== imageUrl) {             fallbackImage = item.model_image;          } else if (item.model_image_url && item.model_image_url !== imageUrl) {             fallbackImage = item.model_image_url;          }                    const rawCurrency = item.currency || item.currency_symbol || '$';                    let savingLabel = item.percentage_saving_label || '';          if (!savingLabel && rawMsrp > rawPrice && rawPrice > 0) {            const pct = Math.round(((rawMsrp - rawPrice) / rawMsrp) * 100);            if (pct > 0) {              savingLabel = `${pct}% OFF`;            }          }                    const isPrime = item.shipping && item.shipping.prime === true;                    let scoreRaw = (item.review_score !== undefined && item.review_score !== null && item.review_score > 0) ? parseFloat(item.review_score) : null;          let starRating = 0;          if (scoreRaw !== null) {            starRating = Math.round((scoreRaw > 10 ? scoreRaw / 20 : scoreRaw / 2) * 2) / 2;          }                    return {            id: item.offer_id || item.link || item.url || item.offer_link || Math.random().toString(),            url: item.link || item.url || item.offer_link || '#',            image: imageUrl,            fallbackImage: fallbackImage,            title: this.decodeHTML(item.name || item.title || item.model_name || item.product_name || 'Unknown Product'),            brand: this.decodeHTML(item.brand || ''),            productName: this.decodeHTML(item.model_name || item.product_name || item.name || ''),            merchant: this.decodeHTML(item.merchant_name || item.merchant || item.retailer || 'Retailer'),            price: item.price !== undefined ? String(item.price) : '0.00',            currency: this.decodeHTML(rawCurrency),            msrp: item.was_price || item.msrp || item.original_price || null,            rawPrice: rawPrice,            rawMsrp: rawMsrp,            hasWasPrice: (item.was_price !== undefined && item.was_price !== null),            isCheckPrice: isCheckPrice,            savingLabel: savingLabel,            isPrime: isPrime,            starRating: starRating > 0 ? starRating : null,            modelId: item.model_id || '',            productKey: item.product_key || '',            merchantId: (item.merchant && typeof item.merchant === 'object') ? item.merchant.id || '' : '',            matchId: item.match_id || '',            merchantNetwork: (item.merchant && typeof item.merchant === 'object') ? item.merchant.an || '' : '',            merchantUrl: (item.merchant && typeof item.merchant === 'object') ? item.merchant.url || '' : '',            modelBrand: item.model_brand || item.brand || '',            modelParent: item.model_parent || ''          };        }        sortData() {          const sortVal = this.sortSelect ? this.sortSelect.value : 'date_desc';          if (sortVal === 'price_asc') {            this.deals.sort((a, b) => a.rawPrice - b.rawPrice);          } else if (sortVal === 'price_desc') {            this.deals.sort((a, b) => b.rawPrice - a.rawPrice);          } else if (sortVal === 'discount_desc') {            this.deals.sort((a, b) => {              const aDiscount = a.rawMsrp > a.rawPrice ? (a.rawMsrp - a.rawPrice) : 0;              const bDiscount = b.rawMsrp > b.rawPrice ? (b.rawMsrp - b.rawPrice) : 0;              return bDiscount - aDiscount;            });          } else if (sortVal === 'date_desc') {             this.deals.sort((a, b) => {                let dateA = 0;                let dateB = 0;                if (a && a.modifiedDate) {                   const valA = Array.isArray(a.modifiedDate) ? a.modifiedDate[0] : a.modifiedDate;                   dateA = new Date(valA).getTime();                   if (isNaN(dateA)) dateA = 0;                }                if (b && b.modifiedDate) {                   const valB = Array.isArray(b.modifiedDate) ? b.modifiedDate[0] : b.modifiedDate;                   dateB = new Date(valB).getTime();                   if (isNaN(dateB)) dateB = 0;                }                return dateB - dateA;             });          }        }        getFilteredDeals() {          let filteredDeals = [...this.deals];                    if (this.dealModeToggle && this.dealModeToggle.checked) {            filteredDeals = filteredDeals.filter(d => d.hasWasPrice || (d.msrp && d.rawMsrp > d.rawPrice));          }                    return filteredDeals;        }        showLoading() {          const _div = '<' + '/div>';          const skeletonCardHtml = `            \x3Cdiv class="tg-df-card">              \x3Cdiv class="tg-df-card-image-box">                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-img">${_div}              ${_div}              \x3Cdiv class="tg-df-card-body">                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short">${_div}                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text title">${_div}                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text title">${_div}                \x3Cdiv class="tg-df-card-footer mt-auto">                  \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="height:24px;">${_div}                ${_div}              ${_div}              \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text" style="height:44px; margin:0; border-radius:0;">${_div}            ${_div}`;          this.grid.innerHTML = Array(4).fill(skeletonCardHtml).join('');        }        showError() {          const _div = '<' + '/div>';          this.grid.innerHTML = `\x3Cdiv class="tg-df-message">            An error occurred while finding deals. Please check your connection and try again.          ${_div}`;        }        escapeHTML(str) {          if (!str) return '';          return String(str).replace(/[&<>'"]/g, tag => ({              '&': '&', '<': '<', '>': '>', "'": ''', '"': '"'          }[tag] || tag));        }                bindCouponButtons() {          const btns = this.root.querySelectorAll('.tg-df-tag-coupons');          btns.forEach(btn => {            btn.addEventListener('click', (e) => {              e.preventDefault();              e.stopPropagation();              const merchant = btn.getAttribute('data-merchant');              this.openVouchersModal(merchant);            });          });                    const closeBtn = this.root.querySelector('#tg-df-vouchers-close');          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          if (closeBtn) {            closeBtn.onclick = () => this.closeVouchersModal();          }          if (backdrop) {            backdrop.onclick = (e) => {              if (e.target === backdrop) this.closeVouchersModal();            };          }        }                closeVouchersModal() {          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          if (backdrop) backdrop.classList.remove('active');        }                async checkMerchantsCouponsBulk(merchants) {          if (!merchants || merchants.length === 0) return {};          const controller = new AbortController();          const timeoutId = setTimeout(() => controller.abort(), 4000);          try {            const area = this.getAreaCode();            const url = new URL('https://search-api.fie.future.net.uk/widget.php');            url.searchParams.append('model_name', 'Everything');            url.searchParams.append('language', 'en-GB');            if (area) url.searchParams.append('area', area);            url.searchParams.append('combine_product_types', '1');            url.searchParams.append('filter_merchant_name', merchants.join(','));            url.searchParams.append('all_filters', 'false');            url.searchParams.append('exclude_unlabelled', 'false');            url.searchParams.append('include_specs', 'false');            url.searchParams.append('sort', 'voucher');            url.searchParams.append('distinct_merchants', 'natural');            url.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');            url.searchParams.append('rows', '120');            url.searchParams.append('origin', 'widgets-clientside');                        let res; try { res = await fetch(url.toString(), { signal: controller.signal }); } catch (e) { return {}; }            clearTimeout(timeoutId);            if (!res.ok) return {};            const data = await res.json();                        let offers = [];            if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {              offers = data.widget.data.offers;            } else if (data && data.data && Array.isArray(data.data.offers)) {              offers = data.data.offers;            } else if (Array.isArray(data)) {              offers = data;            } else if (data && Array.isArray(data.offers)) {              offers = data.offers;            } else if (data && data.offers && Array.isArray(data.offers.offer)) {              offers = data.offers.offer;            } else if (data && Array.isArray(data.data)) {              offers = data.data;            }                        const foundMerchants = new Set();            offers.forEach(o => {              let mName = o.merchant_name || o.merchant || o.retailer;              if (mName && typeof mName === 'object') mName = mName.name;              if (mName) foundMerchants.add(String(mName).toLowerCase());            });            const resultMap = {};            merchants.forEach(m => {              if (m) resultMap[m] = foundMerchants.has(String(m).toLowerCase());            });            return resultMap;          } catch (e) {            return {};          }        }                async openVouchersModal(merchantName) {          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          const title = this.root.querySelector('#tg-df-vouchers-title');          const content = this.root.querySelector('#tg-df-vouchers-content');                    if (!backdrop || !content) return;                    // HACK: Hide closing tags          const _div = '<' + '/div>';          const _span = '<' + '/span>';          const _a = '<' + '/a>';          const _h4 = '<' + '/h4>';          const _svg = '<' + '/svg>';          const _circle = '<' + '/circle>';          const _polyline = '<' + '/polyline>';          const _rect = '<' + '/rect>';          const _path = '<' + '/path>';                    title.innerText = `${merchantName} Coupons & Deals`;          content.innerHTML = `\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text">${_div}                               \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text">${_div}`;          backdrop.classList.add('active');                    try {            const area = this.getAreaCode();            const url = new URL('https://search-api.fie.future.net.uk/widget.php');            url.searchParams.append('model_name', 'Everything');            url.searchParams.append('language', 'en-GB');            if (area) url.searchParams.append('area', area);            url.searchParams.append('combine_product_types', '1');            url.searchParams.append('filter_merchant_name', merchantName);            url.searchParams.append('all_filters', 'false');            url.searchParams.append('exclude_unlabelled', 'false');            url.searchParams.append('include_specs', 'false');            url.searchParams.append('sort', 'voucher');            url.searchParams.append('distinct_merchants', 'natural');            url.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');            url.searchParams.append('rows', '50');            url.searchParams.append('origin', 'widgets-clientside');                        const res = await fetch(url.toString());            if (!res.ok) throw new Error('API Error');            const data = await res.json();                        let offers = [];            if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {              offers = data.widget.data.offers;            } else if (data && data.data && Array.isArray(data.data.offers)) {              offers = data.data.offers;            } else if (Array.isArray(data)) {              offers = data;            } else if (data && Array.isArray(data.offers)) {              offers = data.offers;            } else if (data && data.offers && Array.isArray(data.offers.offer)) {              offers = data.offers.offer;            } else if (data && Array.isArray(data.data)) {              offers = data.data;            }                        if (offers.length === 0) {              content.innerHTML = `\x3Cdiv class="tg-df-message">No vouchers currently available for ${this.escapeHTML(merchantName)}.${_div}`;              return;            }                        content.innerHTML = offers.map((v, idx) => {              let offerObj = v;              if (v.offers && v.offers.offer) {                offerObj = Array.isArray(v.offers.offer) ? v.offers.offer[0] : v.offers.offer;              } else if (v.offer) {                offerObj = Array.isArray(v.offer) ? v.offer[0] : v.offer;              }              let logoUrl = v.logo_url || offerObj.logo_url || '';              if (!logoUrl && v.merchant) {                if (Array.isArray(v.merchant) && v.merchant.length > 0) logoUrl = v.merchant[0].logo_url || '';                else logoUrl = v.merchant.logo_url || '';              }                            const offerName = offerObj.name || offerObj.title || v.name || v.title || 'Special Offer';              const endTime = offerObj.end_time || v.end_time || '';              const linkUrl = offerObj.link || offerObj.url || v.link || v.url || '#';                            let foundVoucherCode = '';              const findVoucherCode = (obj) => {                if (!obj || typeof obj !== 'object') return;                if (obj.type === 'voucher_code' && obj.display_value) {                  foundVoucherCode = obj.display_value;                  return;                }                if (Array.isArray(obj)) {                  for (const item of obj) {                    findVoucherCode(item);                    if (foundVoucherCode) return;                  }                } else {                  for (const k in obj) {                    if (Object.prototype.hasOwnProperty.call(obj, k)) {                      findVoucherCode(obj[k]);                      if (foundVoucherCode) return;                    }                  }                }              };              findVoucherCode(offerObj);              if (!foundVoucherCode) findVoucherCode(v);                            const voucherCode = foundVoucherCode || offerObj.voucher_code || v.voucher_code || '';              const codeHtml = voucherCode ? `\x3Cspan class="tg-df-voucher-code" data-action="copy-code" data-code="${this.escapeHTML(voucherCode)}" title="Copy to clipboard">                \x3Cspan class="tg-df-voucher-code-text">${this.escapeHTML(voucherCode)}${_span}                \x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-left:6px;flex-shrink:0;" class="tg-df-voucher-copy-icon">                  \x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2">${_rect}                  \x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1">${_path}                ${_svg}              ${_span}` : '';                            const logoHtml = logoUrl                 ? `\x3Cimg src="${this.escapeHTML(logoUrl)}" alt="${this.escapeHTML(offerName)}" class="tg-df-voucher-logo" />`                 : `\x3Cdiv class="tg-df-voucher-logo" style="background:#e2e8f0;">${_div}`;                            let expiryHtml = '';              if (endTime) {                let dStr = endTime;                if (!isNaN(dStr) && String(dStr).length === 10) dStr = Number(dStr) * 1000;                const d = new Date(dStr);                if (!isNaN(d.getTime())) {                  const options = { year: 'numeric', month: 'short', day: 'numeric' };                  expiryHtml = `                    \x3Cdiv class="tg-df-voucher-expiry">                      \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                        \x3Ccircle cx="12" cy="12" r="10">${_circle}                        \x3Cpolyline points="12 6 12 12 16 14">${_polyline}                      ${_svg}                      Expires ${d.toLocaleDateString(undefined, options)}                    ${_div}`;                }              }              const revenueIdVal = generateRevenueId(linkUrl, offerName, merchantName, null);              const rewrittenLinkUrl = rewriteAffiliateLink(linkUrl, area, revenueIdVal);              return `                \x3Ca href="${this.escapeHTML(rewrittenLinkUrl)}" target="_blank" rel="noopener nofollow" class="tg-df-voucher-item"                  data-action="voucher-click"                  data-product-name="${this.escapeHTML(offerName)}"                  data-merchant-name="${this.escapeHTML(merchantName)}"                  data-analytics-id="${this.escapeHTML(offerObj.offer_id || offerObj.id || v.id || '')}"                  data-price=""                  data-previous-price=""                  data-original-link="${this.escapeHTML(linkUrl)}"                  data-revenue-id="${revenueIdVal}"                  data-index="${idx}"                  data-total="${offers.length}"                  data-in-stock="true"                  data-currency="USD"                  data-model-id="${this.escapeHTML(offerObj.model_id || v.model_id || offerObj.id || v.id || '')}"                  data-merchant-id="${this.escapeHTML(offerObj.merchant_id || offerObj.merchant?.id || '')}"                >                  ${logoHtml}                  \x3Cdiv class="tg-df-voucher-content">                    \x3Ch4 class="tg-df-voucher-title">${this.escapeHTML(offerName)}${_h4}                    ${codeHtml}                    ${expiryHtml}                  ${_div}                ${_a}              `;            }).join('');                        // Attach copy functionality            const copyBtns = content.querySelectorAll('[data-action="copy-code"]');            copyBtns.forEach(btn => {              btn.addEventListener('click', async (e) => {                e.preventDefault();                e.stopPropagation();                                const code = btn.getAttribute('data-code');                if (!code) return;                                try {                  const copyToClipboard = async (text) => {                     if (window.navigator.clipboard && window.isSecureContext) {                        try { await window.navigator.clipboard.writeText(text); return; } catch (e) {}                     }                     const textArea = document.createElement("textarea");                     textArea.value = text;                     textArea.style.position = "fixed";                     document.body.appendChild(textArea);                     textArea.focus();                     textArea.select();                     document.execCommand('copy');                     textArea.remove();                  };                  await copyToClipboard(code);                                    // Visual feedback                  btn.classList.add('copied');                  const textSpan = btn.querySelector('.tg-df-voucher-code-text');                  const iconSvg = btn.querySelector('.tg-df-voucher-copy-icon');                                    const origText = textSpan.innerText;                  const origIcon = iconSvg.innerHTML;                                    textSpan.innerText = 'Copied!';                  iconSvg.innerHTML = `\x3Cpolyline points="20 6 9 17 4 12">${_polyline}`;                                    setTimeout(() => {                    if (btn) {                      btn.classList.remove('copied');                      if (textSpan) textSpan.innerText = origText;                      if (iconSvg) iconSvg.innerHTML = origIcon;                    }                  }, 2000);                                    trackElementInteraction({                    id: 'voucher-code-copy',                    name: 'Copy Voucher Code',                    label: `Copied ${code} for ${merchantName}`                  });                } catch (err) {                  console.warn('Failed to copy text: ', err);                }              });            });            // Attach voucher click tracking            const voucherBtns = content.querySelectorAll('[data-action="voucher-click"]');            voucherBtns.forEach(btn => {              btn.addEventListener('click', (e) => {                if (e.target.closest('[data-action="copy-code"]')) return;                                const productName = btn.getAttribute('data-product-name');                const merchantNameAttr = btn.getAttribute('data-merchant-name');                const productId = btn.getAttribute('data-analytics-id');                const price = parseFloat(btn.getAttribute('data-price')) || null;                const prevPriceStr = btn.getAttribute('data-previous-price');                const previousPrice = prevPriceStr ? parseFloat(prevPriceStr) : null;                const originalLink = btn.getAttribute('data-original-link');                const finalHref = btn.href || btn.getAttribute('href') || '';                let actualRevenueId = btn.getAttribute('data-revenue-id');                const revMatch = finalHref.match(/(?:subId1|xcust|clickref|ascsubtag)=[^&]*?(\d{18,20})(?:&|$)/i);                if (revMatch && revMatch[1]) {                  actualRevenueId = revMatch[1];                }                const rewrittenLink = finalHref;                const revenueId = actualRevenueId;                const index = parseInt(btn.getAttribute('data-index'), 10) || 0;                const inStock = btn.getAttribute('data-in-stock') === 'true';                const totalText = btn.getAttribute('data-total');                const totalDeals = parseInt(totalText, 10) || 0;                const productCategoryName = 'deals';                const trackingParams = {                  widgetId: this.widgetId,                  productCategoryName: productCategoryName,                  product: {                    modelId: btn.getAttribute('data-model-id') || null,                    matchId: btn.getAttribute('data-match-id') || null,                    brand: btn.getAttribute('data-model-brand') || null,                    parent: btn.getAttribute('data-model-parent') || null,                    name: productName,                    price: price,                    previousPrice: previousPrice,                    link: rewrittenLink,                    originalLink: originalLink,                    inStock: inStock                  },                  zeroBasedProductIndexOrNull: index,                  totalDealsOrProducts: totalDeals,                   merchant: {                    id: btn.getAttribute('data-merchant-id') || null,                    network: btn.getAttribute('data-merchant-network') || null,                    url: btn.getAttribute('data-merchant-url') || null,                    name: merchantNameAttr                  },                  revenueId: revenueId,                  widgetTypeName: this.widgetTypeName,                  isoCurrencyCode: btn.getAttribute('data-currency') || 'USD'                };                if (typeof trackDealClick === 'function') {                  trackDealClick(trackingParams);                }              });            });                                  } catch (e) {            console.warn(e);            content.innerHTML = `\x3Cdiv class="tg-df-message">Failed to load vouchers.${_div}`;          }        }        render() {          try {            if (this.getViewMode() === 'savings_squad' && this.airedaleTags.length > 0) {              if (this.categoryFilterWrapper) {                 this.categoryFilterWrapper.style.display = 'flex';              }              if (this.categoryFilter) {                 const _option = '<' + '/option>';                 let optionsHtml = `\x3Coption value="all">All Categories${_option}`;                 this.airedaleTags.forEach(tag => {                    const isSelected = this.activeDealTag === tag ? 'selected' : '';                    optionsHtml += `\x3Coption value="${this.escapeHTML(tag)}" ${isSelected}>${this.escapeHTML(tag)}${_option}`;                 });                 this.categoryFilter.innerHTML = optionsHtml;                 this.categoryFilter.value = this.activeDealTag || 'all';              }            } else {               if (this.categoryFilterWrapper) {                  this.categoryFilterWrapper.style.display = 'none';               }            }            const displayDeals = this.getFilteredDeals();          // HACK: Hide closing tags from the CMS HTML sanitizer so it doesn't strip them during in-page injection          const _div = '<' + '/div>';          const _span = '<' + '/span>';          const _a = '<' + '/a>';          const _h3 = '<' + '/h3>';          const _p = '<' + '/p>';          const _strong = '<' + '/strong>';          const _sup = '<' + '/sup>';          const _button = '<' + '/button>';          if (displayDeals.length === 0) {            if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {              if (this.deals.length > 0) {                 this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                  No deals match your selected filters.                ${_div}`;              } else if (this.getViewMode() === 'savings_squad' && this.currentQuery.length <= 2) {                 // Do not show "no exact matches" if query is empty for savings_squad                 this.grid.innerHTML = '';              } else {                 this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                  No exact matches found for "\x3Cstrong>${this.escapeHTML(this.currentQuery)}${_strong}". Try adjusting your search term.                ${_div}`;              }            } else {              this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                Search product or category names to discover the best deals from across the web.              ${_div}`;            }            return;          }          let dealsHtml = displayDeals.slice(0, this.displayLimit).map((deal, index) => {            try {               const currencySym = this.escapeHTML(deal.currency);               const isoCurrencyCode = normalizeCurrency(currencySym);               const escapedPrice = this.escapeHTML(deal.price);               const escapedMsrp = this.escapeHTML(deal.msrp);               const areaCode = this.getAreaCode();                              const revenueId = generateRevenueId(deal.url, deal.title, deal.merchant, null);               const originalLink = deal.url;               const rewrittenLink = rewriteAffiliateLink(deal.url, areaCode, revenueId);                        const productCategoryName = 'deals';            const dataAttr = `              data-action="${deal.isCheckPrice ? 'view-similar-click' : 'deal-click'}"              data-analytics-id="${this.escapeHTML(deal.externalProductId || deal.id || '')}"              data-product-name="${this.escapeHTML(deal.title)}"              data-merchant-name="${this.escapeHTML(deal.merchant)}"              data-price="${deal.rawPrice || ''}"              data-previous-price="${deal.rawMsrp || ''}"              data-original-link="${this.escapeHTML(originalLink)}"              data-revenue-id="${revenueId}"              data-index="${index}"              data-total="${displayDeals.length}"              data-in-stock="${deal.inStock !== false}"              data-currency="${this.escapeHTML(isoCurrencyCode)}"              data-model-id="${this.escapeHTML(deal.modelId || '')}"              data-product-key="${this.escapeHTML(deal.productKey || '')}"              data-merchant-id="${this.escapeHTML(deal.merchantId || '')}"            `;                        let priceGroupHtml = '';            let isSavingsSquadMode = this.getViewMode() === 'savings_squad';            let ctaText = 'View Deal';            let formattedPrice = '';            let msrpHtml = '';                        if (deal.isCheckPrice) {              ctaText = 'View Deal';              if (isSavingsSquadMode) {                priceGroupHtml = ``;              } else {                priceGroupHtml = `                  \x3Cdiv class="tg-df-card-price-group">                    \x3Cspan class="tg-df-card-price" style="font-size: 15px; font-weight: 500; font-style: italic;">See price at retailer${_span}                  ${_div}                `;              }            } else {              // Format Price              formattedPrice = escapedPrice.includes(currencySym)                 ? escapedPrice                 : `${currencySym}${escapedPrice}`;                              // Format MSRP              msrpHtml = deal.msrp && deal.rawMsrp > deal.rawPrice                ? `\x3Cspan class="tg-df-card-msrp">${escapedMsrp.includes(currencySym) ? escapedMsrp : currencySym + escapedMsrp}${_span}`                : '';                              priceGroupHtml = isSavingsSquadMode ? `` : `                \x3Cdiv class="tg-df-card-price-group">                  \x3Cspan class="tg-df-card-price">${formattedPrice}${_span}                  ${msrpHtml}                ${_div}              `;            }                        const discountBadgeHtml = deal.savingLabel && !deal.isCheckPrice              ? `\x3Cspan class="tg-df-card-discount-badge">${this.escapeHTML(deal.savingLabel)}${_span}`              : '';                          // HACK for CMS            const _button = '<' + '/button>';            const _svg = '<' + '/svg>';            const _path = '<' + '/path>';            const _rect = '<' + '/rect>';            const _circle = '<' + '/circle>';            const _polyline = '<' + '/polyline>';            const _line = '<' + '/line>';                        let badgesHtml = '';            const primeBadge = deal.isPrime ? `              \x3Cspan class="tg-df-tag tg-df-tag-prime">                \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="currentColor">                  \x3Cpath d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z">${_path}                ${_svg} Prime              ${_span}            ` : '';                        const couponsBadge = deal.merchant && deal.merchant.toLowerCase().includes('amazon') ? '' : `              \x3Cdiv class="tg-df-coupon-wrapper" data-merchant="${this.escapeHTML(deal.merchant)}" style="display:inline-flex; align-items:center;">                \x3Cdiv class="tg-df-coupon-spinner">${_div}                \x3Cbutton type="button" class="tg-df-tag tg-df-tag-coupons" data-action="coupons-click" data-merchant="${this.escapeHTML(deal.merchant)}" style="display:none;">                  \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                    \x3Cpath d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z">${_path}                    \x3Cline x1="7" y1="7" x2="7.01" y2="7">${_line}                  ${_svg} Coupons                ${_button}              ${_div}            `;                        // Note: We always add coupons badge if there's a chance, but to allow 3-line titles we check wrapper display state            badgesHtml = `              \x3Cdiv class="tg-df-card-badges">                ${primeBadge}                ${couponsBadge}              ${_div}            `;            const _linearGradient = '<' + '/linearGradient>';            const _polygon = '<' + '/polygon>';            const _stop = '<' + '/stop>';            const _defs = '<' + '/defs>';                        let starHtml = '';            if (deal.starRating) {              let rating = deal.starRating;                            if (rating > 0) {                const fullStars = Math.floor(rating);                const halfStar = (rating - fullStars) >= 0.5 ? 1 : 0;                const emptyStars = Math.max(0, 5 - fullStars - halfStar);                const blue = '#1f69ff'; // Tom's guide brand color from VIEW DEAL button                const gray = '#cbd5e1';                                const starSvgFull = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="${blue}" stroke="${blue}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26">${_polygon}${_svg}`;                                const gradId = 'half_grad_' + Math.floor(Math.random()*1000000);                const starSvgHalf = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" stroke="${blue}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cdefs>\x3ClinearGradient id="${gradId}" x1="0" x2="1" y1="0" y2="0">\x3Cstop offset="50%" stop-color="${blue}">${_stop}\x3Cstop offset="50%" stop-color="transparent">${_stop}${_linearGradient}${_defs}                  \x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26" fill="url(#${gradId})">${_polygon}${_svg}`;                                  const starSvgEmpty = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="${gray}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26">${_polygon}${_svg}`;                                let stars = [];                for (let i=0; i<fullStars; i++) stars.push(starSvgFull);                if (halfStar) stars.push(starSvgHalf);                for (let i=0; i<emptyStars; i++) stars.push(starSvgEmpty);                                starHtml = `\x3Cdiv class="tg-df-card-stars" style="display:flex;align-items:center;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--tg-df-text-muted);">                  \x3Cspan style="margin-right:6px;">Tom's Guide:${_span}                  \x3Cdiv style="display:flex;gap:2px;">                    ${stars.join('')}                  ${_div}                ${_div}`;              }            }            let htmlOutput = '';            if (isSavingsSquadMode) {              htmlOutput += `              \x3Cdiv class="hawk-deal-widget-container tg-df-mobile-only" data-collapsible="true">                ${this.editorMode ? `\x3Cinput type="checkbox" class="tg-df-deal-checkbox" data-id="${this.escapeHTML(deal.id)}" ${this.selectedDeals.has(deal.id) ? 'checked' : ''} style="margin-bottom: 10px;">` : ''}                \x3Cdiv class="hawk-deal-widget-wrap">                  \x3Cdiv class="hawk-deal-widget-image-container">                    \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" rel="sponsored noopener" target="_blank" class="hawk-affiliate-link-deal-widget" ${dataAttr}>                      \x3Cimg ${deal.image ? `src="${this.escapeHTML(deal.image)}"` : ''} alt="${this.escapeHTML(deal.title)}" class="hawk-lazy-image-deal-widget" loading="lazy" width="140" height="160" onerror="${deal.fallbackImage ? `if(!this.dataset.fb) { this.dataset.fb='1'; this.src='${this.escapeHTML(deal.fallbackImage)}'; } else { this.style.opacity='0'; }` : `this.style.opacity='0';`}">                    ${_a}                  ${_div}                  \x3Cdiv class="hawk-deal-widget-text-cta-container">                    \x3Cdiv class="hawk-deal-widget-text-body-container">                      \x3Cdiv class="hawk-deal-widget-text-body-main">                        \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                          ${deal.isCheckPrice ? `                            \x3Cspan class="hawk-deal-widget-title-product-title">${this.escapeHTML(deal.title)}${_span}                          ` : `                            \x3Cspan class="hawk-deal-widget-title-product-title">${deal.brand ? this.escapeHTML(deal.brand) + ' ' : ''}${this.escapeHTML(deal.productName || deal.title || '')}:${_span}                          `}                        ${_a}                        ${!deal.isCheckPrice && deal.rawMsrp && deal.rawMsrp > deal.rawPrice ? `                          \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                            \x3Cspan class="hawk-deal-widget-title-was-price">was ${currencySym}${escapedMsrp}${_span}                          ${_a}                        ` : ''}                        \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                          \x3Cspan class="hawk-deal-widget-title-retailer-price">                            ${!deal.isCheckPrice ? `                              \x3Cspan class="hawk-deal-widget-title-price">now ${formattedPrice}${_span}                              \x3Cspan class="hawk-deal-widget-title-retailer"> at ${this.escapeHTML(deal.merchant)}${_span}                            ` : `                              \x3Cspan class="hawk-deal-widget-title-price">See price at ${this.escapeHTML(deal.merchant)}${_span}                            `}                          ${_span}                        ${_a}                        ${deal.description ? `\x3Cdiv class="hawk-deal-widget-text-body-description tg-df-card-desc-container" style="margin-bottom: 12px; position: relative;">                          \x3Cp class="tg-df-card-desc-content" style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">${this.escapeHTML(deal.description)}${_p}                          \x3Cbutton type="button" class="tg-df-card-desc-btn" style="display: none; appearance: none; border: none; color: #000000; font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0; background: linear-gradient(to right, transparent, #fff 20%, #fff); padding: 0 0 0 16px;" onclick="                            var c = this.parentNode;                            if (this.dataset.expanded === 'true') {                              var pd = (c.tagName === 'P') ? c : this.previousElementSibling;                              if (c.tagName === 'P') { c.parentNode.appendChild(this); pd = c; }                              pd.style.display = '-webkit-box';                              pd.style.webkitLineClamp = '3';                              this.textContent = 'READ MORE';                              this.style.position = 'absolute';                              this.style.background = 'linear-gradient(to right, transparent, #fff 20%, #fff)';                              this.style.paddingLeft = '16px';                              this.dataset.expanded = 'false';                            } else {                              var pd = this.previousElementSibling;                              pd.style.display = 'inline';                              pd.style.webkitLineClamp = 'unset';                              this.textContent = 'READ LESS';                              this.style.position = 'static';                              this.style.background = 'transparent';                              this.style.paddingLeft = '4px';                              this.dataset.expanded = 'true';                              pd.appendChild(this);                            }                          ">READ MORE${_button}                        \x3C/div>` : ''}                      ${_div}                    ${_div}                    ${deal.authorName ? `                      \x3Cdiv class="tg-df-author-line-mobile" style="padding: 0 0 12px 0; background: transparent;">                         \x3Cdiv style="display: flex; align-items: center; gap: 12px;">                            ${deal.authorImage ? `\x3Cimg src="${this.escapeHTML(deal.authorImage)}" alt="${this.escapeHTML(deal.authorName)}" class="tg-df-author-img" width="40" height="40" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 40px; min-height: 40px;">` : ''}                            \x3Cdiv style="display: flex; flex-direction: column;">                               \x3Cdiv style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;">\x3Cspan style="color: #FF6600;">${this.escapeHTML(deal.merchant)}${_span} deal recommended by:${_div}                               \x3Cdiv style="font-size: 11px; color: var(--tg-df-text); line-height: 1.3;">                                  \x3Cstrong>\x3Ca href="https://www.tomsguide.com/${this.escapeHTML(deal.documentUrl || '').replace(/^\/+/, '')}" target="_blank" rel="noopener nofollow" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">${this.escapeHTML(deal.authorName)}${_a}${_strong}                                  ${deal.authorRole && !['null', 'nul', 'undefined'].includes(String(deal.authorRole).toLowerCase()) ? ` • ${this.escapeHTML(deal.authorRole)}` : ''}                                  ${deal.modifiedDate ? `\x3Cdiv style="color: var(--tg-df-text-muted); margin-top: 2px;">${getTimeAgo(deal.modifiedDate)}${_div}` : ''}                               ${_div}                            ${_div}                         ${_div}                      ${_div}                    ` : ''}                    \x3Cdiv class="hawk-deal-widget-footer">                      \x3Cdiv class="hawk-deal-widget-button-wrapper">                        \x3Cdiv class="hawk-deal-widget-preferred-partner-wrapper">                          \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-deal-button" rel="sponsored noopener" target="_blank" ${dataAttr}>                            \x3Cspan>View Deal${_span}                          ${_a}                        ${_div}                      ${_div}                    ${_div}                  ${_div}                ${_div}              ${_div}              `;            }            htmlOutput += `              \x3Cdiv class="tg-df-card ${isSavingsSquadMode ? 'tg-df-desktop-only' : ''}">                ${this.editorMode ? `\x3Cinput type="checkbox" class="tg-df-deal-checkbox" data-id="${this.escapeHTML(deal.id)}" ${this.selectedDeals.has(deal.id) ? 'checked' : ''}>` : ''}                \x3Cdiv class="tg-df-card-image-box">                  ${discountBadgeHtml}                  \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;">                    \x3Cimg ${deal.image ? `src="${this.escapeHTML(deal.image)}"` : ''} alt="${this.escapeHTML(deal.title)}" class="tg-df-card-image" loading="lazy" onerror="${deal.fallbackImage ? `if(!this.dataset.fb) { this.dataset.fb='1'; this.src='${this.escapeHTML(deal.fallbackImage)}'; } else { this.style.opacity='0'; }` : `this.style.opacity='0';`}">                  ${_a}                  \x3Cdiv class="tg-df-card-merchant-wrapper" style="position: absolute; bottom: 0; right: 0; background: transparent; padding: 8px 12px; z-index: 10;">                     \x3Cspan class="tg-df-card-merchant-pill" style="text-align: right; margin-bottom: 0;" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                  ${_div}                ${_div}                \x3Cdiv class="tg-df-card-body">                  ${starHtml}                  ${badgesHtml}                  \x3Ch3 class="tg-df-card-title tg-df-custom-savings-squad-title" title="${this.escapeHTML(deal.title)}">                    \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" style="text-decoration: none; color: inherit;">                      ${isSavingsSquadMode                         ? (deal.isCheckPrice                             ? (deal.title && deal.title.includes(':')                                 ? `\x3Cstrong>${this.escapeHTML(deal.title.substring(0, deal.title.indexOf(':') + 1))}${_strong}\x3Cspan style="color: #1f69ff; font-weight: normal;">${this.escapeHTML(deal.title.substring(deal.title.indexOf(':') + 1))}${_span}`                                : this.escapeHTML(deal.title)                              )                             : `\x3Cstrong>${deal.brand ? this.escapeHTML(deal.brand) + ' ' : ''}${this.escapeHTML(deal.productName || deal.title || '')}:${_strong} ${deal.rawMsrp && deal.rawMsrp > deal.rawPrice ? `\x3Cspan style="color: #d0021b; text-decoration: line-through; font-weight: normal; margin-right: 4px;">was ${currencySym}${escapedMsrp}${_span} ` : ''}\x3Cspan style="color: #1f69ff; font-weight: normal;">now ${formattedPrice} at ${this.escapeHTML(deal.merchant)}${_span}`                          )                        : this.escapeHTML(deal.title)                      }                    ${_a}                  ${_h3}                  ${deal.description ? `\x3Cdiv class="tg-df-card-desc-container" style="margin-bottom: 12px; position: relative;">                    \x3Cp class="tg-df-card-desc-content" style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">${this.escapeHTML(deal.description)}${_p}                    \x3Cbutton type="button" class="tg-df-card-desc-btn" style="display: none; appearance: none; border: none; color: #000000; font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0; background: linear-gradient(to right, transparent, #fff 20%, #fff); padding: 0 0 0 16px;" onclick="                      var c = this.parentNode;                      if (this.dataset.expanded === 'true') {                        var pd = (c.tagName === 'P') ? c : this.previousElementSibling;                        if (c.tagName === 'P') { c.parentNode.appendChild(this); pd = c; }                        pd.style.display = '-webkit-box';                        pd.style.webkitLineClamp = '3';                        this.textContent = 'READ MORE';                        this.style.position = 'absolute';                        this.style.background = 'linear-gradient(to right, transparent, #fff 20%, #fff)';                        this.style.paddingLeft = '16px';                        this.dataset.expanded = 'false';                      } else {                        var pd = this.previousElementSibling;                        pd.style.display = 'inline';                        pd.style.webkitLineClamp = 'unset';                        this.textContent = 'READ LESS';                        this.style.position = 'static';                        this.style.background = 'transparent';                        this.style.paddingLeft = '4px';                        this.dataset.expanded = 'true';                        pd.appendChild(this);                      }                    ">READ MORE${_button}                  \x3C/div>` : ''}                  \x3Cdiv class="tg-df-card-footer">                    ${deal.authorName ? `                    \x3Cdiv class="tg-df-author-line-desktop" style="padding: 0 0 ${isSavingsSquadMode ? 0 : 12}px 0;">                       \x3Cdiv style="display: flex; align-items: center; gap: 10px;">                          ${deal.authorImage ? `\x3Cimg src="${this.escapeHTML(deal.authorImage)}" alt="${this.escapeHTML(deal.authorName)}" class="tg-df-author-img" width="36" height="36" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;">` : ''}                          \x3Cdiv style="display: flex; flex-direction: column;">                             \x3Cdiv style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;">Recommended by:${_div}                             \x3Cdiv style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;">                                \x3Cstrong>\x3Ca href="https://www.tomsguide.com/${this.escapeHTML(deal.documentUrl || '').replace(/^\/+/, '')}" target="_blank" rel="noopener nofollow" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">${this.escapeHTML(deal.authorName)}${_a}${_strong}                                ${deal.authorRole && !['null', 'nul', 'undefined'].includes(String(deal.authorRole).toLowerCase()) ? ` • ${this.escapeHTML(deal.authorRole)}` : ''}                                ${deal.modifiedDate ? `\x3Cspan style="color: var(--tg-df-text-muted);"> • ${getTimeAgo(deal.modifiedDate)}${_span}` : ''}                             ${_div}                          ${_div}                       ${_div}                    ${_div}                    ` : ''}                    ${priceGroupHtml}                  ${_div}                ${_div}                \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" class="tg-df-card-cta" style="text-decoration: none; border-radius: 0;">${ctaText}${_a}              ${_div}            `;                        return htmlOutput;            } catch (e) {               console.log("Error rendering deal in map for index", index, typeof deal === 'object' ? JSON.stringify(deal) : deal, "MSG:", e.message);               return '';            }          }).join('');                    if (displayDeals.length > this.displayLimit) {            dealsHtml += `              \x3Cdiv style="width: 100%; display: flex; justify-content: center; margin-top: 16px; grid-column: 1 / -1;">                \x3Cbutton type="button" class="tg-df-tag-outline tg-df-load-more" style="padding: 8px 24px; border-radius: 100px; font-weight: 600; font-size: 14px; cursor: pointer;">Load More${_button}              ${_div}            `;          }                    this.grid.innerHTML = dealsHtml;          // Inject JSON-LD          try {            let targetNode = this.hostContainer || document.head;            let jsonLdScript = targetNode.querySelector('#tg-df-json-ld-' + this.widgetId);            if (!jsonLdScript) {                jsonLdScript = document.createElement('script');                jsonLdScript.type = 'application/ld+json';                jsonLdScript.id = 'tg-df-json-ld-' + this.widgetId;                targetNode.appendChild(jsonLdScript);            }            const jsonLdData = {              "@context": "https://schema.org",              "@type": "ItemList",              "itemListElement": displayDeals.slice(0, this.displayLimit).map((deal, index) => {                 let isoCurrency = "USD";                 if (deal.currency === '£') isoCurrency = "GBP";                 else if (deal.currency === '€') isoCurrency = "EUR";                 else if (deal.currency === 'A$') isoCurrency = "AUD";                 else if (deal.currency === 'CA$') isoCurrency = "CAD";                 const areaCode = typeof this.getAreaCode === 'function' ? this.getAreaCode() : 'US';                 const revenueId = typeof generateRevenueId === 'function' ? generateRevenueId(deal.url, deal.title, deal.merchant, null) : '';                 const rewrittenLink = typeof rewriteAffiliateLink === 'function' ? rewriteAffiliateLink(deal.url, areaCode, revenueId) : deal.url;                 return {                   "@type": "ListItem",                   "position": index + 1,                   "item": {                     "@type": "Product",                     "name": deal.title,                     "image": deal.image || "",                     "description": deal.description || "",                     "brand": {                       "@type": "Brand",                       "name": deal.brand || ""                     },                     "offers": {                       "@type": "Offer",                       "priceCurrency": isoCurrency,                       "price": deal.rawPrice || 0,                       "url": rewrittenLink,                       "seller": {                         "@type": "Organization",                         "name": deal.merchant || ""                       }                     }                   }                 };              }).filter(item => item.item.name)            };            jsonLdScript.textContent = JSON.stringify(jsonLdData);          } catch(e) { console.warn("JSON-LD generation failed", e); }          setTimeout(() => {            const contents = this.root.querySelectorAll('.tg-df-card-desc-content');            contents.forEach(p => {              if (p.scrollHeight > p.clientHeight || p.scrollHeight > 60) {                if (p.nextElementSibling) {                  p.nextElementSibling.style.display = 'block';                }              }            });                        // Allow hawklinks.js to discover and rewrite our widget links             // by appending the .article-body class and manually triggering processArticle.            let container = this.root.classList.contains('tg-df-container') ? this.root : this.root.querySelector('.tg-df-container');            if (container && !container.classList.contains('article-body')) {               container.classList.add('article-body');            }            if (this.grid && !this.grid.classList.contains('article-body')) this.grid.classList.add('article-body');            document.dispatchEvent(new CustomEvent('processArticle', { detail: { element: this.root } }));          }, 50);          const loadMoreBtn = this.grid.querySelector('.tg-df-load-more');          if (loadMoreBtn) {            loadMoreBtn.addEventListener('click', () => {              if (typeof trackElementInteraction === 'function') {                trackElementInteraction({ id: 'load-more', name: 'Load more', label: 'Load More Results' });              }              this.displayLimit += this.getRowsLimit();              this.render();            });          }                      this.bindCouponButtons();            this.checkAndUpdateCoupons();          } catch(e) {            console.warn("Widget render error", e);          }        }                async checkAndUpdateCoupons() {          const wrappers = Array.from(this.root.querySelectorAll('.tg-df-coupon-wrapper'));          if (wrappers.length === 0) return;                    const merchants = [...new Set(wrappers.map(w => w.getAttribute('data-merchant')).filter(Boolean))];          if (merchants.length === 0) return;          const couponResultsMap = await this.checkMerchantsCouponsBulk(merchants);                    for (const merchant of merchants) {            const hasCoupons = !!couponResultsMap[merchant];            const merchantWrappers = wrappers.filter(w => w.getAttribute('data-merchant') === merchant);            merchantWrappers.forEach(wrapper => {              const spinner = wrapper.querySelector('.tg-df-coupon-spinner');              const btn = wrapper.querySelector('.tg-df-tag-coupons');                            if (spinner) spinner.style.display = 'none';                            if (hasCoupons && btn) {                btn.style.display = 'inline-flex';              } else if (!hasCoupons) {                wrapper.style.display = 'none';              }            });          }        }        updateFloatingCopyBar() {          if (!this.editorBar || !this.editorSelectedCount) return;          if (this.editorMode && this.selectedDeals.size > 0) {            this.editorBar.style.display = 'flex';            this.editorSelectedCount.innerText = this.selectedDeals.size;          } else {            this.editorBar.style.display = 'none';          }        }        async copySelectedDealsToCMS() {           function htmlToSlate(htmlString) {              if (!htmlString) return [{ type: 'paragraph', children: [{ text: '' }] }];              let doc;              if (typeof window !== 'undefined' && window.DOMParser) {                 doc = new DOMParser().parseFromString(htmlString, 'text/html');              } else {                 doc = document.implementation.createHTMLDocument('');                 doc.body.innerHTML = htmlString;              }                            function parseNode(node, marks = {}) {                  if (node.nodeType === 3) {                      const text = node.textContent;                      if (!text) return null;                      return { text: text, ...marks };                  }                  if (node.nodeType === 1) {                      const tagName = node.tagName.toLowerCase();                      if (tagName === 'br') {                          return { type: 'line-break', children: [{ text: '' }] };                      }                      if (tagName === 'p') {                          let children = Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                          if (children.length === 0) children.push({ text: "" });                          return { type: 'paragraph', children };                      }                      if (tagName === 'strong' || tagName === 'b') {                          const newMarks = { ...marks, bold: true };                          return Array.from(node.childNodes).map(child => parseNode(child, newMarks)).flat().filter(Boolean);                      }                      if (tagName === 'em' || tagName === 'i') {                          const newMarks = { ...marks, italic: true };                          return Array.from(node.childNodes).map(child => parseNode(child, newMarks)).flat().filter(Boolean);                      }                      if (tagName === 'a') {                          const href = node.getAttribute('href') || '';                          let children = Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                          if (children.length === 0) children.push({ text: "" });                          return {                              type: 'link',                              url: href,                              isNoFollow: (node.getAttribute('rel') || '').includes('nofollow'),                              isSponsored: (node.getAttribute('rel') || '').includes('sponsored'),                              isOpenNewTab: node.getAttribute('target') === '_blank',                              isPreventDataRewrite: false,                              children: children                          };                      }                      return Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                  }                  return null;              }                            let blocksArray = [];              let currentParagraphChildren = [];              function flushParagraph() {                  if (currentParagraphChildren.length > 0) {                      blocksArray.push({ type: 'paragraph', children: currentParagraphChildren });                      currentParagraphChildren = [];                  }              }              Array.from(doc.body.childNodes).forEach(node => {                  const parsed = parseNode(node, {});                  const parsedItems = Array.isArray(parsed) ? parsed : (parsed ? [parsed] : []);                  parsedItems.forEach(item => {                      if (item.type === 'paragraph') {                          flushParagraph();                          blocksArray.push(item);                      } else {                          currentParagraphChildren.push(item);                      }                  });              });              flushParagraph();              if (blocksArray.length === 0) {                  blocksArray = [{ type: 'paragraph', children: [{ text: '' }] }];              }              return blocksArray;           }           const blocks = [];                      this.editorCopyBtn.innerHTML = '\x3Cspan class="tg-df-coupon-spinner" style="display:inline-block; margin-right:8px; border-top-color:#fff;">' + '<' + '/span> Copying...';           for (const deal of Array.from(this.selectedDeals.values())) {              const url = deal.url;              const merchant = deal.merchant;              const title = deal.title;              const image = deal.image;              const currentPrice = deal.currency + deal.rawPrice;              const wasPrice = deal.hasWasPrice && deal.rawMsrp > deal.rawPrice ? deal.currency + deal.rawMsrp : '';                            let couponsChildren = [];              try {                  const area = this.getAreaCode();                  const apiUrl = new URL('https://search-api.fie.future.net.uk/widget.php');                  apiUrl.searchParams.append('model_name', 'Everything');                  apiUrl.searchParams.append('language', 'en-GB');                  apiUrl.searchParams.append('area', area);                  apiUrl.searchParams.append('combine_product_types', '1');                  apiUrl.searchParams.append('filter_merchant_name', merchant);                  apiUrl.searchParams.append('all_filters', 'false');                  apiUrl.searchParams.append('exclude_unlabelled', 'false');                  apiUrl.searchParams.append('include_specs', 'false');                  apiUrl.searchParams.append('sort', 'voucher');                  apiUrl.searchParams.append('distinct_merchants', 'natural');                  apiUrl.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');                  apiUrl.searchParams.append('rows', '3');                  apiUrl.searchParams.append('origin', 'widgets-clientside');                                    let res; try { res = await fetch(apiUrl.toString()); } catch (e) { return; }                  if (res.ok) {                      const data = await res.json();                      let offers = [];                      if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {                        offers = data.widget.data.offers;                      } else if (data && data.data && Array.isArray(data.data.offers)) {                        offers = data.data.offers;                      }                                            if (offers.length > 0) {                          couponsChildren.push({ text: "Also check out these coupons: ", bold: true });                          offers.slice(0, 3).forEach((offer, idx) => {                              const actualOffer = offer.offer || offer;                              const offerName = actualOffer.name || actualOffer.title || offer.model_name || offer.title || offer.name || 'Coupon';                              const linkUrl = actualOffer.link || actualOffer.url || actualOffer.offer_link || '#';                              couponsChildren.push({ type: "line-break", children: [{ text: "" }] });                              couponsChildren.push({ text: "🎟️ " });                              couponsChildren.push({                                  type: "link",                                  url: linkUrl,                                  isNoFollow: true,                                  isSponsored: false,                                  isOpenNewTab: true,                                  isPreventDataRewrite: false,                                  children: [{ text: offerName, bold: true }]                              });                          });                      }                  }              } catch (err) {                  console.warn('Failed to fetch coupons for', merchant, err);              }              let descriptionValue = [];              if (deal.text) {                 descriptionValue = htmlToSlate(deal.text);              } else {                 const dealDescriptions = [                   `Don't miss out on this fantastic deal for the ${title}. It is currently available at ${merchant} for a highly competitive price.`,                   `We've spotted an excellent price drop on the ${title}. Grab it now at ${merchant} before it's gone.`,                   `The ${title} is currently seeing a generous discount over at ${merchant}. This is a perfect time to buy if you've been holding out.`,                   `If you're in the market for the ${title}, ${merchant} has just the deal for you.`,                   `Score the ${title} for less at ${merchant} right now. This is a rare chance to save big.`,                   `Upgrade your setup with the ${title}, now available at a stellar price via ${merchant}.`                 ];                 const randomDescription = dealDescriptions[Math.floor(Math.random() * dealDescriptions.length)];                 descriptionValue = [                    { type: "paragraph", children: [{ text: randomDescription }] }                 ];              }                            if (couponsChildren.length > 0) {                 let lastBlock = descriptionValue[descriptionValue.length - 1];                 if (lastBlock && lastBlock.type === 'paragraph') {                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children.push({ text: "Also check out these coupons: ", bold: true });                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children = lastBlock.children.concat(couponsChildren);                 } else {                     descriptionValue.push({                         type: "paragraph",                         children: [                             { type: "line-break", children: [{ text: "" }] },                             { type: "line-break", children: [{ text: "" }] },                             { text: "Also check out these coupons: ", bold: true },                             { type: "line-break", children: [{ text: "" }] },                             ...couponsChildren                         ]                     });                 }              }              function normalizeCurrencyToISO(symbol) {                const map = { '£': 'GBP', '$': 'USD', 'A$': 'AUD', 'CA$': 'CAD', '€': 'EUR' };                return map[symbol] || symbol;              }              const isoCurrency = normalizeCurrencyToISO(deal.currency);              blocks.push({                 id: (window.crypto && window.crypto.randomUUID) ? window.crypto.randomUUID() : 'cms-' + Date.now() + Math.random(),                 blockTypeName: "deal",                 excludeFrom: [],                 collapsible: false,                 props: {                    description: {                       value: descriptionValue,                       touched: false,                       validationMessage: ""                    },                    image: {                       value: {                          credit: [{ type: "paragraph", children: [{ text: merchant }] }],                          dateCreated: Date.now(),                          dateModified: Date.now(),                          distribution: [],                          fileSize: 0,                          height: 1000,                          id: deal.id,                          imageRights: "",                          src: image,                          name: title + ".jpg",                          tags: [],                          width: 1000                       },                       touched: false,                       validationMessage: ""                    },                    showDealButton: { value: true, touched: false, validationMessage: "" },                    isPreferredPartner: { value: false, touched: false, validationMessage: "" },                    linkHref: { value: url, touched: false, validationMessage: "" },                    linkLabel: { value: "", touched: false, validationMessage: "" },                    linkIsNoFollow: { value: true, touched: false, validationMessage: "" },                    linkIsSponsored: { value: false, touched: false, validationMessage: "" },                    linkIsOpenNewWindow: { value: true, touched: false, validationMessage: "" },                    customPromoFlags: { value: [], touched: false, validationMessage: "" },                    showStarDeal: { value: false, touched: false, validationMessage: "" },                    savingType: { value: "none", touched: false, validationMessage: "" },                    starDealPromoFlag: { value: "", touched: false, validationMessage: "" },                    showEditorsChoice: { value: false, touched: false, validationMessage: "" },                    editorsChoiceTitle: { value: "", touched: false, validationMessage: "" },                    hawkPriceCurrency: { value: { value: isoCurrency, label: isoCurrency }, touched: false, validationMessage: "" },                    hawkPrice: { value: deal.hasWasPrice ? String(deal.rawMsrp) : String(deal.rawPrice), touched: false, validationMessage: "" },                    hawkSalePrice: { value: String(deal.rawPrice), touched: false, validationMessage: "" },                    lastCheckedPriceDate: { value: "", touched: false, validationMessage: "" },                    hawkModel: { touched: false, validationMessage: "" },                    productId: { value: "", touched: false, validationMessage: "" },                    voucherId: { value: "", touched: false, validationMessage: "" },                    brand: { value: deal.brand || merchant, touched: false, validationMessage: "" },                    productName: { value: title, touched: false, validationMessage: "" },                    label: { value: "", touched: false, validationMessage: "" },                    retailer: { value: merchant, touched: false, validationMessage: "" },                    priceCheckError: false                 },                 failedFetchError: ""              });           }           const payload = {              type: "articleBuilderPages",              data: blocks           };           const jsonStr = JSON.stringify(payload);                      if (navigator.clipboard && navigator.clipboard.writeText) {              navigator.clipboard.writeText(jsonStr).then(() => {                 this.editorCopyBtn.innerHTML = 'Copied!';                 setTimeout(() => {                    this.editorCopyBtn.innerHTML = '\x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2"><' + '/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"><' + '/path><' + '/svg> Copy to CMS';                 }, 2000);              }).catch(err => {                 console.warn('Failed to copy text: ', err);                 alert('Failed to copy deals to clipboard. See console.');              });           } else {              // Fallback              const textArea = document.createElement("textarea");              textArea.value = jsonStr;              document.body.appendChild(textArea);              textArea.focus();              textArea.select();              try {                 document.execCommand('copy');                 this.editorCopyBtn.innerHTML = 'Copied!';                 setTimeout(() => {                    this.editorCopyBtn.innerHTML = '\x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2"><' + '/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"><' + '/path><' + '/svg> Copy to CMS';                 }, 2000);              } catch (err) {                 console.warn('Fallback: Oops, unable to copy', err);                 alert('Fallback: Failed to copy deals to clipboard.');              }              document.body.removeChild(textArea);           }        }      }      // Initialize the Widget      if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', () => new DealsFinderWidget({ rootId: 'signal-deals-finder-root', rootNode: shadowRoot, hostContainer: hostContainer }));      } else {        new DealsFinderWidget({ rootId: 'signal-deals-finder-root', rootNode: shadowRoot, hostContainer: hostContainer });      }    })();  </script></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/phones/iphones/iphone-18-pro-vs-iphone-17-pro-biggest-upgrades-explained</link>
                                                                            <description>
                            <![CDATA[ The iPhone 18 Pro is here to take the baton from last year's model. Here are all the key upgrades explained. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">8xu23VXTF3Gyqa3DeissD6</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/duPb8zuLsE4XABTD4wJEqC-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 13 Sep 2026 04:15:00 +0000</pubDate>                                                                                                                                <updated>Sun, 13 Sep 2026 12:31:19 +0000</updated>
                                                                                                                                            <category><![CDATA[iPhones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                                                                <author><![CDATA[ jeff.parsons@futurenet.com (Jeff Parsons) ]]></author>                    <dc:creator><![CDATA[ Jeff Parsons ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/7z3UTGGrmSokMKxTWHmhjX.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jeff is U.K. Editor-in-Chief for Tom’s Guide looking after the day-to-day output of the site’s British contingent. &lt;/p&gt;&lt;p&gt;Rising early and heading straight for the coffee machine, Jeff loves nothing more than dialling into the zeitgeist of the day’s tech news. A journalist for over a decade, he&#039;s travelled around the world testing and reviewing any gadget he can get his hands on.&lt;/p&gt;&lt;p&gt;Before joining the team at Tom’s Guide, Jeff covered technology and science for two of the U.K.’s biggest national news sites: Metro.co.uk and the Daily Mirror. Memorable moments include getting lost in Vienna in an electric Audi, touring Lockheed Martin’s mile-long jet factory in Fort Worth and filming a Netflix documentary about Elon Musk in West London.&lt;/p&gt;&lt;p&gt;When not plugged into the current news agenda, editing or commissioning a series of articles or debating the merits of Apple vs Android, Jeff can usually be found out for a run trying to shave precious seconds off his PB. Or lifting weights in a vain attempt to offset the ageing process.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/duPb8zuLsE4XABTD4wJEqC-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[iPhone 17 Pro vs iPhone 18 Pro]]></media:description>                                                            <media:text><![CDATA[iPhone 17 Pro vs iPhone 18 Pro]]></media:text>
                                <media:title type="plain"><![CDATA[iPhone 17 Pro vs iPhone 18 Pro]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/duPb8zuLsE4XABTD4wJEqC-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-hands-on-sneaky-awesome-upgrades-but-worth-the-price-hike">iPhone 18 Pro Max</a> is the biggest, <a href="https://www.tomsguide.com/us/best-apple-iphone,review-6348.html">best iPhone</a> you can buy right now. But I've never liked the 'Max' models and always preferred the smaller, regular Pro models. Maybe it's a hangover from my time with the <a href="https://www.tomsguide.com/reviews/iphone-13-mini">iPhone 13 mini</a> or perhaps it's just that I don't like walking around with a dinner plate in my pocket for making phone calls or taking a picture.</p><p>If you're like me, you'll no doubt be wondering whether or not the <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-hands-on-sneaky-awesome-upgrades-but-worth-the-price-hike">iPhone 18 Pro</a> offers enough new features over last year's<a href="https://www.tomsguide.com/phones/iphones/apple-iphone-17-pro-review"> iPhone 17 Pro</a> to make it worth the upgrade. There are the usual upgrades, in the form of a faster processor and therefore better battery life, but what about the rest?</p><p>Well, I think photographers and gamers are going to be most impressed with this year's offering, thanks to the variable aperture integrated into the main camera and the improved vapor chamber nestled inside the iPhone 18 Pro's chassis.</p><p>Are you thinking of upgrading this year — or are you happy to stick with your current phone? Let me know in the comments. In the meantime, let's get into it. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ODm7mX"></div>                            </div>                            <script src="https://kwizly.com/embed/ODm7mX.js" async></script><h2 class="article-body__section" id="section-iphone-17-pro-vs-iphone-18-pro-specifications"><span>iPhone 17 Pro vs. iPhone 18 Pro: specifications</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>iPhone 17 Pro</strong></p></th><th  ><p><strong>iPhone 18 Pro</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Display size</strong></p></td><td  ><p>6.3 inches</p></td><td  ><p>6.3 inches</p></td></tr><tr><td class="firstcol " ><p><strong>Refresh rate</strong></p></td><td  ><p>120Hz</p></td><td  ><p>120Hz</p></td></tr><tr><td class="firstcol " ><p><strong>CPU</strong></p></td><td  ><p>A19 Pro</p></td><td  ><p>A20 Pro</p></td></tr><tr><td class="firstcol " ><p><strong>Memory</strong></p></td><td  ><p>12GB</p></td><td  ><p>12GB</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>256GB, 512GB, 1TB,</p></td><td  ><p>256GB, 512GB, 1TB, 2TB</p></td></tr><tr><td class="firstcol " ><p><strong>Cameras</strong></p></td><td  ><p>48MP main (f/1.78), 48MP ultrawide (f/2.2), 48MP telephoto with 4x optical zoom (f/2.8)</p></td><td  ><p>48MP main with /1.48, ƒ/1.8, ƒ/2.8, ƒ/4.0 variable aperture options, 48MP ultrawide, 48MP telephoto with 5x optical zoom</p></td></tr><tr><td class="firstcol " ><p><strong>Battery Size</strong></p></td><td  ><p>3,988 mAh (with SIM tray)</p></td><td  ><p>4,056 mAh (with SIM tray)</p></td></tr><tr><td class="firstcol " ><p><strong>Software</strong></p></td><td  ><p>iOS 27</p></td><td  ><p>iOS 27</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>5.91 x 2.83 x 0.34 inches (150 x 71 x 8.75 mm)</p></td><td  ><p>5.91 × 2.83 × 0.34 inches (150 x 71.9 x 8.75 mm)</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>7.20 ounces (204 grams)</p></td><td  ><p>7.44 ounces (211 grams)</p></td></tr><tr><td class="firstcol " ><p><strong>Starting price</strong></p></td><td  ><p>$1,099 / £1,099</p></td><td  ><p>$1,199 / £1,199</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-iphone-17-pro-vs-iphone-18-pro-price"><span>iPhone 17 Pro vs. iPhone 18 Pro: Price</span></h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="high" data-lazy-src="https://www.youtube-nocookie.com/embed/BZi0R_thP9M" allowfullscreen></iframe></div></div><p>Following the announcement of the iPhone 18 Pro at Apple's <a href="https://www.tomsguide.com/news/live/apple-event-live-foldable-iphone-iphone-18-pro-max-apple-watch-12-and-all-the-big-news">'Surprise and shine' event</a>, pre-orders <a href="https://www.tomsguide.com/phones/iphones/avoid-that-usd100-price-hike-how-to-save-up-to-usd885-on-your-iphone-18-pro-preorder">go live on September 12,</a> with the phone going on regular sale on September 18. Apple has quietly removed the iPhone 17 Pro from its store, so anyone looking to pick up a 17 Pro now will need to do so through carriers.</p><p>As expected, the iPhone 18 Pro arrived with a $100 / £100 price hike, putting the starting price at $1,199 / £1,099 compared to the iPhone 17 Pro's $1,099 / £1,099 starting price. </p><p>All things considered, with the <a href="https://www.tomsguide.com/computing/hardware/sk-hynix-warns-2027-will-be-worst-year-for-ram-prices-right-as-a-damning-report-reveals-something-that-will-add-fuel-to-the-price-fixing-lawsuit">ongoing RAM crisis</a> raising prices on almost every area of consumer electronics, a $100/£100 bump isn't as bad as it could have been. The question is whether or not the following upgrades are worth that much to you.</p><h2 class="article-body__section" id="section-iphone-17-pro-vs-iphone-18-pro-design-and-display"><span>iPhone 17 Pro vs. iPhone 18 Pro: Design and display</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="EPuTcyWZVdJGZNc54Ww6E9" name="iPhone 17 Pro review" alt="iPhone 17 Pro review." src="https://cdn.mos.cms.futurecdn.net/EPuTcyWZVdJGZNc54Ww6E9.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide / John Velasco)</span></figcaption></figure><p>At a glance, you might have trouble telling the iPhone 18 Pro apart from the iPhone 17 Pro. Both phones have the same ergonomic 6.3-inch form factor, a size that nicely balances usability and screen real estate. The iPhone 17 Pro made waves with its aluminum unibody design and Ceramic Shield 2 back, and the 18 Pro maintains that unified look</p><p>The most notable design shift is that Apple has shrunk the Dynamic Island by 25% for the 18 Pro, as well as increased its functionality. It takes up less screen real estate when not in use but can now show three Live Activities at once, while continuing to enable Face ID for securely unlocking the phone. It's a minor change, and probably not one that many users will worry too much about.</p><p>In all other ways, the two phones are more or less identical. The iPhone 18 Pro is a touch heavier at  7.44 ounces (211 grams) vs the 7.2 ounces (204 grams) of the iPhone 17 Pro. But with the dimensions remaining unchanged, including the camera plateau, it means you won't be forced to buy a brand new case if you do decide to upgrade.</p><p>Where you're of course going to see a change is in the color scheme. The iPhone 17 Pro is hard to miss thanks to its Cosmic Orange finish but the iPhone 18 Pro goes in for a more muted palette.</p><p>The iPhone 18 Pro (and 18 Pro Max) is available in Black, Silver, Glacier, and Burgundy. This is one extra shade compared to the iPhone 17 Pro, which comes in Cosmic Orange, Deep Blue or Silver.</p><h2 class="article-body__section" id="section-iphone-17-pro-vs-iphone-18-pro-cameras"><span>iPhone 17 Pro vs. iPhone 18 Pro: Cameras</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="HYuuDMJ2Ch2YMUKD2MbYWc" name="iPhone 18 Pro cameras" alt="iPhone 18 Pro cameras" src="https://cdn.mos.cms.futurecdn.net/HYuuDMJ2Ch2YMUKD2MbYWc.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The camera system is probably the <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-camera-upgrades-everything-we-know-about-the-new-sensor">single biggest upgrade on the iPhone 18 Pro</a> and your main reason for switching up from last year's model. While the iPhone 17 Pro boasts a phenomenal 48MP main lens with a fixed f/1.78 aperture alongside a 48MP ultrawide and 48MP telephoto, the iPhone 18 Pro is set to take mobile photography to the next level.</p><p>Apple outfitted the iPhone 18 Pro with a variable-aperture main camera. This gives users true hardware-level control over depth of field and how much light reaches the sensor, heavily outclassing the digital portrait blur we've relied on for years. In the iPhone 18 Pro camera app you'll find four stops that you can cycle through (ƒ/1.48, ƒ/1.8, ƒ/2.8 and ƒ/4.0) and you'll actually see the laser-cut blades moving above the camera lens.</p><p>This means you can manually change aperture between, for example, f/1.48 for portraits (to get more of that background blur) or go up to f/4.0 if you want all of the scene to look sharp. </p><p>There was some concern Apple was going to limit this feature to the iPhone 18 Pro Max but it's great to see the regular Pro is getting it as well.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="EHpBdnKc9CNvu4GiNaPbH9" name="iPhone 17 Pro review" alt="iPhone 17 Pro taking a photo." src="https://cdn.mos.cms.futurecdn.net/EHpBdnKc9CNvu4GiNaPbH9.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide / John Velasco)</span></figcaption></figure><p>Video mode has also been improved, with the iPhone 18 Pro letting users apply cinematic effects after capture to videos shot at up to 60 fps. In Time-lapse mode, users can now record videos in 4K and Dolby Vision HDR. Audio Mix also has new algorithms that deliver higher-quality voices and can now isolate music.</p><p>There's no doubt that if you're constantly using your iPhone for photography and want the best experience possible, you're going to want to upgrade to this year's model from the iPhone 17 Pro.</p><h2 class="article-body__section" id="section-iphone-17-pro-vs-iphone-18-pro-performance-and-battery"><span>iPhone 17 Pro vs. iPhone 18 Pro: Performance and battery</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cTmx5d63stEFmgKNszEyDo" name="iPhone 18 Pro Max gameplay" alt="iPhone 18 Pro Max" src="https://cdn.mos.cms.futurecdn.net/cTmx5d63stEFmgKNszEyDo.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The iPhone 17 Pro is no slouch, thanks to the A19 Pro chip built on a 3-nanometer process. However, the iPhone 18 Pro seems ready to blast past it thanks to Apple's next-generation A20 Pro chip, manufactured using TSMC's cutting-edge 2nm process.</p><p>We won't know for certain until we put it through our benchmarking tests, but there's sure to be some big performance gains over the 17 Pro. Apple says the 18 Pro features 50 percent more memory bandwidth than what we saw with the A19 Pro. The new 7-core GPU design is up to 40 percent faster than A19 Pro — a significant upgrade for graphics rendering and I'll come to why that matters in a moment. </p><p>The A20 Pro also features a new Dual 16-core Neural Engine, which accelerates on-device AI models and computational photography, and includes 32 total cores for double the AI processing power of A19 Pro. </p><p>Backing that processor performance is a vapor chamber that boasts three times more surface area than the one inside the iPhone 17 Pro. Apple says this new thermal management system will enable a 40 percent performance gain over last year's model.</p><p>These two improvements will manifest in two particular ways: gaming and battery life. In fact, Apple claims the 18 Pro has the same battery life as the iPhone 17 Pro Max. Again, we'll need to put it through our own battery life benchmarks to be sure, but Apple says you'll see up to 34 hours of video playback on the 18 Pro vs up to 31 on the 17 Pro.</p><p>If you use your iPhone primarily as a gaming device (and my colleague Mark tried out a demo of the upcoming Monster Hunter game on iPhone 18 Pro this week) then chances are you'll be well served by upgrading to the iPhone 18 Pro.</p><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-18-pro-software-and-apple-intelligence"><span>iPhone 18 Pro Max vs. iPhone 18 Pro: Software and Apple Intelligence</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3490px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qdS9MAp79UU3D85qwZjEV6" name="iOS 27 Siri AI" alt="iOS 27 Siri AI running on iPhone 17 Pro." src="https://cdn.mos.cms.futurecdn.net/qdS9MAp79UU3D85qwZjEV6.jpg" mos="" align="middle" fullscreen="" width="3490" height="1963" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: John Velasco / Tom's Guide)</span></figcaption></figure><p>Both the iPhone 17 Pro and the iPhone 18 Pro will have access to Apple's latest software tricks, but this year's model will run <a href="https://www.tomsguide.com/phones/iphones/ios-27-public-beta-hands-on-preview-the-new-siri-and-apple-intelligence-features-completely-changed-how-i-use-my-iphone">iOS 27</a> out of the box. The 17 Pro, meanwhile, launched with <a href="https://www.tomsguide.com/phones/iphones/ios-26-review-new-features-liquid-glass">iOS 26</a> but will be eligible for the update in the coming weeks.</p><p>The real difference lies in hardware integration for Apple Intelligence. With 12GB of RAM on both devices, the AI playing field looks level on paper. However, with the aforementioned A20 Pro's Neural Engine, we'll see a snappier response for on-device AI tasks. </p><p>And with <a href="https://www.tomsguide.com/phones/iphones/i-spent-a-week-with-siri-ai-here-are-my-honest-pros-and-cons">Siri AI</a> finally starting to hit its stride, Apple's AI offering feels like it's just starting to catch up with the competition.</p><p>However, for the most part, the 17 Pro will remain able to use almost all the AI software features Apple has to offer for at least a few more years. Access to new AI features alone isn't a big enough reason to consider upgrading.</p><h2 class="article-body__section" id="section-iphone-17-pro-vs-iphone-18-pro-final-thoughts"><span>iPhone 17 Pro vs. iPhone 18 Pro: Final thoughts</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="XEnBSEb3MMRqFRw7NPesBo" name="iPhone 18 Pro Max front" alt="iPhone 18 Pro Max" src="https://cdn.mos.cms.futurecdn.net/XEnBSEb3MMRqFRw7NPesBo.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>If you're already rocking an iPhone 17 Pro, I feel it's going to be tough to justify an upgrade based on what's already at your disposal. Apple's 2025 effort has a gorgeous 6.3-inch display, a triple 48MP camera setup, and 12GB of RAM to power Apple Intelligence. It’s an incredibly capable device that still has years of top-tier life left in it.</p><p>That said, if you’re a photographer or a gamer, I think there's enough here to make an upgrade look tempting. The variable aperture feature is, of course, the headline draw, but also think about the fact that you can now get a 2TB storage option with the iPhone 18 Pro. Yes, it's a very expensive $2,399 / £2,399 to do so, but if you're shooting a lot of 4K video or installing dozens of AAA games, then you're going to want it.</p><p>All told, the iPhone 18 Pro is an entirely predictable refresh — there's just enough newness here around the features people actually use (photography, battery life, etc) but it stops well short of a major design and features overhaul.</p><p>Of course we'll know more about the 18 Pro and how it holds up to its predecessor once we get it into the Tom's Guide benchmarking and review process. In the meantime, let me know in the comments below whether you think an iPhone 18 Pro upgrade is a must-have or if you're content to hold on to the iPhone 17 Pro for a few more years yet.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-hands-on-sneaky-awesome-upgrades-but-worth-the-price-hike">iPhone 18 Pro and Pro Max hands-on: Sneaky awesome upgrades, but worth the price hike?</a></li><li><a href="https://www.tomsguide.com/phones/iphones/iphone-duo-hands-on-apple-nailed-it-and-just-put-everyone-else-on-notice">iPhone Duo hands-on: Apple nailed it — and just put everyone else on notice</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-series-12">Apple Watch Series 12 hands-on: A new heart rate sensor and a readiness score (at last)</a></li></ul><div class="vizualizer-embed"><div class="tg-df-widget-host" data-widget-config="?search=iPhones&rows=4&view_mode=savings_squad&widget_title=Top+Deals+Handpicked+by+Our+Editors&widget_subtitle=Discover+the+best+discounts+currently+available%2C+curated+daily+by+the+Tom%27s+Guide+Savings+Squad.&bg_color=transparent" data-vizualizer-embed="true"></div>    <script>    /**     * Tom's Guide Deals Finder - Vanilla JS Encapsulated Engine     */    (function() {      // --- Freyr Analytics Adapter ---      function initAnalytics() {        window.dataLayer = window.dataLayer || [];        window.googletag = window.googletag || {};        window.googletag.cmd = window.googletag.cmd || [];        window.hawk = window.hawk || { analytics: { freyr: [] } };        window.hawk.analytics = window.hawk.analytics || { freyr: [] };        window.hawk.analytics.freyr = window.hawk.analytics.freyr || [];        window.freyr = window.freyr || { cmd: [] };        const scriptSrc = 'https://freyr.futurecdn.net/freyr.js';        const hostname = typeof window !== 'undefined' ? window.location.hostname : '';        const isTestEnv = typeof window.navigator !== 'undefined' && (window.navigator.webdriver || window.navigator.userAgent.includes('Headless'));        const shouldSendRealAnalytics = !isTestEnv && hostname && hostname !== 'localhost' && hostname !== '127.0.0.1' && !hostname.includes('run.app');        if (shouldSendRealAnalytics && !document.querySelector(`script[src="${scriptSrc}"]`)) {          const script = document.createElement('script');          script.src = scriptSrc;          script.async = true;          document.head.appendChild(script);        }      }      function storeEventForDebug(name, data) {        if (!window.hawk || !window.hawk.analytics || !window.hawk.analytics.freyr) return;        window.hawk.analytics.freyr.push({ name, data });        try {          if (typeof window !== 'undefined' && window.localStorage) {            window.localStorage.setItem("hawk", JSON.stringify(window.hawk));          }        } catch (e) {          // Ignore storage issues        }        try {          window.dispatchEvent(new CustomEvent("hawk-analytics-update"));        } catch (e) {}      }      function sendToFreyr(eventName, data) {        if (typeof window === 'undefined') return;        window.freyr = window.freyr || { cmd: [] };        window.freyr.cmd.push(() => {          if (window.freyr && window.freyr.pushAndUpdate) {            window.freyr.pushAndUpdate(eventName, data);          }        });      }      function sendEvent(event, skip = false) {        try {          storeEventForDebug(event.name, event.data);          if (!skip) {            sendToFreyr(event.name, event.data);          }        } catch (e) {          // Ensure tracking errors don't surface to the user        }      }      function getCookie(name) {        try {          const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));          return match ? match[2] : null;        } catch (e) {          return null;        }      }      function getTimeAgo(dateString) {        if (!dateString) return '';        const date = new Date(dateString);        const now = new Date();        const diffInSeconds = Math.floor((now.getTime() - date.getTime()) / 1000);        if (diffInSeconds < 60) return 'Just now';        const diffInMinutes = Math.floor(diffInSeconds / 60);        if (diffInMinutes < 60) return `${diffInMinutes} min${diffInMinutes > 1 ? 's' : ''} ago`;        const diffInHours = Math.floor(diffInMinutes / 60);        if (diffInHours < 24) return `${diffInHours} hr${diffInHours > 1 ? 's' : ''} ago`;        const diffInDays = Math.floor(diffInHours / 24);        if (diffInDays < 30) return `${diffInDays} day${diffInDays > 1 ? 's' : ''} ago`;        const diffInMonths = Math.floor(diffInDays / 30);        if (diffInMonths < 12) return `${diffInMonths} mo${diffInMonths > 1 ? 's' : ''} ago`;        const diffInYears = Math.floor(diffInDays / 365);        return `${diffInYears} yr${diffInYears > 1 ? 's' : ''} ago`;      }      function normalizeCurrency(symbol) {        const map = {          '£': 'GBP',          '$': 'USD',          'A$': 'AUD',          'CA$': 'CAD',          '€': 'EUR'        };        return map[symbol] || symbol;      }      function trackElementInteraction(props) {        sendEvent({          name: 'elementInteraction',          data: {            element: {              action: props.action || "click",              id: props.id || undefined,              class: props.class || undefined,              name: props.name || undefined,              text: props.text || undefined,              label: props.label || undefined,              container: props.container || undefined,              url: props.url || undefined,              articleId: props.articleId || undefined            }          }        });      }      function generateRevenueId(url, productName, merchantName, modelId) {        const str = `${window.location.href}|${productName}|${merchantName}|${modelId || ''}|${new Date().toDateString()}|tomsguide`;        let hash = 0;        for (let i = 0; i < str.length; i++) {          const char = str.charCodeAt(i);          hash = ((hash << 5) - hash) + char;          hash = hash & hash;        }        let numericStr = Math.abs(hash).toString();        while (numericStr.length < 19) {          numericStr += Math.floor(Math.random() * 10).toString();        }        return numericStr.substring(0, 19);      }      function rewriteAffiliateLink(url, territory, revenueId) {        if (!url) return url;        const t = (territory || 'gb').toLowerCase();        return url.replace(/hawk-custom-tracking/g, `tomsguide-${t}-${revenueId}`);      }      function trackHawkEvent(params) {        const { clickType, widgetId, productCategoryName, product, productsArray, zeroBasedProductIndexOrNull, totalDealsOrProducts, areaClicked, merchant, revenueId, isoCurrencyCode, queryName, widgetTypeName } = params;        const data = {          event: "hawkEvent",          category: "Affiliates",          affiliate: {            action: {              type: clickType,              id: widgetId,              event: clickType === "appeared" ? "viewed" : "Click from",              timestamp: Date.now()            },            component: {              flag: "Editor",              product: productCategoryName || "deals",              category: `Signal Deal Finder ${widgetTypeName || "Carousel"} widget`,              type: clickType === "appeared" ? "review" : "signal product",              label: queryName || (product ? (product.name || "") : ""),              index: zeroBasedProductIndexOrNull === null || zeroBasedProductIndexOrNull === undefined ? -1 : zeroBasedProductIndexOrNull,              linkCount: totalDealsOrProducts || 0,              blockLayout: "",              areaClicked: areaClicked || ""            }          },          products: productsArray || (product && merchant ? [            {              product: {                primary: {                  id: product.id || product.matchId || null,                  name: product.name,                  type: "deal",                  price: product.price,                  previousPrice: product.previousPrice || null,                  currency: isoCurrencyCode || "USD",                  preorder: false,                  labels: [],                  link: product.link,                  originalLink: product.originalLink || null,                  revenueId: revenueId || null,                  startTime: null,                  endTime: null,                  voucherCode: null,                  voucherAudience: null,                  voucherPercentageSaving: null,                  voucherMoneySaving: null,                  voucherType: null,                  offerExclusive: false,                  offerScope: null,                  globalId: product.globalId || null,                  inStock: product.inStock !== false,                  contractProvider: null,                  contractMinutes: null,                  contractTexts: null,                  contractData: null,                  contractLength: null,                  contractMonthlyPrice: null,                  contractCurrency: isoCurrencyCode || "USD"                }              },              merchant: {                id: merchant.id || null,                name: merchant.name,                url: merchant.url || null,                network: merchant.network || null              },              model: {                id: product.modelId || null,                brand: product.brand || null,                name: product.name,                parent: product.parent || null              }            }          ] : []),          reviews: [],          _clear: true,          "gtm.uniqueEventId": Date.now() % 10000        };        sendEvent({ name: 'hawkEvent', data });      }      function trackDealClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Product Card" });      }      function trackViewSimilarClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Product Card View Similar" });      }      function trackPriceComparisonClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Price Comparison" });      }      function trackReviewClick(params) {        trackHawkEvent({ ...params, clickType: "review", areaClicked: "Signal Product Card Review Link" });      }      function trackShare(params) {        trackHawkEvent({ ...params, clickType: "share", areaClicked: "Signal Product Card Share" });      }      function trackDealsAppeared(widgetId, deals, revenueId, currency, queryName, widgetTypeName) {         if (!deals || deals.length === 0) return;                  const productsArray = deals.slice(0, 50).map((deal) => {            let voucherPct = null;            let rawPrice = parseFloat(deal.rawPrice) || parseFloat(deal.price) || null;            let rawMsrp = parseFloat(deal.rawMsrp) || parseFloat(deal.msrp) || null;            if (rawMsrp > rawPrice && rawPrice > 0) {              voucherPct = Math.round((1 - (rawPrice / rawMsrp)) * 100);            }            let numId = null;            if (deal.externalProductId && !isNaN(parseInt(deal.externalProductId))) {              numId = parseInt(deal.externalProductId);            } else if (deal.id && !isNaN(parseInt(deal.id))) {              numId = parseInt(deal.id);            } else {              numId = deal.matchId || null;            }            return {              product: {                primary: {                  id: numId,                  name: deal.productName || deal.title || "",                  type: "deal",                  price: rawPrice,                  previousPrice: rawMsrp,                  currency: currency || 'USD',                  preorder: false,                  labels: deal.modelBrand || deal.brand ? [                     { type: "brand", value: deal.modelBrand || deal.brand }                  ] : [],                  link: deal.url,                  originalLink: deal.url,                  revenueId: revenueId || null,                  startTime: null,                  endTime: null,                  voucherCode: null,                  voucherAudience: null,                  voucherPercentageSaving: voucherPct,                  voucherMoneySaving: null,                  voucherType: null,                  offerExclusive: false,                  offerScope: null,                  globalId: deal.productKey || null,                  inStock: deal.inStock !== false,                  contractProvider: null,                  contractMinutes: null,                  contractTexts: null,                  contractData: null,                  contractLength: null,                  contractMonthlyPrice: null,                  contractCurrency: currency || 'USD'                }              },              merchant: {                id: deal.merchantId ? parseInt(deal.merchantId) : null,                name: deal.merchant || "Retailer",                url: deal.merchantUrl || null,                network: deal.merchantNetwork || null              },              model: {                id: deal.modelId ? parseInt(deal.modelId) : null,                brand: deal.modelBrand || deal.brand || null,                name: deal.productName || deal.title || "",                parent: deal.modelParent || null              }            };         });                  trackHawkEvent({             clickType: "appeared",             widgetId: widgetId,             productCategoryName: "deals",             zeroBasedProductIndexOrNull: null,             totalDealsOrProducts: deals.length,             productsArray: productsArray,             queryName: queryName,             widgetTypeName: widgetTypeName         });      }      // 1. Setup Shadow DOM Sandbox      const currentScript = document.currentScript;      let hostContainer = null;      let template = null;            if (currentScript) {        let prev = currentScript.previousElementSibling;        while (prev) {          if (prev.tagName === 'TEMPLATE' && prev.classList.contains('tg-df-widget-template')) {            template = prev;          } else if (prev.tagName === 'DIV' && prev.classList.contains('tg-df-widget-host') && !prev.hasAttribute('data-initialized')) {            hostContainer = prev;            break;          }          prev = prev.previousElementSibling;        }      }            // Fallbacks in case script is deferred      if (!hostContainer) {        const hosts = document.querySelectorAll('.tg-df-widget-host:not([data-initialized])');        if (hosts.length > 0) hostContainer = hosts[0];      }            // Safely embedded template for CMS environments      const rawTemplate = `  \x3Cstyle>    /* --- Shadow DOM Base Reset --- */    *, *::before, *::after {      box-sizing: border-box;    }    img, picture, svg, video {      max-width: 100%;      height: auto;      display: block;    }    /*       1. Scoped CSS for Tom's Guide Deals Widget       All classes are prefixed with \`tg-df-\` to prevent CMS style leakage.    */    .tg-df-container {      container-type: inline-size;      container-name: tg-df;      --tg-df-blue: #1F69FF;      --tg-df-blue-hover: #004d8c;      --tg-df-text: #222222;      --tg-df-text-muted: #555555;      --tg-df-bg: #ffffff;      --tg-df-bg-secondary: #f4f4f4;      --tg-df-border: #e2e8f0;      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;      color: var(--tg-df-text);      background-color: transparent;       width: 100%;      max-width: 1200px;      margin: 0 auto;      padding-bottom: 24px;    }    .tg-df-container *, .tg-df-container *::before, .tg-df-container *::after {      margin: 0;      padding: 0;      box-sizing: border-box;    }    .tg-df-container img {      border: none;      margin: 0;      padding: 0;    }    .tg-df-container a {      text-decoration: none;      color: inherit;    }    /*       2. Search & Filter Bar    */    .tg-df-controls {      display: flex;      flex-direction: column;      align-items: center;      gap: 20px;      margin-bottom: 32px;      width: 100%;      position: relative;      z-index: 20;    }    .tg-df-top-bar {      display: flex;      width: 100%;      max-width: 760px;      gap: 12px;      margin: 0 auto;      align-items: center;    }    .tg-df-search-wrapper {      position: relative;      flex: 1;      width: 100%;      box-shadow: 0 8px 24px rgba(0,0,0,0.06);      border-radius: 40px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      z-index: 100;    }    .tg-df-autocomplete-dropdown {      position: absolute;      top: calc(100% + 4px);      left: 0;      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      max-height: 300px;      overflow-y: auto;      z-index: 200;      display: none;    }    .tg-df-autocomplete-dropdown.active {      display: block;    }    .tg-df-autocomplete-item {      padding: 12px 24px;      cursor: pointer;      font-size: 14px;      color: var(--tg-df-text);      transition: background 0.1s ease;    }    .tg-df-autocomplete-item:hover {      background: var(--tg-df-bg-secondary);    }    .tg-df-search-input {      width: 100%;      padding: 16px 64px 16px 24px;      font-size: 16px;      border: 2px solid transparent;      border-radius: 40px;      outline: none;      transition: border-color 0.2s ease, box-shadow 0.2s ease;      color: var(--tg-df-text);      background: transparent;    }    .tg-df-search-input:focus {      border-color: transparent;      box-shadow: 0 0 0 3px rgba(0, 108, 196, 0.15);    }    .tg-df-search-input::placeholder {      color: #999999;    }        .tg-df-search-btn {      position: absolute;      right: 8px;      top: 50%;      transform: translateY(-50%);      width: 40px;      height: 40px;      border-radius: 50%;      background: #222;      border: none;      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: background 0.2s ease;    }        .tg-df-search-btn:hover {      background: #000;    }    .tg-df-search-icon {      width: 16px;      height: 16px;      fill: #fff;    }    .tg-df-settings-wrapper {      position: relative;    }        .tg-df-settings-btn {      width: 48px;      height: 48px;      border-radius: 50%;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      box-shadow: 0 4px 12px rgba(0,0,0,0.04);      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: all 0.2s ease;      color: var(--tg-df-text-muted);      flex-shrink: 0;    }    .tg-df-settings-btn:hover {      background: var(--tg-df-bg-secondary);      border-color: #0000ff;      color: var(--tg-df-text);    }    .tg-df-settings-btn svg {      width: 24px;      height: 24px;      fill: currentColor;    }    .tg-df-settings-dropdown {      position: absolute;      top: calc(100% + 8px);      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      width: 280px;      padding: 20px;      display: none;      z-index: 100;      flex-direction: column;      gap: 20px;    }    .tg-df-settings-dropdown.active {      display: flex;    }        .tg-df-settings-dropdown-backdrop {      display: none;      position: fixed;      inset: 0;      z-index: 99;    }        .tg-df-settings-dropdown-backdrop.active {      display: block;    }    .tg-df-setting-item {      display: flex;      flex-direction: column;      gap: 10px;    }    .tg-df-setting-label {      font-size: 11px;      font-weight: 700;      color: var(--tg-df-text-muted);      text-transform: uppercase;      letter-spacing: 0.5px;    }        .tg-df-region-select {        padding: 10px 12px;        border-radius: 8px;        border: 1px solid var(--tg-df-border);        font-size: 15px;        outline: none;        background: var(--tg-df-bg-secondary);        color: var(--tg-df-text);        cursor: pointer;        width: 100%;    }    .tg-df-toggle {        position: relative;        display: inline-block;        width: 44px;        height: 24px;        flex-shrink: 0;    }    .tg-df-toggle input {        opacity: 0;        width: 0;        height: 0;    }    .tg-df-slider {        position: absolute;        cursor: pointer;        top: 0; left: 0; right: 0; bottom: 0;        background-color: #ccc;        transition: .2s;        border-radius: 24px;    }    .tg-df-slider:before {        position: absolute;        content: "";        height: 18px;        width: 18px;        left: 3px;        bottom: 3px;        background-color: white;        transition: .2s;        border-radius: 50%;    }    .tg-df-toggle input:checked + .tg-df-slider {        background-color: #1F69FF;    }    .tg-df-toggle input:checked + .tg-df-slider:before {        transform: translateX(20px);    }    .tg-df-dl-row {        flex-direction: row;        align-items: center;        justify-content: space-between;    }    .tg-df-dl-row-text {        font-size: 14px;        font-weight: 600;        color: var(--tg-df-text);    }    .tg-df-dl-row-subtext {        font-size: 12px;        font-weight: 400;        line-height: 1.3;        color: var(--tg-df-text-muted);        margin-top: 4px;        display: block;    }    .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 800px;    }    .tg-df-scroll-btn {      display: none;      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 0px;    }    .tg-df-scroll-btn.right {      right: 0px;    }    @container tg-df (max-width: 768px) {      .tg-df-scroll-btn {        display: flex;        top: 22px; /* vertically center within the 44px high filter buttons */      }    }    .tg-df-filters {      display: grid;      width: 100%;      grid-template-columns: repeat(4, 1fr);      gap: 12px;      margin: 0 auto;      max-width: 800px;    }                 .tg-df-sort-wrapper {      position: relative;      display: flex;      align-items: center;      width: 100%;    }        .tg-df-sort-icon {      position: absolute;      left: 14px;      width: 14px;      height: 14px;      fill: var(--tg-df-text-muted);      pointer-events: none;    }    .tg-df-sort-select, .tg-df-filter-select {      width: 100%;      padding: 10px 36px 10px 38px;      font-size: 14px;      border: 1px solid var(--tg-df-border);      border-radius: 100px;      outline: none;      appearance: none;      background-color: var(--tg-df-bg-secondary);      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E");      background-repeat: no-repeat;      background-position: right 14px center;      color: var(--tg-df-text);      cursor: pointer;      font-weight: 500;      transition: all 0.2s ease;    }        .tg-df-price-input::-webkit-outer-spin-button,    .tg-df-price-input::-webkit-inner-spin-button {      -webkit-appearance: none;      margin: 0;    }    .tg-df-price-input {      -moz-appearance: textfield;    }    .tg-df-sort-select:hover, .tg-df-filter-select:hover {      background-color: #e2e8f0;    }    .tg-df-multiselect-container {      position: relative;    }    @container tg-df (max-width: 768px) {      .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 800px;    }    .tg-df-scroll-btn {      display: none;      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 0px;    }    .tg-df-scroll-btn.right {      right: 0px;    }    @container tg-df (max-width: 768px) {      .tg-df-scroll-btn {        display: flex;        top: 22px; /* vertically center within the 44px high filter buttons */      }    }    .tg-df-filters {        width: 100%;        margin: 0;        margin-bottom: -320px;        padding: 0 16px 320px 16px;        display: flex;        flex-wrap: nowrap;        gap: 8px;        overflow-x: auto;        overflow-y: hidden;        pointer-events: none;        scrollbar-width: none;        -webkit-overflow-scrolling: touch;      }      .tg-df-filters::-webkit-scrollbar {        display: none;      }      .tg-df-sort-wrapper {        pointer-events: auto;        flex: 0 0 auto;        width: 175px;        min-width: 175px;      }    }        .tg-df-multiselect-trigger {      display: block;      background: #fff;      user-select: none;      width: 100%;      overflow: hidden;      white-space: nowrap;      text-overflow: ellipsis;    }        .tg-df-multiselect-dropdown {      display: none;      position: absolute;      top: calc(100% + 4px);      left: 0;      width: 100%;      min-width: 220px;      max-height: 300px;      overflow-y: auto;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);      z-index: 100;      padding: 8px 0;    }    .tg-df-multiselect-dropdown.active {      display: block;    }    .tg-df-ms-option {      padding: 8px 16px;      display: flex;      align-items: center;      gap: 8px;      cursor: pointer;      font-size: 14px;    }    .tg-df-ms-option:hover {      background-color: var(--tg-df-bg-secondary);    }        .tg-df-ms-option input {      cursor: pointer;      accent-color: #1f69ff;    }    .tg-df-sort-select:focus, .tg-df-filter-select:focus {      border-color: #0000ff;      box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.2);      background-color: var(--tg-df-bg);    }    /*       3. Deal Grid Layout    */    .tg-df-grid.tg-df-grid-auto {      padding-top: 24px;    }    .tg-df-grid, .tg-df-grid.layout-grid {      display: grid;      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));      gap: 10px;    }    .tg-df-grid.layout-row {      grid-template-columns: 1fr;      gap: 16px;    }        .tg-df-grid.layout-row .tg-df-card {      flex-direction: row;      align-items: stretch;      height: auto;      box-shadow: none;      border-bottom: 1px solid var(--tg-df-border);    }    .tg-df-grid.layout-row .tg-df-card:hover {      box-shadow: none;    }    .tg-df-grid.layout-row .tg-df-card-image-box {      width: 140px;      min-width: 140px;      aspect-ratio: 3/4;      border-right: none;      padding: 16px 16px 16px 32px;    }    .tg-df-grid.layout-row .tg-df-card-body {      padding: 16px;      justify-content: space-between;    }    .tg-df-grid.layout-row .tg-df-card-title {      font-size: 15px;      margin-bottom: 16px;    }    .tg-df-grid.layout-row .tg-df-card-stars { margin-bottom: 8px; }    .tg-df-grid.layout-row .tg-df-card-footer {      flex-direction: column;      align-items: flex-start;      gap: 0;    }    .tg-df-grid.layout-row .tg-df-card-merchant-pill {      margin-bottom: 4px;    }    .tg-df-grid.layout-row .tg-df-card-price-group {      margin-bottom: 8px;    }    .tg-df-grid.layout-row .tg-df-price-group {      width: auto;    }    .tg-df-grid.layout-row .tg-df-card-cta {      width: 100%;      max-width: 200px;      padding: 10px 24px;      font-size: 13px;      flex-shrink: 0;      text-align: center;      justify-content: center;    }    /*       4. Deal Card Design    */    .tg-df-card {      position: relative;      display: flex;      flex-direction: column;      background-color: #ffffff;      border-radius: 0;      overflow: hidden;      transition: transform 0.2s ease, box-shadow 0.2s ease;      text-decoration: none;      color: inherit;      height: 100%;      box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);      border: 1px solid var(--tg-df-border);    }    .tg-df-card:hover {      box-shadow: 0 0 24px rgba(0, 0, 0, 0.12);    }    .tg-df-card-image-box {      width: 100%;      aspect-ratio: 3/4;      background-color: #f8f8f8;      display: flex;      align-items: center;      justify-content: center;      position: relative;      overflow: hidden;      padding: 32px;      flex: 0 0 auto;    }    .tg-df-card-image {      max-width: 100%;      max-height: 100%;      width: auto;      height: auto;      object-fit: contain;      mix-blend-mode: multiply; /* Helps white background images blend into secondary bg */      transition: transform 0.3s ease;    }    .tg-df-card:hover .tg-df-card-image {      transform: scale(1.05); /* Zoom in on hover */    }    .tg-df-card-discount-badge {      position: absolute;      top: 12px;      left: 12px;      background: #dc2626; /* Red */      color: #ffffff;      padding: 6px 8px;      font-size: 11px;      font-weight: 500;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      z-index: 10;    }        .tg-df-card-merchant-pill {      display: block;      padding: 0;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      color: var(--tg-df-text-muted);      margin-bottom: 8px;      white-space: nowrap;      overflow: hidden;      text-overflow: ellipsis;    }    .tg-df-card-body {      padding: 16px;      display: flex;      flex-direction: column;      flex-grow: 1;      min-width: 0;    }    .tg-df-card-badges {      display: flex;      flex-wrap: wrap;      gap: 6px;      margin-bottom: 8px;    }    .tg-df-tag {      display: inline-flex;      align-items: center;      padding: 4px 6px;      font-size: 11px;      font-weight: 700;      text-transform: uppercase;      border-radius: 4px;      gap: 4px;    }    .tg-df-tag-prime {      background-color: #00A8E1;      color: #fff;    }    .tg-df-tag-coupons {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-coupons:hover {      background-color: #e2e8f0;    }        .tg-df-tag-outline {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-outline:hover {      background-color: #e2e8f0;    }        @keyframes tg-df-spin {      0% { transform: rotate(0deg); }      100% { transform: rotate(360deg); }    }    .tg-df-coupon-spinner {      border: 2px solid #e2e8f0;      border-top: 2px solid #3b82f6;      border-radius: 50%;      width: 14px;      height: 14px;      animation: tg-df-spin 1s linear infinite;      margin: 4px 8px;      display: inline-block;    }        /* Vouchers Modal */    .tg-df-modal-backdrop {      position: fixed;      top: 0; left: 0; right: 0; bottom: 0;      background: rgba(0,0,0,0.5);      z-index: 10000;      display: flex;      align-items: center;      justify-content: center;      opacity: 0;      pointer-events: none;      transition: opacity 0.3s;    }    .tg-df-modal-backdrop.active {      opacity: 1;      pointer-events: auto;    }    .tg-df-modal {      background: #fff;      border-radius: 12px;      width: 90%;      max-width: 400px;      max-height: 80vh;      display: flex;      flex-direction: column;      box-shadow: 0 10px 40px rgba(0,0,0,0.2);      transform: translateY(20px);      transition: transform 0.3s;    }    .tg-df-modal-backdrop.active .tg-df-modal {      transform: translateY(0);    }    .tg-df-modal-header {      padding: 16px;      border-bottom: 1px solid #e2e8f0;      display: flex;      align-items: center;      justify-content: space-between;    }    .tg-df-modal-title {      font-size: 16px;      font-weight: 600;      margin: 0;    }    .tg-df-modal-close {      background: none;      border: none;      cursor: pointer;      padding: 4px;      color: #64748b;    }    .tg-df-modal-body {      padding: 16px;      overflow-y: auto;    }    .tg-df-voucher-item {      padding: 12px;      border: 1px dashed #cbd5e1;      border-radius: 8px;      margin-bottom: 10px;      background: #f8fafc;      display: flex;      align-items: center;      gap: 12px;      text-decoration: none;      color: inherit;      transition: background-color 0.2s, border-color 0.2s;    }    .tg-df-voucher-item:hover {      background: #f1f5f9;      border-color: #94a3b8;    }    .tg-df-voucher-item:last-child {      margin-bottom: 0;    }    .tg-df-voucher-logo {      width: 48px;      height: 48px;      object-fit: contain;      border-radius: 4px;      background: #fff;      border: 1px solid #e2e8f0;      flex-shrink: 0;    }    .tg-df-voucher-content {      flex: 1;      min-width: 0;    }    .tg-df-voucher-title {      font-size: 14px;      font-weight: 600;      margin: 0 0 4px 0;      line-height: 1.3;      color: #0f172a;    }    .tg-df-voucher-expiry {      font-size: 12px;      color: #64748b;      display: flex;      align-items: center;      gap: 4px;      margin-top: 6px;    }    .tg-df-voucher-code {      display: inline-flex;      align-items: center;      background: #f1f5f9;      border: 1px dashed #cbd5e1;      padding: 6px 10px;      font-family: monospace;      font-weight: 700;      font-size: 14px;      color: #0f172a;      border-radius: 4px;      margin-top: 8px;      cursor: pointer;      transition: all 0.2s ease;    }    .tg-df-voucher-code:hover {      background: #e2e8f0;      border-color: #94a3b8;    }    .tg-df-voucher-code.copied {      background: #ecfdf5;      border-color: #10b981;      color: #10b981;    }    .tg-df-voucher-cta {      display: inline-block;      margin-top: 8px;      font-size: 13px;      font-weight: 600;      color: #2563eb;      text-decoration: none;    }    .tg-df-card-title {      font-size: 15px;      font-weight: 400;      line-height: 1.4;      margin: 0 0 12px 0;      color: var(--tg-df-text);    }    .tg-df-card-footer {      margin-top: auto;      display: flex;      flex-direction: column;      width: 100%;    }    .tg-df-card-price-group {      display: flex;      flex-direction: row;      align-items: center;      gap: 8px;      margin-bottom: 12px;    }    .tg-df-card-price {      font-size: 16px;      font-weight: 700;      color: #dc2626; /* Red price */      line-height: 1;    }        .tg-df-card-msrp {      font-size: 13px;      color: var(--tg-df-text-muted);      text-decoration: line-through;    }    .tg-df-container .tg-df-card-cta {      display: flex;      align-items: center;      justify-content: center;      width: 100%;      box-sizing: border-box;      background-color: #1f69ff;      color: #ffffff;      font-size: 12px;      font-weight: 700;      text-transform: uppercase;      letter-spacing: 0.5px;      padding: 12px 16px;      border-radius: 0;      border: none;      cursor: pointer;      transition: background-color 0.2s ease;    }    .tg-df-card:hover .tg-df-card-cta,    .tg-df-card-cta:hover {      background-color: #1555cc;    }    /*       5. State & Skeleton Styles    */    .tg-df-message {      grid-column: 1 / -1;      text-align: center;      padding: 48px 24px;      color: var(--tg-df-text-muted);      font-size: 16px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;    }    @keyframes tg-df-shimmer {      0% { background-position: -200% 0; }      100% { background-position: 200% 0; }    }    .tg-df-skeleton {      background: linear-gradient(90deg, var(--tg-df-bg-secondary) 25%, #e2e8f0 50%, var(--tg-df-bg-secondary) 75%);      background-size: 200% 100%;      animation: tg-df-shimmer 1.5s infinite;      border-radius: 4px;    }    .tg-df-skeleton-img {      width: 100%;      height: 100%;      position: absolute;      top: 0; left: 0;    }        .tg-df-skeleton-text {      height: 16px;      margin-bottom: 8px;      width: 100%;    }    .tg-df-skeleton-text.short { width: 40%; }    .tg-df-skeleton-text.title { height: 20px; margin-bottom: 16px; }    /* Editor Floating Bar & Elements */    .tg-df-editor-bar {      position: sticky;      top: 120px;      z-index: 1000;      background: #111827;      color: #fff;      padding: 12px 16px;      border-radius: 8px;      margin-bottom: 16px;      display: flex;      align-items: center;      justify-content: space-between;      box-shadow: 0 4px 12px rgba(0,0,0,0.15);    }    .tg-df-editor-bar-text {      font-weight: 600;      font-size: 14px;    }    .tg-df-editor-copy-btn {      background: #10b981;      color: #fff;      padding: 6px 16px;      border: none;      border-radius: 4px;      font-weight: 600;      cursor: pointer;      display: flex;      align-items: center;      font-size: 13px;    }    .tg-df-editor-copy-btn:hover { background: #059669; }        .tg-df-deal-checkbox {      position: absolute;      top: 12px;      right: 12px;      z-index: 10;      width: 20px;      height: 20px;      cursor: pointer;      pointer-events: auto;    }    /*       6. Mobile List View (Stacks into a cleaner horizontal row/list)    */    @container tg-df (max-width: 599px) {      .tg-df-controls {        padding: 16px 16px 8px;      }            .tg-df-top-bar {        width: 100%;      }            .tg-df-settings-dropdown {        position: fixed;        top: auto;        bottom: 0;        left: 0;        right: 0;        width: 100%;        border-radius: 20px 20px 0 0;        padding: 24px;        box-shadow: 0 -8px 32px rgba(0,0,0,0.15);        z-index: 1000;        border: none;        border-top: 1px solid var(--tg-df-border);      }            .tg-df-settings-dropdown-backdrop.active {        background: rgba(0,0,0,0.4);      }            .tg-df-search-wrapper {        box-shadow: 0 0 16px rgba(0,0,0,0.08);      }                  .tg-df-sort-wrapper.tg-df-price-range-wrapper {        flex: 0 0 auto;        min-width: max-content;        width: auto;      }            .tg-df-sort-select, .tg-df-filter-select {        width: 100%;        text-align: left;        padding: 10px 24px 10px 32px;        background-position: right 8px center;        text-overflow: ellipsis;        white-space: nowrap;        overflow: hidden;      }      .tg-df-sort-icon {        left: 10px;      }      .tg-df-grid:not(.layout-grid):not(.layout-row),      .tg-df-grid.layout-row {        grid-template-columns: 1fr;        gap: 16px;      }            .tg-df-grid.tg-df-grid-auto {        padding-top: 24px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card,      .tg-df-grid.layout-row .tg-df-card {        flex-direction: row;        align-items: stretch;        height: auto;        box-shadow: none; /* simple line on mobile if preferred, or keep */        border-bottom: 1px solid var(--tg-df-border);      }      .tg-df-grid.tg-df-grid-auto .tg-df-card:hover,      .tg-df-grid.layout-row .tg-df-card:hover {        box-shadow: none;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-image-box,      .tg-df-grid.layout-row .tg-df-card-image-box {        width: 120px;        min-width: 120px;        aspect-ratio: 3/4;        border-right: none;        padding: 12px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-body,      .tg-df-grid.layout-row .tg-df-card-body {        padding: 12px;        justify-content: space-between;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-title,      .tg-df-grid.layout-row .tg-df-card-title {        font-size: 14px;        margin-bottom: 12px;      }      /* Single column mobile grid override */      .tg-df-grid.layout-grid {        grid-template-columns: 1fr;        gap: 16px;      }      .tg-df-grid.layout-grid .tg-df-card-image-box {        padding: 12px;      }      .tg-df-grid.layout-grid .tg-df-card-body {        padding: 10px;      }      .tg-df-grid.layout-grid .tg-df-card-title {        font-size: 13px;        margin-bottom: 8px;      }      .tg-df-grid.layout-grid .tg-df-card-price {        font-size: 14px;      }            .tg-df-card-footer {        flex-direction: column;        align-items: stretch;        gap: 0;        width: 100%;        min-width: 0;      }      .tg-df-card-merchant-pill {        margin-bottom: 4px;      }      .tg-df-card-price-group {        flex: 1 1 auto;        margin-bottom: 8px;      }      .tg-df-card-price {        font-size: 16px;      }      .tg-df-card-msrp {        display: block;       }      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 8px 16px;        font-size: 12px;        flex: 0 0 auto;        text-align: center;        white-space: normal;        line-height: 1.2;      }    }    .tg-df-container.is-carousel {      min-height: 760px;      background-color: #E7F0FF;      padding: 0 0 24px 0;      border-radius: 24px;      width: 100vw;      max-width: 1200px;      position: relative;      left: 50%;      transform: translateX(-50%);    }    .tg-df-container.is-carousel.hide-header-details {      min-height: 480px;    }    /*       7. Carousel View Mode    */    .tg-df-container .tg-df-carousel-host {      /* Layout is now handled by container wrapper */    }    .tg-df-container .tg-df-carousel-eyebrow {      color: #1F69FF;      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      padding: 24px 16px 0 16px;      display: none;    }    .tg-df-container .tg-df-carousel-query-title {      color: #011535;      font-size: 28px;      font-weight: 600;      padding: 0 16px 24px 16px;      line-height: 1.2;      display: none;    }    .tg-df-container .tg-df-carousel-blue-box {      background-color: transparent;      border-radius: 0;      padding: 24px 24px 0 24px;      margin: 0;      color: #1F69FF;          position: relative;      overflow: hidden;    }    .tg-df-container .tg-df-carousel-bg-circle-1 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-2 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-3 {      display: none;    }    .tg-df-container .tg-df-carousel-box-content {      position: relative;      z-index: 10;    }    .tg-df-container .tg-df-carousel-box-eyebrow {      background-color: transparent;      color: #1F69FF;      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      display: inline-block;      padding: 0;      border-radius: 0;    }    .tg-df-container .tg-df-carousel-box-title {      font-size: 28px;      font-weight: 600;      line-height: 1.2;      margin-top: 8px;      color: #1e293b;    }    .tg-df-container .tg-df-countdown-wrapper {      position: absolute;      top: 0;      right: 0;      display: flex;      flex-direction: column;      align-items: flex-end;      gap: 12px;      transform: scale(0.67);      transform-origin: top right;    }    .tg-df-container .tg-df-countdown-title {      font-size: 14px;      font-weight: 600;      color: #011535;      margin: 0;    }    .tg-df-container .tg-df-countdown-blocks {      display: flex;      gap: 16px;    }    .tg-df-container .tg-df-countdown-item {      display: flex;      flex-direction: column;      align-items: center;      gap: 4px;    }    .tg-df-container .tg-df-countdown-box {      width: 59px;      height: 59px;      background: #03FE9E;      border-radius: 15px;      display: flex;      align-items: center;      justify-content: center;    }    .tg-df-container .tg-df-countdown-num {      font-family: 'Inter', sans-serif;      font-weight: 700;      font-size: 20px;      line-height: normal;      color: #011535;    }    .tg-df-container .tg-df-countdown-label {      font-family: 'Inter', sans-serif;      font-weight: 500;      font-size: 16px;      line-height: normal;      color: #1e293b;      text-transform: uppercase;    }    .tg-df-container .tg-df-carousel-box-subtitle {      font-size: 16px;      margin-top: 8px;      font-weight: 300;      color: #1e293b;      line-height: 24px;    }    .tg-df-container .tg-df-carousel-roundels-wrapper {      position: relative;      margin-top: 24px;      margin-left: -24px;      margin-right: -24px;    }    .tg-df-container .tg-df-carousel-roundels {      display: flex;      gap: 16px;      overflow-x: auto;            scrollbar-width: none;      padding-top: 12px;      padding-bottom: 24px;      padding-left: 24px;      padding-right: 24px;      margin-left: 0;      margin-right: 0;    }        .tg-df-container .tg-df-carousel-scroll-left,    .tg-df-container .tg-df-carousel-scroll-right {      position: absolute;      top: 50%;      transform: translateY(-50%);      height: 36px;      width: 36px;      display: flex;      align-items: center;      justify-content: center;      border-radius: 50%;      background-color: #ffffff;      border: 1px solid #e2e8f0;      box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);      color: #1F69FF;      cursor: pointer;      transition: all 0.2s;      margin-top: -4px;      z-index: 20;    }    .tg-df-container .tg-df-carousel-scroll-left { left: 8px; }    .tg-df-container .tg-df-carousel-scroll-right { right: 8px; }    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left { left: 0px; }    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right { right: 0px; }    .tg-df-carousel-filters-outer { margin-left: -24px; margin-right: -24px; padding-left: 24px; padding-right: 24px; }    .tg-df-grid-wrapper { position: relative; }    @container tg-df (max-width: 599px) { .tg-df-carousel-filters-outer { margin-left: -16px; margin-right: -16px; padding-left: 16px; padding-right: 16px; } }        .tg-df-container .tg-df-carousel-scroll-left:hover,    .tg-df-container .tg-df-carousel-scroll-right:hover {      background-color: rgba(255, 255, 255, 0.6);    }    .tg-df-container .tg-df-carousel-roundels::-webkit-scrollbar {      display: none;    }    .tg-df-container .tg-df-roundel {      display: flex;      flex-direction: column;      align-items: center;      gap: 8px;      cursor: pointer;      min-width: 120px;      flex-shrink: 0;    }    .tg-df-container .tg-df-roundel-img-box {      width: 120px;      height: 120px;      border-radius: 50%;      background: white;      display: flex;      align-items: center;      justify-content: center;      overflow: hidden;      box-shadow: 0px 3px 14px 0px rgba(30, 41, 59, 0.08);      transition: box-shadow 0.2s;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px #1F69FF;    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px #1F69FF;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box img {      transform: scale(1.08);    }    .tg-df-container .tg-df-roundel-img-box img {      width: 100%;      height: 100%;      object-fit: contain;      padding: 10px;      box-sizing: border-box;      transition: transform 0.3s ease;    }    .tg-df-container .tg-df-roundel-label {      font-size: 13px;      font-weight: 400;      color: #1e293b;      text-align: center;    }    .tg-df-container .tg-df-carousel-filters-label {      font-size: 16px;      font-weight: 400;      color: #1e293b;      white-space: nowrap;      margin-right: 4px;    }    .tg-df-container .tg-df-carousel-filters-wrap {      display: flex;      align-items: center;      flex-wrap: nowrap;      gap: 8px;      margin-top: 8px;      overflow-x: auto;      scrollbar-width: none;      -webkit-overflow-scrolling: touch;      padding-bottom: 8px;      margin-left: -24px;      margin-right: -24px;      padding-left: 24px;      padding-right: 24px;    }    .tg-df-container .tg-df-carousel-filters-wrap::-webkit-scrollbar {      display: none;    }        .tg-df-container .tg-df-carousel-filter-btn img,    .tg-df-container .tg-df-carousel-filter-btn picture {      height: 20px;      width: 20px;      object-fit: contain;      object-position: center;      display: inline-flex;      align-items: center;      justify-content: center;      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn picture img {      margin-right: 0;      height: 100%;      width: 100%;    }    .tg-df-container .tg-df-carousel-filter-btn img.active-img,    .tg-df-container .tg-df-carousel-filter-btn picture:has(.active-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.inactive-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.inactive-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.active-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.active-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.active-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.active-img) {      display: inline-flex;    }    .tg-df-container .tg-df-carousel-filter-btn {      background: #ffffff;      border: 2px solid #1e293b;      color: #1e293b;      border-radius: 24px;      padding: 6px 16px;      font-size: 14px;      font-weight: 600;      cursor: pointer;      transition: all 0.2s;      flex-shrink: 0;      white-space: nowrap;    }    .tg-df-container .tg-df-carousel-filter-btn svg {      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn {      display: inline-flex;      align-items: center;    }    .tg-df-container .tg-df-carousel-filter-btn:hover {      background: #1e293b;      color: white;      border-color: #1e293b;    }    .tg-df-container .tg-df-carousel-filter-btn.active {      background: #1e293b;      color: white;      border-color: #1e293b;    }        .tg-df-grid.carousel-compact {      display: flex;      flex-wrap: nowrap;      overflow-x: auto;      gap: 16px;      padding: 16px 24px;      align-items: stretch;      scrollbar-width: none;    }    .tg-df-grid.carousel-compact::-webkit-scrollbar {      display: none;    }    .tg-df-grid.carousel-compact .tg-df-card {      flex: 0 0 auto;      width: 200px;      min-height: auto;      height: auto;      display: flex;      flex-direction: column;      border-radius: 15px;      border: none;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      overflow: visible;    }    .tg-df-grid.carousel-compact .tg-df-card-image-box {      padding: 12px;      background-color: transparent;      border-radius: 15px 15px 0 0;      height: 130px;    }    .tg-df-grid.carousel-compact .tg-df-card-image {      mix-blend-mode: normal;    }    .tg-df-grid.carousel-compact .tg-df-card-discount-badge {      border-radius: 0;      top: 0px;      left: 0px;      padding: 4px 8px;      font-size: 11px;    }    .tg-df-grid.carousel-compact .tg-df-card-body {      padding: 8px 12px 12px 12px;    }    .tg-df-grid.carousel-compact .tg-df-card-title {      font-size: 14px;      font-weight: 400;      margin-bottom: 8px;      color: #011535;    }    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):not(:has(.tg-df-tag-prime)):not(:has(.tg-df-coupon-wrapper:not([style*="none"]))) > .tg-df-card-title,    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):has(> .tg-df-card-title:first-child) > .tg-df-card-title {    }    .tg-df-grid.carousel-compact .tg-df-card-cta {      border-radius: 5px;      padding: 8px 10px;      margin-top: 4px;      background-color: #1F69FF;    }    .tg-df-grid.carousel-compact .tg-df-card-price-group {      margin-bottom: 2px;    }    .tg-df-grid.carousel-compact .tg-df-card-merchant-pill {      margin-bottom: 2px;    }    @container tg-df (max-width: 599px) {      .tg-df-container .tg-df-carousel-blue-box-title {        font-size: 24px;      }      .tg-df-container .tg-df-countdown-title {        display: none;      }      .tg-df-container .tg-df-countdown-wrapper {        position: absolute;        top: 0;        right: 0;        align-items: flex-end;        transform: scale(0.40);        transform-origin: top right;      }      .tg-df-container .tg-df-roundel {        min-width: 88px;      }      .tg-df-container .tg-df-roundel-img-box {        width: 88px;        height: 88px;      }    }    /* REPLICA BLOCK STYLES */    .tg-df-grid.layout-replica-2 { grid-template-columns: repeat(2, 1fr) !important; gap: 20px; }    .tg-df-grid.layout-replica-1 { grid-template-columns: 1fr !important; gap: 20px; }        .tg-df-container .hawk-deal-widget-container { border-bottom: 1px solid #e5e7eb; display: flex; flex-direction: column; margin: 0; padding: 20px 0; box-sizing: border-box; font-family: inherit; }    .tg-df-container .hawk-deal-widget-wrap { display: flex; flex-direction: row; align-items: flex-start; width: 100%; gap: 24px; }    .tg-df-container .hawk-deal-widget-image-container { display: flex; flex-shrink: 0; justify-content: center; width: 160px; height: 160px; align-items: center; background: white; margin-bottom: 0px; }    .tg-df-container .hawk-deal-widget-title-product-title { color: #111827; font-size: 18px; font-weight: 700; line-height: 1.4; display: inline; }    .tg-df-container .hawk-deal-widget-title-price { font-size: 18px; font-weight: 700; line-height: 1.4; white-space: nowrap; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-price-now { font-weight: 700; }    .tg-df-container .hawk-deal-widget-title-retailer-price:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-title-retailer { font-size: 18px; font-weight: 700; line-height: 1.4; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-was-price { color: #dc2626; font-size: 16px; font-weight: 500; line-height: 1.4; text-decoration: line-through; white-space: nowrap; margin-left: 8px; margin-right: 8px; }    .tg-df-container .hawk-deal-widget-text-body-container { position: relative; width: 100%; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-text-body-main { font-size: 16px; width: 100%; margin-bottom: 12px; }    .tg-df-container .hawk-deal-widget-text-body-description { display: block; font-size: 15px; margin-top: 12px; color: #4b5563; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-body-description p { margin: 0; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-cta-container { display: flex; flex-direction: column; gap: 12px; width: 100%; flex: 1; min-width: 0; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-footer { display: flex; justify-content: flex-end; width: 100%; margin-top: auto; }    .tg-df-container .hawk-deal-widget-button-wrapper { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; width: 100%; }    .tg-df-container .hawk-deal-widget-preferred-partner-wrapper { display: flex; flex-direction: row; }        @container tg-df (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @container tg-df (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-grid.layout-replica-2 { grid-template-columns: 1fr !important; }      .tg-df-grid.savings-squad-cards { grid-template-columns: 1fr !important; display: flex; flex-direction: column; }    }    .tg-df-grid.savings-squad-cards .tg-df-card-title {      -webkit-line-clamp: unset !important;      display: block !important;      overflow: visible !important;    }    @container tg-df (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: block; }      .tg-df-container .hawk-deal-widget-image-container { display: block; float: left; margin: 0 16px 8px 0; width: 120px; max-width: 120px; height: auto; align-items: normal; justify-content: normal; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: block; text-align: left; }      .tg-df-container .hawk-deal-widget-footer { display: block; margin-top: 16px; clear: both; width: 100%; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: block; width: 100%; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: block; width: 100%; }      .tg-df-container .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; max-width: none !important; width: 100% !important; margin: 0 !important; }    }        .tg-df-container .hawk-affiliate-link-deal-button {       align-items: center; background-color: #1f69ff; box-sizing: border-box; color: #ffffff !important; display: flex; font-size: 14px; font-weight: 700; justify-content: center; letter-spacing: 0.5px; line-height: 1; min-width: 160px; padding: 14px 24px; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; word-break: normal; border-radius: 4px; border: 0; transition: background-color 0.2s;     }    .tg-df-container .hawk-affiliate-link-deal-button:hover { background-color: #0056e0; text-decoration: none; }    .tg-df-container .hawk-lazy-image-deal-widget { display: block; height: auto; margin: auto; max-height: 160px; max-width: 100%; mix-blend-mode: multiply; object-fit: contain; }    .tg-df-container .hawk-deal-widget-text-cta-container a { color: #2563eb; text-decoration: none; display: inline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:has(.hawk-deal-widget-title-product-title) { color: #111827; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-product-title,    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-retailer-price { text-decoration: underline; }    .tg-df-savings-squad-header { margin-bottom: 24px; text-align: center; display: none; }    .tg-df-banner-img-desktop { display: block; width: 100%; height: auto; margin-bottom: 32px; }    .tg-df-banner-img-mobile { display: none; width: 100%; height: auto; margin-bottom: 32px; }    @container tg-df (max-width: 600px) {      .tg-df-banner-img-desktop { display: none; }      .tg-df-banner-img-mobile { display: block; }    }    .tg-df-header-title { font-size: 28px; font-weight: 700; color: var(--tg-df-text); margin: 32px 0 12px 0; line-height: 1.3; }    .tg-df-header-subtitle { font-size: 16px; color: var(--tg-df-text-muted); margin: 0 0 32px 0; line-height: 1.5; }  \x3C/style>  \x3C!-- Widget Container --\x3E  \x3Cdiv class="tg-df-container" id="signal-deals-finder-root">    \x3Cdiv class="tg-df-savings-squad-header" id="tg-df-savings-squad-header">      \x3Cpicture>        \x3Cimg src="https://cdn.mos.cms.futurecdn.net/flexiimages/xkh2og7m3d1778189998.png" alt="Deals Banner" class="tg-df-banner-img-desktop" />        \x3Cimg src="https://cdn.mos.cms.futurecdn.net/flexiimages/gmak6rtdf41778245089.png" alt="Deals Banner Mobile" class="tg-df-banner-img-mobile" />      \x3C/picture>      \x3Cdiv class="tg-df-header-text">        \x3Ch2 class="tg-df-header-title" id="tg-df-header-title">Editor's Choice Deals\x3C/h2>        \x3Cp class="tg-df-header-subtitle" id="tg-df-header-subtitle">Discover the best discounts currently available, curated daily by the Tom's Guide Savings Squad.\x3C/p>      \x3C/div>    \x3C/div>    \x3C!-- Editor Floating Bar --\x3E    \x3Cdiv class="tg-df-editor-bar" id="tg-df-editor-bar" style="display:none;">      \x3Cdiv class="tg-df-editor-bar-text" style="display: flex; align-items: center;">        \x3Cspan id="tg-df-selected-count">0\x3C/span>\x26nbsp;Deals Selected        \x3Cbutton class="tg-df-editor-clear-btn" id="tg-df-editor-clear" type="button" style="margin-left: 12px; font-size: 13px; color: #9ca3af; background: none; border: none; cursor: pointer; text-decoration: underline;">Clear All\x3C/button>      \x3C/div>      \x3Cbutton class="tg-df-editor-copy-btn" id="tg-df-editor-copy" type="button">        \x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2">\x3C/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1">\x3C/path>\x3C/svg>        Copy to CMS      \x3C/button>    \x3C/div>    \x3Cdiv class="tg-df-carousel-host" id="tg-df-carousel-host" style="display: none;">      \x3Cdiv class="tg-df-carousel-eyebrow">DEAL FINDER\x3C/div>      \x3Cdiv class="tg-df-carousel-query-title" id="tg-df-carousel-title-label">Best Deals\x3C/div>            \x3Cdiv class="tg-df-carousel-blue-box">        \x3Cdiv class="tg-df-carousel-bg-circle-1" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-bg-circle-2" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-bg-circle-3" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-box-content">          \x3Cdiv class="tg-df-countdown-wrapper" id="tg-df-countdown-wrapper" style="display:none;">            \x3Cdiv class="tg-df-countdown-title" id="tg-df-countdown-title">Prime Day starts in\x3C/div>            \x3Cdiv class="tg-df-countdown-blocks">              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-days">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">DAYS\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-hrs">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">HRS\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-min">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">MIN\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-sec">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">SEC\x3C/div>\x3C/div>            \x3C/div>          \x3C/div>          \x3Cdiv class="tg-df-carousel-box-eyebrow">DEAL FINDER\x3C/div>          \x3Cdiv class="tg-df-carousel-box-title">Find Deals Fast\x3C/div>          \x3Cdiv class="tg-df-carousel-box-subtitle">The latest deals from the biggest retailers, all in one place\x3C/div>                    \x3Cdiv class="tg-df-carousel-roundels-wrapper">          \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-roundels').scrollBy({left: -200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>          \x3Cdiv class="tg-df-carousel-roundels">                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Televisions" data-pr="all">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/wcMxTsHgqu3roMbAx7RLnT-132-100.png" alt="TVs" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">TVs\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Phones" data-pr="over50">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/G3KGaRGzj24F6PUsw4bWpT-132-100.png" alt="Phones" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Phones\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Computing" data-pr="all">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/znNvsLzx8NEgNkD9HSFSnT-132-100.png" alt="Computing" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Computing\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Gaming" data-pr="all">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/Pgew8yaRQeZFHqHjTzvBnT-132-100.png" alt="Gaming" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Gaming\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Mattresses" data-pr="over500">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/cW7xsaLyesxkHFVSiC4kmT-132-100.png" alt="Mattresses" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Mattresses\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Audio" data-pr="over30">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/pCvBVHuhaQVjKt3VgCjbqT-132-100.png" alt="Audio" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Audio\x3C/span>            \x3C/div>                  \x3C/div>        \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" onclick="this.parentElement.querySelector('.tg-df-carousel-roundels').scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>        \x3C/div>        \x3C/div>        \x3Cdiv class="tg-df-carousel-filters-outer" style="position: relative;">          \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-filters-wrap').scrollBy({left: -200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>          \x3Cdiv class="tg-df-carousel-filters-wrap">                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="0">All\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-ot="amazon_lightning">              \x3Cimg src="https://cdn.mos.cms.futurecdn.net/HqAui7w97ft2NPqBtQ5r38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/yWPQ5yyQRhUwVKzGwYbh38-600-100.png" class="active-img" alt="" /> Lightning deals\x3C/button>            \x3Cbutton class="tg-df-carousel-filter-btn" data-ot="amazon_prime">              \x3Cimg src="https://cdn.mos.cms.futurecdn.net/fwoVXvL79turN3Ph535m38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/u75QjVpt3w2EsMimJiRo38-600-100.png" class="active-img" alt="" /> Prime deals\x3C/button>            \x3Cbutton class="tg-df-carousel-filter-btn" data-d="10">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 10% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="15">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 15% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="25">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 25% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-pr="under50">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-badge-dollar-sign">\x3Cpath d="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z">\x3C/path>\x3Cpath d="M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8">\x3C/path>\x3Cpath d="M12 18V6">\x3C/path>\x3C/svg>            Under $50\x3C/button>        \x3C/div>        \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-filters-wrap').scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>      \x3C/div>    \x3C/div>    \x3C/div>      \x3C!-- Search & Filter Controls --\x3E      \x3Cdiv class="tg-df-top-bar" id="tg-df-top-bar" style="position: relative; z-index: 100; margin: 0 auto 20px;">        \x3Cdiv class="tg-df-search-wrapper">          \x3Cinput type="text" class="tg-df-search-input" placeholder="Search for deals, products, or brands...">          \x3Cbutton type="button" class="tg-df-search-btn" aria-label="Search">              \x3Csvg class="tg-df-search-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">                \x3Cpath d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>              \x3C/svg>          \x3C/button>          \x3Cdiv class="tg-df-autocomplete-dropdown" id="tg-df-autocomplete">\x3C/div>        \x3C/div>      \x3C/div>    \x3Cdiv class="tg-df-controls" id="tg-df-controls" style="display:flex;">              \x3Cdiv class="tg-df-filters-container" style="position: relative; width: 100%; max-width: 800px; margin: 0 auto;">          \x3Cbutton class="tg-df-scroll-btn left" style="display: none;" onclick="this.parentElement.querySelector('.tg-df-filters').scrollBy({left: -200, behavior: 'smooth'})">            \x3Csvg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">\x3Cpath d="M15 18l-6-6 6-6"/>\x3C/svg>          \x3C/button>          \x3Cbutton class="tg-df-scroll-btn right" style="display: none;" onclick="this.parentElement.querySelector('.tg-df-filters').scrollBy({left: 200, behavior: 'smooth'})">            \x3Csvg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">\x3Cpath d="M9 18l6-6-6-6"/>\x3C/svg>          \x3C/button>          \x3Cdiv class="tg-df-filters">          \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-category-filter-wrapper" style="display: none;">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-category-filter" aria-label="Category">            \x3Coption value="all">All Categories\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper tg-df-multiselect-container" id="tg-df-brand-filter-wrapper" style="display:none;">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39A.998.998 0 0 0 18.95 4H5.04c-.83 0-1.3.95-.79 1.61z"/>          \x3C/svg>          \x3Cdiv class="tg-df-filter-select tg-df-multiselect-trigger" id="tg-df-brand-trigger" tabindex="0">            Any Brand          \x3C/div>          \x3Cdiv class="tg-df-multiselect-dropdown" id="tg-df-brand-dropdown">            \x3C!-- Populated via script --\x3E          \x3C/div>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper tg-df-price-range-wrapper" id="tg-df-custom-price-wrapper" style="display: flex; align-items:center; justify-content:center; padding: 10px 20px; gap: 8px; border: 1px solid var(--tg-df-border); border-radius: 100px; background-color: var(--tg-df-bg);">          \x3Cspan style="font-size:14px; font-weight:500; color:var(--tg-df-text-primary);">Price\x3C/span>          \x3Cinput type="number" class="tg-df-price-input" id="tg-df-custom-price-min" placeholder="Min" style="width: 48px; background: transparent; border: none; color: var(--tg-df-text-primary); outline: none; font-size: 14px; text-align: center; padding: 0;">          \x3Cspan style="color:var(--tg-df-text-muted)">-\x3C/span>          \x3Cinput type="number" class="tg-df-price-input" id="tg-df-custom-price-max" placeholder="Max" style="width: 48px; background: transparent; border: none; color: var(--tg-df-text-primary); outline: none; font-size: 14px; text-align: center; padding: 0;">        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-legacy-price-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-price-filter" aria-label="Filter Prices">            \x3Coption value="all">All Prices\x3C/option>            \x3Coption value="under50">Under $50\x3C/option>            \x3Coption value="50_100">$50 - $100\x3C/option>            \x3Coption value="100_200">$100 - $200\x3C/option>            \x3Coption value="200_500">$200 - $500\x3C/option>            \x3Coption value="over500">Over $500\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-discount-filter-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">            \x3Cpath d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-discount-filter" aria-label="Discount Amount">            \x3Coption value="all">Any discount\x3C/option>            \x3Coption value="5">Min 5%\x3C/option>            \x3Coption value="10">Min 10%\x3C/option>            \x3Coption value="15">Min 15%\x3C/option>            \x3Coption value="20">Min 20%\x3C/option>            \x3Coption value="25">Min 25%\x3C/option>            \x3Coption value="30">Min 30%\x3C/option>            \x3Coption value="40">Min 40%\x3C/option>            \x3Coption value="50">Min 50%\x3C/option>            \x3Coption value="60">Min 60%\x3C/option>            \x3Coption value="70">Min 70%\x3C/option>          \x3C/select>          \x3C/div>        \x3C/div>        \x3C/div>      \x3C/div>    \x3C!-- Deals Grid Wrapper --\x3E    \x3Cdiv class="tg-df-grid-wrapper tg-df-carousel-cards-wrapper" id="tg-df-grid-wrapper">      \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('#tg-df-grid').scrollBy({left: -200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>      \x3Cdiv class="tg-df-grid" id="tg-df-grid">        \x3C!-- Content populated by JavaScript --\x3E      \x3C/div>      \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" style="display:none;" onclick="this.parentElement.querySelector('#tg-df-grid').scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>    \x3C/div>        \x3C!-- Vouchers Modal --\x3E    \x3Cdiv class="tg-df-modal-backdrop" id="tg-df-vouchers-modal">      \x3Cdiv class="tg-df-modal">        \x3Cdiv class="tg-df-modal-header">          \x3Ch3 class="tg-df-modal-title" id="tg-df-vouchers-title">Available Coupons & Deals\x3C/h3>          \x3Cbutton class="tg-df-modal-close" id="tg-df-vouchers-close">            \x3Csvg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">              \x3Cline x1="18" y1="6" x2="6" y2="18">\x3C/line>              \x3Cline x1="6" y1="6" x2="18" y2="18">\x3C/line>            \x3C/svg>          \x3C/button>        \x3C/div>        \x3Cdiv class="tg-df-modal-body" id="tg-df-vouchers-content">          \x3C!-- Vouchers injected here --\x3E        \x3C/div>      \x3C/div>    \x3C/div>  \x3C/div>`;      if (!template) {        template = document.createElement('template');        template.innerHTML = rawTemplate;      }      let shadowRoot = null;      if (hostContainer && template) {        hostContainer.setAttribute('data-initialized', 'true');        shadowRoot = hostContainer.attachShadow({ mode: 'open' });        shadowRoot.appendChild(template.content.cloneNode(true));      }      class DealsFinderWidget {        constructor(config) {          this.rootNode = config.rootNode || document;          this.hostContainer = config.hostContainer || null;          this.rootId = config.rootId || 'signal-deals-finder-root';          this.root = this.rootNode.querySelector('#' + this.rootId);          if (!this.root) return;          this.widgetId = (window.crypto && window.crypto.randomUUID) ? window.crypto.randomUUID() : 'widget-' + Date.now() + '-' + Math.random().toString(36).slice(2);          this.grid = this.root.querySelector('#tg-df-grid');          this.tagsContainer = this.root.querySelector('#tg-df-tags-container');          this.categoryFilter = this.root.querySelector('#tg-df-category-filter');          this.categoryFilterWrapper = this.root.querySelector('#tg-df-category-filter-wrapper');          this.searchInput = this.root.querySelector('.tg-df-search-input');          this.autocompleteDropdown = this.root.querySelector('#tg-df-autocomplete');          this.sortSelect = this.root.querySelector('.tg-df-sort-select');          this.searchBtn = this.root.querySelector('.tg-df-search-btn');                    this.settingsToggle = this.root.querySelector('#tg-df-settings-toggle');          this.settingsPanel = this.root.querySelector('#tg-df-settings-panel');          this.settingsBackdrop = this.root.querySelector('#tg-df-settings-backdrop');          this.regionSelect = this.root.querySelector('#tg-df-region-select');          this.retailerSelect = this.root.querySelector('#tg-df-retailer-select');          this.offerTypeSelect = this.root.querySelector('#tg-df-offer-type-select');          this.viewModeSelect = this.root.querySelector('#tg-df-view-mode-select');          this.rowsSelect = this.root.querySelector('#tg-df-rows-select');          this.dealModeToggle = this.root.querySelector('#tg-df-deal-mode');          this.editorModeToggle = this.root.querySelector('#tg-df-editor-mode');          this.priceFilter = this.root.querySelector('#tg-df-price-filter');          this.discountFilter = this.root.querySelector('#tg-df-discount-filter');                    this.editorBar = this.root.querySelector('#tg-df-editor-bar');          this.editorSelectedCount = this.root.querySelector('#tg-df-selected-count');          this.editorCopyBtn = this.root.querySelector('#tg-df-editor-copy');          this.editorClearBtn = this.root.querySelector('#tg-df-editor-clear');                    this.apiUrl = 'https://search-api.fie.future.net.uk/widget.php';          this.deals = [];          this.displayLimit = 12;          this.airedaleArticles = null;          this.airedaleTags = [];          this.airedaleTagCounts = {};          this.activeDealTag = null;          this.selectedBrands = [];          this.currentQuery = '';          this.editorMode = this.hostContainer ? this.hostContainer.hasAttribute('data-editor-mode') : false;          this.viewModeOverride = this.hostContainer ? this.hostContainer.getAttribute('data-view-mode') : null;          this.selectedDeals = new Map();                    this.brandFilterWrapper = this.root.querySelector('#tg-df-brand-filter-wrapper');          this.brandTrigger = this.root.querySelector('#tg-df-brand-trigger');          this.brandDropdown = this.root.querySelector('#tg-df-brand-dropdown');                    this.customPriceWrapper = this.root.querySelector('#tg-df-custom-price-wrapper');          this.customPriceMin = this.root.querySelector('#tg-df-custom-price-min');          this.customPriceMax = this.root.querySelector('#tg-df-custom-price-max');          this.legacyPriceWrapper = this.root.querySelector('#tg-df-legacy-price-wrapper');          this.discountFilterWrapper = this.root.querySelector('#tg-df-discount-filter-wrapper');          this.initResizeObserver();          this.init();        }        getViewMode() {          console.log("DEBUG getViewMode -> override:", this.viewModeOverride, "editorMode:", this.editorMode);          if (this.viewModeOverride && (!this.editorMode || !this.viewModeSelect)) {            return this.viewModeOverride;          }          return (this.viewModeSelect && this.viewModeSelect.value) ? this.viewModeSelect.value : (this.viewModeOverride || 'auto');        }        applyLayoutMode() {          if (!this.grid) return;          const mode = this.getViewMode();          console.log("[DEBUG] applyLayoutMode CALLED! mode=", mode);          this.grid.classList.remove('layout-row', 'layout-grid', 'tg-df-grid-auto', 'carousel-compact', 'layout-replica-1', 'layout-replica-2');                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          const showHeaderDetails = params.get('show_header_details') !== 'false';          const carouselHost = this.root.querySelector('#tg-df-carousel-host');          const controlsDiv = this.root.querySelector('#tg-df-controls');          const topBarDiv = this.root.querySelector('#tg-df-top-bar');          const headerElement = this.root.querySelector('#tg-df-savings-squad-header');          if (headerElement) {             headerElement.style.display = (mode === 'savings_squad' && showHeaderDetails) ? 'block' : 'none';          }          if (mode === 'carousel') {             this.grid.classList.add('carousel-compact');             if (carouselHost) carouselHost.style.display = 'block';             if (controlsDiv) controlsDiv.style.display = 'none';             if (topBarDiv) topBarDiv.style.display = 'none';             if (this.root.classList.contains('tg-df-container')) {               this.root.classList.add('is-carousel');             }          } else {             if (carouselHost) carouselHost.style.display = 'none';             if (controlsDiv) controlsDiv.style.display = 'flex';             if (topBarDiv) topBarDiv.style.display = 'block';             if (this.root.classList.contains('tg-df-container')) {               this.root.classList.remove('is-carousel');             }          }          if (mode === 'grid') {            this.grid.classList.add('layout-grid');          } else if (mode === 'row') {            this.grid.classList.add('layout-row');          } else if (mode === 'savings_squad') {            this.grid.classList.add('tg-df-grid-auto', 'savings-squad-cards');          } else if (mode !== 'carousel') {            this.grid.classList.add('tg-df-grid-auto');          }                    const settingsWrapper = this.root.querySelector('.tg-df-settings-wrapper');          if (settingsWrapper) {            settingsWrapper.style.display = mode === 'auto' ? 'none' : 'block';          }          if (this.customPriceWrapper) {             this.customPriceWrapper.style.display = mode === 'auto' ? 'flex' : 'none';          }          if (this.legacyPriceWrapper) {             this.legacyPriceWrapper.style.display = mode === 'auto' ? 'none' : 'flex';          }          if (this.discountFilterWrapper) {             this.discountFilterWrapper.style.display = mode === 'auto' ? 'none' : 'flex';          }        }        initResizeObserver() {          try {            if (window.parent === window) return;          } catch (e) {            // cross origin frame check threw          }          const emitHeight = () => {            try {              const height = document.documentElement.scrollHeight || document.body.scrollHeight;              const msg = { type: 'embed-size', height: height };              if (window.parent && window.parent !== window) {                window.parent.postMessage(msg, '*');                window.parent.postMessage(JSON.stringify({ ...msg, sentinel: 'amp' }), '*');              }            } catch (e) {}          };                    if (window.ResizeObserver) {            try {              const ro = new ResizeObserver(() => emitHeight());              ro.observe(document.body);              if (this.root) ro.observe(this.root);            } catch(e){ console.warn(e); }          }          window.addEventListener('resize', emitHeight);          setTimeout(emitHeight, 300);        }        initCountdown() {          this.cdWrapper = this.root.querySelector('#tg-df-countdown-wrapper');                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          this.showCountdown = params.get('show_countdown') === 'true';          const showHeaderDetails = params.get('show_header_details') !== 'false';          const eyebrow = this.root.querySelector('.tg-df-carousel-box-eyebrow');          const title = this.root.querySelector('.tg-df-carousel-box-title');          const subtitle = this.root.querySelector('.tg-df-carousel-box-subtitle');          if (!showHeaderDetails) {            let containerElement = this.root.classList.contains('tg-df-container') ? this.root : this.root.querySelector('.tg-df-container');            if (containerElement) containerElement.classList.add('hide-header-details');            if (eyebrow) eyebrow.style.display = 'none';            if (title) title.style.display = 'none';            if (subtitle) subtitle.style.display = 'none';          }          if (!this.cdWrapper) return;          this.cdTitle = this.root.querySelector('#tg-df-countdown-title');          this.cdDays = this.root.querySelector('#tg-df-cd-days');          this.cdHrs = this.root.querySelector('#tg-df-cd-hrs');          this.cdMin = this.root.querySelector('#tg-df-cd-min');          this.cdSec = this.root.querySelector('#tg-df-cd-sec');          this.updateCountdown();          this.cdInterval = setInterval(() => this.updateCountdown(), 1000);        }        updateCountdown() {          if (!this.cdWrapper) return;          if (!this.showCountdown) {            this.cdWrapper.style.display = 'none';            return;          }          const area = this.getAreaCode();          let offset = '-04:00';          if (['DE', 'FR', 'IT', 'ES', 'NL'].includes(area)) {             offset = '+02:00';          } else if (['GB', 'IE', 'UK'].includes(area)) {             offset = '+01:00';          }          const startTime = new Date('2026-06-23T00:00:00' + offset).getTime();          const endTime = new Date('2026-06-26T00:00:00' + offset).getTime();          const now = Date.now();          let targetTime = 0;          if (now < startTime) {             targetTime = startTime;             if (this.cdTitle) this.cdTitle.textContent = 'Prime Day starts in';             this.cdWrapper.style.display = 'flex';          } else if (now < endTime) {             targetTime = endTime;             if (this.cdTitle) this.cdTitle.textContent = 'Prime Day ends in';             this.cdWrapper.style.display = 'flex';          } else {             this.cdWrapper.style.display = 'none';             if (this.cdInterval) clearInterval(this.cdInterval);             return;          }          const diff = Math.max(0, targetTime - now);          const d = Math.floor(diff / (1000 * 60 * 60 * 24));          const h = Math.floor((diff / (1000 * 60 * 60)) % 24);          const m = Math.floor((diff / 1000 / 60) % 60);          const s = Math.floor((diff / 1000) % 60);          if (this.cdDays) this.cdDays.textContent = d;          if (this.cdHrs) this.cdHrs.textContent = h;          if (this.cdMin) this.cdMin.textContent = m;          if (this.cdSec) this.cdSec.textContent = s;        }        init() {          this.initCountdown();          try {            initAnalytics();          } catch (e) {            console.warn('Deals Widget Analytics Error:', e);          }                    this.bindEvents();                    let initialQuery = '';                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          let initialViewMode = params.get('view_mode');          if (!this.viewModeOverride && initialViewMode) {            this.viewModeOverride = initialViewMode;          }          if (!params.has('search') && !params.has('q') && !params.has('query') && initialViewMode !== 'savings_squad') {             initialQuery = 'Gaming laptops';          }          const website = params.get('website') || 'tomsguide';          this.website = website;          if (website === 'techradar') {            const squadHeader = this.root.querySelector('.tg-df-savings-squad-header');            if (squadHeader) {               const pic = squadHeader.querySelector('picture');               if (pic) pic.style.display = 'none';            }            const style = document.createElement('style');            style.innerHTML = `              .tg-df-container .hawk-affiliate-link-deal-button, .tg-df-container .tg-df-card-cta { background-color: #5DAF08 !important; }              .tg-df-container .hawk-affiliate-link-deal-button:hover, .tg-df-container .tg-df-card-cta:hover { background-color: #4a8c06 !important; }            `;            this.root.appendChild(style);          }                    if (this.regionSelect) {            this.regionSelect.value = params.get('region') || 'auto';            this.updatePriceDropdownCurrency();          }                    if (this.retailerSelect && params.has('retailer')) {            this.retailerSelect.value = params.get('retailer');          }                    if (params.has('brands')) {            const b = params.get('brands');            if (b) {              this.selectedBrands = b.split(',');            }          }                    if (this.offerTypeSelect && params.has('offer_type')) {            this.offerTypeSelect.value = params.get('offer_type');          }          if (this.viewModeSelect && params.has('view_mode')) {            this.viewModeSelect.value = params.get('view_mode');          }          if (this.rowsSelect && params.has('rows')) {            this.rowsSelect.value = params.get('rows');          }          if (params.has('price')) {            const priceVal = params.get('price');            if (this.priceFilter) {               // Try assigning it directly to select. If it's not present implicitly ignores               this.priceFilter.value = priceVal;            }            if (priceVal.includes('_')) {               const parts = priceVal.split('_');               if (this.customPriceMin && parts[0]) this.customPriceMin.value = parts[0];               if (this.customPriceMax && parts[1]) this.customPriceMax.value = parts[1];            }          }          if (this.discountFilter && params.has('min_discount_ratio')) {            // Need to convert back from ratio (e.g. 0.8) to select value (e.g. "20")            const ratioStr = params.get('min_discount_ratio');            const ratioFloat = parseFloat(ratioStr);            if (!isNaN(ratioFloat)) {               const percentage = Math.round((1 - ratioFloat) * 100);               this.discountFilter.value = percentage.toString();            }          }          if (this.sortSelect) {            this.sortSelect.value = params.get('sort') || 'date_desc';          }          if (this.dealModeToggle && params.has('deal_mode')) {            this.dealModeToggle.checked = params.get('deal_mode') === 'true' || params.get('deal_mode') === '1';          }          const headerTitleEl = this.root.querySelector('#tg-df-header-title');          const headerSubtitleEl = this.root.querySelector('#tg-df-header-subtitle');          if (params.has('widget_title') && headerTitleEl) {             headerTitleEl.textContent = params.get('widget_title');          }          if (params.has('widget_subtitle') && headerSubtitleEl) {             headerSubtitleEl.textContent = params.get('widget_subtitle');          }                    // Re-apply layout after params have updated control values          this.applyLayoutMode();                    if (params.get('search')) {            initialQuery = params.get('search');          } else if (params.get('q')) {            initialQuery = params.get('q');          } else if (params.get('query')) {            initialQuery = params.get('query');          }                    this.currentQuery = initialQuery;          if (this.searchInput) {            if (this.getViewMode() === 'savings_squad') {              this.searchInput.value = '';            } else {              this.searchInput.value = this.currentQuery;            }          }                    if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {            this.fetchDeals(this.currentQuery);          } else {            this.render();          }        }        updatePriceDropdownCurrency() {          if (!this.priceFilter || !this.regionSelect) return;          const currencySymbols = {            'US': '$',            'GB': '£',            'CA': '$CA',            'AU': '$AU',            'DE': '€',            'FR': '€',            'IT': '€',          };          const area = this.getAreaCode();          const cur = currencySymbols[area || 'US'] || '$';                    const options = this.priceFilter.options;          for (let i = 0; i < options.length; i++) {            const opt = options[i];            if (opt.value === 'all') {              opt.innerText = 'All Prices';            } else if (opt.value === 'under50') {              opt.innerText = `Under ${cur}50`;            } else if (opt.value === '50_100') {              opt.innerText = `${cur}50 - ${cur}100`;            } else if (opt.value === '100_200') {              opt.innerText = `${cur}100 - ${cur}200`;            } else if (opt.value === '200_500') {              opt.innerText = `${cur}200 - ${cur}500`;            } else if (opt.value === 'over500') {              opt.innerText = `Over ${cur}500`;            }          }        }        populateBrandDropdown(values) {          if (!this.brandDropdown || !this.brandFilterWrapper) return;          this.brandFilterWrapper.style.display = 'flex'; // show the wrapper                    let html = '';          const allChecked = this.selectedBrands.length === 0 ? 'checked' : '';          const _div = '<' + '/div>';          const _span = '<' + '/span>';          html += `\x3Cdiv class="tg-df-ms-option">\x3Cinput type="checkbox" value="" ${allChecked} class="tg-df-brand-chk"> Any Brand${_div}`;                    values.forEach(v => {             if (!v.formatted_value || v.formatted_value === 'Any Brand') return;             const isChecked = this.selectedBrands.includes(v.formatted_value) ? 'checked' : '';             html += `\x3Cdiv class="tg-df-ms-option">\x3Cinput type="checkbox" value="${this.escapeHTML(v.formatted_value)}" ${isChecked} class="tg-df-brand-chk"> ${this.escapeHTML(v.formatted_value)} \x3Cspan style="color:var(--tg-df-text-muted);font-size:12px">(${v.count || 0})${_span}${_div}`;          });                    this.brandDropdown.innerHTML = html;                    // Re-bind listeners          const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');          chks.forEach(chk => {            chk.addEventListener('change', (e) => {              const val = e.target.value;              if (val === '') {                this.selectedBrands = [];              } else {                if (e.target.checked) {                   if (!this.selectedBrands.includes(val)) this.selectedBrands.push(val);                } else {                   this.selectedBrands = this.selectedBrands.filter(b => b !== val);                }              }                            if (this.selectedBrands.length === 0) {                 this.brandTrigger.innerText = 'Any Brand';              } else if (this.selectedBrands.length === 1) {                 this.brandTrigger.innerText = this.selectedBrands[0];              } else {                 this.brandTrigger.innerText = `${this.selectedBrands.length} Brands selected`;              }                            // Only call API if changed from UI interactions              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                 this.updateURLParams();                 this.fetchDeals(this.currentQuery);              }            });          });                    // Update button text on load          if (this.selectedBrands.length === 0) {             this.brandTrigger.innerText = 'Any Brand';          } else if (this.selectedBrands.length === 1) {             this.brandTrigger.innerText = this.selectedBrands[0];          } else {             this.brandTrigger.innerText = `${this.selectedBrands.length} Brands selected`;          }        }        updateURLParams() {          const url = new URL(window.location);          if (this.currentQuery && this.currentQuery !== 'Gaming laptops') {            url.searchParams.set('q', this.currentQuery);          } else {            url.searchParams.delete('q');            url.searchParams.delete('search');            url.searchParams.delete('query');          }                    if (this.regionSelect && this.regionSelect.value !== 'auto') {            url.searchParams.set('region', this.regionSelect.value);          } else {            url.searchParams.delete('region');          }                    if (this.retailerSelect && this.retailerSelect.value) {            url.searchParams.set('retailer', this.retailerSelect.value);          } else {            url.searchParams.delete('retailer');          }                    if (this.selectedBrands && this.selectedBrands.length > 0) {            url.searchParams.set('brands', this.selectedBrands.join(','));          } else {            url.searchParams.delete('brands');          }                    if (this.offerTypeSelect && this.offerTypeSelect.value) {            url.searchParams.set('offer_type', this.offerTypeSelect.value);          } else {            url.searchParams.delete('offer_type');          }                    if (this.viewModeSelect && this.viewModeSelect.value !== 'auto') {            url.searchParams.set('view_mode', this.viewModeSelect.value);          } else {            url.searchParams.delete('view_mode');          }                    if (this.rowsSelect && this.rowsSelect.value !== '12') {            url.searchParams.set('rows', this.rowsSelect.value);          } else {            url.searchParams.delete('rows');          }                    const min = this.customPriceMin ? this.customPriceMin.value : '';          const max = this.customPriceMax ? this.customPriceMax.value : '';          if (min || max) {             url.searchParams.set('price', `${min}_${max}`);          } else if (this.priceFilter && this.priceFilter.value !== 'all') {            url.searchParams.set('price', this.priceFilter.value);          } else {            url.searchParams.delete('price');          }                    if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {            const v = parseInt(this.discountFilter.value);            if (!isNaN(v) && v > 0) {               const ratio = (100 - v) / 100;               url.searchParams.set('min_discount_ratio', ratio.toString());            }          } else {            url.searchParams.delete('min_discount_ratio');          }                    if (this.sortSelect && this.sortSelect.value !== 'date_desc') {            url.searchParams.set('sort', this.sortSelect.value);          } else {            url.searchParams.delete('sort');          }                    if (this.dealModeToggle && this.dealModeToggle.checked) {            url.searchParams.set('deal_mode', 'true');          } else {            url.searchParams.delete('deal_mode');          }                    window.history.replaceState({}, '', url);        }        bindEvents() {          const handleFiltersScroll = () => {            const filters = this.root.querySelector('.tg-df-filters');            const leftBtn = this.root.querySelector('.tg-df-scroll-btn.left');            const rightBtn = this.root.querySelector('.tg-df-scroll-btn.right');            if (filters && leftBtn && rightBtn) {              const { scrollLeft, scrollWidth, clientWidth } = filters;              leftBtn.style.display = scrollLeft > 0 ? 'flex' : 'none';              rightBtn.style.display = Math.ceil(scrollLeft + clientWidth) < scrollWidth - 5 ? 'flex' : 'none';            }          };          const filters = this.root.querySelector('.tg-df-filters');          if (filters) {            filters.addEventListener('scroll', handleFiltersScroll);            window.addEventListener('resize', handleFiltersScroll);            setTimeout(handleFiltersScroll, 100);                        // Also call after rendering dropdowns            const origRenderCategories = this.renderCategories;            if (origRenderCategories) {               this.renderCategories = (...args) => {                 origRenderCategories.apply(this, args);                 setTimeout(handleFiltersScroll, 50);               };            }          }                const roundels = this.root.querySelectorAll('.tg-df-carousel-cat');          roundels.forEach(r => {             r.addEventListener('click', () => {                const q = r.getAttribute('data-query');                const pr = r.getAttribute('data-pr');                if (typeof trackHawkEvent !== 'undefined') {                     trackHawkEvent({                         clickType: "CC",                         widgetId: this.widgetId,                         productCategoryName: "deals",                         zeroBasedProductIndexOrNull: null,                         totalDealsOrProducts: null,                         areaClicked: "Category Roundel",                         revenueId: this.revenueId,                         isoCurrencyCode: typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD',                         queryName: q,                         widgetTypeName: this.widgetTypeName                     });                 }                this.currentQuery = q;                const label = this.root.querySelector('#tg-df-carousel-title-label');                if (label) label.textContent = 'Best ' + q;                if (this.priceFilter) this.priceFilter.value = pr || 'all';                if (this.discountFilter) this.discountFilter.value = '5';                if (this.searchInput) this.searchInput.value = q;                                roundels.forEach(ro => ro.classList.remove('active'));                r.classList.add('active');                this.fetchDeals(this.currentQuery);             });          });          const discBtns = this.root.querySelectorAll('.tg-df-carousel-filter-btn');          discBtns.forEach(b => {             b.addEventListener('click', () => {                const d = b.getAttribute('data-d');                const pr = b.getAttribute('data-pr');                const ot = b.getAttribute('data-ot');                let label = b.innerText ? b.innerText.trim() : '';                let filterType = 'unknown';                let filterVal = 'unknown';                if (d !== null) { filterType = 'discount'; filterVal = d; }                else if (pr !== null) { filterType = 'price'; filterVal = pr; }                else if (ot !== null) { filterType = 'offertype'; filterVal = ot; }                if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: `filter-${filterType}-${filterVal}`, name: 'Filter Button', label: label });                                if (d !== null) {                   if (this.discountFilter) this.discountFilter.value = this.discountFilter.value === d ? '0' : d;                } else if (pr !== null) {                   if (this.priceFilter) this.priceFilter.value = this.priceFilter.value === pr ? 'all' : pr;                } else if (ot !== null) {                   if (this.offerTypeSelect) this.offerTypeSelect.value = this.offerTypeSelect.value === ot ? 'all' : ot;                } else {                   if (this.discountFilter) this.discountFilter.value = '0';                   if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.offerTypeSelect) this.offerTypeSelect.value = 'all';                }                if (d === null && pr === null && ot === null && b.getAttribute("data-type") !== "custom") {                   discBtns.forEach(ro => ro.classList.remove('active'));                   b.classList.add('active');                } else if (b.getAttribute("data-type") !== "custom") {                   // Only operate on hardcoded buttons (those without data-type)                   discBtns.forEach(ro => {                      if (!ro.getAttribute('data-d') && !ro.getAttribute('data-pr') && !ro.getAttribute('data-ot') && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active');                   });                                      let makeActive = true;                   if (d !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-d') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   } else if (pr !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-pr') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   } else if (ot !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-ot') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   }                                      if (makeActive) b.classList.add('active');                                      // Check if anything is active, if not activate "All"                   let anyActive = false;                   discBtns.forEach(ro => { if (ro.classList.contains('active') && ro.getAttribute('data-type') !== 'custom') anyActive = true; });                   if (!anyActive) {                       discBtns.forEach(ro => { if (!ro.getAttribute('data-d') && !ro.getAttribute('data-pr') && !ro.getAttribute('data-ot') && ro.getAttribute('data-type') !== 'custom') ro.classList.add('active'); });                   }                }                                this.fetchDeals(this.currentQuery);             });          });          if (this.brandTrigger && this.brandDropdown) {            this.brandTrigger.addEventListener('click', () => {              this.brandDropdown.classList.toggle('active');            });            document.addEventListener('click', (e) => {              if (this.brandFilterWrapper && !e.composedPath().includes(this.brandFilterWrapper)) {                this.brandDropdown.classList.remove('active');              }            });          }          const showAutocomplete = () => {             if (this.getViewMode() !== 'savings_squad' || !this.autocompleteDropdown || !this.airedaleTags) return;                          let terms = this.airedaleTags;             if (this.airedaleBrands) {                terms = terms.concat(this.airedaleBrands.map(b => b.formatted_value));             }             terms = [...new Set(terms)];                          const query = this.searchInput.value.trim();             let matches = [];             if (query.length > 0) {                 matches = terms.filter(t => t.toLowerCase().includes(query.toLowerCase()) && t.toLowerCase() !== query.toLowerCase());             } else {                 matches = terms;             }                          if (matches.length > 0) {                 this.autocompleteDropdown.innerHTML = matches.map(m => `\x3Cdiv class="tg-df-autocomplete-item" data-tag="${this.escapeHTML(m)}">${this.escapeHTML(m)}<` + `/div>`).join('');                 this.autocompleteDropdown.classList.add('active');             } else {                 this.autocompleteDropdown.classList.remove('active');             }          };          let debounceTimer;          if(this.searchInput) {            this.searchInput.addEventListener('focus', showAutocomplete);            this.searchInput.addEventListener('input', (e) => {              clearTimeout(debounceTimer);              const query = e.target.value.trim();              this.currentQuery = query;              showAutocomplete();              debounceTimer = setTimeout(() => {                this.updateURLParams();                if (query.length > 2) {                  this.fetchDeals(query);                } else if (query.length === 0) {                  if (this.getViewMode() === 'savings_squad') {                    this.activeDealTag = null;                    this.currentQuery = '';                    if (this.categoryFilter) this.categoryFilter.value = 'all';                    this.fetchDeals('');                  } else {                    this.deals = [];                    this.render();                  }                }              }, 400);            });            this.searchInput.addEventListener('keypress', (e) => {              if (e.key === 'Enter') {                if (this.autocompleteDropdown) this.autocompleteDropdown.classList.remove('active');                clearTimeout(debounceTimer);                const query = e.target.value.trim();                this.currentQuery = query;                                let isTag = false;                if (this.airedaleTags && this.airedaleTags.includes(query)) isTag = true;                if (this.airedaleBrands && this.airedaleBrands.some(b => b.formatted_value === query)) isTag = true;                this.activeDealTag = isTag ? query : null;                                trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });                this.updateURLParams();                if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                   if (query.length === 0 && this.getViewMode() === 'savings_squad') {                       if (this.categoryFilter) this.categoryFilter.value = 'all';                   }                   this.fetchDeals(query);                }              }            });          }          if (this.autocompleteDropdown) {             this.autocompleteDropdown.addEventListener('click', (e) => {                const item = e.target.closest('.tg-df-autocomplete-item');                if (item) {                   const tag = item.getAttribute('data-tag');                   this.currentQuery = tag;                   if (this.searchInput) this.searchInput.value = tag;                   this.activeDealTag = tag;                   if (this.categoryFilter && this.airedaleTags.includes(tag)) {                       this.categoryFilter.value = tag;                   }                   this.autocompleteDropdown.classList.remove('active');                   this.updateURLParams();                   this.fetchDeals(tag);                }             });             document.addEventListener('click', (e) => {               if (this.autocompleteDropdown && this.searchInput && !e.composedPath().includes(this.searchInput) && !e.composedPath().includes(this.autocompleteDropdown)) {                 this.autocompleteDropdown.classList.remove('active');               }             });          }          if (this.searchBtn) {            this.searchBtn.addEventListener('click', () => {              if (this.autocompleteDropdown) this.autocompleteDropdown.classList.remove('active');              clearTimeout(debounceTimer);              const query = this.searchInput.value.trim();              trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });                            let isTag = false;              if (this.airedaleTags && this.airedaleTags.includes(query)) isTag = true;              if (this.airedaleBrands && this.airedaleBrands.some(b => b.formatted_value === query)) isTag = true;              this.activeDealTag = isTag ? query : null;                            this.currentQuery = query;              this.updateURLParams();              if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                 if (query.length === 0 && this.getViewMode() === 'savings_squad') {                     if (this.categoryFilter) this.categoryFilter.value = 'all';                 }                 this.fetchDeals(query);              }            });          }          if(this.sortSelect && this.sortSelect.querySelector('option[value="date_desc"]') === null) {              const option = document.createElement('option');              option.value = "date_desc";              option.text = "Newest First";              this.sortSelect.insertBefore(option, this.sortSelect.firstChild);          }          if(this.sortSelect) this.sortSelect.addEventListener('change', () => {            trackElementInteraction({ id: `sort-option-${this.sortSelect.value}`, name: 'Sort', label: `Sort: ${this.sortSelect.options[this.sortSelect.selectedIndex].text}` });            this.updateURLParams();            if (this.deals.length > 0) {              this.sortData();              this.render();            }          });                    const priceFilter = this.root.querySelector('#tg-df-price-filter');          if (priceFilter) {            this.priceFilter = priceFilter;            this.priceFilter.addEventListener('change', () => {              trackElementInteraction({ id: `filter-price-${this.priceFilter.value}`, name: 'Price', label: this.priceFilter.options[this.priceFilter.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }            });          }          const updateCustomPrice = () => {             this.updateURLParams();             if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);             } else {                this.render();             }          };          if (this.customPriceMin) {             this.customPriceMin.addEventListener('change', updateCustomPrice);             this.customPriceMin.addEventListener('keypress', (e) => {                if (e.key === 'Enter') updateCustomPrice();             });          }          if (this.customPriceMax) {             this.customPriceMax.addEventListener('change', updateCustomPrice);             this.customPriceMax.addEventListener('keypress', (e) => {                if (e.key === 'Enter') updateCustomPrice();             });          }          const discountFilter = this.root.querySelector('#tg-df-discount-filter');          if (discountFilter) {            this.discountFilter = discountFilter;            this.discountFilter.addEventListener('change', () => {              trackElementInteraction({ id: `filter-discount-${this.discountFilter.value}`, name: 'Discount', label: this.discountFilter.options[this.discountFilter.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }            });          }          if (this.categoryFilter) {            this.categoryFilter.addEventListener('change', (e) => {               const val = e.target.value === 'all' ? null : e.target.value;               this.activeDealTag = val;               if (val) {                 this.currentQuery = val;               } else {                 if (this.searchInput && this.currentQuery === document.querySelector('#tg-df-brand-trigger')?.getAttribute('data-active-brand')) {                     // don't clear current query if a brand is selected                 } else if (this.searchInput) {                     this.currentQuery = '';                     this.searchInput.value = '';                 }               }               this.fetchSavingsSquad();            });          }                    if (this.settingsToggle) {            this.settingsToggle.addEventListener('click', () => {              const o = this.settingsPanel.classList.toggle('active');              this.settingsBackdrop.classList.toggle('active');              if (o) trackElementInteraction({ id: 'filter-open', name: 'Filters', label: 'Open filters' });            });          }                    if (this.settingsBackdrop) {            this.settingsBackdrop.addEventListener('click', () => {              this.settingsPanel.classList.remove('active');              this.settingsBackdrop.classList.remove('active');            });          }                    if (this.regionSelect) {            this.regionSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-region-${this.regionSelect.value}`, name: 'Region', label: this.regionSelect.options[this.regionSelect.selectedIndex].text });              this.updateURLParams();              this.updatePriceDropdownCurrency();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.retailerSelect) {            this.retailerSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-merchant-${this.retailerSelect.value}`, name: 'Retailer', label: this.retailerSelect.options[this.retailerSelect.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.offerTypeSelect) {            this.offerTypeSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-offertype-${this.offerTypeSelect.value}`, name: 'Offer Type', label: this.offerTypeSelect.options[this.offerTypeSelect.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.viewModeSelect) {            this._prevViewMode = this.viewModeSelect.value;            this.viewModeSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-viewmode-${this.viewModeSelect.value}`, name: 'View Mode', label: this.viewModeSelect.options[this.viewModeSelect.selectedIndex].text });                            // Reset all active toggles and filters to prevent config carry-over              this.selectedBrands = [];              if (this.brandTrigger) this.brandTrigger.innerText = 'Select Brands';              if (this.brandDropdown) {                const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                chks.forEach(chk => { chk.checked = false; });              }              if (this.priceFilter) this.priceFilter.value = 'all';              if (this.customPriceMin) this.customPriceMin.value = '';              if (this.customPriceMax) this.customPriceMax.value = '';              if (this.sortSelect) this.sortSelect.value = 'date_desc';              if (this.discountFilter) this.discountFilter.value = '0';              if (this.retailerSelect) this.retailerSelect.value = '';              if (this.offerTypeSelect) this.offerTypeSelect.value = '';              if (this.rowsSelect) this.rowsSelect.value = '12';              if (this.categoryFilter) this.categoryFilter.value = 'all';              this.activeDealTag = null;              this.updateURLParams();              this.applyLayoutMode();                            if (this.getViewMode() === 'savings_squad' || this._prevViewMode === 'savings_squad') {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }              this._prevViewMode = this.viewModeSelect.value;            });          }                    if (this.rowsSelect) {            this.rowsSelect.addEventListener('change', () => {              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.dealModeToggle) {            this.dealModeToggle.addEventListener('change', () => {              this.updateURLParams();              this.render();            });          }          if (this.editorModeToggle) {             this.editorModeToggle.addEventListener('change', (e) => {                this.editorMode = e.target.checked;                this.render();                this.updateFloatingCopyBar();             });          }          if (this.editorCopyBtn) {             this.editorCopyBtn.addEventListener('click', () => {                this.copySelectedDealsToCMS();             });          }          if (this.editorClearBtn) {             this.editorClearBtn.addEventListener('click', () => {                this.selectedDeals.clear();                this.render();                this.updateFloatingCopyBar();             });          }          if (this.grid) {            this.grid.addEventListener('change', (e) => {               if (e.target.classList.contains('tg-df-deal-checkbox')) {                  const dealId = e.target.getAttribute('data-id');                  if (e.target.checked) {                     const dealObj = this.deals.find(d => d.id === dealId);                     if (dealObj) this.selectedDeals.set(dealId, dealObj);                  } else {                     this.selectedDeals.delete(dealId);                  }                  this.updateFloatingCopyBar();               }            });            this.grid.addEventListener('click', (e) => {              const dealCard = e.target.closest('[data-action="deal-click"]');              const similarCard = e.target.closest('[data-action="view-similar-click"]');              const cardLink = dealCard || similarCard;              if (cardLink) {                const productName = cardLink.getAttribute('data-product-name');                const merchantName = cardLink.getAttribute('data-merchant-name');                const productId = cardLink.getAttribute('data-analytics-id');                const price = parseFloat(cardLink.getAttribute('data-price')) || null;                const prevPriceStr = cardLink.getAttribute('data-previous-price');                const previousPrice = prevPriceStr ? parseFloat(prevPriceStr) : null;                const originalLink = cardLink.getAttribute('data-original-link');                const finalHref = cardLink.href || cardLink.getAttribute('href') || '';                let actualRevenueId = cardLink.getAttribute('data-revenue-id');                const revMatch = finalHref.match(/(?:subId1|xcust|clickref|ascsubtag)=[^&]*?(\d{18,20})(?:&|$)/i);                if (revMatch && revMatch[1]) {                  actualRevenueId = revMatch[1];                }                const rewrittenLink = finalHref;                const revenueId = actualRevenueId;                const index = parseInt(cardLink.getAttribute('data-index'), 10) || 0;                const inStock = cardLink.getAttribute('data-in-stock') === 'true';                const totalText = cardLink.getAttribute('data-total');                const totalDeals = parseInt(totalText, 10) || 0;                const productCategoryName = 'deals';                const trackingParams = {                  widgetId: this.widgetId,                  productCategoryName: productCategoryName,                  product: {                    modelId: cardLink.getAttribute('data-model-id') || null,                    matchId: cardLink.getAttribute('data-match-id') || null,                    brand: cardLink.getAttribute('data-model-brand') || null,                    parent: cardLink.getAttribute('data-model-parent') || null,                    name: productName,                    price: price,                    previousPrice: previousPrice,                    link: rewrittenLink,                    originalLink: originalLink,                    inStock: inStock                  },                  zeroBasedProductIndexOrNull: index,                  totalDealsOrProducts: totalDeals,                   merchant: {                    id: cardLink.getAttribute('data-merchant-id') || null,                    network: cardLink.getAttribute('data-merchant-network') || null,                    url: cardLink.getAttribute('data-merchant-url') || null,                    name: merchantName                  },                  revenueId: revenueId,                  widgetTypeName: this.widgetTypeName,                  isoCurrencyCode: normalizeCurrency(this.escapeHTML(cardLink.getAttribute('data-currency') || '$'))                };                if (dealCard) {                  trackDealClick(trackingParams);                } else {                  trackViewSimilarClick(trackingParams);                }              }              const couponsBtn = e.target.closest('[data-action="coupons-click"]');              if (couponsBtn) {                trackElementInteraction({                  id: 'product-card-show-coupons',                  name: 'Coupons',                  label: `Product card coupons: ${couponsBtn.getAttribute('data-merchant')}`                });              }            });          }          this.setupScrollListeners();        }        setupScrollListeners() {          const containers = [             this.root.querySelector('.tg-df-carousel-roundels'),             this.root.querySelector('.tg-df-carousel-filters-wrap'),             this.root.querySelector('#tg-df-grid')          ];                    containers.forEach(container => {             if (!container) return;                          const checkScroll = () => {                if (!container.parentElement) return;                const leftBtn = container.parentElement.querySelector('.tg-df-carousel-scroll-left');                const rightBtn = container.parentElement.querySelector('.tg-df-carousel-scroll-right');                                if (leftBtn) {                   if (container.scrollLeft <= 5) leftBtn.style.display = 'none';                   else leftBtn.style.display = 'flex';                }                                if (rightBtn) {                   if (container.scrollWidth <= container.clientWidth) {                       rightBtn.style.display = 'none';                   } else if (container.scrollLeft >= container.scrollWidth - container.clientWidth - 5) {                       rightBtn.style.display = 'none';                   } else {                       rightBtn.style.display = 'flex';                   }                }             };                          container.addEventListener('scroll', checkScroll);             checkScroll();                          window.addEventListener('resize', checkScroll);                          const observer = new MutationObserver(checkScroll);             observer.observe(container, { childList: true, subtree: true, characterData: false });          });        }        get widgetTypeName() {          const mode = this.viewModeSelect ? this.viewModeSelect.value : (this.viewModeOverride || 'auto');          switch(mode) {              case 'carousel': return 'Carousel';              case 'savings_squad': return 'Savings Squad';              case 'grid': return 'Grid';              case 'row': return 'Row';              default: return 'Auto Collection';          }        }        getRowsLimit() {          if (this.rowsSelect && this.rowsSelect.value) return parseInt(this.rowsSelect.value, 10);          let configSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {             configSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {             configSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(configSource);          if (params.has('rows')) return parseInt(params.get('rows'), 10) || 12;          return 12;        }        getAreaCode() {          if (this.regionSelect && this.regionSelect.value) {            if (this.regionSelect.value === 'auto') return null;            return this.regionSelect.value;          }          let area = null;          try {            const locale = window.navigator.language || window.navigator.userLanguage;            if (locale && locale.includes('-')) {              area = locale.split('-')[1].toUpperCase();            } else if (locale && locale.length === 2) {              if (locale.toUpperCase() === 'EN') { area = 'US'; }              else { area = locale.toUpperCase(); }            }          } catch (e) { /* Ignore */ }                    // Map to known valid options or fallback to US          const valid = ['US', 'GB', 'CA', 'AU', 'DE', 'FR', 'IT'];          if (area === 'UK') area = 'GB';          if (valid.includes(area)) {             return area;          }          return 'US';        }        async fetchDeals(query) {          this.showLoading();          this.deals = [];          this.displayLimit = this.getRowsLimit();                    try {            console.log("getViewMode returns:", this.getViewMode());            if (this.getViewMode() === 'savings_squad') {               await this.fetchSavingsSquad();            } else {               if (this.isBroadQuery(query)) {                 await this.fetchAdviserDeals(query);               } else {                 await this.fetchHawkDeals(query);                 if (this.deals.length === 0) {                   await this.fetchAdviserDeals(query);                 }               }            }          } catch (error) {            console.warn("[Tom's Guide Widget] Fetch error:", error);            this.showError();          }        }        async fetchSavingsSquad() {          let topArticles = this.airedaleArticles;          if (!topArticles) {            const siteParam = this.website || 'tomsguide';            const airedaleUrl = `https://airedale.futurecdn.net/feeds/feed_1781000519267.json?site=${siteParam}&articleType=deals&limit=50`;            let res;            try {               res = await fetch(airedaleUrl);            } catch(e) {               try { res = await fetch(`https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=${siteParam}&articleType=deals&limit=50`); } catch (err) { console.warn("Fallback fetch failed", err); return; }            }            if (!res.ok) throw new Error('Airedale API Error');            const articles = await res.json();            topArticles = Array.isArray(articles) ? articles.slice(0, 50) : ((articles.data && Array.isArray(articles.data)) ? articles.data.slice(0, 50) : []);            this.airedaleArticles = topArticles;                        let tagCounts = {};            topArticles.forEach((a) => {              let articleTags = new Set();              if (a.articlecategory && Array.isArray(a.articlecategory)) {                 a.articlecategory.forEach((t) => articleTags.add(t));              }              articleTags.forEach(t => {                 tagCounts[t] = (tagCounts[t] || 0) + 1;              });            });                        this.airedaleTags = Object.keys(tagCounts).sort((a, b) => tagCounts[b] - tagCounts[a]);            this.airedaleTagCounts = tagCounts;          }                    let targetArticles = topArticles;          if (!this.activeDealTag && this.currentQuery) {             const tagMatch = this.airedaleTags.find(t => t.toLowerCase() === this.currentQuery.toLowerCase());             if (tagMatch) {                this.activeDealTag = tagMatch;             }          }          if (this.activeDealTag) {             const cleanTag = this.activeDealTag.toLowerCase().replace(/&/g, '').replace(/[^a-z0-9]+/g, '-').replace(/-+/g, '-').replace(/^-|-$/g, '');             const encodedTag = encodeURIComponent(cleanTag);             const siteParam = this.website || 'tomsguide';             const url = `https://airedale.futurecdn.net/feeds/feed_1781000519267.json?site=${siteParam}&articleType=deals&limit=50&articleCategoryHandle=${encodedTag}`;             try {                const res = await fetch(url);                if (res.ok) {                   const articles = await res.json();                   targetArticles = Array.isArray(articles) ? articles.slice(0, 50) : ((articles.data && Array.isArray(articles.data)) ? articles.data.slice(0, 50) : []);                }             } catch(e) {                console.warn("Failed to fetch by activeDealTag", e);             }          }          let extractedDeals = [];          let seenUrls = new Set();                    let overallBrandsCounts = {};                    // First pass: extract ALL brands from topArticles so the dropdown has all options          topArticles.forEach((article) => {             if (!article.articlepage) return;             let pageData = [];             try { pageData = JSON.parse(article.articlepage[0]); } catch(e){ console.warn(e); }             const savingsSquad = pageData.filter((p) => p.type === 'deal' || p.type === 'featured-product');             savingsSquad.forEach((block) => {                const data = block.data || {};                if (data.brand) {                   const cleanBrand = data.brand.replace(/^\d+\.\s*/, '').trim();                   overallBrandsCounts[cleanBrand] = (overallBrandsCounts[cleanBrand] || 0) + 1;                }             });          });          targetArticles.forEach((article) => {             if (!article.articlepage) return;                          let pageData = [];             try {                pageData = JSON.parse(article.articlepage[0]);             } catch(e){ console.warn(e); }                          const savingsSquad = pageData.filter((p) => p.type === 'deal' || p.type === 'featured-product');                          savingsSquad.forEach((block, idx) => {                const data = block.data || {};                const isFeatured = block.type === 'featured-product';                                const link = data.link || {};                const priceObj = data.price || {};                const image = data.image || {};                                if (data.brand) {                   data.brand = data.brand.replace(/^\d+\.\s*/, '').trim();                }                const externalUrl = isFeatured ? data.url : (link.href || null);                let summaryTitle = isFeatured ? (data.name || data.brand) : (data.productName || link.label || article.articlename);                let description = isFeatured ? (data.strapline || '') : (data.text || '');                                if (!isFeatured && !data.productName && data.text) {                   const brSplit = data.text.split(new RegExp('\x3Cbr\\s*\\/?\\x3E', 'i'));                   if (brSplit.length > 1) {                     summaryTitle = brSplit[0].replace(/<[^>]+>/g, '').trim();                     description = brSplit.slice(1).join(' ').replace(/<br\s*\/?>/gi, ' ').replace(/<\/?(p|div)[^>]*>/gi, ' ').replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').trim();                   } else {                     const match = data.text.match(/\x3Cstrong>(.*?)<\/strong>/);                     if (match) {                       summaryTitle = match[1].replace(/<[^>]+>/g, '').trim();                       if (summaryTitle.endsWith(':')) summaryTitle = summaryTitle.slice(0, -1);                     }                   }                }                                let imageUrl = isFeatured ? image.mos : (image.src || null);                if (imageUrl && imageUrl.startsWith('//')) imageUrl = 'https:' + imageUrl;                                description = this.decodeHTML(description.replace(/<br\s*\/?>/gi, ' ').replace(/<\/?(p|div)[^>]*>/gi, ' ').replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').replace(/View Deal$/i, '').trim());                summaryTitle = this.decodeHTML(summaryTitle);                                let merchantName = data.retailer || '';                if (!merchantName && externalUrl) {                   try {                     merchantName = new URL(externalUrl).hostname.replace('www.', '').split('.')[0];                     merchantName = merchantName.charAt(0).toUpperCase() + merchantName.slice(1);                   }catch(e){ console.warn(e); }                }                if (!merchantName) merchantName = 'Retailer';                const q = (this.currentQuery || '').toLowerCase();                const activeTagLogic = (this.activeDealTag || '').toLowerCase();                if (q.length > 2 && q !== activeTagLogic) {                   const searchTarget = `${summaryTitle || ''} ${description || ''}`.toLowerCase();                   if (!searchTarget.includes(q)) return;                }                let rawPrice = 0;                let rawMsrp = 0;                let currencyStr = '$';                if (isFeatured) {                   rawPrice = typeof data.salePrice === 'number' && data.salePrice > 0 ? data.salePrice : (typeof data.price === 'number' ? data.price : 0);                   rawMsrp = typeof data.salePrice === 'number' && typeof data.price === 'number' && data.price > data.salePrice ? data.price : 0;                   currencyStr = data.currency === 'GBP' ? '£' : '$';                } else {                   rawPrice = priceObj.amount ? parseFloat(priceObj.amount) : 0;                   rawMsrp = priceObj.amountWas ? parseFloat(priceObj.amountWas) : 0;                   currencyStr = priceObj.currency === 'GBP' ? '£' : '$';                }                                let savingAmt = 0;                let savingLabel = '';                if (rawPrice > 0 && rawMsrp > rawPrice) {                   savingAmt = parseFloat((rawMsrp - rawPrice).toFixed(2));                   savingLabel = `Save ${currencyStr}${savingAmt}`;                }                                // Apply Brand filter                if (this.selectedBrands && this.selectedBrands.length > 0) {                   const itemBrand = (data.brand || '').toLowerCase();                   const hasMatch = this.selectedBrands.some(sb => sb.toLowerCase() === itemBrand);                   if (!hasMatch) return;                }                // Apply Price filter                let priceFilterVal = null;                const min = this.customPriceMin ? this.customPriceMin.value : '';                const max = this.customPriceMax ? this.customPriceMax.value : '';                if (min || max) {                   priceFilterVal = `${min}_${max}`;                } else if (this.priceFilter && this.priceFilter.value !== 'all') {                   priceFilterVal = this.priceFilter.value;                }                if (priceFilterVal && rawPrice > 0) {                   if (priceFilterVal === 'under50' && rawPrice >= 50) return;                   if (priceFilterVal === 'over50' && rawPrice <= 50) return;                   if (priceFilterVal === 'over30' && rawPrice <= 30) return;                   if (priceFilterVal === 'over500' && rawPrice <= 500) return;                   if (priceFilterVal.includes('_')) {                      const parts = priceFilterVal.split('_');                      const min = parseFloat(parts[0]);                      const max = parseFloat(parts[1]);                      if (!isNaN(min) && rawPrice < min) return;                      if (!isNaN(max) && rawPrice > max) return;                   }                }                // Apply Discount filter                if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {                   const requiredDiscount = parseInt(this.discountFilter.value);                   if (!isNaN(requiredDiscount) && requiredDiscount > 0) {                      if (!rawMsrp || rawMsrp <= rawPrice) return;                      const ratio = Math.round((1 - (rawPrice / rawMsrp)) * 100);                      if (ratio < requiredDiscount) return;                   }                }                                if (externalUrl) {                   if (seenUrls.has(externalUrl)) return;                  seenUrls.add(externalUrl);                }                                extractedDeals.push({                   id: `airedale-${article.id || Math.random()}-${idx}`,                   url: externalUrl,                   image: imageUrl,                   fallbackImage: imageUrl,                   title: summaryTitle,                   brand: data.brand || '',                   productName: data.productName || '',                   merchant: merchantName,                   rawPrice: rawPrice,                   rawMsrp: rawMsrp,                   price: rawPrice > 0 ? rawPrice.toString() : '',                   msrp: rawMsrp > 0 ? rawMsrp.toString() : '',                   currency: currencyStr,                   isCheckPrice: !rawPrice,                   savingLabel: savingLabel,                   savingType: rawMsrp > rawPrice ? 'amount' : 'none',                   isPrime: false,                   starRating: null,                   description: description,                   text: data.text || '',                   authorName: article.articleauthortext ? article.articleauthortext[0] : (article.articleauthor ? article.articleauthor[0] : ''),                   authorRole: article.articleauthorrole ? article.articleauthorrole[0] : '',                   authorImage: article.articleauthormedia ? article.articleauthormedia[0] : '',                   documentUrl: article.documenturl ? article.documenturl[0] : '',                   modifiedDate: article.contentmodifieddate || article.modifieddate || ''                });             });          });                    const airedaleBrandsList = Object.keys(overallBrandsCounts).map(b => ({              formatted_value: b,              count: overallBrandsCounts[b]          })).sort((a,b) => b.count - a.count);                    if (this.getViewMode() === 'savings_squad') {             this.populateBrandDropdown(airedaleBrandsList.slice(0, 15));             if (this.brandFilterWrapper) {                if (airedaleBrandsList.length === 0) {                    this.brandFilterWrapper.style.display = 'none';                } else {                    this.brandFilterWrapper.style.display = 'flex';                }             }          }                    this.deals = extractedDeals;          this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.getFilteredDeals().slice(0, this.displayLimit), this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        isBroadQuery(query) {          const q = query.toLowerCase();          const intentModifiers = ['deals', 'best', 'sale', 'under', 'cheap', 'offers', 'discount'];          return intentModifiers.some(term => q.includes(term));        }        async fetchHawkDeals(query) {          const url = new URL(this.apiUrl);          url.searchParams.append('model_name', query);          const areaCode = this.getAreaCode();          if (areaCode) {            url.searchParams.append('area', areaCode);          }                    if (this.retailerSelect && this.retailerSelect.value) {            url.searchParams.append('filter_merchant_name', this.retailerSelect.value);          }                    if (this.selectedBrands && this.selectedBrands.length > 0) {            url.searchParams.append('filter_label[text_brand]', this.selectedBrands.join(','));          }                    let priceVal = null;          const min = this.customPriceMin ? this.customPriceMin.value : '';          const max = this.customPriceMax ? this.customPriceMax.value : '';          if (min || max) {             priceVal = `${min}_${max}`;          } else if (this.priceFilter && this.priceFilter.value !== 'all') {             priceVal = this.priceFilter.value;          }          if (priceVal) {            if (priceVal === 'under50') {              url.searchParams.append('filter_max_price', '50');            } else if (priceVal === 'over50') {              url.searchParams.append('filter_min_price', '50');            } else if (priceVal === 'over30') {              url.searchParams.append('filter_min_price', '30');            } else if (priceVal === 'over500') {              url.searchParams.append('filter_min_price', '500');            } else if (priceVal.includes('_')) {              const parts = priceVal.split('_');              if (parts[0]) url.searchParams.append('filter_min_price', parts[0]);              if (parts[1]) url.searchParams.append('filter_max_price', parts[1]);            }          }                    if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {            const v = parseInt(this.discountFilter.value);            if (!isNaN(v) && v > 0) {              const ratio = (100 - v) / 100;              url.searchParams.append('min_discount_ratio', ratio.toString());            }          }                    if (this.offerTypeSelect && this.offerTypeSelect.value) {            url.searchParams.append('offer', this.offerTypeSelect.value);          }                    url.searchParams.append('filter_product_types', 'deals');                    url.searchParams.append('rows', this.getRowsLimit().toString());          let response;          try {             response = await fetch(url.toString());          } catch(e) {             if (window.location.protocol === 'file:') {                console.warn("[Tom's Guide Widget] fetch from file:// blocked by local CORS policy, falling back to Adviser mock.");                await this.fetchAdviserDeals(query);                return;             }             console.warn("Hawk fetch failed", e);             this.deals = [];             this.render();             return;          }          if (!response.ok) {            throw new Error('Hawk API Response Error');          }          const rawData = await response.json();          // Safely locate data array from potentially wrapped response          let offers = [];          let modelInfoArray = [];                    let brandFilterData = null;          if (rawData && rawData.widget && rawData.widget.data && Array.isArray(rawData.widget.data.filters)) {             brandFilterData = rawData.widget.data.filters.find(f => f.type === 'label_text_brand');          } else if (rawData && rawData.data && Array.isArray(rawData.data.filters)) {             brandFilterData = rawData.data.filters.find(f => f.type === 'label_text_brand');          }          if (brandFilterData && Array.isArray(brandFilterData.values) && brandFilterData.values.length > 0) {             this.populateBrandDropdown(brandFilterData.values);          } else {             if (this.brandFilterWrapper && this.selectedBrands.length === 0) {                this.brandFilterWrapper.style.display = 'none';             }          }                    if (rawData && rawData.widget && rawData.widget.data) {            if (Array.isArray(rawData.widget.data.offers)) offers = rawData.widget.data.offers;            if (rawData.widget.data.model_info && typeof rawData.widget.data.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.widget.data.model_info) ? rawData.widget.data.model_info : Object.values(rawData.widget.data.model_info);            }          } else if (rawData && rawData.data) {            if (Array.isArray(rawData.data.offers)) offers = rawData.data.offers;            if (rawData.data.model_info && typeof rawData.data.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.data.model_info) ? rawData.data.model_info : Object.values(rawData.data.model_info);            }          } else {            if (Array.isArray(rawData)) offers = rawData;            else if (rawData && Array.isArray(rawData.offers)) offers = rawData.offers;            else if (rawData && rawData.offers && Array.isArray(rawData.offers.offer)) offers = rawData.offers.offer;            else if (rawData && rawData.offers) offers = [].concat(rawData.offers);                        if (rawData && rawData.model_info && typeof rawData.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.model_info) ? rawData.model_info : Object.values(rawData.model_info);            }          }          let modelDetails = {};          modelInfoArray.forEach(m => {            const mId = m.model_id || m.id;            if (mId) {              modelDetails[mId] = {                score: m.score != null ? parseFloat(m.score) : null,                brand: m.brand || null,                parent: (m.parents && Array.isArray(m.parents) && m.parents.length > 0) ? m.parents[0].name : null              };            }          });          offers.forEach(item => {            let data = { ...item };            const mId = data.model_id;            if (mId && modelDetails[mId]) {              data.review_score = modelDetails[mId].score;              data.model_brand = modelDetails[mId].brand;              data.model_parent = modelDetails[mId].parent;            } else {              data.review_score = null;            }                        let itemOffers = [];            if (Array.isArray(item.offers)) itemOffers = item.offers;            else if (Array.isArray(item.offer)) itemOffers = item.offer;            else if (item.offers && typeof item.offers === 'object') itemOffers = [item.offers];            else if (item.offer && typeof item.offer === 'object') itemOffers = [item.offer];            if (itemOffers.length > 0) {              itemOffers.forEach(subItem => {                let subData = { ...item, ...subItem };                const subId = subData.model_id;                if (subId && modelDetails[subId]) {                  subData.review_score = modelDetails[subId].score;                  subData.model_brand = modelDetails[subId].brand;                  subData.model_parent = modelDetails[subId].parent;                } else if (data.review_score != null) {                  subData.review_score = data.review_score;                }                if (subData.merchant && typeof subData.merchant === 'object') {                  subData.merchant_name = subData.merchant.name;                }                this.deals.push(this.extractDealData(subData));              });              return;            }                        if (item.merchant && typeof item.merchant === 'object') {              data.merchant_name = item.merchant.name;            }                        this.deals.push(this.extractDealData(data));          });                    this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.getFilteredDeals().slice(0, this.displayLimit), this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        async fetchAdviserDeals(query) {          // ======================================================================          // TODO: ADVISER API REPLACEMENT          // The code below simulates the Adviser API response using mock data.          // Once the real endpoint is ready, remove getAdviserMockData() and           // perform an actual fetch() request similar to fetchHawkDeals().          // Example:          // const area = this.getAreaCode();          // let apiUrl = `https://your-adviser-api.com/search?q=${query}&area=${area}`;          // if (this.priceFilter && this.priceFilter.value !== 'all') {          //   const val = this.priceFilter.value;          //   if (val === 'under50') apiUrl += '&filter_max_price=50';          //   else if (val === '50_100') apiUrl += '&filter_max_price=100';          //   else if (val === '100_200') apiUrl += '&filter_max_price=200';          //   else if (val === '200_500') apiUrl += '&filter_max_price=500';          // }          // const res = await fetch(apiUrl);          // const rawData = await res.json();          // ======================================================================          // Simulating network latency          await new Promise(resolve => setTimeout(resolve, 400));                    const rawData = this.getAdviserMockData();          let offers = [];                    if (rawData && rawData.data && rawData.data.Get && Array.isArray(rawData.data.Get.Deal)) {            offers = rawData.data.Get.Deal;          }                    // Basic client-side filtering for the mock if we want it to react to the query          const q = query.toLowerCase();          const selectedRetailer = (this.retailerSelect && this.retailerSelect.value) ? this.retailerSelect.value.toLowerCase() : null;                    offers.forEach(item => {            const dataObj = item;                        // Apply retailer filter            const itemRetailer = (dataObj.dataRetailer || '').toLowerCase();            if (selectedRetailer && itemRetailer !== selectedRetailer && !itemRetailer.includes(selectedRetailer)) {              return;            }                        // Apply mock price filter            let price = dataObj.dataDiscountedPrice || 0;            if (typeof price === 'string') {              price = parseFloat(price.replace(/[^0-9.]/g, ''));            }            let priceVal = null;            const min = this.customPriceMin ? this.customPriceMin.value : '';            const max = this.customPriceMax ? this.customPriceMax.value : '';            if (min || max) {               priceVal = `${min}_${max}`;            } else if (this.priceFilter && this.priceFilter.value !== 'all') {               priceVal = this.priceFilter.value;            }            if (priceVal) {              if (priceVal === 'under50' && price >= 50) return;              if (priceVal === 'over50' && price <= 50) return;              if (priceVal === 'over30' && price <= 30) return;              if (priceVal === 'over500' && price <= 500) return;              if (priceVal.includes('_')) {                 const parts = priceVal.split('_');                 if (parts[0] && price < parseFloat(parts[0])) return;                 if (parts[1] && price > parseFloat(parts[1])) return;              }            }                        // Map Adviser schema to our widget's expected schema            const mappedData = {              url: dataObj.linkHREF || dataObj.dataLink || '#',              image: dataObj.imageURL || (dataObj.image && dataObj.image.src) || '',              title: dataObj.dataProduct || (dataObj.product && dataObj.product.name) || 'Product Deal',              merchant: dataObj.dataRetailer || 'Retailer',              price: dataObj.dataDiscountedPrice || 0,              currency: dataObj.dataCurrency === 'USD' ? '$' : (dataObj.dataCurrency || '$'),              msrp: dataObj.dataOriginalPrice || null            };                        const titleLow = mappedData.title.toLowerCase();            const merchLow = mappedData.merchant.toLowerCase();                        // Smarter mock filtering            let isMatch = false;            if (q === '' || this.isBroadQuery(q)) {              isMatch = true;            } else if (titleLow.includes(q) || merchLow.includes(q)) {              isMatch = true;            } else if ((q.includes('laptop') || q.includes('mac') || q.includes('pc')) && (titleLow.includes('macbook') || titleLow.includes('laptop'))) {              isMatch = true;            } else if ((q.includes('tv') || q.includes('television')) && (titleLow.includes('tv') || titleLow.includes('oled') || titleLow.includes('qled'))) {              isMatch = true;            } else if ((q.includes('phone') || q.includes('smartphone')) && (titleLow.includes('galaxy') || titleLow.includes('phone'))) {              isMatch = true;            } else if ((q.match(/watch|fitness|run|shoe/)) && (titleLow.includes('forerunner') || titleLow.includes('saucony') || titleLow.includes('watch'))) {              isMatch = true;            }                        if (isMatch) {               this.deals.push(this.extractDealData(mappedData));            }          });                    let rowLimit = this.getRowsLimit();          // Intentionally omitting the slice here to allow "Load More" to work if the API returns more                    this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.getFilteredDeals().slice(0, this.displayLimit), this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        getAdviserMockData() {          return {            "data": {              "Get": {                "Deal": [                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 300,                    "dataOriginalPrice": 399,                    "dataProduct": "Samsung Galaxy A36",                    "dataRetailer": "Samsung",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/MqDYsukV3JBG54te6dEs7j.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 14,                    "dataOriginalPrice": 24,                    "dataProduct": "Blink Mini",                    "dataRetailer": "Amazon",                    "imageURL": "http://cdn.mos.cms.futurecdn.net/3JurmAjHsDa5tPdaHAwEV8.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 59,                    "dataOriginalPrice": 99,                    "dataProduct": "Ring Video Doorbell",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/rAh4uR7AsAsALCCLTXnLNJ.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 10,                    "dataOriginalPrice": 599,                    "dataProduct": "MacBook Neo",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/Lg4Dvg68j9SbB5CPNrTEpH.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 749,                    "dataOriginalPrice": 849,                    "dataProduct": "65\\\" Fire TV Omni 4K QLED TV",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/SG34ZWodUkLTxJvMTbjPYR.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 71,                    "dataOriginalPrice": 160,                    "dataProduct": "Saucony Hurricane 24",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/vxf7UD5T2Am7guVzFoFcZ4.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 649,                    "dataOriginalPrice": 749,                    "dataProduct": "Garmin Forerunner 970",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/3GKnEu7CdhtxPMfnPCMCiA.png"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 1049,                    "dataOriginalPrice": 1499,                    "dataProduct": "LG 48\\\" C4 4K OLED TV",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/imvwZV9zoMD6fn9Afuge35.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 1499,                    "dataOriginalPrice": 2199,                    "dataProduct": "Samsung 49\\\" Odyssey Neo G9 4K Gaming Monitor",                    "dataRetailer": "Amazon",                    "imageURL": "http://cdn.mos.cms.futurecdn.net/XWDEJ5dUAE2nhK8k3Jk7k7.png"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 299,                    "dataOriginalPrice": 699,                    "dataProduct": "EGOHOME Black Memory Foam Mattress (queen)",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/hMUemtAejNETLVYxNrktzm.jpg"                  }                ]              }            }          };        }        decodeHTML(html) {          if (!html) return '';          const txt = document.createElement("textarea");          txt.innerHTML = String(html);          return txt.value;        }        extractDealData(item) {          const priceRawStr = String(item.price || item.current_price || '0');          const msrpRawStr = String(item.was_price || item.msrp || item.original_price || '0');          const rawPrice = parseFloat(priceRawStr.replace(/[^\d.]/g, '')) || 0;          const rawMsrp = parseFloat(msrpRawStr.replace(/[^\d.]/g, '')) || 0;          const isCheckPrice = rawPrice === 0 || priceRawStr === '0.00' || priceRawStr === '0';                    let originalImageUrl = item.image || item.image_url || item.product_image || '';          let imageUrl = originalImageUrl;          if ((!imageUrl || isCheckPrice) && item.model_image_url) {             imageUrl = item.model_image_url;             originalImageUrl = imageUrl;          } else if ((!imageUrl || isCheckPrice) && item.model_image) {             imageUrl = item.model_image;             originalImageUrl = imageUrl;          }                    if (imageUrl) {            imageUrl = imageUrl.replace(/-(\d+)-(\d+)(\.[a-z.]+)$/i, '$3');          }                    let fallbackImage = '';          if (originalImageUrl && originalImageUrl !== imageUrl) {             fallbackImage = originalImageUrl;          } else if (item.model_image && item.model_image !== imageUrl) {             fallbackImage = item.model_image;          } else if (item.model_image_url && item.model_image_url !== imageUrl) {             fallbackImage = item.model_image_url;          }                    const rawCurrency = item.currency || item.currency_symbol || '$';                    let savingLabel = item.percentage_saving_label || '';          if (!savingLabel && rawMsrp > rawPrice && rawPrice > 0) {            const pct = Math.round(((rawMsrp - rawPrice) / rawMsrp) * 100);            if (pct > 0) {              savingLabel = `${pct}% OFF`;            }          }                    const isPrime = item.shipping && item.shipping.prime === true;                    let scoreRaw = (item.review_score !== undefined && item.review_score !== null && item.review_score > 0) ? parseFloat(item.review_score) : null;          let starRating = 0;          if (scoreRaw !== null) {            starRating = Math.round((scoreRaw > 10 ? scoreRaw / 20 : scoreRaw / 2) * 2) / 2;          }                    return {            id: item.offer_id || item.link || item.url || item.offer_link || Math.random().toString(),            url: item.link || item.url || item.offer_link || '#',            image: imageUrl,            fallbackImage: fallbackImage,            title: this.decodeHTML(item.name || item.title || item.model_name || item.product_name || 'Unknown Product'),            brand: this.decodeHTML(item.brand || ''),            productName: this.decodeHTML(item.model_name || item.product_name || item.name || ''),            merchant: this.decodeHTML(item.merchant_name || item.merchant || item.retailer || 'Retailer'),            price: item.price !== undefined ? String(item.price) : '0.00',            currency: this.decodeHTML(rawCurrency),            msrp: item.was_price || item.msrp || item.original_price || null,            rawPrice: rawPrice,            rawMsrp: rawMsrp,            hasWasPrice: (item.was_price !== undefined && item.was_price !== null),            isCheckPrice: isCheckPrice,            savingLabel: savingLabel,            isPrime: isPrime,            starRating: starRating > 0 ? starRating : null,            modelId: item.model_id || '',            productKey: item.product_key || '',            merchantId: (item.merchant && typeof item.merchant === 'object') ? item.merchant.id || '' : '',            matchId: item.match_id || '',            merchantNetwork: (item.merchant && typeof item.merchant === 'object') ? item.merchant.an || '' : '',            merchantUrl: (item.merchant && typeof item.merchant === 'object') ? item.merchant.url || '' : '',            modelBrand: item.model_brand || item.brand || '',            modelParent: item.model_parent || ''          };        }        sortData() {          const sortVal = this.sortSelect ? this.sortSelect.value : 'date_desc';          if (sortVal === 'price_asc') {            this.deals.sort((a, b) => a.rawPrice - b.rawPrice);          } else if (sortVal === 'price_desc') {            this.deals.sort((a, b) => b.rawPrice - a.rawPrice);          } else if (sortVal === 'discount_desc') {            this.deals.sort((a, b) => {              const aDiscount = a.rawMsrp > a.rawPrice ? (a.rawMsrp - a.rawPrice) : 0;              const bDiscount = b.rawMsrp > b.rawPrice ? (b.rawMsrp - b.rawPrice) : 0;              return bDiscount - aDiscount;            });          } else if (sortVal === 'date_desc') {             this.deals.sort((a, b) => {                let dateA = 0;                let dateB = 0;                if (a && a.modifiedDate) {                   const valA = Array.isArray(a.modifiedDate) ? a.modifiedDate[0] : a.modifiedDate;                   dateA = new Date(valA).getTime();                   if (isNaN(dateA)) dateA = 0;                }                if (b && b.modifiedDate) {                   const valB = Array.isArray(b.modifiedDate) ? b.modifiedDate[0] : b.modifiedDate;                   dateB = new Date(valB).getTime();                   if (isNaN(dateB)) dateB = 0;                }                return dateB - dateA;             });          }        }        getFilteredDeals() {          let filteredDeals = [...this.deals];                    if (this.dealModeToggle && this.dealModeToggle.checked) {            filteredDeals = filteredDeals.filter(d => d.hasWasPrice || (d.msrp && d.rawMsrp > d.rawPrice));          }                    return filteredDeals;        }        showLoading() {          const _div = '<' + '/div>';          const skeletonCardHtml = `            \x3Cdiv class="tg-df-card">              \x3Cdiv class="tg-df-card-image-box">                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-img">${_div}              ${_div}              \x3Cdiv class="tg-df-card-body">                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short">${_div}                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text title">${_div}                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text title">${_div}                \x3Cdiv class="tg-df-card-footer mt-auto">                  \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="height:24px;">${_div}                ${_div}              ${_div}              \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text" style="height:44px; margin:0; border-radius:0;">${_div}            ${_div}`;          this.grid.innerHTML = Array(4).fill(skeletonCardHtml).join('');        }        showError() {          const _div = '<' + '/div>';          this.grid.innerHTML = `\x3Cdiv class="tg-df-message">            An error occurred while finding deals. Please check your connection and try again.          ${_div}`;        }        escapeHTML(str) {          if (!str) return '';          return String(str).replace(/[&<>'"]/g, tag => ({              '&': '&', '<': '<', '>': '>', "'": ''', '"': '"'          }[tag] || tag));        }                bindCouponButtons() {          const btns = this.root.querySelectorAll('.tg-df-tag-coupons');          btns.forEach(btn => {            btn.addEventListener('click', (e) => {              e.preventDefault();              e.stopPropagation();              const merchant = btn.getAttribute('data-merchant');              this.openVouchersModal(merchant);            });          });                    const closeBtn = this.root.querySelector('#tg-df-vouchers-close');          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          if (closeBtn) {            closeBtn.onclick = () => this.closeVouchersModal();          }          if (backdrop) {            backdrop.onclick = (e) => {              if (e.target === backdrop) this.closeVouchersModal();            };          }        }                closeVouchersModal() {          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          if (backdrop) backdrop.classList.remove('active');        }                async checkMerchantsCouponsBulk(merchants) {          if (!merchants || merchants.length === 0) return {};          const controller = new AbortController();          const timeoutId = setTimeout(() => controller.abort(), 4000);          try {            const area = this.getAreaCode();            const url = new URL('https://search-api.fie.future.net.uk/widget.php');            url.searchParams.append('model_name', 'Everything');            url.searchParams.append('language', 'en-GB');            if (area) url.searchParams.append('area', area);            url.searchParams.append('combine_product_types', '1');            url.searchParams.append('filter_merchant_name', merchants.join(','));            url.searchParams.append('all_filters', 'false');            url.searchParams.append('exclude_unlabelled', 'false');            url.searchParams.append('include_specs', 'false');            url.searchParams.append('sort', 'voucher');            url.searchParams.append('distinct_merchants', 'natural');            url.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');            url.searchParams.append('rows', '120');            url.searchParams.append('origin', 'widgets-clientside');                        let res; try { res = await fetch(url.toString(), { signal: controller.signal }); } catch (e) { return {}; }            clearTimeout(timeoutId);            if (!res.ok) return {};            const data = await res.json();                        let offers = [];            if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {              offers = data.widget.data.offers;            } else if (data && data.data && Array.isArray(data.data.offers)) {              offers = data.data.offers;            } else if (Array.isArray(data)) {              offers = data;            } else if (data && Array.isArray(data.offers)) {              offers = data.offers;            } else if (data && data.offers && Array.isArray(data.offers.offer)) {              offers = data.offers.offer;            } else if (data && Array.isArray(data.data)) {              offers = data.data;            }                        const foundMerchants = new Set();            offers.forEach(o => {              let mName = o.merchant_name || o.merchant || o.retailer;              if (mName && typeof mName === 'object') mName = mName.name;              if (mName) foundMerchants.add(String(mName).toLowerCase());            });            const resultMap = {};            merchants.forEach(m => {              if (m) resultMap[m] = foundMerchants.has(String(m).toLowerCase());            });            return resultMap;          } catch (e) {            return {};          }        }                async openVouchersModal(merchantName) {          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          const title = this.root.querySelector('#tg-df-vouchers-title');          const content = this.root.querySelector('#tg-df-vouchers-content');                    if (!backdrop || !content) return;                    // HACK: Hide closing tags          const _div = '<' + '/div>';          const _span = '<' + '/span>';          const _a = '<' + '/a>';          const _h4 = '<' + '/h4>';          const _svg = '<' + '/svg>';          const _circle = '<' + '/circle>';          const _polyline = '<' + '/polyline>';          const _rect = '<' + '/rect>';          const _path = '<' + '/path>';                    title.innerText = `${merchantName} Coupons & Deals`;          content.innerHTML = `\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text">${_div}                               \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text">${_div}`;          backdrop.classList.add('active');                    try {            const area = this.getAreaCode();            const url = new URL('https://search-api.fie.future.net.uk/widget.php');            url.searchParams.append('model_name', 'Everything');            url.searchParams.append('language', 'en-GB');            if (area) url.searchParams.append('area', area);            url.searchParams.append('combine_product_types', '1');            url.searchParams.append('filter_merchant_name', merchantName);            url.searchParams.append('all_filters', 'false');            url.searchParams.append('exclude_unlabelled', 'false');            url.searchParams.append('include_specs', 'false');            url.searchParams.append('sort', 'voucher');            url.searchParams.append('distinct_merchants', 'natural');            url.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');            url.searchParams.append('rows', '50');            url.searchParams.append('origin', 'widgets-clientside');                        const res = await fetch(url.toString());            if (!res.ok) throw new Error('API Error');            const data = await res.json();                        let offers = [];            if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {              offers = data.widget.data.offers;            } else if (data && data.data && Array.isArray(data.data.offers)) {              offers = data.data.offers;            } else if (Array.isArray(data)) {              offers = data;            } else if (data && Array.isArray(data.offers)) {              offers = data.offers;            } else if (data && data.offers && Array.isArray(data.offers.offer)) {              offers = data.offers.offer;            } else if (data && Array.isArray(data.data)) {              offers = data.data;            }                        if (offers.length === 0) {              content.innerHTML = `\x3Cdiv class="tg-df-message">No vouchers currently available for ${this.escapeHTML(merchantName)}.${_div}`;              return;            }                        content.innerHTML = offers.map((v, idx) => {              let offerObj = v;              if (v.offers && v.offers.offer) {                offerObj = Array.isArray(v.offers.offer) ? v.offers.offer[0] : v.offers.offer;              } else if (v.offer) {                offerObj = Array.isArray(v.offer) ? v.offer[0] : v.offer;              }              let logoUrl = v.logo_url || offerObj.logo_url || '';              if (!logoUrl && v.merchant) {                if (Array.isArray(v.merchant) && v.merchant.length > 0) logoUrl = v.merchant[0].logo_url || '';                else logoUrl = v.merchant.logo_url || '';              }                            const offerName = offerObj.name || offerObj.title || v.name || v.title || 'Special Offer';              const endTime = offerObj.end_time || v.end_time || '';              const linkUrl = offerObj.link || offerObj.url || v.link || v.url || '#';                            let foundVoucherCode = '';              const findVoucherCode = (obj) => {                if (!obj || typeof obj !== 'object') return;                if (obj.type === 'voucher_code' && obj.display_value) {                  foundVoucherCode = obj.display_value;                  return;                }                if (Array.isArray(obj)) {                  for (const item of obj) {                    findVoucherCode(item);                    if (foundVoucherCode) return;                  }                } else {                  for (const k in obj) {                    if (Object.prototype.hasOwnProperty.call(obj, k)) {                      findVoucherCode(obj[k]);                      if (foundVoucherCode) return;                    }                  }                }              };              findVoucherCode(offerObj);              if (!foundVoucherCode) findVoucherCode(v);                            const voucherCode = foundVoucherCode || offerObj.voucher_code || v.voucher_code || '';              const codeHtml = voucherCode ? `\x3Cspan class="tg-df-voucher-code" data-action="copy-code" data-code="${this.escapeHTML(voucherCode)}" title="Copy to clipboard">                \x3Cspan class="tg-df-voucher-code-text">${this.escapeHTML(voucherCode)}${_span}                \x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-left:6px;flex-shrink:0;" class="tg-df-voucher-copy-icon">                  \x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2">${_rect}                  \x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1">${_path}                ${_svg}              ${_span}` : '';                            const logoHtml = logoUrl                 ? `\x3Cimg src="${this.escapeHTML(logoUrl)}" alt="${this.escapeHTML(offerName)}" class="tg-df-voucher-logo" />`                 : `\x3Cdiv class="tg-df-voucher-logo" style="background:#e2e8f0;">${_div}`;                            let expiryHtml = '';              if (endTime) {                let dStr = endTime;                if (!isNaN(dStr) && String(dStr).length === 10) dStr = Number(dStr) * 1000;                const d = new Date(dStr);                if (!isNaN(d.getTime())) {                  const options = { year: 'numeric', month: 'short', day: 'numeric' };                  expiryHtml = `                    \x3Cdiv class="tg-df-voucher-expiry">                      \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                        \x3Ccircle cx="12" cy="12" r="10">${_circle}                        \x3Cpolyline points="12 6 12 12 16 14">${_polyline}                      ${_svg}                      Expires ${d.toLocaleDateString(undefined, options)}                    ${_div}`;                }              }              const revenueIdVal = generateRevenueId(linkUrl, offerName, merchantName, null);              const rewrittenLinkUrl = rewriteAffiliateLink(linkUrl, area, revenueIdVal);              return `                \x3Ca href="${this.escapeHTML(rewrittenLinkUrl)}" target="_blank" rel="noopener nofollow" class="tg-df-voucher-item"                  data-action="voucher-click"                  data-product-name="${this.escapeHTML(offerName)}"                  data-merchant-name="${this.escapeHTML(merchantName)}"                  data-analytics-id="${this.escapeHTML(offerObj.offer_id || offerObj.id || v.id || '')}"                  data-price=""                  data-previous-price=""                  data-original-link="${this.escapeHTML(linkUrl)}"                  data-revenue-id="${revenueIdVal}"                  data-index="${idx}"                  data-total="${offers.length}"                  data-in-stock="true"                  data-currency="USD"                  data-model-id="${this.escapeHTML(offerObj.model_id || v.model_id || offerObj.id || v.id || '')}"                  data-merchant-id="${this.escapeHTML(offerObj.merchant_id || offerObj.merchant?.id || '')}"                >                  ${logoHtml}                  \x3Cdiv class="tg-df-voucher-content">                    \x3Ch4 class="tg-df-voucher-title">${this.escapeHTML(offerName)}${_h4}                    ${codeHtml}                    ${expiryHtml}                  ${_div}                ${_a}              `;            }).join('');                        // Attach copy functionality            const copyBtns = content.querySelectorAll('[data-action="copy-code"]');            copyBtns.forEach(btn => {              btn.addEventListener('click', async (e) => {                e.preventDefault();                e.stopPropagation();                                const code = btn.getAttribute('data-code');                if (!code) return;                                try {                  const copyToClipboard = async (text) => {                     if (window.navigator.clipboard && window.isSecureContext) {                        try { await window.navigator.clipboard.writeText(text); return; } catch (e) {}                     }                     const textArea = document.createElement("textarea");                     textArea.value = text;                     textArea.style.position = "fixed";                     document.body.appendChild(textArea);                     textArea.focus();                     textArea.select();                     document.execCommand('copy');                     textArea.remove();                  };                  await copyToClipboard(code);                                    // Visual feedback                  btn.classList.add('copied');                  const textSpan = btn.querySelector('.tg-df-voucher-code-text');                  const iconSvg = btn.querySelector('.tg-df-voucher-copy-icon');                                    const origText = textSpan.innerText;                  const origIcon = iconSvg.innerHTML;                                    textSpan.innerText = 'Copied!';                  iconSvg.innerHTML = `\x3Cpolyline points="20 6 9 17 4 12">${_polyline}`;                                    setTimeout(() => {                    if (btn) {                      btn.classList.remove('copied');                      if (textSpan) textSpan.innerText = origText;                      if (iconSvg) iconSvg.innerHTML = origIcon;                    }                  }, 2000);                                    trackElementInteraction({                    id: 'voucher-code-copy',                    name: 'Copy Voucher Code',                    label: `Copied ${code} for ${merchantName}`                  });                } catch (err) {                  console.warn('Failed to copy text: ', err);                }              });            });            // Attach voucher click tracking            const voucherBtns = content.querySelectorAll('[data-action="voucher-click"]');            voucherBtns.forEach(btn => {              btn.addEventListener('click', (e) => {                if (e.target.closest('[data-action="copy-code"]')) return;                                const productName = btn.getAttribute('data-product-name');                const merchantNameAttr = btn.getAttribute('data-merchant-name');                const productId = btn.getAttribute('data-analytics-id');                const price = parseFloat(btn.getAttribute('data-price')) || null;                const prevPriceStr = btn.getAttribute('data-previous-price');                const previousPrice = prevPriceStr ? parseFloat(prevPriceStr) : null;                const originalLink = btn.getAttribute('data-original-link');                const finalHref = btn.href || btn.getAttribute('href') || '';                let actualRevenueId = btn.getAttribute('data-revenue-id');                const revMatch = finalHref.match(/(?:subId1|xcust|clickref|ascsubtag)=[^&]*?(\d{18,20})(?:&|$)/i);                if (revMatch && revMatch[1]) {                  actualRevenueId = revMatch[1];                }                const rewrittenLink = finalHref;                const revenueId = actualRevenueId;                const index = parseInt(btn.getAttribute('data-index'), 10) || 0;                const inStock = btn.getAttribute('data-in-stock') === 'true';                const totalText = btn.getAttribute('data-total');                const totalDeals = parseInt(totalText, 10) || 0;                const productCategoryName = 'deals';                const trackingParams = {                  widgetId: this.widgetId,                  productCategoryName: productCategoryName,                  product: {                    modelId: btn.getAttribute('data-model-id') || null,                    matchId: btn.getAttribute('data-match-id') || null,                    brand: btn.getAttribute('data-model-brand') || null,                    parent: btn.getAttribute('data-model-parent') || null,                    name: productName,                    price: price,                    previousPrice: previousPrice,                    link: rewrittenLink,                    originalLink: originalLink,                    inStock: inStock                  },                  zeroBasedProductIndexOrNull: index,                  totalDealsOrProducts: totalDeals,                   merchant: {                    id: btn.getAttribute('data-merchant-id') || null,                    network: btn.getAttribute('data-merchant-network') || null,                    url: btn.getAttribute('data-merchant-url') || null,                    name: merchantNameAttr                  },                  revenueId: revenueId,                  widgetTypeName: this.widgetTypeName,                  isoCurrencyCode: btn.getAttribute('data-currency') || 'USD'                };                if (typeof trackDealClick === 'function') {                  trackDealClick(trackingParams);                }              });            });                                  } catch (e) {            console.warn(e);            content.innerHTML = `\x3Cdiv class="tg-df-message">Failed to load vouchers.${_div}`;          }        }        render() {          try {            if (this.getViewMode() === 'savings_squad' && this.airedaleTags.length > 0) {              if (this.categoryFilterWrapper) {                 this.categoryFilterWrapper.style.display = 'flex';              }              if (this.categoryFilter) {                 const _option = '<' + '/option>';                 let optionsHtml = `\x3Coption value="all">All Categories${_option}`;                 this.airedaleTags.forEach(tag => {                    const isSelected = this.activeDealTag === tag ? 'selected' : '';                    optionsHtml += `\x3Coption value="${this.escapeHTML(tag)}" ${isSelected}>${this.escapeHTML(tag)}${_option}`;                 });                 this.categoryFilter.innerHTML = optionsHtml;                 this.categoryFilter.value = this.activeDealTag || 'all';              }            } else {               if (this.categoryFilterWrapper) {                  this.categoryFilterWrapper.style.display = 'none';               }            }            const displayDeals = this.getFilteredDeals();          // HACK: Hide closing tags from the CMS HTML sanitizer so it doesn't strip them during in-page injection          const _div = '<' + '/div>';          const _span = '<' + '/span>';          const _a = '<' + '/a>';          const _h3 = '<' + '/h3>';          const _p = '<' + '/p>';          const _strong = '<' + '/strong>';          const _sup = '<' + '/sup>';          const _button = '<' + '/button>';          if (displayDeals.length === 0) {            if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {              if (this.deals.length > 0) {                 this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                  No deals match your selected filters.                ${_div}`;              } else if (this.getViewMode() === 'savings_squad' && this.currentQuery.length <= 2) {                 // Do not show "no exact matches" if query is empty for savings_squad                 this.grid.innerHTML = '';              } else {                 this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                  No exact matches found for "\x3Cstrong>${this.escapeHTML(this.currentQuery)}${_strong}". Try adjusting your search term.                ${_div}`;              }            } else {              this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                Search product or category names to discover the best deals from across the web.              ${_div}`;            }            return;          }          let dealsHtml = displayDeals.slice(0, this.displayLimit).map((deal, index) => {            try {               const currencySym = this.escapeHTML(deal.currency);               const isoCurrencyCode = normalizeCurrency(currencySym);               const escapedPrice = this.escapeHTML(deal.price);               const escapedMsrp = this.escapeHTML(deal.msrp);               const areaCode = this.getAreaCode();                              const revenueId = generateRevenueId(deal.url, deal.title, deal.merchant, null);               const originalLink = deal.url;               const rewrittenLink = rewriteAffiliateLink(deal.url, areaCode, revenueId);                        const productCategoryName = 'deals';            const dataAttr = `              data-action="${deal.isCheckPrice ? 'view-similar-click' : 'deal-click'}"              data-analytics-id="${this.escapeHTML(deal.externalProductId || deal.id || '')}"              data-product-name="${this.escapeHTML(deal.title)}"              data-merchant-name="${this.escapeHTML(deal.merchant)}"              data-price="${deal.rawPrice || ''}"              data-previous-price="${deal.rawMsrp || ''}"              data-original-link="${this.escapeHTML(originalLink)}"              data-revenue-id="${revenueId}"              data-index="${index}"              data-total="${displayDeals.length}"              data-in-stock="${deal.inStock !== false}"              data-currency="${this.escapeHTML(isoCurrencyCode)}"              data-model-id="${this.escapeHTML(deal.modelId || '')}"              data-product-key="${this.escapeHTML(deal.productKey || '')}"              data-merchant-id="${this.escapeHTML(deal.merchantId || '')}"            `;                        let priceGroupHtml = '';            let isSavingsSquadMode = this.getViewMode() === 'savings_squad';            let ctaText = 'View Deal';            let formattedPrice = '';            let msrpHtml = '';                        if (deal.isCheckPrice) {              ctaText = 'View Deal';              if (isSavingsSquadMode) {                priceGroupHtml = ``;              } else {                priceGroupHtml = `                  \x3Cdiv class="tg-df-card-price-group">                    \x3Cspan class="tg-df-card-price" style="font-size: 15px; font-weight: 500; font-style: italic;">See price at retailer${_span}                  ${_div}                `;              }            } else {              // Format Price              formattedPrice = escapedPrice.includes(currencySym)                 ? escapedPrice                 : `${currencySym}${escapedPrice}`;                              // Format MSRP              msrpHtml = deal.msrp && deal.rawMsrp > deal.rawPrice                ? `\x3Cspan class="tg-df-card-msrp">${escapedMsrp.includes(currencySym) ? escapedMsrp : currencySym + escapedMsrp}${_span}`                : '';                              priceGroupHtml = isSavingsSquadMode ? `` : `                \x3Cdiv class="tg-df-card-price-group">                  \x3Cspan class="tg-df-card-price">${formattedPrice}${_span}                  ${msrpHtml}                ${_div}              `;            }                        const discountBadgeHtml = deal.savingLabel && !deal.isCheckPrice              ? `\x3Cspan class="tg-df-card-discount-badge">${this.escapeHTML(deal.savingLabel)}${_span}`              : '';                          // HACK for CMS            const _button = '<' + '/button>';            const _svg = '<' + '/svg>';            const _path = '<' + '/path>';            const _rect = '<' + '/rect>';            const _circle = '<' + '/circle>';            const _polyline = '<' + '/polyline>';            const _line = '<' + '/line>';                        let badgesHtml = '';            const primeBadge = deal.isPrime ? `              \x3Cspan class="tg-df-tag tg-df-tag-prime">                \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="currentColor">                  \x3Cpath d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z">${_path}                ${_svg} Prime              ${_span}            ` : '';                        const couponsBadge = deal.merchant && deal.merchant.toLowerCase().includes('amazon') ? '' : `              \x3Cdiv class="tg-df-coupon-wrapper" data-merchant="${this.escapeHTML(deal.merchant)}" style="display:inline-flex; align-items:center;">                \x3Cdiv class="tg-df-coupon-spinner">${_div}                \x3Cbutton type="button" class="tg-df-tag tg-df-tag-coupons" data-action="coupons-click" data-merchant="${this.escapeHTML(deal.merchant)}" style="display:none;">                  \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                    \x3Cpath d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z">${_path}                    \x3Cline x1="7" y1="7" x2="7.01" y2="7">${_line}                  ${_svg} Coupons                ${_button}              ${_div}            `;                        // Note: We always add coupons badge if there's a chance, but to allow 3-line titles we check wrapper display state            badgesHtml = `              \x3Cdiv class="tg-df-card-badges">                ${primeBadge}                ${couponsBadge}              ${_div}            `;            const _linearGradient = '<' + '/linearGradient>';            const _polygon = '<' + '/polygon>';            const _stop = '<' + '/stop>';            const _defs = '<' + '/defs>';                        let starHtml = '';            if (deal.starRating) {              let rating = deal.starRating;                            if (rating > 0) {                const fullStars = Math.floor(rating);                const halfStar = (rating - fullStars) >= 0.5 ? 1 : 0;                const emptyStars = Math.max(0, 5 - fullStars - halfStar);                const blue = '#1f69ff'; // Tom's guide brand color from VIEW DEAL button                const gray = '#cbd5e1';                                const starSvgFull = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="${blue}" stroke="${blue}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26">${_polygon}${_svg}`;                                const gradId = 'half_grad_' + Math.floor(Math.random()*1000000);                const starSvgHalf = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" stroke="${blue}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cdefs>\x3ClinearGradient id="${gradId}" x1="0" x2="1" y1="0" y2="0">\x3Cstop offset="50%" stop-color="${blue}">${_stop}\x3Cstop offset="50%" stop-color="transparent">${_stop}${_linearGradient}${_defs}                  \x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26" fill="url(#${gradId})">${_polygon}${_svg}`;                                  const starSvgEmpty = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="${gray}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26">${_polygon}${_svg}`;                                let stars = [];                for (let i=0; i<fullStars; i++) stars.push(starSvgFull);                if (halfStar) stars.push(starSvgHalf);                for (let i=0; i<emptyStars; i++) stars.push(starSvgEmpty);                                starHtml = `\x3Cdiv class="tg-df-card-stars" style="display:flex;align-items:center;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--tg-df-text-muted);">                  \x3Cspan style="margin-right:6px;">Tom's Guide:${_span}                  \x3Cdiv style="display:flex;gap:2px;">                    ${stars.join('')}                  ${_div}                ${_div}`;              }            }            let htmlOutput = '';            if (isSavingsSquadMode) {              htmlOutput += `              \x3Cdiv class="hawk-deal-widget-container tg-df-mobile-only" data-collapsible="true">                ${this.editorMode ? `\x3Cinput type="checkbox" class="tg-df-deal-checkbox" data-id="${this.escapeHTML(deal.id)}" ${this.selectedDeals.has(deal.id) ? 'checked' : ''} style="margin-bottom: 10px;">` : ''}                \x3Cdiv class="hawk-deal-widget-wrap">                  \x3Cdiv class="hawk-deal-widget-image-container">                    \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" rel="sponsored noopener" target="_blank" class="hawk-affiliate-link-deal-widget" ${dataAttr}>                      \x3Cimg ${deal.image ? `src="${this.escapeHTML(deal.image)}"` : ''} alt="${this.escapeHTML(deal.title)}" class="hawk-lazy-image-deal-widget" loading="lazy" width="140" height="160" onerror="${deal.fallbackImage ? `if(!this.dataset.fb) { this.dataset.fb='1'; this.src='${this.escapeHTML(deal.fallbackImage)}'; } else { this.style.opacity='0'; }` : `this.style.opacity='0';`}">                    ${_a}                  ${_div}                  \x3Cdiv class="hawk-deal-widget-text-cta-container">                    \x3Cdiv class="hawk-deal-widget-text-body-container">                      \x3Cdiv class="hawk-deal-widget-text-body-main">                        \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                          ${deal.isCheckPrice ? `                            \x3Cspan class="hawk-deal-widget-title-product-title">${this.escapeHTML(deal.title)}${_span}                          ` : `                            \x3Cspan class="hawk-deal-widget-title-product-title">${deal.brand ? this.escapeHTML(deal.brand) + ' ' : ''}${this.escapeHTML(deal.productName || deal.title || '')}:${_span}                          `}                        ${_a}                        ${!deal.isCheckPrice && deal.rawMsrp && deal.rawMsrp > deal.rawPrice ? `                          \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                            \x3Cspan class="hawk-deal-widget-title-was-price">was ${currencySym}${escapedMsrp}${_span}                          ${_a}                        ` : ''}                        \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                          \x3Cspan class="hawk-deal-widget-title-retailer-price">                            ${!deal.isCheckPrice ? `                              \x3Cspan class="hawk-deal-widget-title-price">now ${formattedPrice}${_span}                              \x3Cspan class="hawk-deal-widget-title-retailer"> at ${this.escapeHTML(deal.merchant)}${_span}                            ` : `                              \x3Cspan class="hawk-deal-widget-title-price">See price at ${this.escapeHTML(deal.merchant)}${_span}                            `}                          ${_span}                        ${_a}                        ${deal.description ? `\x3Cdiv class="hawk-deal-widget-text-body-description tg-df-card-desc-container" style="margin-bottom: 12px; position: relative;">                          \x3Cp class="tg-df-card-desc-content" style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">${this.escapeHTML(deal.description)}${_p}                          \x3Cbutton type="button" class="tg-df-card-desc-btn" style="display: none; appearance: none; border: none; color: #000000; font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0; background: linear-gradient(to right, transparent, #fff 20%, #fff); padding: 0 0 0 16px;" onclick="                            var c = this.parentNode;                            if (this.dataset.expanded === 'true') {                              var pd = (c.tagName === 'P') ? c : this.previousElementSibling;                              if (c.tagName === 'P') { c.parentNode.appendChild(this); pd = c; }                              pd.style.display = '-webkit-box';                              pd.style.webkitLineClamp = '3';                              this.textContent = 'READ MORE';                              this.style.position = 'absolute';                              this.style.background = 'linear-gradient(to right, transparent, #fff 20%, #fff)';                              this.style.paddingLeft = '16px';                              this.dataset.expanded = 'false';                            } else {                              var pd = this.previousElementSibling;                              pd.style.display = 'inline';                              pd.style.webkitLineClamp = 'unset';                              this.textContent = 'READ LESS';                              this.style.position = 'static';                              this.style.background = 'transparent';                              this.style.paddingLeft = '4px';                              this.dataset.expanded = 'true';                              pd.appendChild(this);                            }                          ">READ MORE${_button}                        \x3C/div>` : ''}                      ${_div}                    ${_div}                    ${deal.authorName ? `                      \x3Cdiv class="tg-df-author-line-mobile" style="padding: 0 0 12px 0; background: transparent;">                         \x3Cdiv style="display: flex; align-items: center; gap: 12px;">                            ${deal.authorImage ? `\x3Cimg src="${this.escapeHTML(deal.authorImage)}" alt="${this.escapeHTML(deal.authorName)}" class="tg-df-author-img" width="40" height="40" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 40px; min-height: 40px;">` : ''}                            \x3Cdiv style="display: flex; flex-direction: column;">                               \x3Cdiv style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;">\x3Cspan style="color: #FF6600;">${this.escapeHTML(deal.merchant)}${_span} deal recommended by:${_div}                               \x3Cdiv style="font-size: 11px; color: var(--tg-df-text); line-height: 1.3;">                                  \x3Cstrong>\x3Ca href="https://www.tomsguide.com/${this.escapeHTML(deal.documentUrl || '').replace(/^\/+/, '')}" target="_blank" rel="noopener nofollow" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">${this.escapeHTML(deal.authorName)}${_a}${_strong}                                  ${deal.authorRole && !['null', 'nul', 'undefined'].includes(String(deal.authorRole).toLowerCase()) ? ` • ${this.escapeHTML(deal.authorRole)}` : ''}                                  ${deal.modifiedDate ? `\x3Cdiv style="color: var(--tg-df-text-muted); margin-top: 2px;">${getTimeAgo(deal.modifiedDate)}${_div}` : ''}                               ${_div}                            ${_div}                         ${_div}                      ${_div}                    ` : ''}                    \x3Cdiv class="hawk-deal-widget-footer">                      \x3Cdiv class="hawk-deal-widget-button-wrapper">                        \x3Cdiv class="hawk-deal-widget-preferred-partner-wrapper">                          \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-deal-button" rel="sponsored noopener" target="_blank" ${dataAttr}>                            \x3Cspan>View Deal${_span}                          ${_a}                        ${_div}                      ${_div}                    ${_div}                  ${_div}                ${_div}              ${_div}              `;            }            htmlOutput += `              \x3Cdiv class="tg-df-card ${isSavingsSquadMode ? 'tg-df-desktop-only' : ''}">                ${this.editorMode ? `\x3Cinput type="checkbox" class="tg-df-deal-checkbox" data-id="${this.escapeHTML(deal.id)}" ${this.selectedDeals.has(deal.id) ? 'checked' : ''}>` : ''}                \x3Cdiv class="tg-df-card-image-box">                  ${discountBadgeHtml}                  \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;">                    \x3Cimg ${deal.image ? `src="${this.escapeHTML(deal.image)}"` : ''} alt="${this.escapeHTML(deal.title)}" class="tg-df-card-image" loading="lazy" onerror="${deal.fallbackImage ? `if(!this.dataset.fb) { this.dataset.fb='1'; this.src='${this.escapeHTML(deal.fallbackImage)}'; } else { this.style.opacity='0'; }` : `this.style.opacity='0';`}">                  ${_a}                  \x3Cdiv class="tg-df-card-merchant-wrapper" style="position: absolute; bottom: 0; right: 0; background: transparent; padding: 8px 12px; z-index: 10;">                     \x3Cspan class="tg-df-card-merchant-pill" style="text-align: right; margin-bottom: 0;" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                  ${_div}                ${_div}                \x3Cdiv class="tg-df-card-body">                  ${starHtml}                  ${badgesHtml}                  \x3Ch3 class="tg-df-card-title tg-df-custom-savings-squad-title" title="${this.escapeHTML(deal.title)}">                    \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" style="text-decoration: none; color: inherit;">                      ${isSavingsSquadMode                         ? (deal.isCheckPrice                             ? (deal.title && deal.title.includes(':')                                 ? `\x3Cstrong>${this.escapeHTML(deal.title.substring(0, deal.title.indexOf(':') + 1))}${_strong}\x3Cspan style="color: #1f69ff; font-weight: normal;">${this.escapeHTML(deal.title.substring(deal.title.indexOf(':') + 1))}${_span}`                                : this.escapeHTML(deal.title)                              )                             : `\x3Cstrong>${deal.brand ? this.escapeHTML(deal.brand) + ' ' : ''}${this.escapeHTML(deal.productName || deal.title || '')}:${_strong} ${deal.rawMsrp && deal.rawMsrp > deal.rawPrice ? `\x3Cspan style="color: #d0021b; text-decoration: line-through; font-weight: normal; margin-right: 4px;">was ${currencySym}${escapedMsrp}${_span} ` : ''}\x3Cspan style="color: #1f69ff; font-weight: normal;">now ${formattedPrice} at ${this.escapeHTML(deal.merchant)}${_span}`                          )                        : this.escapeHTML(deal.title)                      }                    ${_a}                  ${_h3}                  ${deal.description ? `\x3Cdiv class="tg-df-card-desc-container" style="margin-bottom: 12px; position: relative;">                    \x3Cp class="tg-df-card-desc-content" style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">${this.escapeHTML(deal.description)}${_p}                    \x3Cbutton type="button" class="tg-df-card-desc-btn" style="display: none; appearance: none; border: none; color: #000000; font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0; background: linear-gradient(to right, transparent, #fff 20%, #fff); padding: 0 0 0 16px;" onclick="                      var c = this.parentNode;                      if (this.dataset.expanded === 'true') {                        var pd = (c.tagName === 'P') ? c : this.previousElementSibling;                        if (c.tagName === 'P') { c.parentNode.appendChild(this); pd = c; }                        pd.style.display = '-webkit-box';                        pd.style.webkitLineClamp = '3';                        this.textContent = 'READ MORE';                        this.style.position = 'absolute';                        this.style.background = 'linear-gradient(to right, transparent, #fff 20%, #fff)';                        this.style.paddingLeft = '16px';                        this.dataset.expanded = 'false';                      } else {                        var pd = this.previousElementSibling;                        pd.style.display = 'inline';                        pd.style.webkitLineClamp = 'unset';                        this.textContent = 'READ LESS';                        this.style.position = 'static';                        this.style.background = 'transparent';                        this.style.paddingLeft = '4px';                        this.dataset.expanded = 'true';                        pd.appendChild(this);                      }                    ">READ MORE${_button}                  \x3C/div>` : ''}                  \x3Cdiv class="tg-df-card-footer">                    ${deal.authorName ? `                    \x3Cdiv class="tg-df-author-line-desktop" style="padding: 0 0 ${isSavingsSquadMode ? 0 : 12}px 0;">                       \x3Cdiv style="display: flex; align-items: center; gap: 10px;">                          ${deal.authorImage ? `\x3Cimg src="${this.escapeHTML(deal.authorImage)}" alt="${this.escapeHTML(deal.authorName)}" class="tg-df-author-img" width="36" height="36" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;">` : ''}                          \x3Cdiv style="display: flex; flex-direction: column;">                             \x3Cdiv style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;">Recommended by:${_div}                             \x3Cdiv style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;">                                \x3Cstrong>\x3Ca href="https://www.tomsguide.com/${this.escapeHTML(deal.documentUrl || '').replace(/^\/+/, '')}" target="_blank" rel="noopener nofollow" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">${this.escapeHTML(deal.authorName)}${_a}${_strong}                                ${deal.authorRole && !['null', 'nul', 'undefined'].includes(String(deal.authorRole).toLowerCase()) ? ` • ${this.escapeHTML(deal.authorRole)}` : ''}                                ${deal.modifiedDate ? `\x3Cspan style="color: var(--tg-df-text-muted);"> • ${getTimeAgo(deal.modifiedDate)}${_span}` : ''}                             ${_div}                          ${_div}                       ${_div}                    ${_div}                    ` : ''}                    ${priceGroupHtml}                  ${_div}                ${_div}                \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" class="tg-df-card-cta" style="text-decoration: none; border-radius: 0;">${ctaText}${_a}              ${_div}            `;                        return htmlOutput;            } catch (e) {               console.log("Error rendering deal in map for index", index, typeof deal === 'object' ? JSON.stringify(deal) : deal, "MSG:", e.message);               return '';            }          }).join('');                    if (displayDeals.length > this.displayLimit) {            dealsHtml += `              \x3Cdiv style="width: 100%; display: flex; justify-content: center; margin-top: 16px; grid-column: 1 / -1;">                \x3Cbutton type="button" class="tg-df-tag-outline tg-df-load-more" style="padding: 8px 24px; border-radius: 100px; font-weight: 600; font-size: 14px; cursor: pointer;">Load More${_button}              ${_div}            `;          }                    this.grid.innerHTML = dealsHtml;          // Inject JSON-LD          try {            let targetNode = this.hostContainer || document.head;            let jsonLdScript = targetNode.querySelector('#tg-df-json-ld-' + this.widgetId);            if (!jsonLdScript) {                jsonLdScript = document.createElement('script');                jsonLdScript.type = 'application/ld+json';                jsonLdScript.id = 'tg-df-json-ld-' + this.widgetId;                targetNode.appendChild(jsonLdScript);            }            const jsonLdData = {              "@context": "https://schema.org",              "@type": "ItemList",              "itemListElement": displayDeals.slice(0, this.displayLimit).map((deal, index) => {                 let isoCurrency = "USD";                 if (deal.currency === '£') isoCurrency = "GBP";                 else if (deal.currency === '€') isoCurrency = "EUR";                 else if (deal.currency === 'A$') isoCurrency = "AUD";                 else if (deal.currency === 'CA$') isoCurrency = "CAD";                 const areaCode = typeof this.getAreaCode === 'function' ? this.getAreaCode() : 'US';                 const revenueId = typeof generateRevenueId === 'function' ? generateRevenueId(deal.url, deal.title, deal.merchant, null) : '';                 const rewrittenLink = typeof rewriteAffiliateLink === 'function' ? rewriteAffiliateLink(deal.url, areaCode, revenueId) : deal.url;                 return {                   "@type": "ListItem",                   "position": index + 1,                   "item": {                     "@type": "Product",                     "name": deal.title,                     "image": deal.image || "",                     "description": deal.description || "",                     "brand": {                       "@type": "Brand",                       "name": deal.brand || ""                     },                     "offers": {                       "@type": "Offer",                       "priceCurrency": isoCurrency,                       "price": deal.rawPrice || 0,                       "url": rewrittenLink,                       "seller": {                         "@type": "Organization",                         "name": deal.merchant || ""                       }                     }                   }                 };              }).filter(item => item.item.name)            };            jsonLdScript.textContent = JSON.stringify(jsonLdData);          } catch(e) { console.warn("JSON-LD generation failed", e); }          setTimeout(() => {            const contents = this.root.querySelectorAll('.tg-df-card-desc-content');            contents.forEach(p => {              if (p.scrollHeight > p.clientHeight || p.scrollHeight > 60) {                if (p.nextElementSibling) {                  p.nextElementSibling.style.display = 'block';                }              }            });                        // Allow hawklinks.js to discover and rewrite our widget links             // by appending the .article-body class and manually triggering processArticle.            let container = this.root.classList.contains('tg-df-container') ? this.root : this.root.querySelector('.tg-df-container');            if (container && !container.classList.contains('article-body')) {               container.classList.add('article-body');            }            if (this.grid && !this.grid.classList.contains('article-body')) this.grid.classList.add('article-body');            document.dispatchEvent(new CustomEvent('processArticle', { detail: { element: this.root } }));          }, 50);          const loadMoreBtn = this.grid.querySelector('.tg-df-load-more');          if (loadMoreBtn) {            loadMoreBtn.addEventListener('click', () => {              if (typeof trackElementInteraction === 'function') {                trackElementInteraction({ id: 'load-more', name: 'Load more', label: 'Load More Results' });              }              this.displayLimit += this.getRowsLimit();              this.render();            });          }                      this.bindCouponButtons();            this.checkAndUpdateCoupons();          } catch(e) {            console.warn("Widget render error", e);          }        }                async checkAndUpdateCoupons() {          const wrappers = Array.from(this.root.querySelectorAll('.tg-df-coupon-wrapper'));          if (wrappers.length === 0) return;                    const merchants = [...new Set(wrappers.map(w => w.getAttribute('data-merchant')).filter(Boolean))];          if (merchants.length === 0) return;          const couponResultsMap = await this.checkMerchantsCouponsBulk(merchants);                    for (const merchant of merchants) {            const hasCoupons = !!couponResultsMap[merchant];            const merchantWrappers = wrappers.filter(w => w.getAttribute('data-merchant') === merchant);            merchantWrappers.forEach(wrapper => {              const spinner = wrapper.querySelector('.tg-df-coupon-spinner');              const btn = wrapper.querySelector('.tg-df-tag-coupons');                            if (spinner) spinner.style.display = 'none';                            if (hasCoupons && btn) {                btn.style.display = 'inline-flex';              } else if (!hasCoupons) {                wrapper.style.display = 'none';              }            });          }        }        updateFloatingCopyBar() {          if (!this.editorBar || !this.editorSelectedCount) return;          if (this.editorMode && this.selectedDeals.size > 0) {            this.editorBar.style.display = 'flex';            this.editorSelectedCount.innerText = this.selectedDeals.size;          } else {            this.editorBar.style.display = 'none';          }        }        async copySelectedDealsToCMS() {           function htmlToSlate(htmlString) {              if (!htmlString) return [{ type: 'paragraph', children: [{ text: '' }] }];              let doc;              if (typeof window !== 'undefined' && window.DOMParser) {                 doc = new DOMParser().parseFromString(htmlString, 'text/html');              } else {                 doc = document.implementation.createHTMLDocument('');                 doc.body.innerHTML = htmlString;              }                            function parseNode(node, marks = {}) {                  if (node.nodeType === 3) {                      const text = node.textContent;                      if (!text) return null;                      return { text: text, ...marks };                  }                  if (node.nodeType === 1) {                      const tagName = node.tagName.toLowerCase();                      if (tagName === 'br') {                          return { type: 'line-break', children: [{ text: '' }] };                      }                      if (tagName === 'p') {                          let children = Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                          if (children.length === 0) children.push({ text: "" });                          return { type: 'paragraph', children };                      }                      if (tagName === 'strong' || tagName === 'b') {                          const newMarks = { ...marks, bold: true };                          return Array.from(node.childNodes).map(child => parseNode(child, newMarks)).flat().filter(Boolean);                      }                      if (tagName === 'em' || tagName === 'i') {                          const newMarks = { ...marks, italic: true };                          return Array.from(node.childNodes).map(child => parseNode(child, newMarks)).flat().filter(Boolean);                      }                      if (tagName === 'a') {                          const href = node.getAttribute('href') || '';                          let children = Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                          if (children.length === 0) children.push({ text: "" });                          return {                              type: 'link',                              url: href,                              isNoFollow: (node.getAttribute('rel') || '').includes('nofollow'),                              isSponsored: (node.getAttribute('rel') || '').includes('sponsored'),                              isOpenNewTab: node.getAttribute('target') === '_blank',                              isPreventDataRewrite: false,                              children: children                          };                      }                      return Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                  }                  return null;              }                            let blocksArray = [];              let currentParagraphChildren = [];              function flushParagraph() {                  if (currentParagraphChildren.length > 0) {                      blocksArray.push({ type: 'paragraph', children: currentParagraphChildren });                      currentParagraphChildren = [];                  }              }              Array.from(doc.body.childNodes).forEach(node => {                  const parsed = parseNode(node, {});                  const parsedItems = Array.isArray(parsed) ? parsed : (parsed ? [parsed] : []);                  parsedItems.forEach(item => {                      if (item.type === 'paragraph') {                          flushParagraph();                          blocksArray.push(item);                      } else {                          currentParagraphChildren.push(item);                      }                  });              });              flushParagraph();              if (blocksArray.length === 0) {                  blocksArray = [{ type: 'paragraph', children: [{ text: '' }] }];              }              return blocksArray;           }           const blocks = [];                      this.editorCopyBtn.innerHTML = '\x3Cspan class="tg-df-coupon-spinner" style="display:inline-block; margin-right:8px; border-top-color:#fff;">' + '<' + '/span> Copying...';           for (const deal of Array.from(this.selectedDeals.values())) {              const url = deal.url;              const merchant = deal.merchant;              const title = deal.title;              const image = deal.image;              const currentPrice = deal.currency + deal.rawPrice;              const wasPrice = deal.hasWasPrice && deal.rawMsrp > deal.rawPrice ? deal.currency + deal.rawMsrp : '';                            let couponsChildren = [];              try {                  const area = this.getAreaCode();                  const apiUrl = new URL('https://search-api.fie.future.net.uk/widget.php');                  apiUrl.searchParams.append('model_name', 'Everything');                  apiUrl.searchParams.append('language', 'en-GB');                  apiUrl.searchParams.append('area', area);                  apiUrl.searchParams.append('combine_product_types', '1');                  apiUrl.searchParams.append('filter_merchant_name', merchant);                  apiUrl.searchParams.append('all_filters', 'false');                  apiUrl.searchParams.append('exclude_unlabelled', 'false');                  apiUrl.searchParams.append('include_specs', 'false');                  apiUrl.searchParams.append('sort', 'voucher');                  apiUrl.searchParams.append('distinct_merchants', 'natural');                  apiUrl.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');                  apiUrl.searchParams.append('rows', '3');                  apiUrl.searchParams.append('origin', 'widgets-clientside');                                    let res; try { res = await fetch(apiUrl.toString()); } catch (e) { return; }                  if (res.ok) {                      const data = await res.json();                      let offers = [];                      if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {                        offers = data.widget.data.offers;                      } else if (data && data.data && Array.isArray(data.data.offers)) {                        offers = data.data.offers;                      }                                            if (offers.length > 0) {                          couponsChildren.push({ text: "Also check out these coupons: ", bold: true });                          offers.slice(0, 3).forEach((offer, idx) => {                              const actualOffer = offer.offer || offer;                              const offerName = actualOffer.name || actualOffer.title || offer.model_name || offer.title || offer.name || 'Coupon';                              const linkUrl = actualOffer.link || actualOffer.url || actualOffer.offer_link || '#';                              couponsChildren.push({ type: "line-break", children: [{ text: "" }] });                              couponsChildren.push({ text: "🎟️ " });                              couponsChildren.push({                                  type: "link",                                  url: linkUrl,                                  isNoFollow: true,                                  isSponsored: false,                                  isOpenNewTab: true,                                  isPreventDataRewrite: false,                                  children: [{ text: offerName, bold: true }]                              });                          });                      }                  }              } catch (err) {                  console.warn('Failed to fetch coupons for', merchant, err);              }              let descriptionValue = [];              if (deal.text) {                 descriptionValue = htmlToSlate(deal.text);              } else {                 const dealDescriptions = [                   `Don't miss out on this fantastic deal for the ${title}. It is currently available at ${merchant} for a highly competitive price.`,                   `We've spotted an excellent price drop on the ${title}. Grab it now at ${merchant} before it's gone.`,                   `The ${title} is currently seeing a generous discount over at ${merchant}. This is a perfect time to buy if you've been holding out.`,                   `If you're in the market for the ${title}, ${merchant} has just the deal for you.`,                   `Score the ${title} for less at ${merchant} right now. This is a rare chance to save big.`,                   `Upgrade your setup with the ${title}, now available at a stellar price via ${merchant}.`                 ];                 const randomDescription = dealDescriptions[Math.floor(Math.random() * dealDescriptions.length)];                 descriptionValue = [                    { type: "paragraph", children: [{ text: randomDescription }] }                 ];              }                            if (couponsChildren.length > 0) {                 let lastBlock = descriptionValue[descriptionValue.length - 1];                 if (lastBlock && lastBlock.type === 'paragraph') {                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children.push({ text: "Also check out these coupons: ", bold: true });                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children = lastBlock.children.concat(couponsChildren);                 } else {                     descriptionValue.push({                         type: "paragraph",                         children: [                             { type: "line-break", children: [{ text: "" }] },                             { type: "line-break", children: [{ text: "" }] },                             { text: "Also check out these coupons: ", bold: true },                             { type: "line-break", children: [{ text: "" }] },                             ...couponsChildren                         ]                     });                 }              }              function normalizeCurrencyToISO(symbol) {                const map = { '£': 'GBP', '$': 'USD', 'A$': 'AUD', 'CA$': 'CAD', '€': 'EUR' };                return map[symbol] || symbol;              }              const isoCurrency = normalizeCurrencyToISO(deal.currency);              blocks.push({                 id: (window.crypto && window.crypto.randomUUID) ? window.crypto.randomUUID() : 'cms-' + Date.now() + Math.random(),                 blockTypeName: "deal",                 excludeFrom: [],                 collapsible: false,                 props: {                    description: {                       value: descriptionValue,                       touched: false,                       validationMessage: ""                    },                    image: {                       value: {                          credit: [{ type: "paragraph", children: [{ text: merchant }] }],                          dateCreated: Date.now(),                          dateModified: Date.now(),                          distribution: [],                          fileSize: 0,                          height: 1000,                          id: deal.id,                          imageRights: "",                          src: image,                          name: title + ".jpg",                          tags: [],                          width: 1000                       },                       touched: false,                       validationMessage: ""                    },                    showDealButton: { value: true, touched: false, validationMessage: "" },                    isPreferredPartner: { value: false, touched: false, validationMessage: "" },                    linkHref: { value: url, touched: false, validationMessage: "" },                    linkLabel: { value: "", touched: false, validationMessage: "" },                    linkIsNoFollow: { value: true, touched: false, validationMessage: "" },                    linkIsSponsored: { value: false, touched: false, validationMessage: "" },                    linkIsOpenNewWindow: { value: true, touched: false, validationMessage: "" },                    customPromoFlags: { value: [], touched: false, validationMessage: "" },                    showStarDeal: { value: false, touched: false, validationMessage: "" },                    savingType: { value: "none", touched: false, validationMessage: "" },                    starDealPromoFlag: { value: "", touched: false, validationMessage: "" },                    showEditorsChoice: { value: false, touched: false, validationMessage: "" },                    editorsChoiceTitle: { value: "", touched: false, validationMessage: "" },                    hawkPriceCurrency: { value: { value: isoCurrency, label: isoCurrency }, touched: false, validationMessage: "" },                    hawkPrice: { value: deal.hasWasPrice ? String(deal.rawMsrp) : String(deal.rawPrice), touched: false, validationMessage: "" },                    hawkSalePrice: { value: String(deal.rawPrice), touched: false, validationMessage: "" },                    lastCheckedPriceDate: { value: "", touched: false, validationMessage: "" },                    hawkModel: { touched: false, validationMessage: "" },                    productId: { value: "", touched: false, validationMessage: "" },                    voucherId: { value: "", touched: false, validationMessage: "" },                    brand: { value: deal.brand || merchant, touched: false, validationMessage: "" },                    productName: { value: title, touched: false, validationMessage: "" },                    label: { value: "", touched: false, validationMessage: "" },                    retailer: { value: merchant, touched: false, validationMessage: "" },                    priceCheckError: false                 },                 failedFetchError: ""              });           }           const payload = {              type: "articleBuilderPages",              data: blocks           };           const jsonStr = JSON.stringify(payload);                      if (navigator.clipboard && navigator.clipboard.writeText) {              navigator.clipboard.writeText(jsonStr).then(() => {                 this.editorCopyBtn.innerHTML = 'Copied!';                 setTimeout(() => {                    this.editorCopyBtn.innerHTML = '\x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2"><' + '/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"><' + '/path><' + '/svg> Copy to CMS';                 }, 2000);              }).catch(err => {                 console.warn('Failed to copy text: ', err);                 alert('Failed to copy deals to clipboard. See console.');              });           } else {              // Fallback              const textArea = document.createElement("textarea");              textArea.value = jsonStr;              document.body.appendChild(textArea);              textArea.focus();              textArea.select();              try {                 document.execCommand('copy');                 this.editorCopyBtn.innerHTML = 'Copied!';                 setTimeout(() => {                    this.editorCopyBtn.innerHTML = '\x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2"><' + '/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"><' + '/path><' + '/svg> Copy to CMS';                 }, 2000);              } catch (err) {                 console.warn('Fallback: Oops, unable to copy', err);                 alert('Fallback: Failed to copy deals to clipboard.');              }              document.body.removeChild(textArea);           }        }      }      // Initialize the Widget      if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', () => new DealsFinderWidget({ rootId: 'signal-deals-finder-root', rootNode: shadowRoot, hostContainer: hostContainer }));      } else {        new DealsFinderWidget({ rootId: 'signal-deals-finder-root', rootNode: shadowRoot, hostContainer: hostContainer });      }    })();  </script></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ iPhone 18 Pro Max vs iPhone 17 Pro Max: All the differences explained ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Alongside <a href="https://www.tomsguide.com/phones/iphones/iphone-duo-is-official-price-release-date-specs-and-everything-you-need-to-know">Apple's first foldable iPhone</a>, a new generation of Pro iPhones has arrived, which means it's time to compare the <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-hands-on-sneaky-awesome-upgrades-but-worth-the-price-hike">iPhone 18 Pro Max</a> vs. iPhone 17 Pro Max. Other than a smaller Dynamic Island, Apple hasn't changed the overall design much from last year's model, but there are several upgrades on the new iPhone 18 Pro Max, including a variable aperture camera, longer battery life and the new A20 Pro chipset. </p><p>This guide breaks down the key differences between the iPhone 18 Pro Max and iPhone 17 Pro Max, so you can make a more informed decision before placing your pre-order or upgrading to the newer model. So, whether you already own the iPhone 17 Pro Max or are choosing between the two, we'll help you figure out which one makes more sense.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/BZi0R_thP9M" allowfullscreen></iframe></div></div><h3 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-17-pro-max-specs"><span>iPhone 18 Pro Max vs. iPhone 17 Pro Max: Specs</span></h3><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>iPhone 18 Pro Max</strong></p></td><td  ><p><strong>iPhone 17 Pro Max</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Starting price</strong></p></td><td  ><p>$1,299</p></td><td  ><p>$1,199</p></td></tr><tr><td class="firstcol " ><p><strong>Display</strong></p></td><td  ><p>6.9-inch Super Retina XDR, ProMotion, 3,000 nits peak brightness</p></td><td  ><p>6.9-inch Super Retina XDR, ProMotion, 3,000 nits peak brightness</p></td></tr><tr><td class="firstcol " ><p><strong>Refresh rate</strong></p></td><td  ><p>1 - 120Hz</p></td><td  ><p>1 - 120Hz</p></td></tr><tr><td class="firstcol " ><p><strong>Rear cameras</strong></p></td><td  ><p>48MP main with variable aperture, 48MP ultra-wide, 48MP telephoto with 8x optical zoom</p></td><td  ><p>48MP main (fixed f/1.78 aperture), 48MP ultra-wide, 48MP telephoto with 8x optical zoom</p></td></tr><tr><td class="firstcol " ><p><strong>Front cameras</strong>    </p></td><td  ><p>18MP Center Stage selfie (f/1.9)    </p></td><td  ><p>18MP Center Stage selfie (f/1.9)    </p></td></tr><tr><td class="firstcol " ><p><strong>Chipset</strong>    </p></td><td  ><p>A20 Pro</p></td><td  ><p>A19 Pro</p></td></tr><tr><td class="firstcol " ><p><strong>RAM</strong>    </p></td><td  ><p>12GB    </p></td><td  ><p>12GB    </p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong>    </p></td><td  ><p>256GB, 512GB, 1TB, 2TB</p></td><td  ><p>256GB, 512GB, 1TB</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life (claimed by Apple)</strong>    </p></td><td  ><p>43 hours video playback</p></td><td  ><p>37 hours video playback</p></td></tr><tr><td class="firstcol " ><p><strong>Charging</strong>    </p></td><td  ><p>60W wired, 25W MagSafe wireless    </p></td><td  ><p>40W wired, 25W MagSafe wireless    </p></td></tr><tr><td class="firstcol " ><p><strong>Operating system</strong>    </p></td><td  ><p>iOS 27</p></td><td  ><p>iOS 26, upgradable to iOS 27</p></td></tr><tr><td class="firstcol " ><p><strong>Water/dust resistance</strong>    </p></td><td  ><p>IP68    </p></td><td  ><p>IP68    </p></td></tr><tr><td class="firstcol " ><p><strong>Size</strong>    </p></td><td  ><p>6.43 x 3.07 x 0.35 inches (163.4 x 78 x 8.75 mm)    </p></td><td  ><p>6.43 x 3.07 x 0.35 inches (163.4 x 78 x 8.8 mm)    </p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong>    </p></td><td  ><p>8.78 ounces (249 grams)    </p></td><td  ><p>8.22 ounces (233 grams)    </p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong>    </p></td><td  ><p>Black, Silver, Glacier, Burgundy    </p></td><td  ><p>Silver, Cosmic Orange, Deep Blue    </p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-17-pro-max-price-availability-and-colors"><span>iPhone 18 Pro Max vs. iPhone 17 Pro Max: Price, availability and colors</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="TUHKFKjf3sxjBNZKbzJu8o" name="iPhone 18 Pro colors" alt="iPhone 18 Pro Max" src="https://cdn.mos.cms.futurecdn.net/TUHKFKjf3sxjBNZKbzJu8o.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Amid the <a href="https://www.tomsguide.com/computing/the-ram-crisis-is-so-much-bigger-than-pcs-heres-the-rest-of-the-products-caught-in-the-crossfire">ongoing RAM crisis</a>, Apple has increased the prices of both the iPhone 18 Pro and iPhone 18 Pro Max by $100. This means the iPhone 18 Pro Max now starts at $1,299, compared to the iPhone 17 Pro Max's $1,199 launch price. Unlike the last time Apple raised the Pro Max's price, there's no base storage increase to soften the blow either.</p><p>The iPhone 18 Pro Max comes in four color options: Silver, Glacier, Burgundy, and Black. Notably, Black is making a return after being absent from the iPhone 17 Pro lineup. In comparison, the iPhone 17 Pro Max launched in just three colors: Silver, Deep Blue, and Cosmic Orange. </p><p>The iPhone 18 Pro Max will be available for pre-order starting September 12, with general availability beginning September 18. Check out our <a href="https://www.tomsguide.com/phones/iphones/avoid-that-usd100-price-hike-how-to-save-up-to-usd885-on-your-iphone-18-pro-preorder">iPhone 18 Pro pre-order deals page</a> for the best offers available. </p><p>The iPhone 17 Pro Max is no longer officially available from Apple, but you can still find it through retailers like Best Buy and several carriers. With the new model now here, you may also be able to grab it at a decent discount. Check out our <a href="https://www.tomsguide.com/phones/iphones/iphone-17-pre-order-deals-heres-how-to-get-apples-new-phones-for-free">iPhone 17 deals page</a> for the latest offers.</p><div data-widget-type="productname" data-model-name="Apple iPhone 18 Pro Max"></div><h3 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-17-pro-max-design-and-display"><span>iPhone 18 Pro Max vs. iPhone 17 Pro Max: Design and display</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="XEnBSEb3MMRqFRw7NPesBo" name="iPhone 18 Pro Max front" alt="iPhone 18 Pro Max" src="https://cdn.mos.cms.futurecdn.net/XEnBSEb3MMRqFRw7NPesBo.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Apple refreshed the iPhone Pro lineup's design just last year with the iPhone 17 Pro, so there aren't many major changes this time around. Looks-wise, you're getting the same horizontal camera plateau on the back, although the rear glass is now slightly more color-matched to the rest of the device. </p><p>In terms of dimensions, the iPhone 18 Pro Max is exactly the same size as the <a href="https://www.tomsguide.com/phones/iphones/iphone-17-pro-max-review">iPhone 17 Pro Max</a>, but there is a noticeable difference in weight. The iPhone 18 Pro Max weighs nearly 249 grams, compared to 231 grams for the iPhone 17 Pro Max. In terms of durability, both phones are also IP68-rated and feature Ceramic Shield 2 on the front and Ceramic Shield protection on the back.</p><p>As for the display, the iPhone 18 Pro Max features the same 6.9-inch Super Retina XDR OLED panel with support for up to 120Hz refresh rate. Peak brightness also remains unchanged at 3,000 nits. </p><p>The main difference is the smaller Dynamic Island on the <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-hands-on-sneaky-awesome-upgrades-but-worth-the-price-hike">iPhone 18 Pro Max</a>. Thanks to its reduced size, the new model can now display up to three Live Activities at once, compared to two on the iPhone 17 Pro Max.</p><h3 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-17-pro-max-cameras"><span>iPhone 18 Pro Max vs. iPhone 17 Pro Max: Cameras</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PsAoKzRkrmCg46aQ53ywDo" name="iPhone 18 Pro Max silver" alt="iPhone 18 Pro Max" src="https://cdn.mos.cms.futurecdn.net/PsAoKzRkrmCg46aQ53ywDo.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Cameras are where Apple has made some of the bigger changes with the iPhone 18 Pro Max. On paper, you're still getting the same triple 48MP camera setup, consisting of a 48MP main camera, 48MP ultrawide, and 48MP telephoto camera with up to 8x optical zoom. But the big upgrade this year is the addition of a <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-i-asked-3-pro-photographers-what-they-really-think-of-a-variable-aperture-camera">physical variable aperture</a> on the main camera. </p><p>This allows the aperture to physically open and close to control how much light reaches the sensor, giving the camera more flexibility depending on the scene you're shooting. It should make a noticeable difference in both photos and videos, although we'll have to test it properly to see how much of an improvement it actually makes. </p><p>Apple has also added new Pro Controls, allowing users to manually adjust settings like ISO, shutter speed, white balance, exposure, and more directly in the Camera app</p><h3 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-17-pro-max-performance"><span>iPhone 18 Pro Max vs. iPhone 17 Pro Max: Performance</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="9HfU5SFgWwViZXmYK8b8Lb" name="a20-pro-chip-apple" alt="Apple's A20 Pro chipset" src="https://cdn.mos.cms.futurecdn.net/9HfU5SFgWwViZXmYK8b8Lb.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Apple)</span></figcaption></figure><p>The iPhone 18 Pro Max features Apple's new <a href="https://www.tomsguide.com/phones/iphones/apple-a20-pro-chip-why-its-such-a-big-deal-for-the-iphone-ultra-and-iphone-18-pro-max">A20 Pro chipset</a>, which is the company's first mobile chip built on a 2nm process. Apple has led the smartphone performance race for quite a while, but compared to the A19 Pro inside the iPhone 17 Pro Max, there are even more improvements this year in both performance and power efficiency.</p><p>You still get a six-core CPU but there's now a 7-core GPU that promises up to 40% faster graphics performance. Plus, the Neural Engine now features up to 32 cores, which should provide a major boost to AI performance on the iPhone 18 Pro Max. Memory bandwidth has also improved, with Apple claiming the A20 Pro offers 50% more bandwidth than the A19 Pro.</p><p>The iPhone 18 Pro Max also features a second-generation vapor chamber, which should help improve thermal performance and allow the phone to sustain peak performance for longer.</p><h3 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-17-pro-max-battery-and-charging"><span>iPhone 18 Pro Max vs. iPhone 17 Pro Max: Battery and charging</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="obCHerDGAN9nniEpAvNLwi" name="iPhone 17 Pro and Max-15" alt="iPhone 17 Pro and Pro Max" src="https://cdn.mos.cms.futurecdn.net/obCHerDGAN9nniEpAvNLwi.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Apple never discloses the official battery capacities of its iPhones, but the company is claiming some big battery life improvements with the iPhone 18 Pro Max. Apple says the iPhone 18 Pro Max can now last up to 43 hours of continuous video playback on a single charge, compared to 37 hours on the iPhone 17 Pro Max. </p><p>We'll have to test that ourselves, but considering we were already <a href="https://www.tomsguide.com/phones/iphones/iphone-17-pro-max-battery-life-test-results-are-in-this-blew-us-away">impressed by the iPhone 17 Pro Max's battery life</a>, we're expecting the iPhone 18 Pro Max to be an absolute battery champion. </p><p>Charging speeds have increased as well. The iPhone 17 Pro Max supported up to 40W wired charging, delivering up to a 50% charge in around 20 minutes. The iPhone 18 Pro Max increases that to 60W, with Apple claiming you can now reach 50% in just 15 minutes. </p><p>Wireless charging, however, remains the same on both phones, with up to 25W MagSafe charging support.</p><h3 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-17-pro-max-software-and-special-features"><span>iPhone 18 Pro Max vs. iPhone 17 Pro Max: Software and special features</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="WYLBXdGsKaogqJjZ7k8ZLm" name="iPhone iOS 27 LIST_alt5" alt="iOS 27 icon shown on an iPhone screen" src="https://cdn.mos.cms.futurecdn.net/WYLBXdGsKaogqJjZ7k8ZLm.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide/Apple/Shutterstock)</span></figcaption></figure><p>The iPhone 18 Pro Max will launch with <a href="https://www.tomsguide.com/phones/iphones/ios-27-11-biggest-features-coming-to-your-iphone">iOS 27</a> out of the box. That said, the same software update will also be available for the iPhone 17 Pro Max around the time the new model goes on sale, which means there isn't much separating the two phones on the software front.</p><p>Both phones will get the new Siri AI and Apple Intelligence features, so you aren't really missing out by sticking with the iPhone 17 Pro Max. However, with the improved Neural Engine, better thermal performance, and longer battery life, the iPhone 18 Pro Max should handle some of those AI and more demanding features better in the long run.</p><p>And since the iPhone 18 Pro Max is a year newer, you can also expect it to receive software updates for slightly longer than the iPhone 17 Pro Max.</p><h3 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-17-pro-max-outlook"><span>iPhone 18 Pro Max vs. iPhone 17 Pro Max: Outlook</span></h3><p>The differences between the <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-vs-iphone-18-pro-which-could-be-the-superior-flagship">iPhone 18 Pro Max</a> and iPhone 17 Pro Max may not look huge from the outside, but Apple has made some meaningful upgrades underneath. The improved battery life, faster charging, A20 Pro chipset, and new variable aperture camera make the iPhone 18 Pro Max a much bigger upgrade than the familiar design might suggest. </p><p>Of course, we'll have to properly test both models side by side before giving our final verdict. But based on what we've seen so far, the iPhone 18 Pro Max looks set to be an absolute performance and battery champion, even compared to the already impressive iPhone 17 Pro Max.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eJ9grX"></div>                            </div>                            <script src="https://kwizly.com/embed/eJ9grX.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/iphones/iphone-duo-hands-on-apple-nailed-it-and-just-put-everyone-else-on-notice">iPhone Duo hands-on: Apple nailed it — and just put everyone else on notice</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-4">I just went hands on with the Apple Watch Ultra 4: Better battery, improved heart health tracking, and new holistic features galore</a></li><li><a href="https://www.tomsguide.com/phones/iphones/keep-your-new-iphone-18-pro-or-iphone-18-pro-max-safe-from-day-one-the-cases-to-buy-right-now">Keep your new iPhone 18 Pro or iPhone 18 Pro Max safe from day one: The cases to buy right now</a></li></ul><div class="vizualizer-embed"><div class="tg-df-widget-host" data-widget-config="?search=iPhones&rows=4&view_mode=savings_squad&widget_title=Top+Deals+Handpicked+by+Our+Editors&widget_subtitle=Discover+the+best+discounts+currently+available%2C+curated+daily+by+the+Tom%27s+Guide+Savings+Squad.&bg_color=transparent" data-vizualizer-embed="true"></div>    <script>    /**     * Tom's Guide Deals Finder - Vanilla JS Encapsulated Engine     */    (function() {      // --- Freyr Analytics Adapter ---      function initAnalytics() {        window.dataLayer = window.dataLayer || [];        window.googletag = window.googletag || {};        window.googletag.cmd = window.googletag.cmd || [];        window.hawk = window.hawk || { analytics: { freyr: [] } };        window.hawk.analytics = window.hawk.analytics || { freyr: [] };        window.hawk.analytics.freyr = window.hawk.analytics.freyr || [];        window.freyr = window.freyr || { cmd: [] };        const scriptSrc = 'https://freyr.futurecdn.net/freyr.js';        const hostname = typeof window !== 'undefined' ? window.location.hostname : '';        const isTestEnv = typeof window.navigator !== 'undefined' && (window.navigator.webdriver || window.navigator.userAgent.includes('Headless'));        const shouldSendRealAnalytics = !isTestEnv && hostname && hostname !== 'localhost' && hostname !== '127.0.0.1' && !hostname.includes('run.app');        if (shouldSendRealAnalytics && !document.querySelector(`script[src="${scriptSrc}"]`)) {          const script = document.createElement('script');          script.src = scriptSrc;          script.async = true;          document.head.appendChild(script);        }      }      function storeEventForDebug(name, data) {        if (!window.hawk || !window.hawk.analytics || !window.hawk.analytics.freyr) return;        window.hawk.analytics.freyr.push({ name, data });        try {          if (typeof window !== 'undefined' && window.localStorage) {            window.localStorage.setItem("hawk", JSON.stringify(window.hawk));          }        } catch (e) {          // Ignore storage issues        }        try {          window.dispatchEvent(new CustomEvent("hawk-analytics-update"));        } catch (e) {}      }      function sendToFreyr(eventName, data) {        if (typeof window === 'undefined') return;        window.freyr = window.freyr || { cmd: [] };        window.freyr.cmd.push(() => {          if (window.freyr && window.freyr.pushAndUpdate) {            window.freyr.pushAndUpdate(eventName, data);          }        });      }      function sendEvent(event, skip = false) {        try {          storeEventForDebug(event.name, event.data);          if (!skip) {            sendToFreyr(event.name, event.data);          }        } catch (e) {          // Ensure tracking errors don't surface to the user        }      }      function getCookie(name) {        try {          const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));          return match ? match[2] : null;        } catch (e) {          return null;        }      }      function getTimeAgo(dateString) {        if (!dateString) return '';        const date = new Date(dateString);        const now = new Date();        const diffInSeconds = Math.floor((now.getTime() - date.getTime()) / 1000);        if (diffInSeconds < 60) return 'Just now';        const diffInMinutes = Math.floor(diffInSeconds / 60);        if (diffInMinutes < 60) return `${diffInMinutes} min${diffInMinutes > 1 ? 's' : ''} ago`;        const diffInHours = Math.floor(diffInMinutes / 60);        if (diffInHours < 24) return `${diffInHours} hr${diffInHours > 1 ? 's' : ''} ago`;        const diffInDays = Math.floor(diffInHours / 24);        if (diffInDays < 30) return `${diffInDays} day${diffInDays > 1 ? 's' : ''} ago`;        const diffInMonths = Math.floor(diffInDays / 30);        if (diffInMonths < 12) return `${diffInMonths} mo${diffInMonths > 1 ? 's' : ''} ago`;        const diffInYears = Math.floor(diffInDays / 365);        return `${diffInYears} yr${diffInYears > 1 ? 's' : ''} ago`;      }      function normalizeCurrency(symbol) {        const map = {          '£': 'GBP',          '$': 'USD',          'A$': 'AUD',          'CA$': 'CAD',          '€': 'EUR'        };        return map[symbol] || symbol;      }      function trackElementInteraction(props) {        sendEvent({          name: 'elementInteraction',          data: {            element: {              action: props.action || "click",              id: props.id || undefined,              class: props.class || undefined,              name: props.name || undefined,              text: props.text || undefined,              label: props.label || undefined,              container: props.container || undefined,              url: props.url || undefined,              articleId: props.articleId || undefined            }          }        });      }      function generateRevenueId(url, productName, merchantName, modelId) {        const str = `${window.location.href}|${productName}|${merchantName}|${modelId || ''}|${new Date().toDateString()}|tomsguide`;        let hash = 0;        for (let i = 0; i < str.length; i++) {          const char = str.charCodeAt(i);          hash = ((hash << 5) - hash) + char;          hash = hash & hash;        }        let numericStr = Math.abs(hash).toString();        while (numericStr.length < 19) {          numericStr += Math.floor(Math.random() * 10).toString();        }        return numericStr.substring(0, 19);      }      function rewriteAffiliateLink(url, territory, revenueId) {        if (!url) return url;        const t = (territory || 'gb').toLowerCase();        return url.replace(/hawk-custom-tracking/g, `tomsguide-${t}-${revenueId}`);      }      function trackHawkEvent(params) {        const { clickType, widgetId, productCategoryName, product, productsArray, zeroBasedProductIndexOrNull, totalDealsOrProducts, areaClicked, merchant, revenueId, isoCurrencyCode, queryName, widgetTypeName } = params;        const data = {          event: "hawkEvent",          category: "Affiliates",          affiliate: {            action: {              type: clickType,              id: widgetId,              event: clickType === "appeared" ? "viewed" : "Click from",              timestamp: Date.now()            },            component: {              flag: "Editor",              product: productCategoryName || "deals",              category: `Signal Deal Finder ${widgetTypeName || "Carousel"} widget`,              type: clickType === "appeared" ? "review" : "signal product",              label: queryName || (product ? (product.name || "") : ""),              index: zeroBasedProductIndexOrNull === null || zeroBasedProductIndexOrNull === undefined ? -1 : zeroBasedProductIndexOrNull,              linkCount: totalDealsOrProducts || 0,              blockLayout: "",              areaClicked: areaClicked || ""            }          },          products: productsArray || (product && merchant ? [            {              product: {                primary: {                  id: product.id || product.matchId || null,                  name: product.name,                  type: "deal",                  price: product.price,                  previousPrice: product.previousPrice || null,                  currency: isoCurrencyCode || "USD",                  preorder: false,                  labels: [],                  link: product.link,                  originalLink: product.originalLink || null,                  revenueId: revenueId || null,                  startTime: null,                  endTime: null,                  voucherCode: null,                  voucherAudience: null,                  voucherPercentageSaving: null,                  voucherMoneySaving: null,                  voucherType: null,                  offerExclusive: false,                  offerScope: null,                  globalId: product.globalId || null,                  inStock: product.inStock !== false,                  contractProvider: null,                  contractMinutes: null,                  contractTexts: null,                  contractData: null,                  contractLength: null,                  contractMonthlyPrice: null,                  contractCurrency: isoCurrencyCode || "USD"                }              },              merchant: {                id: merchant.id || null,                name: merchant.name,                url: merchant.url || null,                network: merchant.network || null              },              model: {                id: product.modelId || null,                brand: product.brand || null,                name: product.name,                parent: product.parent || null              }            }          ] : []),          reviews: [],          _clear: true,          "gtm.uniqueEventId": Date.now() % 10000        };        sendEvent({ name: 'hawkEvent', data });      }      function trackDealClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Product Card" });      }      function trackViewSimilarClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Product Card View Similar" });      }      function trackPriceComparisonClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Price Comparison" });      }      function trackReviewClick(params) {        trackHawkEvent({ ...params, clickType: "review", areaClicked: "Signal Product Card Review Link" });      }      function trackShare(params) {        trackHawkEvent({ ...params, clickType: "share", areaClicked: "Signal Product Card Share" });      }      function trackDealsAppeared(widgetId, deals, revenueId, currency, queryName, widgetTypeName) {         if (!deals || deals.length === 0) return;                  const productsArray = deals.slice(0, 50).map((deal) => {            let voucherPct = null;            let rawPrice = parseFloat(deal.rawPrice) || parseFloat(deal.price) || null;            let rawMsrp = parseFloat(deal.rawMsrp) || parseFloat(deal.msrp) || null;            if (rawMsrp > rawPrice && rawPrice > 0) {              voucherPct = Math.round((1 - (rawPrice / rawMsrp)) * 100);            }            let numId = null;            if (deal.externalProductId && !isNaN(parseInt(deal.externalProductId))) {              numId = parseInt(deal.externalProductId);            } else if (deal.id && !isNaN(parseInt(deal.id))) {              numId = parseInt(deal.id);            } else {              numId = deal.matchId || null;            }            return {              product: {                primary: {                  id: numId,                  name: deal.productName || deal.title || "",                  type: "deal",                  price: rawPrice,                  previousPrice: rawMsrp,                  currency: currency || 'USD',                  preorder: false,                  labels: deal.modelBrand || deal.brand ? [                     { type: "brand", value: deal.modelBrand || deal.brand }                  ] : [],                  link: deal.url,                  originalLink: deal.url,                  revenueId: revenueId || null,                  startTime: null,                  endTime: null,                  voucherCode: null,                  voucherAudience: null,                  voucherPercentageSaving: voucherPct,                  voucherMoneySaving: null,                  voucherType: null,                  offerExclusive: false,                  offerScope: null,                  globalId: deal.productKey || null,                  inStock: deal.inStock !== false,                  contractProvider: null,                  contractMinutes: null,                  contractTexts: null,                  contractData: null,                  contractLength: null,                  contractMonthlyPrice: null,                  contractCurrency: currency || 'USD'                }              },              merchant: {                id: deal.merchantId ? parseInt(deal.merchantId) : null,                name: deal.merchant || "Retailer",                url: deal.merchantUrl || null,                network: deal.merchantNetwork || null              },              model: {                id: deal.modelId ? parseInt(deal.modelId) : null,                brand: deal.modelBrand || deal.brand || null,                name: deal.productName || deal.title || "",                parent: deal.modelParent || null              }            };         });                  trackHawkEvent({             clickType: "appeared",             widgetId: widgetId,             productCategoryName: "deals",             zeroBasedProductIndexOrNull: null,             totalDealsOrProducts: deals.length,             productsArray: productsArray,             queryName: queryName,             widgetTypeName: widgetTypeName         });      }      // 1. Setup Shadow DOM Sandbox      const currentScript = document.currentScript;      let hostContainer = null;      let template = null;            if (currentScript) {        let prev = currentScript.previousElementSibling;        while (prev) {          if (prev.tagName === 'TEMPLATE' && prev.classList.contains('tg-df-widget-template')) {            template = prev;          } else if (prev.tagName === 'DIV' && prev.classList.contains('tg-df-widget-host') && !prev.hasAttribute('data-initialized')) {            hostContainer = prev;            break;          }          prev = prev.previousElementSibling;        }      }            // Fallbacks in case script is deferred      if (!hostContainer) {        const hosts = document.querySelectorAll('.tg-df-widget-host:not([data-initialized])');        if (hosts.length > 0) hostContainer = hosts[0];      }            // Safely embedded template for CMS environments      const rawTemplate = `  \x3Cstyle>    /* --- Shadow DOM Base Reset --- */    *, *::before, *::after {      box-sizing: border-box;    }    img, picture, svg, video {      max-width: 100%;      height: auto;      display: block;    }    /*       1. Scoped CSS for Tom's Guide Deals Widget       All classes are prefixed with \`tg-df-\` to prevent CMS style leakage.    */    .tg-df-container {      container-type: inline-size;      container-name: tg-df;      --tg-df-blue: #1F69FF;      --tg-df-blue-hover: #004d8c;      --tg-df-text: #222222;      --tg-df-text-muted: #555555;      --tg-df-bg: #ffffff;      --tg-df-bg-secondary: #f4f4f4;      --tg-df-border: #e2e8f0;      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;      color: var(--tg-df-text);      background-color: transparent;       width: 100%;      max-width: 1200px;      margin: 0 auto;      padding-bottom: 24px;    }    .tg-df-container *, .tg-df-container *::before, .tg-df-container *::after {      margin: 0;      padding: 0;      box-sizing: border-box;    }    .tg-df-container img {      border: none;      margin: 0;      padding: 0;    }    .tg-df-container a {      text-decoration: none;      color: inherit;    }    /*       2. Search & Filter Bar    */    .tg-df-controls {      display: flex;      flex-direction: column;      align-items: center;      gap: 20px;      margin-bottom: 32px;      width: 100%;      position: relative;      z-index: 20;    }    .tg-df-top-bar {      display: flex;      width: 100%;      max-width: 760px;      gap: 12px;      margin: 0 auto;      align-items: center;    }    .tg-df-search-wrapper {      position: relative;      flex: 1;      width: 100%;      box-shadow: 0 8px 24px rgba(0,0,0,0.06);      border-radius: 40px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      z-index: 100;    }    .tg-df-autocomplete-dropdown {      position: absolute;      top: calc(100% + 4px);      left: 0;      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      max-height: 300px;      overflow-y: auto;      z-index: 200;      display: none;    }    .tg-df-autocomplete-dropdown.active {      display: block;    }    .tg-df-autocomplete-item {      padding: 12px 24px;      cursor: pointer;      font-size: 14px;      color: var(--tg-df-text);      transition: background 0.1s ease;    }    .tg-df-autocomplete-item:hover {      background: var(--tg-df-bg-secondary);    }    .tg-df-search-input {      width: 100%;      padding: 16px 64px 16px 24px;      font-size: 16px;      border: 2px solid transparent;      border-radius: 40px;      outline: none;      transition: border-color 0.2s ease, box-shadow 0.2s ease;      color: var(--tg-df-text);      background: transparent;    }    .tg-df-search-input:focus {      border-color: transparent;      box-shadow: 0 0 0 3px rgba(0, 108, 196, 0.15);    }    .tg-df-search-input::placeholder {      color: #999999;    }        .tg-df-search-btn {      position: absolute;      right: 8px;      top: 50%;      transform: translateY(-50%);      width: 40px;      height: 40px;      border-radius: 50%;      background: #222;      border: none;      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: background 0.2s ease;    }        .tg-df-search-btn:hover {      background: #000;    }    .tg-df-search-icon {      width: 16px;      height: 16px;      fill: #fff;    }    .tg-df-settings-wrapper {      position: relative;    }        .tg-df-settings-btn {      width: 48px;      height: 48px;      border-radius: 50%;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      box-shadow: 0 4px 12px rgba(0,0,0,0.04);      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: all 0.2s ease;      color: var(--tg-df-text-muted);      flex-shrink: 0;    }    .tg-df-settings-btn:hover {      background: var(--tg-df-bg-secondary);      border-color: #0000ff;      color: var(--tg-df-text);    }    .tg-df-settings-btn svg {      width: 24px;      height: 24px;      fill: currentColor;    }    .tg-df-settings-dropdown {      position: absolute;      top: calc(100% + 8px);      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      width: 280px;      padding: 20px;      display: none;      z-index: 100;      flex-direction: column;      gap: 20px;    }    .tg-df-settings-dropdown.active {      display: flex;    }        .tg-df-settings-dropdown-backdrop {      display: none;      position: fixed;      inset: 0;      z-index: 99;    }        .tg-df-settings-dropdown-backdrop.active {      display: block;    }    .tg-df-setting-item {      display: flex;      flex-direction: column;      gap: 10px;    }    .tg-df-setting-label {      font-size: 11px;      font-weight: 700;      color: var(--tg-df-text-muted);      text-transform: uppercase;      letter-spacing: 0.5px;    }        .tg-df-region-select {        padding: 10px 12px;        border-radius: 8px;        border: 1px solid var(--tg-df-border);        font-size: 15px;        outline: none;        background: var(--tg-df-bg-secondary);        color: var(--tg-df-text);        cursor: pointer;        width: 100%;    }    .tg-df-toggle {        position: relative;        display: inline-block;        width: 44px;        height: 24px;        flex-shrink: 0;    }    .tg-df-toggle input {        opacity: 0;        width: 0;        height: 0;    }    .tg-df-slider {        position: absolute;        cursor: pointer;        top: 0; left: 0; right: 0; bottom: 0;        background-color: #ccc;        transition: .2s;        border-radius: 24px;    }    .tg-df-slider:before {        position: absolute;        content: "";        height: 18px;        width: 18px;        left: 3px;        bottom: 3px;        background-color: white;        transition: .2s;        border-radius: 50%;    }    .tg-df-toggle input:checked + .tg-df-slider {        background-color: #1F69FF;    }    .tg-df-toggle input:checked + .tg-df-slider:before {        transform: translateX(20px);    }    .tg-df-dl-row {        flex-direction: row;        align-items: center;        justify-content: space-between;    }    .tg-df-dl-row-text {        font-size: 14px;        font-weight: 600;        color: var(--tg-df-text);    }    .tg-df-dl-row-subtext {        font-size: 12px;        font-weight: 400;        line-height: 1.3;        color: var(--tg-df-text-muted);        margin-top: 4px;        display: block;    }    .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 800px;    }    .tg-df-scroll-btn {      display: none;      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 0px;    }    .tg-df-scroll-btn.right {      right: 0px;    }    @container tg-df (max-width: 768px) {      .tg-df-scroll-btn {        display: flex;        top: 22px; /* vertically center within the 44px high filter buttons */      }    }    .tg-df-filters {      display: grid;      width: 100%;      grid-template-columns: repeat(4, 1fr);      gap: 12px;      margin: 0 auto;      max-width: 800px;    }                 .tg-df-sort-wrapper {      position: relative;      display: flex;      align-items: center;      width: 100%;    }        .tg-df-sort-icon {      position: absolute;      left: 14px;      width: 14px;      height: 14px;      fill: var(--tg-df-text-muted);      pointer-events: none;    }    .tg-df-sort-select, .tg-df-filter-select {      width: 100%;      padding: 10px 36px 10px 38px;      font-size: 14px;      border: 1px solid var(--tg-df-border);      border-radius: 100px;      outline: none;      appearance: none;      background-color: var(--tg-df-bg-secondary);      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E");      background-repeat: no-repeat;      background-position: right 14px center;      color: var(--tg-df-text);      cursor: pointer;      font-weight: 500;      transition: all 0.2s ease;    }        .tg-df-price-input::-webkit-outer-spin-button,    .tg-df-price-input::-webkit-inner-spin-button {      -webkit-appearance: none;      margin: 0;    }    .tg-df-price-input {      -moz-appearance: textfield;    }    .tg-df-sort-select:hover, .tg-df-filter-select:hover {      background-color: #e2e8f0;    }    .tg-df-multiselect-container {      position: relative;    }    @container tg-df (max-width: 768px) {      .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 800px;    }    .tg-df-scroll-btn {      display: none;      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 0px;    }    .tg-df-scroll-btn.right {      right: 0px;    }    @container tg-df (max-width: 768px) {      .tg-df-scroll-btn {        display: flex;        top: 22px; /* vertically center within the 44px high filter buttons */      }    }    .tg-df-filters {        width: 100%;        margin: 0;        margin-bottom: -320px;        padding: 0 16px 320px 16px;        display: flex;        flex-wrap: nowrap;        gap: 8px;        overflow-x: auto;        overflow-y: hidden;        pointer-events: none;        scrollbar-width: none;        -webkit-overflow-scrolling: touch;      }      .tg-df-filters::-webkit-scrollbar {        display: none;      }      .tg-df-sort-wrapper {        pointer-events: auto;        flex: 0 0 auto;        width: 175px;        min-width: 175px;      }    }        .tg-df-multiselect-trigger {      display: block;      background: #fff;      user-select: none;      width: 100%;      overflow: hidden;      white-space: nowrap;      text-overflow: ellipsis;    }        .tg-df-multiselect-dropdown {      display: none;      position: absolute;      top: calc(100% + 4px);      left: 0;      width: 100%;      min-width: 220px;      max-height: 300px;      overflow-y: auto;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);      z-index: 100;      padding: 8px 0;    }    .tg-df-multiselect-dropdown.active {      display: block;    }    .tg-df-ms-option {      padding: 8px 16px;      display: flex;      align-items: center;      gap: 8px;      cursor: pointer;      font-size: 14px;    }    .tg-df-ms-option:hover {      background-color: var(--tg-df-bg-secondary);    }        .tg-df-ms-option input {      cursor: pointer;      accent-color: #1f69ff;    }    .tg-df-sort-select:focus, .tg-df-filter-select:focus {      border-color: #0000ff;      box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.2);      background-color: var(--tg-df-bg);    }    /*       3. Deal Grid Layout    */    .tg-df-grid.tg-df-grid-auto {      padding-top: 24px;    }    .tg-df-grid, .tg-df-grid.layout-grid {      display: grid;      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));      gap: 10px;    }    .tg-df-grid.layout-row {      grid-template-columns: 1fr;      gap: 16px;    }        .tg-df-grid.layout-row .tg-df-card {      flex-direction: row;      align-items: stretch;      height: auto;      box-shadow: none;      border-bottom: 1px solid var(--tg-df-border);    }    .tg-df-grid.layout-row .tg-df-card:hover {      box-shadow: none;    }    .tg-df-grid.layout-row .tg-df-card-image-box {      width: 140px;      min-width: 140px;      aspect-ratio: 3/4;      border-right: none;      padding: 16px 16px 16px 32px;    }    .tg-df-grid.layout-row .tg-df-card-body {      padding: 16px;      justify-content: space-between;    }    .tg-df-grid.layout-row .tg-df-card-title {      font-size: 15px;      margin-bottom: 16px;    }    .tg-df-grid.layout-row .tg-df-card-stars { margin-bottom: 8px; }    .tg-df-grid.layout-row .tg-df-card-footer {      flex-direction: column;      align-items: flex-start;      gap: 0;    }    .tg-df-grid.layout-row .tg-df-card-merchant-pill {      margin-bottom: 4px;    }    .tg-df-grid.layout-row .tg-df-card-price-group {      margin-bottom: 8px;    }    .tg-df-grid.layout-row .tg-df-price-group {      width: auto;    }    .tg-df-grid.layout-row .tg-df-card-cta {      width: 100%;      max-width: 200px;      padding: 10px 24px;      font-size: 13px;      flex-shrink: 0;      text-align: center;      justify-content: center;    }    /*       4. Deal Card Design    */    .tg-df-card {      position: relative;      display: flex;      flex-direction: column;      background-color: #ffffff;      border-radius: 0;      overflow: hidden;      transition: transform 0.2s ease, box-shadow 0.2s ease;      text-decoration: none;      color: inherit;      height: 100%;      box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);      border: 1px solid var(--tg-df-border);    }    .tg-df-card:hover {      box-shadow: 0 0 24px rgba(0, 0, 0, 0.12);    }    .tg-df-card-image-box {      width: 100%;      aspect-ratio: 3/4;      background-color: #f8f8f8;      display: flex;      align-items: center;      justify-content: center;      position: relative;      overflow: hidden;      padding: 32px;      flex: 0 0 auto;    }    .tg-df-card-image {      max-width: 100%;      max-height: 100%;      width: auto;      height: auto;      object-fit: contain;      mix-blend-mode: multiply; /* Helps white background images blend into secondary bg */      transition: transform 0.3s ease;    }    .tg-df-card:hover .tg-df-card-image {      transform: scale(1.05); /* Zoom in on hover */    }    .tg-df-card-discount-badge {      position: absolute;      top: 12px;      left: 12px;      background: #dc2626; /* Red */      color: #ffffff;      padding: 6px 8px;      font-size: 11px;      font-weight: 500;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      z-index: 10;    }        .tg-df-card-merchant-pill {      display: block;      padding: 0;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      color: var(--tg-df-text-muted);      margin-bottom: 8px;      white-space: nowrap;      overflow: hidden;      text-overflow: ellipsis;    }    .tg-df-card-body {      padding: 16px;      display: flex;      flex-direction: column;      flex-grow: 1;      min-width: 0;    }    .tg-df-card-badges {      display: flex;      flex-wrap: wrap;      gap: 6px;      margin-bottom: 8px;    }    .tg-df-tag {      display: inline-flex;      align-items: center;      padding: 4px 6px;      font-size: 11px;      font-weight: 700;      text-transform: uppercase;      border-radius: 4px;      gap: 4px;    }    .tg-df-tag-prime {      background-color: #00A8E1;      color: #fff;    }    .tg-df-tag-coupons {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-coupons:hover {      background-color: #e2e8f0;    }        .tg-df-tag-outline {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-outline:hover {      background-color: #e2e8f0;    }        @keyframes tg-df-spin {      0% { transform: rotate(0deg); }      100% { transform: rotate(360deg); }    }    .tg-df-coupon-spinner {      border: 2px solid #e2e8f0;      border-top: 2px solid #3b82f6;      border-radius: 50%;      width: 14px;      height: 14px;      animation: tg-df-spin 1s linear infinite;      margin: 4px 8px;      display: inline-block;    }        /* Vouchers Modal */    .tg-df-modal-backdrop {      position: fixed;      top: 0; left: 0; right: 0; bottom: 0;      background: rgba(0,0,0,0.5);      z-index: 10000;      display: flex;      align-items: center;      justify-content: center;      opacity: 0;      pointer-events: none;      transition: opacity 0.3s;    }    .tg-df-modal-backdrop.active {      opacity: 1;      pointer-events: auto;    }    .tg-df-modal {      background: #fff;      border-radius: 12px;      width: 90%;      max-width: 400px;      max-height: 80vh;      display: flex;      flex-direction: column;      box-shadow: 0 10px 40px rgba(0,0,0,0.2);      transform: translateY(20px);      transition: transform 0.3s;    }    .tg-df-modal-backdrop.active .tg-df-modal {      transform: translateY(0);    }    .tg-df-modal-header {      padding: 16px;      border-bottom: 1px solid #e2e8f0;      display: flex;      align-items: center;      justify-content: space-between;    }    .tg-df-modal-title {      font-size: 16px;      font-weight: 600;      margin: 0;    }    .tg-df-modal-close {      background: none;      border: none;      cursor: pointer;      padding: 4px;      color: #64748b;    }    .tg-df-modal-body {      padding: 16px;      overflow-y: auto;    }    .tg-df-voucher-item {      padding: 12px;      border: 1px dashed #cbd5e1;      border-radius: 8px;      margin-bottom: 10px;      background: #f8fafc;      display: flex;      align-items: center;      gap: 12px;      text-decoration: none;      color: inherit;      transition: background-color 0.2s, border-color 0.2s;    }    .tg-df-voucher-item:hover {      background: #f1f5f9;      border-color: #94a3b8;    }    .tg-df-voucher-item:last-child {      margin-bottom: 0;    }    .tg-df-voucher-logo {      width: 48px;      height: 48px;      object-fit: contain;      border-radius: 4px;      background: #fff;      border: 1px solid #e2e8f0;      flex-shrink: 0;    }    .tg-df-voucher-content {      flex: 1;      min-width: 0;    }    .tg-df-voucher-title {      font-size: 14px;      font-weight: 600;      margin: 0 0 4px 0;      line-height: 1.3;      color: #0f172a;    }    .tg-df-voucher-expiry {      font-size: 12px;      color: #64748b;      display: flex;      align-items: center;      gap: 4px;      margin-top: 6px;    }    .tg-df-voucher-code {      display: inline-flex;      align-items: center;      background: #f1f5f9;      border: 1px dashed #cbd5e1;      padding: 6px 10px;      font-family: monospace;      font-weight: 700;      font-size: 14px;      color: #0f172a;      border-radius: 4px;      margin-top: 8px;      cursor: pointer;      transition: all 0.2s ease;    }    .tg-df-voucher-code:hover {      background: #e2e8f0;      border-color: #94a3b8;    }    .tg-df-voucher-code.copied {      background: #ecfdf5;      border-color: #10b981;      color: #10b981;    }    .tg-df-voucher-cta {      display: inline-block;      margin-top: 8px;      font-size: 13px;      font-weight: 600;      color: #2563eb;      text-decoration: none;    }    .tg-df-card-title {      font-size: 15px;      font-weight: 400;      line-height: 1.4;      margin: 0 0 12px 0;      color: var(--tg-df-text);    }    .tg-df-card-footer {      margin-top: auto;      display: flex;      flex-direction: column;      width: 100%;    }    .tg-df-card-price-group {      display: flex;      flex-direction: row;      align-items: center;      gap: 8px;      margin-bottom: 12px;    }    .tg-df-card-price {      font-size: 16px;      font-weight: 700;      color: #dc2626; /* Red price */      line-height: 1;    }        .tg-df-card-msrp {      font-size: 13px;      color: var(--tg-df-text-muted);      text-decoration: line-through;    }    .tg-df-container .tg-df-card-cta {      display: flex;      align-items: center;      justify-content: center;      width: 100%;      box-sizing: border-box;      background-color: #1f69ff;      color: #ffffff;      font-size: 12px;      font-weight: 700;      text-transform: uppercase;      letter-spacing: 0.5px;      padding: 12px 16px;      border-radius: 0;      border: none;      cursor: pointer;      transition: background-color 0.2s ease;    }    .tg-df-card:hover .tg-df-card-cta,    .tg-df-card-cta:hover {      background-color: #1555cc;    }    /*       5. State & Skeleton Styles    */    .tg-df-message {      grid-column: 1 / -1;      text-align: center;      padding: 48px 24px;      color: var(--tg-df-text-muted);      font-size: 16px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;    }    @keyframes tg-df-shimmer {      0% { background-position: -200% 0; }      100% { background-position: 200% 0; }    }    .tg-df-skeleton {      background: linear-gradient(90deg, var(--tg-df-bg-secondary) 25%, #e2e8f0 50%, var(--tg-df-bg-secondary) 75%);      background-size: 200% 100%;      animation: tg-df-shimmer 1.5s infinite;      border-radius: 4px;    }    .tg-df-skeleton-img {      width: 100%;      height: 100%;      position: absolute;      top: 0; left: 0;    }        .tg-df-skeleton-text {      height: 16px;      margin-bottom: 8px;      width: 100%;    }    .tg-df-skeleton-text.short { width: 40%; }    .tg-df-skeleton-text.title { height: 20px; margin-bottom: 16px; }    /* Editor Floating Bar & Elements */    .tg-df-editor-bar {      position: sticky;      top: 120px;      z-index: 1000;      background: #111827;      color: #fff;      padding: 12px 16px;      border-radius: 8px;      margin-bottom: 16px;      display: flex;      align-items: center;      justify-content: space-between;      box-shadow: 0 4px 12px rgba(0,0,0,0.15);    }    .tg-df-editor-bar-text {      font-weight: 600;      font-size: 14px;    }    .tg-df-editor-copy-btn {      background: #10b981;      color: #fff;      padding: 6px 16px;      border: none;      border-radius: 4px;      font-weight: 600;      cursor: pointer;      display: flex;      align-items: center;      font-size: 13px;    }    .tg-df-editor-copy-btn:hover { background: #059669; }        .tg-df-deal-checkbox {      position: absolute;      top: 12px;      right: 12px;      z-index: 10;      width: 20px;      height: 20px;      cursor: pointer;      pointer-events: auto;    }    /*       6. Mobile List View (Stacks into a cleaner horizontal row/list)    */    @container tg-df (max-width: 599px) {      .tg-df-controls {        padding: 16px 16px 8px;      }            .tg-df-top-bar {        width: 100%;      }            .tg-df-settings-dropdown {        position: fixed;        top: auto;        bottom: 0;        left: 0;        right: 0;        width: 100%;        border-radius: 20px 20px 0 0;        padding: 24px;        box-shadow: 0 -8px 32px rgba(0,0,0,0.15);        z-index: 1000;        border: none;        border-top: 1px solid var(--tg-df-border);      }            .tg-df-settings-dropdown-backdrop.active {        background: rgba(0,0,0,0.4);      }            .tg-df-search-wrapper {        box-shadow: 0 0 16px rgba(0,0,0,0.08);      }                  .tg-df-sort-wrapper.tg-df-price-range-wrapper {        flex: 0 0 auto;        min-width: max-content;        width: auto;      }            .tg-df-sort-select, .tg-df-filter-select {        width: 100%;        text-align: left;        padding: 10px 24px 10px 32px;        background-position: right 8px center;        text-overflow: ellipsis;        white-space: nowrap;        overflow: hidden;      }      .tg-df-sort-icon {        left: 10px;      }      .tg-df-grid:not(.layout-grid):not(.layout-row),      .tg-df-grid.layout-row {        grid-template-columns: 1fr;        gap: 16px;      }            .tg-df-grid.tg-df-grid-auto {        padding-top: 24px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card,      .tg-df-grid.layout-row .tg-df-card {        flex-direction: row;        align-items: stretch;        height: auto;        box-shadow: none; /* simple line on mobile if preferred, or keep */        border-bottom: 1px solid var(--tg-df-border);      }      .tg-df-grid.tg-df-grid-auto .tg-df-card:hover,      .tg-df-grid.layout-row .tg-df-card:hover {        box-shadow: none;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-image-box,      .tg-df-grid.layout-row .tg-df-card-image-box {        width: 120px;        min-width: 120px;        aspect-ratio: 3/4;        border-right: none;        padding: 12px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-body,      .tg-df-grid.layout-row .tg-df-card-body {        padding: 12px;        justify-content: space-between;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-title,      .tg-df-grid.layout-row .tg-df-card-title {        font-size: 14px;        margin-bottom: 12px;      }      /* Single column mobile grid override */      .tg-df-grid.layout-grid {        grid-template-columns: 1fr;        gap: 16px;      }      .tg-df-grid.layout-grid .tg-df-card-image-box {        padding: 12px;      }      .tg-df-grid.layout-grid .tg-df-card-body {        padding: 10px;      }      .tg-df-grid.layout-grid .tg-df-card-title {        font-size: 13px;        margin-bottom: 8px;      }      .tg-df-grid.layout-grid .tg-df-card-price {        font-size: 14px;      }            .tg-df-card-footer {        flex-direction: column;        align-items: stretch;        gap: 0;        width: 100%;        min-width: 0;      }      .tg-df-card-merchant-pill {        margin-bottom: 4px;      }      .tg-df-card-price-group {        flex: 1 1 auto;        margin-bottom: 8px;      }      .tg-df-card-price {        font-size: 16px;      }      .tg-df-card-msrp {        display: block;       }      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 8px 16px;        font-size: 12px;        flex: 0 0 auto;        text-align: center;        white-space: normal;        line-height: 1.2;      }    }    .tg-df-container.is-carousel {      min-height: 760px;      background-color: #E7F0FF;      padding: 0 0 24px 0;      border-radius: 24px;      width: 100vw;      max-width: 1200px;      position: relative;      left: 50%;      transform: translateX(-50%);    }    .tg-df-container.is-carousel.hide-header-details {      min-height: 480px;    }    /*       7. Carousel View Mode    */    .tg-df-container .tg-df-carousel-host {      /* Layout is now handled by container wrapper */    }    .tg-df-container .tg-df-carousel-eyebrow {      color: #1F69FF;      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      padding: 24px 16px 0 16px;      display: none;    }    .tg-df-container .tg-df-carousel-query-title {      color: #011535;      font-size: 28px;      font-weight: 600;      padding: 0 16px 24px 16px;      line-height: 1.2;      display: none;    }    .tg-df-container .tg-df-carousel-blue-box {      background-color: transparent;      border-radius: 0;      padding: 24px 24px 0 24px;      margin: 0;      color: #1F69FF;          position: relative;      overflow: hidden;    }    .tg-df-container .tg-df-carousel-bg-circle-1 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-2 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-3 {      display: none;    }    .tg-df-container .tg-df-carousel-box-content {      position: relative;      z-index: 10;    }    .tg-df-container .tg-df-carousel-box-eyebrow {      background-color: transparent;      color: #1F69FF;      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      display: inline-block;      padding: 0;      border-radius: 0;    }    .tg-df-container .tg-df-carousel-box-title {      font-size: 28px;      font-weight: 600;      line-height: 1.2;      margin-top: 8px;      color: #1e293b;    }    .tg-df-container .tg-df-countdown-wrapper {      position: absolute;      top: 0;      right: 0;      display: flex;      flex-direction: column;      align-items: flex-end;      gap: 12px;      transform: scale(0.67);      transform-origin: top right;    }    .tg-df-container .tg-df-countdown-title {      font-size: 14px;      font-weight: 600;      color: #011535;      margin: 0;    }    .tg-df-container .tg-df-countdown-blocks {      display: flex;      gap: 16px;    }    .tg-df-container .tg-df-countdown-item {      display: flex;      flex-direction: column;      align-items: center;      gap: 4px;    }    .tg-df-container .tg-df-countdown-box {      width: 59px;      height: 59px;      background: #03FE9E;      border-radius: 15px;      display: flex;      align-items: center;      justify-content: center;    }    .tg-df-container .tg-df-countdown-num {      font-family: 'Inter', sans-serif;      font-weight: 700;      font-size: 20px;      line-height: normal;      color: #011535;    }    .tg-df-container .tg-df-countdown-label {      font-family: 'Inter', sans-serif;      font-weight: 500;      font-size: 16px;      line-height: normal;      color: #1e293b;      text-transform: uppercase;    }    .tg-df-container .tg-df-carousel-box-subtitle {      font-size: 16px;      margin-top: 8px;      font-weight: 300;      color: #1e293b;      line-height: 24px;    }    .tg-df-container .tg-df-carousel-roundels-wrapper {      position: relative;      margin-top: 24px;      margin-left: -24px;      margin-right: -24px;    }    .tg-df-container .tg-df-carousel-roundels {      display: flex;      gap: 16px;      overflow-x: auto;            scrollbar-width: none;      padding-top: 12px;      padding-bottom: 24px;      padding-left: 24px;      padding-right: 24px;      margin-left: 0;      margin-right: 0;    }        .tg-df-container .tg-df-carousel-scroll-left,    .tg-df-container .tg-df-carousel-scroll-right {      position: absolute;      top: 50%;      transform: translateY(-50%);      height: 36px;      width: 36px;      display: flex;      align-items: center;      justify-content: center;      border-radius: 50%;      background-color: #ffffff;      border: 1px solid #e2e8f0;      box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);      color: #1F69FF;      cursor: pointer;      transition: all 0.2s;      margin-top: -4px;      z-index: 20;    }    .tg-df-container .tg-df-carousel-scroll-left { left: 8px; }    .tg-df-container .tg-df-carousel-scroll-right { right: 8px; }    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left { left: 0px; }    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right { right: 0px; }    .tg-df-carousel-filters-outer { margin-left: -24px; margin-right: -24px; padding-left: 24px; padding-right: 24px; }    .tg-df-grid-wrapper { position: relative; }    @container tg-df (max-width: 599px) { .tg-df-carousel-filters-outer { margin-left: -16px; margin-right: -16px; padding-left: 16px; padding-right: 16px; } }        .tg-df-container .tg-df-carousel-scroll-left:hover,    .tg-df-container .tg-df-carousel-scroll-right:hover {      background-color: rgba(255, 255, 255, 0.6);    }    .tg-df-container .tg-df-carousel-roundels::-webkit-scrollbar {      display: none;    }    .tg-df-container .tg-df-roundel {      display: flex;      flex-direction: column;      align-items: center;      gap: 8px;      cursor: pointer;      min-width: 120px;      flex-shrink: 0;    }    .tg-df-container .tg-df-roundel-img-box {      width: 120px;      height: 120px;      border-radius: 50%;      background: white;      display: flex;      align-items: center;      justify-content: center;      overflow: hidden;      box-shadow: 0px 3px 14px 0px rgba(30, 41, 59, 0.08);      transition: box-shadow 0.2s;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px #1F69FF;    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px #1F69FF;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box img {      transform: scale(1.08);    }    .tg-df-container .tg-df-roundel-img-box img {      width: 100%;      height: 100%;      object-fit: contain;      padding: 10px;      box-sizing: border-box;      transition: transform 0.3s ease;    }    .tg-df-container .tg-df-roundel-label {      font-size: 13px;      font-weight: 400;      color: #1e293b;      text-align: center;    }    .tg-df-container .tg-df-carousel-filters-label {      font-size: 16px;      font-weight: 400;      color: #1e293b;      white-space: nowrap;      margin-right: 4px;    }    .tg-df-container .tg-df-carousel-filters-wrap {      display: flex;      align-items: center;      flex-wrap: nowrap;      gap: 8px;      margin-top: 8px;      overflow-x: auto;      scrollbar-width: none;      -webkit-overflow-scrolling: touch;      padding-bottom: 8px;      margin-left: -24px;      margin-right: -24px;      padding-left: 24px;      padding-right: 24px;    }    .tg-df-container .tg-df-carousel-filters-wrap::-webkit-scrollbar {      display: none;    }        .tg-df-container .tg-df-carousel-filter-btn img,    .tg-df-container .tg-df-carousel-filter-btn picture {      height: 20px;      width: 20px;      object-fit: contain;      object-position: center;      display: inline-flex;      align-items: center;      justify-content: center;      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn picture img {      margin-right: 0;      height: 100%;      width: 100%;    }    .tg-df-container .tg-df-carousel-filter-btn img.active-img,    .tg-df-container .tg-df-carousel-filter-btn picture:has(.active-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.inactive-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.inactive-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.active-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.active-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.active-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.active-img) {      display: inline-flex;    }    .tg-df-container .tg-df-carousel-filter-btn {      background: #ffffff;      border: 2px solid #1e293b;      color: #1e293b;      border-radius: 24px;      padding: 6px 16px;      font-size: 14px;      font-weight: 600;      cursor: pointer;      transition: all 0.2s;      flex-shrink: 0;      white-space: nowrap;    }    .tg-df-container .tg-df-carousel-filter-btn svg {      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn {      display: inline-flex;      align-items: center;    }    .tg-df-container .tg-df-carousel-filter-btn:hover {      background: #1e293b;      color: white;      border-color: #1e293b;    }    .tg-df-container .tg-df-carousel-filter-btn.active {      background: #1e293b;      color: white;      border-color: #1e293b;    }        .tg-df-grid.carousel-compact {      display: flex;      flex-wrap: nowrap;      overflow-x: auto;      gap: 16px;      padding: 16px 24px;      align-items: stretch;      scrollbar-width: none;    }    .tg-df-grid.carousel-compact::-webkit-scrollbar {      display: none;    }    .tg-df-grid.carousel-compact .tg-df-card {      flex: 0 0 auto;      width: 200px;      min-height: auto;      height: auto;      display: flex;      flex-direction: column;      border-radius: 15px;      border: none;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      overflow: visible;    }    .tg-df-grid.carousel-compact .tg-df-card-image-box {      padding: 12px;      background-color: transparent;      border-radius: 15px 15px 0 0;      height: 130px;    }    .tg-df-grid.carousel-compact .tg-df-card-image {      mix-blend-mode: normal;    }    .tg-df-grid.carousel-compact .tg-df-card-discount-badge {      border-radius: 0;      top: 0px;      left: 0px;      padding: 4px 8px;      font-size: 11px;    }    .tg-df-grid.carousel-compact .tg-df-card-body {      padding: 8px 12px 12px 12px;    }    .tg-df-grid.carousel-compact .tg-df-card-title {      font-size: 14px;      font-weight: 400;      margin-bottom: 8px;      color: #011535;    }    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):not(:has(.tg-df-tag-prime)):not(:has(.tg-df-coupon-wrapper:not([style*="none"]))) > .tg-df-card-title,    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):has(> .tg-df-card-title:first-child) > .tg-df-card-title {    }    .tg-df-grid.carousel-compact .tg-df-card-cta {      border-radius: 5px;      padding: 8px 10px;      margin-top: 4px;      background-color: #1F69FF;    }    .tg-df-grid.carousel-compact .tg-df-card-price-group {      margin-bottom: 2px;    }    .tg-df-grid.carousel-compact .tg-df-card-merchant-pill {      margin-bottom: 2px;    }    @container tg-df (max-width: 599px) {      .tg-df-container .tg-df-carousel-blue-box-title {        font-size: 24px;      }      .tg-df-container .tg-df-countdown-title {        display: none;      }      .tg-df-container .tg-df-countdown-wrapper {        position: absolute;        top: 0;        right: 0;        align-items: flex-end;        transform: scale(0.40);        transform-origin: top right;      }      .tg-df-container .tg-df-roundel {        min-width: 88px;      }      .tg-df-container .tg-df-roundel-img-box {        width: 88px;        height: 88px;      }    }    /* REPLICA BLOCK STYLES */    .tg-df-grid.layout-replica-2 { grid-template-columns: repeat(2, 1fr) !important; gap: 20px; }    .tg-df-grid.layout-replica-1 { grid-template-columns: 1fr !important; gap: 20px; }        .tg-df-container .hawk-deal-widget-container { border-bottom: 1px solid #e5e7eb; display: flex; flex-direction: column; margin: 0; padding: 20px 0; box-sizing: border-box; font-family: inherit; }    .tg-df-container .hawk-deal-widget-wrap { display: flex; flex-direction: row; align-items: flex-start; width: 100%; gap: 24px; }    .tg-df-container .hawk-deal-widget-image-container { display: flex; flex-shrink: 0; justify-content: center; width: 160px; height: 160px; align-items: center; background: white; margin-bottom: 0px; }    .tg-df-container .hawk-deal-widget-title-product-title { color: #111827; font-size: 18px; font-weight: 700; line-height: 1.4; display: inline; }    .tg-df-container .hawk-deal-widget-title-price { font-size: 18px; font-weight: 700; line-height: 1.4; white-space: nowrap; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-price-now { font-weight: 700; }    .tg-df-container .hawk-deal-widget-title-retailer-price:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-title-retailer { font-size: 18px; font-weight: 700; line-height: 1.4; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-was-price { color: #dc2626; font-size: 16px; font-weight: 500; line-height: 1.4; text-decoration: line-through; white-space: nowrap; margin-left: 8px; margin-right: 8px; }    .tg-df-container .hawk-deal-widget-text-body-container { position: relative; width: 100%; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-text-body-main { font-size: 16px; width: 100%; margin-bottom: 12px; }    .tg-df-container .hawk-deal-widget-text-body-description { display: block; font-size: 15px; margin-top: 12px; color: #4b5563; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-body-description p { margin: 0; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-cta-container { display: flex; flex-direction: column; gap: 12px; width: 100%; flex: 1; min-width: 0; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-footer { display: flex; justify-content: flex-end; width: 100%; margin-top: auto; }    .tg-df-container .hawk-deal-widget-button-wrapper { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; width: 100%; }    .tg-df-container .hawk-deal-widget-preferred-partner-wrapper { display: flex; flex-direction: row; }        @container tg-df (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @container tg-df (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-grid.layout-replica-2 { grid-template-columns: 1fr !important; }      .tg-df-grid.savings-squad-cards { grid-template-columns: 1fr !important; display: flex; flex-direction: column; }    }    .tg-df-grid.savings-squad-cards .tg-df-card-title {      -webkit-line-clamp: unset !important;      display: block !important;      overflow: visible !important;    }    @container tg-df (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: block; }      .tg-df-container .hawk-deal-widget-image-container { display: block; float: left; margin: 0 16px 8px 0; width: 120px; max-width: 120px; height: auto; align-items: normal; justify-content: normal; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: block; text-align: left; }      .tg-df-container .hawk-deal-widget-footer { display: block; margin-top: 16px; clear: both; width: 100%; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: block; width: 100%; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: block; width: 100%; }      .tg-df-container .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; max-width: none !important; width: 100% !important; margin: 0 !important; }    }        .tg-df-container .hawk-affiliate-link-deal-button {       align-items: center; background-color: #1f69ff; box-sizing: border-box; color: #ffffff !important; display: flex; font-size: 14px; font-weight: 700; justify-content: center; letter-spacing: 0.5px; line-height: 1; min-width: 160px; padding: 14px 24px; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; word-break: normal; border-radius: 4px; border: 0; transition: background-color 0.2s;     }    .tg-df-container .hawk-affiliate-link-deal-button:hover { background-color: #0056e0; text-decoration: none; }    .tg-df-container .hawk-lazy-image-deal-widget { display: block; height: auto; margin: auto; max-height: 160px; max-width: 100%; mix-blend-mode: multiply; object-fit: contain; }    .tg-df-container .hawk-deal-widget-text-cta-container a { color: #2563eb; text-decoration: none; display: inline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:has(.hawk-deal-widget-title-product-title) { color: #111827; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-product-title,    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-retailer-price { text-decoration: underline; }    .tg-df-savings-squad-header { margin-bottom: 24px; text-align: center; display: none; }    .tg-df-banner-img-desktop { display: block; width: 100%; height: auto; margin-bottom: 32px; }    .tg-df-banner-img-mobile { display: none; width: 100%; height: auto; margin-bottom: 32px; }    @container tg-df (max-width: 600px) {      .tg-df-banner-img-desktop { display: none; }      .tg-df-banner-img-mobile { display: block; }    }    .tg-df-header-title { font-size: 28px; font-weight: 700; color: var(--tg-df-text); margin: 32px 0 12px 0; line-height: 1.3; }    .tg-df-header-subtitle { font-size: 16px; color: var(--tg-df-text-muted); margin: 0 0 32px 0; line-height: 1.5; }  \x3C/style>  \x3C!-- Widget Container --\x3E  \x3Cdiv class="tg-df-container" id="signal-deals-finder-root">    \x3Cdiv class="tg-df-savings-squad-header" id="tg-df-savings-squad-header">      \x3Cpicture>        \x3Cimg src="https://cdn.mos.cms.futurecdn.net/flexiimages/xkh2og7m3d1778189998.png" alt="Deals Banner" class="tg-df-banner-img-desktop" />        \x3Cimg src="https://cdn.mos.cms.futurecdn.net/flexiimages/gmak6rtdf41778245089.png" alt="Deals Banner Mobile" class="tg-df-banner-img-mobile" />      \x3C/picture>      \x3Cdiv class="tg-df-header-text">        \x3Ch2 class="tg-df-header-title" id="tg-df-header-title">Editor's Choice Deals\x3C/h2>        \x3Cp class="tg-df-header-subtitle" id="tg-df-header-subtitle">Discover the best discounts currently available, curated daily by the Tom's Guide Savings Squad.\x3C/p>      \x3C/div>    \x3C/div>    \x3C!-- Editor Floating Bar --\x3E    \x3Cdiv class="tg-df-editor-bar" id="tg-df-editor-bar" style="display:none;">      \x3Cdiv class="tg-df-editor-bar-text" style="display: flex; align-items: center;">        \x3Cspan id="tg-df-selected-count">0\x3C/span>\x26nbsp;Deals Selected        \x3Cbutton class="tg-df-editor-clear-btn" id="tg-df-editor-clear" type="button" style="margin-left: 12px; font-size: 13px; color: #9ca3af; background: none; border: none; cursor: pointer; text-decoration: underline;">Clear All\x3C/button>      \x3C/div>      \x3Cbutton class="tg-df-editor-copy-btn" id="tg-df-editor-copy" type="button">        \x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2">\x3C/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1">\x3C/path>\x3C/svg>        Copy to CMS      \x3C/button>    \x3C/div>    \x3Cdiv class="tg-df-carousel-host" id="tg-df-carousel-host" style="display: none;">      \x3Cdiv class="tg-df-carousel-eyebrow">DEAL FINDER\x3C/div>      \x3Cdiv class="tg-df-carousel-query-title" id="tg-df-carousel-title-label">Best Deals\x3C/div>            \x3Cdiv class="tg-df-carousel-blue-box">        \x3Cdiv class="tg-df-carousel-bg-circle-1" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-bg-circle-2" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-bg-circle-3" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-box-content">          \x3Cdiv class="tg-df-countdown-wrapper" id="tg-df-countdown-wrapper" style="display:none;">            \x3Cdiv class="tg-df-countdown-title" id="tg-df-countdown-title">Prime Day starts in\x3C/div>            \x3Cdiv class="tg-df-countdown-blocks">              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-days">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">DAYS\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-hrs">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">HRS\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-min">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">MIN\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-sec">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">SEC\x3C/div>\x3C/div>            \x3C/div>          \x3C/div>          \x3Cdiv class="tg-df-carousel-box-eyebrow">DEAL FINDER\x3C/div>          \x3Cdiv class="tg-df-carousel-box-title">Find Deals Fast\x3C/div>          \x3Cdiv class="tg-df-carousel-box-subtitle">The latest deals from the biggest retailers, all in one place\x3C/div>                    \x3Cdiv class="tg-df-carousel-roundels-wrapper">          \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-roundels').scrollBy({left: -200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>          \x3Cdiv class="tg-df-carousel-roundels">                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Televisions" data-pr="all">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/wcMxTsHgqu3roMbAx7RLnT-132-100.png" alt="TVs" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">TVs\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Phones" data-pr="over50">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/G3KGaRGzj24F6PUsw4bWpT-132-100.png" alt="Phones" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Phones\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Computing" data-pr="all">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/znNvsLzx8NEgNkD9HSFSnT-132-100.png" alt="Computing" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Computing\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Gaming" data-pr="all">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/Pgew8yaRQeZFHqHjTzvBnT-132-100.png" alt="Gaming" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Gaming\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Mattresses" data-pr="over500">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/cW7xsaLyesxkHFVSiC4kmT-132-100.png" alt="Mattresses" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Mattresses\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Audio" data-pr="over30">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/pCvBVHuhaQVjKt3VgCjbqT-132-100.png" alt="Audio" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Audio\x3C/span>            \x3C/div>                  \x3C/div>        \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" onclick="this.parentElement.querySelector('.tg-df-carousel-roundels').scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>        \x3C/div>        \x3C/div>        \x3Cdiv class="tg-df-carousel-filters-outer" style="position: relative;">          \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-filters-wrap').scrollBy({left: -200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>          \x3Cdiv class="tg-df-carousel-filters-wrap">                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="0">All\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-ot="amazon_lightning">              \x3Cimg src="https://cdn.mos.cms.futurecdn.net/HqAui7w97ft2NPqBtQ5r38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/yWPQ5yyQRhUwVKzGwYbh38-600-100.png" class="active-img" alt="" /> Lightning deals\x3C/button>            \x3Cbutton class="tg-df-carousel-filter-btn" data-ot="amazon_prime">              \x3Cimg src="https://cdn.mos.cms.futurecdn.net/fwoVXvL79turN3Ph535m38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/u75QjVpt3w2EsMimJiRo38-600-100.png" class="active-img" alt="" /> Prime deals\x3C/button>            \x3Cbutton class="tg-df-carousel-filter-btn" data-d="10">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 10% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="15">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 15% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="25">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 25% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-pr="under50">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-badge-dollar-sign">\x3Cpath d="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z">\x3C/path>\x3Cpath d="M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8">\x3C/path>\x3Cpath d="M12 18V6">\x3C/path>\x3C/svg>            Under $50\x3C/button>        \x3C/div>        \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-filters-wrap').scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>      \x3C/div>    \x3C/div>    \x3C/div>      \x3C!-- Search & Filter Controls --\x3E      \x3Cdiv class="tg-df-top-bar" id="tg-df-top-bar" style="position: relative; z-index: 100; margin: 0 auto 20px;">        \x3Cdiv class="tg-df-search-wrapper">          \x3Cinput type="text" class="tg-df-search-input" placeholder="Search for deals, products, or brands...">          \x3Cbutton type="button" class="tg-df-search-btn" aria-label="Search">              \x3Csvg class="tg-df-search-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">                \x3Cpath d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>              \x3C/svg>          \x3C/button>          \x3Cdiv class="tg-df-autocomplete-dropdown" id="tg-df-autocomplete">\x3C/div>        \x3C/div>      \x3C/div>    \x3Cdiv class="tg-df-controls" id="tg-df-controls" style="display:flex;">              \x3Cdiv class="tg-df-filters-container" style="position: relative; width: 100%; max-width: 800px; margin: 0 auto;">          \x3Cbutton class="tg-df-scroll-btn left" style="display: none;" onclick="this.parentElement.querySelector('.tg-df-filters').scrollBy({left: -200, behavior: 'smooth'})">            \x3Csvg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">\x3Cpath d="M15 18l-6-6 6-6"/>\x3C/svg>          \x3C/button>          \x3Cbutton class="tg-df-scroll-btn right" style="display: none;" onclick="this.parentElement.querySelector('.tg-df-filters').scrollBy({left: 200, behavior: 'smooth'})">            \x3Csvg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">\x3Cpath d="M9 18l6-6-6-6"/>\x3C/svg>          \x3C/button>          \x3Cdiv class="tg-df-filters">          \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-category-filter-wrapper" style="display: none;">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-category-filter" aria-label="Category">            \x3Coption value="all">All Categories\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper tg-df-multiselect-container" id="tg-df-brand-filter-wrapper" style="display:none;">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39A.998.998 0 0 0 18.95 4H5.04c-.83 0-1.3.95-.79 1.61z"/>          \x3C/svg>          \x3Cdiv class="tg-df-filter-select tg-df-multiselect-trigger" id="tg-df-brand-trigger" tabindex="0">            Any Brand          \x3C/div>          \x3Cdiv class="tg-df-multiselect-dropdown" id="tg-df-brand-dropdown">            \x3C!-- Populated via script --\x3E          \x3C/div>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper tg-df-price-range-wrapper" id="tg-df-custom-price-wrapper" style="display: flex; align-items:center; justify-content:center; padding: 10px 20px; gap: 8px; border: 1px solid var(--tg-df-border); border-radius: 100px; background-color: var(--tg-df-bg);">          \x3Cspan style="font-size:14px; font-weight:500; color:var(--tg-df-text-primary);">Price\x3C/span>          \x3Cinput type="number" class="tg-df-price-input" id="tg-df-custom-price-min" placeholder="Min" style="width: 48px; background: transparent; border: none; color: var(--tg-df-text-primary); outline: none; font-size: 14px; text-align: center; padding: 0;">          \x3Cspan style="color:var(--tg-df-text-muted)">-\x3C/span>          \x3Cinput type="number" class="tg-df-price-input" id="tg-df-custom-price-max" placeholder="Max" style="width: 48px; background: transparent; border: none; color: var(--tg-df-text-primary); outline: none; font-size: 14px; text-align: center; padding: 0;">        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-legacy-price-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-price-filter" aria-label="Filter Prices">            \x3Coption value="all">All Prices\x3C/option>            \x3Coption value="under50">Under $50\x3C/option>            \x3Coption value="50_100">$50 - $100\x3C/option>            \x3Coption value="100_200">$100 - $200\x3C/option>            \x3Coption value="200_500">$200 - $500\x3C/option>            \x3Coption value="over500">Over $500\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-discount-filter-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">            \x3Cpath d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-discount-filter" aria-label="Discount Amount">            \x3Coption value="all">Any discount\x3C/option>            \x3Coption value="5">Min 5%\x3C/option>            \x3Coption value="10">Min 10%\x3C/option>            \x3Coption value="15">Min 15%\x3C/option>            \x3Coption value="20">Min 20%\x3C/option>            \x3Coption value="25">Min 25%\x3C/option>            \x3Coption value="30">Min 30%\x3C/option>            \x3Coption value="40">Min 40%\x3C/option>            \x3Coption value="50">Min 50%\x3C/option>            \x3Coption value="60">Min 60%\x3C/option>            \x3Coption value="70">Min 70%\x3C/option>          \x3C/select>          \x3C/div>        \x3C/div>        \x3C/div>      \x3C/div>    \x3C!-- Deals Grid Wrapper --\x3E    \x3Cdiv class="tg-df-grid-wrapper tg-df-carousel-cards-wrapper" id="tg-df-grid-wrapper">      \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('#tg-df-grid').scrollBy({left: -200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>      \x3Cdiv class="tg-df-grid" id="tg-df-grid">        \x3C!-- Content populated by JavaScript --\x3E      \x3C/div>      \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" style="display:none;" onclick="this.parentElement.querySelector('#tg-df-grid').scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>    \x3C/div>        \x3C!-- Vouchers Modal --\x3E    \x3Cdiv class="tg-df-modal-backdrop" id="tg-df-vouchers-modal">      \x3Cdiv class="tg-df-modal">        \x3Cdiv class="tg-df-modal-header">          \x3Ch3 class="tg-df-modal-title" id="tg-df-vouchers-title">Available Coupons & Deals\x3C/h3>          \x3Cbutton class="tg-df-modal-close" id="tg-df-vouchers-close">            \x3Csvg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">              \x3Cline x1="18" y1="6" x2="6" y2="18">\x3C/line>              \x3Cline x1="6" y1="6" x2="18" y2="18">\x3C/line>            \x3C/svg>          \x3C/button>        \x3C/div>        \x3Cdiv class="tg-df-modal-body" id="tg-df-vouchers-content">          \x3C!-- Vouchers injected here --\x3E        \x3C/div>      \x3C/div>    \x3C/div>  \x3C/div>`;      if (!template) {        template = document.createElement('template');        template.innerHTML = rawTemplate;      }      let shadowRoot = null;      if (hostContainer && template) {        hostContainer.setAttribute('data-initialized', 'true');        shadowRoot = hostContainer.attachShadow({ mode: 'open' });        shadowRoot.appendChild(template.content.cloneNode(true));      }      class DealsFinderWidget {        constructor(config) {          this.rootNode = config.rootNode || document;          this.hostContainer = config.hostContainer || null;          this.rootId = config.rootId || 'signal-deals-finder-root';          this.root = this.rootNode.querySelector('#' + this.rootId);          if (!this.root) return;          this.widgetId = (window.crypto && window.crypto.randomUUID) ? window.crypto.randomUUID() : 'widget-' + Date.now() + '-' + Math.random().toString(36).slice(2);          this.grid = this.root.querySelector('#tg-df-grid');          this.tagsContainer = this.root.querySelector('#tg-df-tags-container');          this.categoryFilter = this.root.querySelector('#tg-df-category-filter');          this.categoryFilterWrapper = this.root.querySelector('#tg-df-category-filter-wrapper');          this.searchInput = this.root.querySelector('.tg-df-search-input');          this.autocompleteDropdown = this.root.querySelector('#tg-df-autocomplete');          this.sortSelect = this.root.querySelector('.tg-df-sort-select');          this.searchBtn = this.root.querySelector('.tg-df-search-btn');                    this.settingsToggle = this.root.querySelector('#tg-df-settings-toggle');          this.settingsPanel = this.root.querySelector('#tg-df-settings-panel');          this.settingsBackdrop = this.root.querySelector('#tg-df-settings-backdrop');          this.regionSelect = this.root.querySelector('#tg-df-region-select');          this.retailerSelect = this.root.querySelector('#tg-df-retailer-select');          this.offerTypeSelect = this.root.querySelector('#tg-df-offer-type-select');          this.viewModeSelect = this.root.querySelector('#tg-df-view-mode-select');          this.rowsSelect = this.root.querySelector('#tg-df-rows-select');          this.dealModeToggle = this.root.querySelector('#tg-df-deal-mode');          this.editorModeToggle = this.root.querySelector('#tg-df-editor-mode');          this.priceFilter = this.root.querySelector('#tg-df-price-filter');          this.discountFilter = this.root.querySelector('#tg-df-discount-filter');                    this.editorBar = this.root.querySelector('#tg-df-editor-bar');          this.editorSelectedCount = this.root.querySelector('#tg-df-selected-count');          this.editorCopyBtn = this.root.querySelector('#tg-df-editor-copy');          this.editorClearBtn = this.root.querySelector('#tg-df-editor-clear');                    this.apiUrl = 'https://search-api.fie.future.net.uk/widget.php';          this.deals = [];          this.displayLimit = 12;          this.airedaleArticles = null;          this.airedaleTags = [];          this.airedaleTagCounts = {};          this.activeDealTag = null;          this.selectedBrands = [];          this.currentQuery = '';          this.editorMode = this.hostContainer ? this.hostContainer.hasAttribute('data-editor-mode') : false;          this.viewModeOverride = this.hostContainer ? this.hostContainer.getAttribute('data-view-mode') : null;          this.selectedDeals = new Map();                    this.brandFilterWrapper = this.root.querySelector('#tg-df-brand-filter-wrapper');          this.brandTrigger = this.root.querySelector('#tg-df-brand-trigger');          this.brandDropdown = this.root.querySelector('#tg-df-brand-dropdown');                    this.customPriceWrapper = this.root.querySelector('#tg-df-custom-price-wrapper');          this.customPriceMin = this.root.querySelector('#tg-df-custom-price-min');          this.customPriceMax = this.root.querySelector('#tg-df-custom-price-max');          this.legacyPriceWrapper = this.root.querySelector('#tg-df-legacy-price-wrapper');          this.discountFilterWrapper = this.root.querySelector('#tg-df-discount-filter-wrapper');          this.initResizeObserver();          this.init();        }        getViewMode() {          console.log("DEBUG getViewMode -> override:", this.viewModeOverride, "editorMode:", this.editorMode);          if (this.viewModeOverride && (!this.editorMode || !this.viewModeSelect)) {            return this.viewModeOverride;          }          return (this.viewModeSelect && this.viewModeSelect.value) ? this.viewModeSelect.value : (this.viewModeOverride || 'auto');        }        applyLayoutMode() {          if (!this.grid) return;          const mode = this.getViewMode();          console.log("[DEBUG] applyLayoutMode CALLED! mode=", mode);          this.grid.classList.remove('layout-row', 'layout-grid', 'tg-df-grid-auto', 'carousel-compact', 'layout-replica-1', 'layout-replica-2');                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          const showHeaderDetails = params.get('show_header_details') !== 'false';          const carouselHost = this.root.querySelector('#tg-df-carousel-host');          const controlsDiv = this.root.querySelector('#tg-df-controls');          const topBarDiv = this.root.querySelector('#tg-df-top-bar');          const headerElement = this.root.querySelector('#tg-df-savings-squad-header');          if (headerElement) {             headerElement.style.display = (mode === 'savings_squad' && showHeaderDetails) ? 'block' : 'none';          }          if (mode === 'carousel') {             this.grid.classList.add('carousel-compact');             if (carouselHost) carouselHost.style.display = 'block';             if (controlsDiv) controlsDiv.style.display = 'none';             if (topBarDiv) topBarDiv.style.display = 'none';             if (this.root.classList.contains('tg-df-container')) {               this.root.classList.add('is-carousel');             }          } else {             if (carouselHost) carouselHost.style.display = 'none';             if (controlsDiv) controlsDiv.style.display = 'flex';             if (topBarDiv) topBarDiv.style.display = 'block';             if (this.root.classList.contains('tg-df-container')) {               this.root.classList.remove('is-carousel');             }          }          if (mode === 'grid') {            this.grid.classList.add('layout-grid');          } else if (mode === 'row') {            this.grid.classList.add('layout-row');          } else if (mode === 'savings_squad') {            this.grid.classList.add('tg-df-grid-auto', 'savings-squad-cards');          } else if (mode !== 'carousel') {            this.grid.classList.add('tg-df-grid-auto');          }                    const settingsWrapper = this.root.querySelector('.tg-df-settings-wrapper');          if (settingsWrapper) {            settingsWrapper.style.display = mode === 'auto' ? 'none' : 'block';          }          if (this.customPriceWrapper) {             this.customPriceWrapper.style.display = mode === 'auto' ? 'flex' : 'none';          }          if (this.legacyPriceWrapper) {             this.legacyPriceWrapper.style.display = mode === 'auto' ? 'none' : 'flex';          }          if (this.discountFilterWrapper) {             this.discountFilterWrapper.style.display = mode === 'auto' ? 'none' : 'flex';          }        }        initResizeObserver() {          try {            if (window.parent === window) return;          } catch (e) {            // cross origin frame check threw          }          const emitHeight = () => {            try {              const height = document.documentElement.scrollHeight || document.body.scrollHeight;              const msg = { type: 'embed-size', height: height };              if (window.parent && window.parent !== window) {                window.parent.postMessage(msg, '*');                window.parent.postMessage(JSON.stringify({ ...msg, sentinel: 'amp' }), '*');              }            } catch (e) {}          };                    if (window.ResizeObserver) {            try {              const ro = new ResizeObserver(() => emitHeight());              ro.observe(document.body);              if (this.root) ro.observe(this.root);            } catch(e){ console.warn(e); }          }          window.addEventListener('resize', emitHeight);          setTimeout(emitHeight, 300);        }        initCountdown() {          this.cdWrapper = this.root.querySelector('#tg-df-countdown-wrapper');                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          this.showCountdown = params.get('show_countdown') === 'true';          const showHeaderDetails = params.get('show_header_details') !== 'false';          const eyebrow = this.root.querySelector('.tg-df-carousel-box-eyebrow');          const title = this.root.querySelector('.tg-df-carousel-box-title');          const subtitle = this.root.querySelector('.tg-df-carousel-box-subtitle');          if (!showHeaderDetails) {            let containerElement = this.root.classList.contains('tg-df-container') ? this.root : this.root.querySelector('.tg-df-container');            if (containerElement) containerElement.classList.add('hide-header-details');            if (eyebrow) eyebrow.style.display = 'none';            if (title) title.style.display = 'none';            if (subtitle) subtitle.style.display = 'none';          }          if (!this.cdWrapper) return;          this.cdTitle = this.root.querySelector('#tg-df-countdown-title');          this.cdDays = this.root.querySelector('#tg-df-cd-days');          this.cdHrs = this.root.querySelector('#tg-df-cd-hrs');          this.cdMin = this.root.querySelector('#tg-df-cd-min');          this.cdSec = this.root.querySelector('#tg-df-cd-sec');          this.updateCountdown();          this.cdInterval = setInterval(() => this.updateCountdown(), 1000);        }        updateCountdown() {          if (!this.cdWrapper) return;          if (!this.showCountdown) {            this.cdWrapper.style.display = 'none';            return;          }          const area = this.getAreaCode();          let offset = '-04:00';          if (['DE', 'FR', 'IT', 'ES', 'NL'].includes(area)) {             offset = '+02:00';          } else if (['GB', 'IE', 'UK'].includes(area)) {             offset = '+01:00';          }          const startTime = new Date('2026-06-23T00:00:00' + offset).getTime();          const endTime = new Date('2026-06-26T00:00:00' + offset).getTime();          const now = Date.now();          let targetTime = 0;          if (now < startTime) {             targetTime = startTime;             if (this.cdTitle) this.cdTitle.textContent = 'Prime Day starts in';             this.cdWrapper.style.display = 'flex';          } else if (now < endTime) {             targetTime = endTime;             if (this.cdTitle) this.cdTitle.textContent = 'Prime Day ends in';             this.cdWrapper.style.display = 'flex';          } else {             this.cdWrapper.style.display = 'none';             if (this.cdInterval) clearInterval(this.cdInterval);             return;          }          const diff = Math.max(0, targetTime - now);          const d = Math.floor(diff / (1000 * 60 * 60 * 24));          const h = Math.floor((diff / (1000 * 60 * 60)) % 24);          const m = Math.floor((diff / 1000 / 60) % 60);          const s = Math.floor((diff / 1000) % 60);          if (this.cdDays) this.cdDays.textContent = d;          if (this.cdHrs) this.cdHrs.textContent = h;          if (this.cdMin) this.cdMin.textContent = m;          if (this.cdSec) this.cdSec.textContent = s;        }        init() {          this.initCountdown();          try {            initAnalytics();          } catch (e) {            console.warn('Deals Widget Analytics Error:', e);          }                    this.bindEvents();                    let initialQuery = '';                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          let initialViewMode = params.get('view_mode');          if (!this.viewModeOverride && initialViewMode) {            this.viewModeOverride = initialViewMode;          }          if (!params.has('search') && !params.has('q') && !params.has('query') && initialViewMode !== 'savings_squad') {             initialQuery = 'Gaming laptops';          }          const website = params.get('website') || 'tomsguide';          this.website = website;          if (website === 'techradar') {            const squadHeader = this.root.querySelector('.tg-df-savings-squad-header');            if (squadHeader) {               const pic = squadHeader.querySelector('picture');               if (pic) pic.style.display = 'none';            }            const style = document.createElement('style');            style.innerHTML = `              .tg-df-container .hawk-affiliate-link-deal-button, .tg-df-container .tg-df-card-cta { background-color: #5DAF08 !important; }              .tg-df-container .hawk-affiliate-link-deal-button:hover, .tg-df-container .tg-df-card-cta:hover { background-color: #4a8c06 !important; }            `;            this.root.appendChild(style);          }                    if (this.regionSelect) {            this.regionSelect.value = params.get('region') || 'auto';            this.updatePriceDropdownCurrency();          }                    if (this.retailerSelect && params.has('retailer')) {            this.retailerSelect.value = params.get('retailer');          }                    if (params.has('brands')) {            const b = params.get('brands');            if (b) {              this.selectedBrands = b.split(',');            }          }                    if (this.offerTypeSelect && params.has('offer_type')) {            this.offerTypeSelect.value = params.get('offer_type');          }          if (this.viewModeSelect && params.has('view_mode')) {            this.viewModeSelect.value = params.get('view_mode');          }          if (this.rowsSelect && params.has('rows')) {            this.rowsSelect.value = params.get('rows');          }          if (params.has('price')) {            const priceVal = params.get('price');            if (this.priceFilter) {               // Try assigning it directly to select. If it's not present implicitly ignores               this.priceFilter.value = priceVal;            }            if (priceVal.includes('_')) {               const parts = priceVal.split('_');               if (this.customPriceMin && parts[0]) this.customPriceMin.value = parts[0];               if (this.customPriceMax && parts[1]) this.customPriceMax.value = parts[1];            }          }          if (this.discountFilter && params.has('min_discount_ratio')) {            // Need to convert back from ratio (e.g. 0.8) to select value (e.g. "20")            const ratioStr = params.get('min_discount_ratio');            const ratioFloat = parseFloat(ratioStr);            if (!isNaN(ratioFloat)) {               const percentage = Math.round((1 - ratioFloat) * 100);               this.discountFilter.value = percentage.toString();            }          }          if (this.sortSelect) {            this.sortSelect.value = params.get('sort') || 'date_desc';          }          if (this.dealModeToggle && params.has('deal_mode')) {            this.dealModeToggle.checked = params.get('deal_mode') === 'true' || params.get('deal_mode') === '1';          }          const headerTitleEl = this.root.querySelector('#tg-df-header-title');          const headerSubtitleEl = this.root.querySelector('#tg-df-header-subtitle');          if (params.has('widget_title') && headerTitleEl) {             headerTitleEl.textContent = params.get('widget_title');          }          if (params.has('widget_subtitle') && headerSubtitleEl) {             headerSubtitleEl.textContent = params.get('widget_subtitle');          }                    // Re-apply layout after params have updated control values          this.applyLayoutMode();                    if (params.get('search')) {            initialQuery = params.get('search');          } else if (params.get('q')) {            initialQuery = params.get('q');          } else if (params.get('query')) {            initialQuery = params.get('query');          }                    this.currentQuery = initialQuery;          if (this.searchInput) {            if (this.getViewMode() === 'savings_squad') {              this.searchInput.value = '';            } else {              this.searchInput.value = this.currentQuery;            }          }                    if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {            this.fetchDeals(this.currentQuery);          } else {            this.render();          }        }        updatePriceDropdownCurrency() {          if (!this.priceFilter || !this.regionSelect) return;          const currencySymbols = {            'US': '$',            'GB': '£',            'CA': '$CA',            'AU': '$AU',            'DE': '€',            'FR': '€',            'IT': '€',          };          const area = this.getAreaCode();          const cur = currencySymbols[area || 'US'] || '$';                    const options = this.priceFilter.options;          for (let i = 0; i < options.length; i++) {            const opt = options[i];            if (opt.value === 'all') {              opt.innerText = 'All Prices';            } else if (opt.value === 'under50') {              opt.innerText = `Under ${cur}50`;            } else if (opt.value === '50_100') {              opt.innerText = `${cur}50 - ${cur}100`;            } else if (opt.value === '100_200') {              opt.innerText = `${cur}100 - ${cur}200`;            } else if (opt.value === '200_500') {              opt.innerText = `${cur}200 - ${cur}500`;            } else if (opt.value === 'over500') {              opt.innerText = `Over ${cur}500`;            }          }        }        populateBrandDropdown(values) {          if (!this.brandDropdown || !this.brandFilterWrapper) return;          this.brandFilterWrapper.style.display = 'flex'; // show the wrapper                    let html = '';          const allChecked = this.selectedBrands.length === 0 ? 'checked' : '';          const _div = '<' + '/div>';          const _span = '<' + '/span>';          html += `\x3Cdiv class="tg-df-ms-option">\x3Cinput type="checkbox" value="" ${allChecked} class="tg-df-brand-chk"> Any Brand${_div}`;                    values.forEach(v => {             if (!v.formatted_value || v.formatted_value === 'Any Brand') return;             const isChecked = this.selectedBrands.includes(v.formatted_value) ? 'checked' : '';             html += `\x3Cdiv class="tg-df-ms-option">\x3Cinput type="checkbox" value="${this.escapeHTML(v.formatted_value)}" ${isChecked} class="tg-df-brand-chk"> ${this.escapeHTML(v.formatted_value)} \x3Cspan style="color:var(--tg-df-text-muted);font-size:12px">(${v.count || 0})${_span}${_div}`;          });                    this.brandDropdown.innerHTML = html;                    // Re-bind listeners          const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');          chks.forEach(chk => {            chk.addEventListener('change', (e) => {              const val = e.target.value;              if (val === '') {                this.selectedBrands = [];              } else {                if (e.target.checked) {                   if (!this.selectedBrands.includes(val)) this.selectedBrands.push(val);                } else {                   this.selectedBrands = this.selectedBrands.filter(b => b !== val);                }              }                            if (this.selectedBrands.length === 0) {                 this.brandTrigger.innerText = 'Any Brand';              } else if (this.selectedBrands.length === 1) {                 this.brandTrigger.innerText = this.selectedBrands[0];              } else {                 this.brandTrigger.innerText = `${this.selectedBrands.length} Brands selected`;              }                            // Only call API if changed from UI interactions              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                 this.updateURLParams();                 this.fetchDeals(this.currentQuery);              }            });          });                    // Update button text on load          if (this.selectedBrands.length === 0) {             this.brandTrigger.innerText = 'Any Brand';          } else if (this.selectedBrands.length === 1) {             this.brandTrigger.innerText = this.selectedBrands[0];          } else {             this.brandTrigger.innerText = `${this.selectedBrands.length} Brands selected`;          }        }        updateURLParams() {          const url = new URL(window.location);          if (this.currentQuery && this.currentQuery !== 'Gaming laptops') {            url.searchParams.set('q', this.currentQuery);          } else {            url.searchParams.delete('q');            url.searchParams.delete('search');            url.searchParams.delete('query');          }                    if (this.regionSelect && this.regionSelect.value !== 'auto') {            url.searchParams.set('region', this.regionSelect.value);          } else {            url.searchParams.delete('region');          }                    if (this.retailerSelect && this.retailerSelect.value) {            url.searchParams.set('retailer', this.retailerSelect.value);          } else {            url.searchParams.delete('retailer');          }                    if (this.selectedBrands && this.selectedBrands.length > 0) {            url.searchParams.set('brands', this.selectedBrands.join(','));          } else {            url.searchParams.delete('brands');          }                    if (this.offerTypeSelect && this.offerTypeSelect.value) {            url.searchParams.set('offer_type', this.offerTypeSelect.value);          } else {            url.searchParams.delete('offer_type');          }                    if (this.viewModeSelect && this.viewModeSelect.value !== 'auto') {            url.searchParams.set('view_mode', this.viewModeSelect.value);          } else {            url.searchParams.delete('view_mode');          }                    if (this.rowsSelect && this.rowsSelect.value !== '12') {            url.searchParams.set('rows', this.rowsSelect.value);          } else {            url.searchParams.delete('rows');          }                    const min = this.customPriceMin ? this.customPriceMin.value : '';          const max = this.customPriceMax ? this.customPriceMax.value : '';          if (min || max) {             url.searchParams.set('price', `${min}_${max}`);          } else if (this.priceFilter && this.priceFilter.value !== 'all') {            url.searchParams.set('price', this.priceFilter.value);          } else {            url.searchParams.delete('price');          }                    if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {            const v = parseInt(this.discountFilter.value);            if (!isNaN(v) && v > 0) {               const ratio = (100 - v) / 100;               url.searchParams.set('min_discount_ratio', ratio.toString());            }          } else {            url.searchParams.delete('min_discount_ratio');          }                    if (this.sortSelect && this.sortSelect.value !== 'date_desc') {            url.searchParams.set('sort', this.sortSelect.value);          } else {            url.searchParams.delete('sort');          }                    if (this.dealModeToggle && this.dealModeToggle.checked) {            url.searchParams.set('deal_mode', 'true');          } else {            url.searchParams.delete('deal_mode');          }                    window.history.replaceState({}, '', url);        }        bindEvents() {          const handleFiltersScroll = () => {            const filters = this.root.querySelector('.tg-df-filters');            const leftBtn = this.root.querySelector('.tg-df-scroll-btn.left');            const rightBtn = this.root.querySelector('.tg-df-scroll-btn.right');            if (filters && leftBtn && rightBtn) {              const { scrollLeft, scrollWidth, clientWidth } = filters;              leftBtn.style.display = scrollLeft > 0 ? 'flex' : 'none';              rightBtn.style.display = Math.ceil(scrollLeft + clientWidth) < scrollWidth - 5 ? 'flex' : 'none';            }          };          const filters = this.root.querySelector('.tg-df-filters');          if (filters) {            filters.addEventListener('scroll', handleFiltersScroll);            window.addEventListener('resize', handleFiltersScroll);            setTimeout(handleFiltersScroll, 100);                        // Also call after rendering dropdowns            const origRenderCategories = this.renderCategories;            if (origRenderCategories) {               this.renderCategories = (...args) => {                 origRenderCategories.apply(this, args);                 setTimeout(handleFiltersScroll, 50);               };            }          }                const roundels = this.root.querySelectorAll('.tg-df-carousel-cat');          roundels.forEach(r => {             r.addEventListener('click', () => {                const q = r.getAttribute('data-query');                const pr = r.getAttribute('data-pr');                if (typeof trackHawkEvent !== 'undefined') {                     trackHawkEvent({                         clickType: "CC",                         widgetId: this.widgetId,                         productCategoryName: "deals",                         zeroBasedProductIndexOrNull: null,                         totalDealsOrProducts: null,                         areaClicked: "Category Roundel",                         revenueId: this.revenueId,                         isoCurrencyCode: typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD',                         queryName: q,                         widgetTypeName: this.widgetTypeName                     });                 }                this.currentQuery = q;                const label = this.root.querySelector('#tg-df-carousel-title-label');                if (label) label.textContent = 'Best ' + q;                if (this.priceFilter) this.priceFilter.value = pr || 'all';                if (this.discountFilter) this.discountFilter.value = '5';                if (this.searchInput) this.searchInput.value = q;                                roundels.forEach(ro => ro.classList.remove('active'));                r.classList.add('active');                this.fetchDeals(this.currentQuery);             });          });          const discBtns = this.root.querySelectorAll('.tg-df-carousel-filter-btn');          discBtns.forEach(b => {             b.addEventListener('click', () => {                const d = b.getAttribute('data-d');                const pr = b.getAttribute('data-pr');                const ot = b.getAttribute('data-ot');                let label = b.innerText ? b.innerText.trim() : '';                let filterType = 'unknown';                let filterVal = 'unknown';                if (d !== null) { filterType = 'discount'; filterVal = d; }                else if (pr !== null) { filterType = 'price'; filterVal = pr; }                else if (ot !== null) { filterType = 'offertype'; filterVal = ot; }                if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: `filter-${filterType}-${filterVal}`, name: 'Filter Button', label: label });                                if (d !== null) {                   if (this.discountFilter) this.discountFilter.value = this.discountFilter.value === d ? '0' : d;                } else if (pr !== null) {                   if (this.priceFilter) this.priceFilter.value = this.priceFilter.value === pr ? 'all' : pr;                } else if (ot !== null) {                   if (this.offerTypeSelect) this.offerTypeSelect.value = this.offerTypeSelect.value === ot ? 'all' : ot;                } else {                   if (this.discountFilter) this.discountFilter.value = '0';                   if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.offerTypeSelect) this.offerTypeSelect.value = 'all';                }                if (d === null && pr === null && ot === null && b.getAttribute("data-type") !== "custom") {                   discBtns.forEach(ro => ro.classList.remove('active'));                   b.classList.add('active');                } else if (b.getAttribute("data-type") !== "custom") {                   // Only operate on hardcoded buttons (those without data-type)                   discBtns.forEach(ro => {                      if (!ro.getAttribute('data-d') && !ro.getAttribute('data-pr') && !ro.getAttribute('data-ot') && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active');                   });                                      let makeActive = true;                   if (d !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-d') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   } else if (pr !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-pr') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   } else if (ot !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-ot') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   }                                      if (makeActive) b.classList.add('active');                                      // Check if anything is active, if not activate "All"                   let anyActive = false;                   discBtns.forEach(ro => { if (ro.classList.contains('active') && ro.getAttribute('data-type') !== 'custom') anyActive = true; });                   if (!anyActive) {                       discBtns.forEach(ro => { if (!ro.getAttribute('data-d') && !ro.getAttribute('data-pr') && !ro.getAttribute('data-ot') && ro.getAttribute('data-type') !== 'custom') ro.classList.add('active'); });                   }                }                                this.fetchDeals(this.currentQuery);             });          });          if (this.brandTrigger && this.brandDropdown) {            this.brandTrigger.addEventListener('click', () => {              this.brandDropdown.classList.toggle('active');            });            document.addEventListener('click', (e) => {              if (this.brandFilterWrapper && !e.composedPath().includes(this.brandFilterWrapper)) {                this.brandDropdown.classList.remove('active');              }            });          }          const showAutocomplete = () => {             if (this.getViewMode() !== 'savings_squad' || !this.autocompleteDropdown || !this.airedaleTags) return;                          let terms = this.airedaleTags;             if (this.airedaleBrands) {                terms = terms.concat(this.airedaleBrands.map(b => b.formatted_value));             }             terms = [...new Set(terms)];                          const query = this.searchInput.value.trim();             let matches = [];             if (query.length > 0) {                 matches = terms.filter(t => t.toLowerCase().includes(query.toLowerCase()) && t.toLowerCase() !== query.toLowerCase());             } else {                 matches = terms;             }                          if (matches.length > 0) {                 this.autocompleteDropdown.innerHTML = matches.map(m => `\x3Cdiv class="tg-df-autocomplete-item" data-tag="${this.escapeHTML(m)}">${this.escapeHTML(m)}<` + `/div>`).join('');                 this.autocompleteDropdown.classList.add('active');             } else {                 this.autocompleteDropdown.classList.remove('active');             }          };          let debounceTimer;          if(this.searchInput) {            this.searchInput.addEventListener('focus', showAutocomplete);            this.searchInput.addEventListener('input', (e) => {              clearTimeout(debounceTimer);              const query = e.target.value.trim();              this.currentQuery = query;              showAutocomplete();              debounceTimer = setTimeout(() => {                this.updateURLParams();                if (query.length > 2) {                  this.fetchDeals(query);                } else if (query.length === 0) {                  if (this.getViewMode() === 'savings_squad') {                    this.activeDealTag = null;                    this.currentQuery = '';                    if (this.categoryFilter) this.categoryFilter.value = 'all';                    this.fetchDeals('');                  } else {                    this.deals = [];                    this.render();                  }                }              }, 400);            });            this.searchInput.addEventListener('keypress', (e) => {              if (e.key === 'Enter') {                if (this.autocompleteDropdown) this.autocompleteDropdown.classList.remove('active');                clearTimeout(debounceTimer);                const query = e.target.value.trim();                this.currentQuery = query;                                let isTag = false;                if (this.airedaleTags && this.airedaleTags.includes(query)) isTag = true;                if (this.airedaleBrands && this.airedaleBrands.some(b => b.formatted_value === query)) isTag = true;                this.activeDealTag = isTag ? query : null;                                trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });                this.updateURLParams();                if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                   if (query.length === 0 && this.getViewMode() === 'savings_squad') {                       if (this.categoryFilter) this.categoryFilter.value = 'all';                   }                   this.fetchDeals(query);                }              }            });          }          if (this.autocompleteDropdown) {             this.autocompleteDropdown.addEventListener('click', (e) => {                const item = e.target.closest('.tg-df-autocomplete-item');                if (item) {                   const tag = item.getAttribute('data-tag');                   this.currentQuery = tag;                   if (this.searchInput) this.searchInput.value = tag;                   this.activeDealTag = tag;                   if (this.categoryFilter && this.airedaleTags.includes(tag)) {                       this.categoryFilter.value = tag;                   }                   this.autocompleteDropdown.classList.remove('active');                   this.updateURLParams();                   this.fetchDeals(tag);                }             });             document.addEventListener('click', (e) => {               if (this.autocompleteDropdown && this.searchInput && !e.composedPath().includes(this.searchInput) && !e.composedPath().includes(this.autocompleteDropdown)) {                 this.autocompleteDropdown.classList.remove('active');               }             });          }          if (this.searchBtn) {            this.searchBtn.addEventListener('click', () => {              if (this.autocompleteDropdown) this.autocompleteDropdown.classList.remove('active');              clearTimeout(debounceTimer);              const query = this.searchInput.value.trim();              trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });                            let isTag = false;              if (this.airedaleTags && this.airedaleTags.includes(query)) isTag = true;              if (this.airedaleBrands && this.airedaleBrands.some(b => b.formatted_value === query)) isTag = true;              this.activeDealTag = isTag ? query : null;                            this.currentQuery = query;              this.updateURLParams();              if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                 if (query.length === 0 && this.getViewMode() === 'savings_squad') {                     if (this.categoryFilter) this.categoryFilter.value = 'all';                 }                 this.fetchDeals(query);              }            });          }          if(this.sortSelect && this.sortSelect.querySelector('option[value="date_desc"]') === null) {              const option = document.createElement('option');              option.value = "date_desc";              option.text = "Newest First";              this.sortSelect.insertBefore(option, this.sortSelect.firstChild);          }          if(this.sortSelect) this.sortSelect.addEventListener('change', () => {            trackElementInteraction({ id: `sort-option-${this.sortSelect.value}`, name: 'Sort', label: `Sort: ${this.sortSelect.options[this.sortSelect.selectedIndex].text}` });            this.updateURLParams();            if (this.deals.length > 0) {              this.sortData();              this.render();            }          });                    const priceFilter = this.root.querySelector('#tg-df-price-filter');          if (priceFilter) {            this.priceFilter = priceFilter;            this.priceFilter.addEventListener('change', () => {              trackElementInteraction({ id: `filter-price-${this.priceFilter.value}`, name: 'Price', label: this.priceFilter.options[this.priceFilter.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }            });          }          const updateCustomPrice = () => {             this.updateURLParams();             if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);             } else {                this.render();             }          };          if (this.customPriceMin) {             this.customPriceMin.addEventListener('change', updateCustomPrice);             this.customPriceMin.addEventListener('keypress', (e) => {                if (e.key === 'Enter') updateCustomPrice();             });          }          if (this.customPriceMax) {             this.customPriceMax.addEventListener('change', updateCustomPrice);             this.customPriceMax.addEventListener('keypress', (e) => {                if (e.key === 'Enter') updateCustomPrice();             });          }          const discountFilter = this.root.querySelector('#tg-df-discount-filter');          if (discountFilter) {            this.discountFilter = discountFilter;            this.discountFilter.addEventListener('change', () => {              trackElementInteraction({ id: `filter-discount-${this.discountFilter.value}`, name: 'Discount', label: this.discountFilter.options[this.discountFilter.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }            });          }          if (this.categoryFilter) {            this.categoryFilter.addEventListener('change', (e) => {               const val = e.target.value === 'all' ? null : e.target.value;               this.activeDealTag = val;               if (val) {                 this.currentQuery = val;               } else {                 if (this.searchInput && this.currentQuery === document.querySelector('#tg-df-brand-trigger')?.getAttribute('data-active-brand')) {                     // don't clear current query if a brand is selected                 } else if (this.searchInput) {                     this.currentQuery = '';                     this.searchInput.value = '';                 }               }               this.fetchSavingsSquad();            });          }                    if (this.settingsToggle) {            this.settingsToggle.addEventListener('click', () => {              const o = this.settingsPanel.classList.toggle('active');              this.settingsBackdrop.classList.toggle('active');              if (o) trackElementInteraction({ id: 'filter-open', name: 'Filters', label: 'Open filters' });            });          }                    if (this.settingsBackdrop) {            this.settingsBackdrop.addEventListener('click', () => {              this.settingsPanel.classList.remove('active');              this.settingsBackdrop.classList.remove('active');            });          }                    if (this.regionSelect) {            this.regionSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-region-${this.regionSelect.value}`, name: 'Region', label: this.regionSelect.options[this.regionSelect.selectedIndex].text });              this.updateURLParams();              this.updatePriceDropdownCurrency();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.retailerSelect) {            this.retailerSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-merchant-${this.retailerSelect.value}`, name: 'Retailer', label: this.retailerSelect.options[this.retailerSelect.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.offerTypeSelect) {            this.offerTypeSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-offertype-${this.offerTypeSelect.value}`, name: 'Offer Type', label: this.offerTypeSelect.options[this.offerTypeSelect.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.viewModeSelect) {            this._prevViewMode = this.viewModeSelect.value;            this.viewModeSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-viewmode-${this.viewModeSelect.value}`, name: 'View Mode', label: this.viewModeSelect.options[this.viewModeSelect.selectedIndex].text });                            // Reset all active toggles and filters to prevent config carry-over              this.selectedBrands = [];              if (this.brandTrigger) this.brandTrigger.innerText = 'Select Brands';              if (this.brandDropdown) {                const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                chks.forEach(chk => { chk.checked = false; });              }              if (this.priceFilter) this.priceFilter.value = 'all';              if (this.customPriceMin) this.customPriceMin.value = '';              if (this.customPriceMax) this.customPriceMax.value = '';              if (this.sortSelect) this.sortSelect.value = 'date_desc';              if (this.discountFilter) this.discountFilter.value = '0';              if (this.retailerSelect) this.retailerSelect.value = '';              if (this.offerTypeSelect) this.offerTypeSelect.value = '';              if (this.rowsSelect) this.rowsSelect.value = '12';              if (this.categoryFilter) this.categoryFilter.value = 'all';              this.activeDealTag = null;              this.updateURLParams();              this.applyLayoutMode();                            if (this.getViewMode() === 'savings_squad' || this._prevViewMode === 'savings_squad') {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }              this._prevViewMode = this.viewModeSelect.value;            });          }                    if (this.rowsSelect) {            this.rowsSelect.addEventListener('change', () => {              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.dealModeToggle) {            this.dealModeToggle.addEventListener('change', () => {              this.updateURLParams();              this.render();            });          }          if (this.editorModeToggle) {             this.editorModeToggle.addEventListener('change', (e) => {                this.editorMode = e.target.checked;                this.render();                this.updateFloatingCopyBar();             });          }          if (this.editorCopyBtn) {             this.editorCopyBtn.addEventListener('click', () => {                this.copySelectedDealsToCMS();             });          }          if (this.editorClearBtn) {             this.editorClearBtn.addEventListener('click', () => {                this.selectedDeals.clear();                this.render();                this.updateFloatingCopyBar();             });          }          if (this.grid) {            this.grid.addEventListener('change', (e) => {               if (e.target.classList.contains('tg-df-deal-checkbox')) {                  const dealId = e.target.getAttribute('data-id');                  if (e.target.checked) {                     const dealObj = this.deals.find(d => d.id === dealId);                     if (dealObj) this.selectedDeals.set(dealId, dealObj);                  } else {                     this.selectedDeals.delete(dealId);                  }                  this.updateFloatingCopyBar();               }            });            this.grid.addEventListener('click', (e) => {              const dealCard = e.target.closest('[data-action="deal-click"]');              const similarCard = e.target.closest('[data-action="view-similar-click"]');              const cardLink = dealCard || similarCard;              if (cardLink) {                const productName = cardLink.getAttribute('data-product-name');                const merchantName = cardLink.getAttribute('data-merchant-name');                const productId = cardLink.getAttribute('data-analytics-id');                const price = parseFloat(cardLink.getAttribute('data-price')) || null;                const prevPriceStr = cardLink.getAttribute('data-previous-price');                const previousPrice = prevPriceStr ? parseFloat(prevPriceStr) : null;                const originalLink = cardLink.getAttribute('data-original-link');                const finalHref = cardLink.href || cardLink.getAttribute('href') || '';                let actualRevenueId = cardLink.getAttribute('data-revenue-id');                const revMatch = finalHref.match(/(?:subId1|xcust|clickref|ascsubtag)=[^&]*?(\d{18,20})(?:&|$)/i);                if (revMatch && revMatch[1]) {                  actualRevenueId = revMatch[1];                }                const rewrittenLink = finalHref;                const revenueId = actualRevenueId;                const index = parseInt(cardLink.getAttribute('data-index'), 10) || 0;                const inStock = cardLink.getAttribute('data-in-stock') === 'true';                const totalText = cardLink.getAttribute('data-total');                const totalDeals = parseInt(totalText, 10) || 0;                const productCategoryName = 'deals';                const trackingParams = {                  widgetId: this.widgetId,                  productCategoryName: productCategoryName,                  product: {                    modelId: cardLink.getAttribute('data-model-id') || null,                    matchId: cardLink.getAttribute('data-match-id') || null,                    brand: cardLink.getAttribute('data-model-brand') || null,                    parent: cardLink.getAttribute('data-model-parent') || null,                    name: productName,                    price: price,                    previousPrice: previousPrice,                    link: rewrittenLink,                    originalLink: originalLink,                    inStock: inStock                  },                  zeroBasedProductIndexOrNull: index,                  totalDealsOrProducts: totalDeals,                   merchant: {                    id: cardLink.getAttribute('data-merchant-id') || null,                    network: cardLink.getAttribute('data-merchant-network') || null,                    url: cardLink.getAttribute('data-merchant-url') || null,                    name: merchantName                  },                  revenueId: revenueId,                  widgetTypeName: this.widgetTypeName,                  isoCurrencyCode: normalizeCurrency(this.escapeHTML(cardLink.getAttribute('data-currency') || '$'))                };                if (dealCard) {                  trackDealClick(trackingParams);                } else {                  trackViewSimilarClick(trackingParams);                }              }              const couponsBtn = e.target.closest('[data-action="coupons-click"]');              if (couponsBtn) {                trackElementInteraction({                  id: 'product-card-show-coupons',                  name: 'Coupons',                  label: `Product card coupons: ${couponsBtn.getAttribute('data-merchant')}`                });              }            });          }          this.setupScrollListeners();        }        setupScrollListeners() {          const containers = [             this.root.querySelector('.tg-df-carousel-roundels'),             this.root.querySelector('.tg-df-carousel-filters-wrap'),             this.root.querySelector('#tg-df-grid')          ];                    containers.forEach(container => {             if (!container) return;                          const checkScroll = () => {                if (!container.parentElement) return;                const leftBtn = container.parentElement.querySelector('.tg-df-carousel-scroll-left');                const rightBtn = container.parentElement.querySelector('.tg-df-carousel-scroll-right');                                if (leftBtn) {                   if (container.scrollLeft <= 5) leftBtn.style.display = 'none';                   else leftBtn.style.display = 'flex';                }                                if (rightBtn) {                   if (container.scrollWidth <= container.clientWidth) {                       rightBtn.style.display = 'none';                   } else if (container.scrollLeft >= container.scrollWidth - container.clientWidth - 5) {                       rightBtn.style.display = 'none';                   } else {                       rightBtn.style.display = 'flex';                   }                }             };                          container.addEventListener('scroll', checkScroll);             checkScroll();                          window.addEventListener('resize', checkScroll);                          const observer = new MutationObserver(checkScroll);             observer.observe(container, { childList: true, subtree: true, characterData: false });          });        }        get widgetTypeName() {          const mode = this.viewModeSelect ? this.viewModeSelect.value : (this.viewModeOverride || 'auto');          switch(mode) {              case 'carousel': return 'Carousel';              case 'savings_squad': return 'Savings Squad';              case 'grid': return 'Grid';              case 'row': return 'Row';              default: return 'Auto Collection';          }        }        getRowsLimit() {          if (this.rowsSelect && this.rowsSelect.value) return parseInt(this.rowsSelect.value, 10);          let configSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {             configSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {             configSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(configSource);          if (params.has('rows')) return parseInt(params.get('rows'), 10) || 12;          return 12;        }        getAreaCode() {          if (this.regionSelect && this.regionSelect.value) {            if (this.regionSelect.value === 'auto') return null;            return this.regionSelect.value;          }          let area = null;          try {            const locale = window.navigator.language || window.navigator.userLanguage;            if (locale && locale.includes('-')) {              area = locale.split('-')[1].toUpperCase();            } else if (locale && locale.length === 2) {              if (locale.toUpperCase() === 'EN') { area = 'US'; }              else { area = locale.toUpperCase(); }            }          } catch (e) { /* Ignore */ }                    // Map to known valid options or fallback to US          const valid = ['US', 'GB', 'CA', 'AU', 'DE', 'FR', 'IT'];          if (area === 'UK') area = 'GB';          if (valid.includes(area)) {             return area;          }          return 'US';        }        async fetchDeals(query) {          this.showLoading();          this.deals = [];          this.displayLimit = this.getRowsLimit();                    try {            console.log("getViewMode returns:", this.getViewMode());            if (this.getViewMode() === 'savings_squad') {               await this.fetchSavingsSquad();            } else {               if (this.isBroadQuery(query)) {                 await this.fetchAdviserDeals(query);               } else {                 await this.fetchHawkDeals(query);                 if (this.deals.length === 0) {                   await this.fetchAdviserDeals(query);                 }               }            }          } catch (error) {            console.warn("[Tom's Guide Widget] Fetch error:", error);            this.showError();          }        }        async fetchSavingsSquad() {          let topArticles = this.airedaleArticles;          if (!topArticles) {            const siteParam = this.website || 'tomsguide';            const airedaleUrl = `https://airedale.futurecdn.net/feeds/feed_1781000519267.json?site=${siteParam}&articleType=deals&limit=50`;            let res;            try {               res = await fetch(airedaleUrl);            } catch(e) {               try { res = await fetch(`https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=${siteParam}&articleType=deals&limit=50`); } catch (err) { console.warn("Fallback fetch failed", err); return; }            }            if (!res.ok) throw new Error('Airedale API Error');            const articles = await res.json();            topArticles = Array.isArray(articles) ? articles.slice(0, 50) : ((articles.data && Array.isArray(articles.data)) ? articles.data.slice(0, 50) : []);            this.airedaleArticles = topArticles;                        let tagCounts = {};            topArticles.forEach((a) => {              let articleTags = new Set();              if (a.articlecategory && Array.isArray(a.articlecategory)) {                 a.articlecategory.forEach((t) => articleTags.add(t));              }              articleTags.forEach(t => {                 tagCounts[t] = (tagCounts[t] || 0) + 1;              });            });                        this.airedaleTags = Object.keys(tagCounts).sort((a, b) => tagCounts[b] - tagCounts[a]);            this.airedaleTagCounts = tagCounts;          }                    let targetArticles = topArticles;          if (!this.activeDealTag && this.currentQuery) {             const tagMatch = this.airedaleTags.find(t => t.toLowerCase() === this.currentQuery.toLowerCase());             if (tagMatch) {                this.activeDealTag = tagMatch;             }          }          if (this.activeDealTag) {             const cleanTag = this.activeDealTag.toLowerCase().replace(/&/g, '').replace(/[^a-z0-9]+/g, '-').replace(/-+/g, '-').replace(/^-|-$/g, '');             const encodedTag = encodeURIComponent(cleanTag);             const siteParam = this.website || 'tomsguide';             const url = `https://airedale.futurecdn.net/feeds/feed_1781000519267.json?site=${siteParam}&articleType=deals&limit=50&articleCategoryHandle=${encodedTag}`;             try {                const res = await fetch(url);                if (res.ok) {                   const articles = await res.json();                   targetArticles = Array.isArray(articles) ? articles.slice(0, 50) : ((articles.data && Array.isArray(articles.data)) ? articles.data.slice(0, 50) : []);                }             } catch(e) {                console.warn("Failed to fetch by activeDealTag", e);             }          }          let extractedDeals = [];          let seenUrls = new Set();                    let overallBrandsCounts = {};                    // First pass: extract ALL brands from topArticles so the dropdown has all options          topArticles.forEach((article) => {             if (!article.articlepage) return;             let pageData = [];             try { pageData = JSON.parse(article.articlepage[0]); } catch(e){ console.warn(e); }             const savingsSquad = pageData.filter((p) => p.type === 'deal' || p.type === 'featured-product');             savingsSquad.forEach((block) => {                const data = block.data || {};                if (data.brand) {                   const cleanBrand = data.brand.replace(/^\d+\.\s*/, '').trim();                   overallBrandsCounts[cleanBrand] = (overallBrandsCounts[cleanBrand] || 0) + 1;                }             });          });          targetArticles.forEach((article) => {             if (!article.articlepage) return;                          let pageData = [];             try {                pageData = JSON.parse(article.articlepage[0]);             } catch(e){ console.warn(e); }                          const savingsSquad = pageData.filter((p) => p.type === 'deal' || p.type === 'featured-product');                          savingsSquad.forEach((block, idx) => {                const data = block.data || {};                const isFeatured = block.type === 'featured-product';                                const link = data.link || {};                const priceObj = data.price || {};                const image = data.image || {};                                if (data.brand) {                   data.brand = data.brand.replace(/^\d+\.\s*/, '').trim();                }                const externalUrl = isFeatured ? data.url : (link.href || null);                let summaryTitle = isFeatured ? (data.name || data.brand) : (data.productName || link.label || article.articlename);                let description = isFeatured ? (data.strapline || '') : (data.text || '');                                if (!isFeatured && !data.productName && data.text) {                   const brSplit = data.text.split(new RegExp('\x3Cbr\\s*\\/?\\x3E', 'i'));                   if (brSplit.length > 1) {                     summaryTitle = brSplit[0].replace(/<[^>]+>/g, '').trim();                     description = brSplit.slice(1).join(' ').replace(/<br\s*\/?>/gi, ' ').replace(/<\/?(p|div)[^>]*>/gi, ' ').replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').trim();                   } else {                     const match = data.text.match(/\x3Cstrong>(.*?)<\/strong>/);                     if (match) {                       summaryTitle = match[1].replace(/<[^>]+>/g, '').trim();                       if (summaryTitle.endsWith(':')) summaryTitle = summaryTitle.slice(0, -1);                     }                   }                }                                let imageUrl = isFeatured ? image.mos : (image.src || null);                if (imageUrl && imageUrl.startsWith('//')) imageUrl = 'https:' + imageUrl;                                description = this.decodeHTML(description.replace(/<br\s*\/?>/gi, ' ').replace(/<\/?(p|div)[^>]*>/gi, ' ').replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').replace(/View Deal$/i, '').trim());                summaryTitle = this.decodeHTML(summaryTitle);                                let merchantName = data.retailer || '';                if (!merchantName && externalUrl) {                   try {                     merchantName = new URL(externalUrl).hostname.replace('www.', '').split('.')[0];                     merchantName = merchantName.charAt(0).toUpperCase() + merchantName.slice(1);                   }catch(e){ console.warn(e); }                }                if (!merchantName) merchantName = 'Retailer';                const q = (this.currentQuery || '').toLowerCase();                const activeTagLogic = (this.activeDealTag || '').toLowerCase();                if (q.length > 2 && q !== activeTagLogic) {                   const searchTarget = `${summaryTitle || ''} ${description || ''}`.toLowerCase();                   if (!searchTarget.includes(q)) return;                }                let rawPrice = 0;                let rawMsrp = 0;                let currencyStr = '$';                if (isFeatured) {                   rawPrice = typeof data.salePrice === 'number' && data.salePrice > 0 ? data.salePrice : (typeof data.price === 'number' ? data.price : 0);                   rawMsrp = typeof data.salePrice === 'number' && typeof data.price === 'number' && data.price > data.salePrice ? data.price : 0;                   currencyStr = data.currency === 'GBP' ? '£' : '$';                } else {                   rawPrice = priceObj.amount ? parseFloat(priceObj.amount) : 0;                   rawMsrp = priceObj.amountWas ? parseFloat(priceObj.amountWas) : 0;                   currencyStr = priceObj.currency === 'GBP' ? '£' : '$';                }                                let savingAmt = 0;                let savingLabel = '';                if (rawPrice > 0 && rawMsrp > rawPrice) {                   savingAmt = parseFloat((rawMsrp - rawPrice).toFixed(2));                   savingLabel = `Save ${currencyStr}${savingAmt}`;                }                                // Apply Brand filter                if (this.selectedBrands && this.selectedBrands.length > 0) {                   const itemBrand = (data.brand || '').toLowerCase();                   const hasMatch = this.selectedBrands.some(sb => sb.toLowerCase() === itemBrand);                   if (!hasMatch) return;                }                // Apply Price filter                let priceFilterVal = null;                const min = this.customPriceMin ? this.customPriceMin.value : '';                const max = this.customPriceMax ? this.customPriceMax.value : '';                if (min || max) {                   priceFilterVal = `${min}_${max}`;                } else if (this.priceFilter && this.priceFilter.value !== 'all') {                   priceFilterVal = this.priceFilter.value;                }                if (priceFilterVal && rawPrice > 0) {                   if (priceFilterVal === 'under50' && rawPrice >= 50) return;                   if (priceFilterVal === 'over50' && rawPrice <= 50) return;                   if (priceFilterVal === 'over30' && rawPrice <= 30) return;                   if (priceFilterVal === 'over500' && rawPrice <= 500) return;                   if (priceFilterVal.includes('_')) {                      const parts = priceFilterVal.split('_');                      const min = parseFloat(parts[0]);                      const max = parseFloat(parts[1]);                      if (!isNaN(min) && rawPrice < min) return;                      if (!isNaN(max) && rawPrice > max) return;                   }                }                // Apply Discount filter                if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {                   const requiredDiscount = parseInt(this.discountFilter.value);                   if (!isNaN(requiredDiscount) && requiredDiscount > 0) {                      if (!rawMsrp || rawMsrp <= rawPrice) return;                      const ratio = Math.round((1 - (rawPrice / rawMsrp)) * 100);                      if (ratio < requiredDiscount) return;                   }                }                                if (externalUrl) {                   if (seenUrls.has(externalUrl)) return;                  seenUrls.add(externalUrl);                }                                extractedDeals.push({                   id: `airedale-${article.id || Math.random()}-${idx}`,                   url: externalUrl,                   image: imageUrl,                   fallbackImage: imageUrl,                   title: summaryTitle,                   brand: data.brand || '',                   productName: data.productName || '',                   merchant: merchantName,                   rawPrice: rawPrice,                   rawMsrp: rawMsrp,                   price: rawPrice > 0 ? rawPrice.toString() : '',                   msrp: rawMsrp > 0 ? rawMsrp.toString() : '',                   currency: currencyStr,                   isCheckPrice: !rawPrice,                   savingLabel: savingLabel,                   savingType: rawMsrp > rawPrice ? 'amount' : 'none',                   isPrime: false,                   starRating: null,                   description: description,                   text: data.text || '',                   authorName: article.articleauthortext ? article.articleauthortext[0] : (article.articleauthor ? article.articleauthor[0] : ''),                   authorRole: article.articleauthorrole ? article.articleauthorrole[0] : '',                   authorImage: article.articleauthormedia ? article.articleauthormedia[0] : '',                   documentUrl: article.documenturl ? article.documenturl[0] : '',                   modifiedDate: article.contentmodifieddate || article.modifieddate || ''                });             });          });                    const airedaleBrandsList = Object.keys(overallBrandsCounts).map(b => ({              formatted_value: b,              count: overallBrandsCounts[b]          })).sort((a,b) => b.count - a.count);                    if (this.getViewMode() === 'savings_squad') {             this.populateBrandDropdown(airedaleBrandsList.slice(0, 15));             if (this.brandFilterWrapper) {                if (airedaleBrandsList.length === 0) {                    this.brandFilterWrapper.style.display = 'none';                } else {                    this.brandFilterWrapper.style.display = 'flex';                }             }          }                    this.deals = extractedDeals;          this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.getFilteredDeals().slice(0, this.displayLimit), this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        isBroadQuery(query) {          const q = query.toLowerCase();          const intentModifiers = ['deals', 'best', 'sale', 'under', 'cheap', 'offers', 'discount'];          return intentModifiers.some(term => q.includes(term));        }        async fetchHawkDeals(query) {          const url = new URL(this.apiUrl);          url.searchParams.append('model_name', query);          const areaCode = this.getAreaCode();          if (areaCode) {            url.searchParams.append('area', areaCode);          }                    if (this.retailerSelect && this.retailerSelect.value) {            url.searchParams.append('filter_merchant_name', this.retailerSelect.value);          }                    if (this.selectedBrands && this.selectedBrands.length > 0) {            url.searchParams.append('filter_label[text_brand]', this.selectedBrands.join(','));          }                    let priceVal = null;          const min = this.customPriceMin ? this.customPriceMin.value : '';          const max = this.customPriceMax ? this.customPriceMax.value : '';          if (min || max) {             priceVal = `${min}_${max}`;          } else if (this.priceFilter && this.priceFilter.value !== 'all') {             priceVal = this.priceFilter.value;          }          if (priceVal) {            if (priceVal === 'under50') {              url.searchParams.append('filter_max_price', '50');            } else if (priceVal === 'over50') {              url.searchParams.append('filter_min_price', '50');            } else if (priceVal === 'over30') {              url.searchParams.append('filter_min_price', '30');            } else if (priceVal === 'over500') {              url.searchParams.append('filter_min_price', '500');            } else if (priceVal.includes('_')) {              const parts = priceVal.split('_');              if (parts[0]) url.searchParams.append('filter_min_price', parts[0]);              if (parts[1]) url.searchParams.append('filter_max_price', parts[1]);            }          }                    if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {            const v = parseInt(this.discountFilter.value);            if (!isNaN(v) && v > 0) {              const ratio = (100 - v) / 100;              url.searchParams.append('min_discount_ratio', ratio.toString());            }          }                    if (this.offerTypeSelect && this.offerTypeSelect.value) {            url.searchParams.append('offer', this.offerTypeSelect.value);          }                    url.searchParams.append('filter_product_types', 'deals');                    url.searchParams.append('rows', this.getRowsLimit().toString());          let response;          try {             response = await fetch(url.toString());          } catch(e) {             if (window.location.protocol === 'file:') {                console.warn("[Tom's Guide Widget] fetch from file:// blocked by local CORS policy, falling back to Adviser mock.");                await this.fetchAdviserDeals(query);                return;             }             console.warn("Hawk fetch failed", e);             this.deals = [];             this.render();             return;          }          if (!response.ok) {            throw new Error('Hawk API Response Error');          }          const rawData = await response.json();          // Safely locate data array from potentially wrapped response          let offers = [];          let modelInfoArray = [];                    let brandFilterData = null;          if (rawData && rawData.widget && rawData.widget.data && Array.isArray(rawData.widget.data.filters)) {             brandFilterData = rawData.widget.data.filters.find(f => f.type === 'label_text_brand');          } else if (rawData && rawData.data && Array.isArray(rawData.data.filters)) {             brandFilterData = rawData.data.filters.find(f => f.type === 'label_text_brand');          }          if (brandFilterData && Array.isArray(brandFilterData.values) && brandFilterData.values.length > 0) {             this.populateBrandDropdown(brandFilterData.values);          } else {             if (this.brandFilterWrapper && this.selectedBrands.length === 0) {                this.brandFilterWrapper.style.display = 'none';             }          }                    if (rawData && rawData.widget && rawData.widget.data) {            if (Array.isArray(rawData.widget.data.offers)) offers = rawData.widget.data.offers;            if (rawData.widget.data.model_info && typeof rawData.widget.data.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.widget.data.model_info) ? rawData.widget.data.model_info : Object.values(rawData.widget.data.model_info);            }          } else if (rawData && rawData.data) {            if (Array.isArray(rawData.data.offers)) offers = rawData.data.offers;            if (rawData.data.model_info && typeof rawData.data.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.data.model_info) ? rawData.data.model_info : Object.values(rawData.data.model_info);            }          } else {            if (Array.isArray(rawData)) offers = rawData;            else if (rawData && Array.isArray(rawData.offers)) offers = rawData.offers;            else if (rawData && rawData.offers && Array.isArray(rawData.offers.offer)) offers = rawData.offers.offer;            else if (rawData && rawData.offers) offers = [].concat(rawData.offers);                        if (rawData && rawData.model_info && typeof rawData.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.model_info) ? rawData.model_info : Object.values(rawData.model_info);            }          }          let modelDetails = {};          modelInfoArray.forEach(m => {            const mId = m.model_id || m.id;            if (mId) {              modelDetails[mId] = {                score: m.score != null ? parseFloat(m.score) : null,                brand: m.brand || null,                parent: (m.parents && Array.isArray(m.parents) && m.parents.length > 0) ? m.parents[0].name : null              };            }          });          offers.forEach(item => {            let data = { ...item };            const mId = data.model_id;            if (mId && modelDetails[mId]) {              data.review_score = modelDetails[mId].score;              data.model_brand = modelDetails[mId].brand;              data.model_parent = modelDetails[mId].parent;            } else {              data.review_score = null;            }                        let itemOffers = [];            if (Array.isArray(item.offers)) itemOffers = item.offers;            else if (Array.isArray(item.offer)) itemOffers = item.offer;            else if (item.offers && typeof item.offers === 'object') itemOffers = [item.offers];            else if (item.offer && typeof item.offer === 'object') itemOffers = [item.offer];            if (itemOffers.length > 0) {              itemOffers.forEach(subItem => {                let subData = { ...item, ...subItem };                const subId = subData.model_id;                if (subId && modelDetails[subId]) {                  subData.review_score = modelDetails[subId].score;                  subData.model_brand = modelDetails[subId].brand;                  subData.model_parent = modelDetails[subId].parent;                } else if (data.review_score != null) {                  subData.review_score = data.review_score;                }                if (subData.merchant && typeof subData.merchant === 'object') {                  subData.merchant_name = subData.merchant.name;                }                this.deals.push(this.extractDealData(subData));              });              return;            }                        if (item.merchant && typeof item.merchant === 'object') {              data.merchant_name = item.merchant.name;            }                        this.deals.push(this.extractDealData(data));          });                    this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.getFilteredDeals().slice(0, this.displayLimit), this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        async fetchAdviserDeals(query) {          // ======================================================================          // TODO: ADVISER API REPLACEMENT          // The code below simulates the Adviser API response using mock data.          // Once the real endpoint is ready, remove getAdviserMockData() and           // perform an actual fetch() request similar to fetchHawkDeals().          // Example:          // const area = this.getAreaCode();          // let apiUrl = `https://your-adviser-api.com/search?q=${query}&area=${area}`;          // if (this.priceFilter && this.priceFilter.value !== 'all') {          //   const val = this.priceFilter.value;          //   if (val === 'under50') apiUrl += '&filter_max_price=50';          //   else if (val === '50_100') apiUrl += '&filter_max_price=100';          //   else if (val === '100_200') apiUrl += '&filter_max_price=200';          //   else if (val === '200_500') apiUrl += '&filter_max_price=500';          // }          // const res = await fetch(apiUrl);          // const rawData = await res.json();          // ======================================================================          // Simulating network latency          await new Promise(resolve => setTimeout(resolve, 400));                    const rawData = this.getAdviserMockData();          let offers = [];                    if (rawData && rawData.data && rawData.data.Get && Array.isArray(rawData.data.Get.Deal)) {            offers = rawData.data.Get.Deal;          }                    // Basic client-side filtering for the mock if we want it to react to the query          const q = query.toLowerCase();          const selectedRetailer = (this.retailerSelect && this.retailerSelect.value) ? this.retailerSelect.value.toLowerCase() : null;                    offers.forEach(item => {            const dataObj = item;                        // Apply retailer filter            const itemRetailer = (dataObj.dataRetailer || '').toLowerCase();            if (selectedRetailer && itemRetailer !== selectedRetailer && !itemRetailer.includes(selectedRetailer)) {              return;            }                        // Apply mock price filter            let price = dataObj.dataDiscountedPrice || 0;            if (typeof price === 'string') {              price = parseFloat(price.replace(/[^0-9.]/g, ''));            }            let priceVal = null;            const min = this.customPriceMin ? this.customPriceMin.value : '';            const max = this.customPriceMax ? this.customPriceMax.value : '';            if (min || max) {               priceVal = `${min}_${max}`;            } else if (this.priceFilter && this.priceFilter.value !== 'all') {               priceVal = this.priceFilter.value;            }            if (priceVal) {              if (priceVal === 'under50' && price >= 50) return;              if (priceVal === 'over50' && price <= 50) return;              if (priceVal === 'over30' && price <= 30) return;              if (priceVal === 'over500' && price <= 500) return;              if (priceVal.includes('_')) {                 const parts = priceVal.split('_');                 if (parts[0] && price < parseFloat(parts[0])) return;                 if (parts[1] && price > parseFloat(parts[1])) return;              }            }                        // Map Adviser schema to our widget's expected schema            const mappedData = {              url: dataObj.linkHREF || dataObj.dataLink || '#',              image: dataObj.imageURL || (dataObj.image && dataObj.image.src) || '',              title: dataObj.dataProduct || (dataObj.product && dataObj.product.name) || 'Product Deal',              merchant: dataObj.dataRetailer || 'Retailer',              price: dataObj.dataDiscountedPrice || 0,              currency: dataObj.dataCurrency === 'USD' ? '$' : (dataObj.dataCurrency || '$'),              msrp: dataObj.dataOriginalPrice || null            };                        const titleLow = mappedData.title.toLowerCase();            const merchLow = mappedData.merchant.toLowerCase();                        // Smarter mock filtering            let isMatch = false;            if (q === '' || this.isBroadQuery(q)) {              isMatch = true;            } else if (titleLow.includes(q) || merchLow.includes(q)) {              isMatch = true;            } else if ((q.includes('laptop') || q.includes('mac') || q.includes('pc')) && (titleLow.includes('macbook') || titleLow.includes('laptop'))) {              isMatch = true;            } else if ((q.includes('tv') || q.includes('television')) && (titleLow.includes('tv') || titleLow.includes('oled') || titleLow.includes('qled'))) {              isMatch = true;            } else if ((q.includes('phone') || q.includes('smartphone')) && (titleLow.includes('galaxy') || titleLow.includes('phone'))) {              isMatch = true;            } else if ((q.match(/watch|fitness|run|shoe/)) && (titleLow.includes('forerunner') || titleLow.includes('saucony') || titleLow.includes('watch'))) {              isMatch = true;            }                        if (isMatch) {               this.deals.push(this.extractDealData(mappedData));            }          });                    let rowLimit = this.getRowsLimit();          // Intentionally omitting the slice here to allow "Load More" to work if the API returns more                    this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.getFilteredDeals().slice(0, this.displayLimit), this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        getAdviserMockData() {          return {            "data": {              "Get": {                "Deal": [                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 300,                    "dataOriginalPrice": 399,                    "dataProduct": "Samsung Galaxy A36",                    "dataRetailer": "Samsung",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/MqDYsukV3JBG54te6dEs7j.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 14,                    "dataOriginalPrice": 24,                    "dataProduct": "Blink Mini",                    "dataRetailer": "Amazon",                    "imageURL": "http://cdn.mos.cms.futurecdn.net/3JurmAjHsDa5tPdaHAwEV8.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 59,                    "dataOriginalPrice": 99,                    "dataProduct": "Ring Video Doorbell",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/rAh4uR7AsAsALCCLTXnLNJ.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 10,                    "dataOriginalPrice": 599,                    "dataProduct": "MacBook Neo",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/Lg4Dvg68j9SbB5CPNrTEpH.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 749,                    "dataOriginalPrice": 849,                    "dataProduct": "65\\\" Fire TV Omni 4K QLED TV",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/SG34ZWodUkLTxJvMTbjPYR.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 71,                    "dataOriginalPrice": 160,                    "dataProduct": "Saucony Hurricane 24",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/vxf7UD5T2Am7guVzFoFcZ4.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 649,                    "dataOriginalPrice": 749,                    "dataProduct": "Garmin Forerunner 970",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/3GKnEu7CdhtxPMfnPCMCiA.png"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 1049,                    "dataOriginalPrice": 1499,                    "dataProduct": "LG 48\\\" C4 4K OLED TV",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/imvwZV9zoMD6fn9Afuge35.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 1499,                    "dataOriginalPrice": 2199,                    "dataProduct": "Samsung 49\\\" Odyssey Neo G9 4K Gaming Monitor",                    "dataRetailer": "Amazon",                    "imageURL": "http://cdn.mos.cms.futurecdn.net/XWDEJ5dUAE2nhK8k3Jk7k7.png"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 299,                    "dataOriginalPrice": 699,                    "dataProduct": "EGOHOME Black Memory Foam Mattress (queen)",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/hMUemtAejNETLVYxNrktzm.jpg"                  }                ]              }            }          };        }        decodeHTML(html) {          if (!html) return '';          const txt = document.createElement("textarea");          txt.innerHTML = String(html);          return txt.value;        }        extractDealData(item) {          const priceRawStr = String(item.price || item.current_price || '0');          const msrpRawStr = String(item.was_price || item.msrp || item.original_price || '0');          const rawPrice = parseFloat(priceRawStr.replace(/[^\d.]/g, '')) || 0;          const rawMsrp = parseFloat(msrpRawStr.replace(/[^\d.]/g, '')) || 0;          const isCheckPrice = rawPrice === 0 || priceRawStr === '0.00' || priceRawStr === '0';                    let originalImageUrl = item.image || item.image_url || item.product_image || '';          let imageUrl = originalImageUrl;          if ((!imageUrl || isCheckPrice) && item.model_image_url) {             imageUrl = item.model_image_url;             originalImageUrl = imageUrl;          } else if ((!imageUrl || isCheckPrice) && item.model_image) {             imageUrl = item.model_image;             originalImageUrl = imageUrl;          }                    if (imageUrl) {            imageUrl = imageUrl.replace(/-(\d+)-(\d+)(\.[a-z.]+)$/i, '$3');          }                    let fallbackImage = '';          if (originalImageUrl && originalImageUrl !== imageUrl) {             fallbackImage = originalImageUrl;          } else if (item.model_image && item.model_image !== imageUrl) {             fallbackImage = item.model_image;          } else if (item.model_image_url && item.model_image_url !== imageUrl) {             fallbackImage = item.model_image_url;          }                    const rawCurrency = item.currency || item.currency_symbol || '$';                    let savingLabel = item.percentage_saving_label || '';          if (!savingLabel && rawMsrp > rawPrice && rawPrice > 0) {            const pct = Math.round(((rawMsrp - rawPrice) / rawMsrp) * 100);            if (pct > 0) {              savingLabel = `${pct}% OFF`;            }          }                    const isPrime = item.shipping && item.shipping.prime === true;                    let scoreRaw = (item.review_score !== undefined && item.review_score !== null && item.review_score > 0) ? parseFloat(item.review_score) : null;          let starRating = 0;          if (scoreRaw !== null) {            starRating = Math.round((scoreRaw > 10 ? scoreRaw / 20 : scoreRaw / 2) * 2) / 2;          }                    return {            id: item.offer_id || item.link || item.url || item.offer_link || Math.random().toString(),            url: item.link || item.url || item.offer_link || '#',            image: imageUrl,            fallbackImage: fallbackImage,            title: this.decodeHTML(item.name || item.title || item.model_name || item.product_name || 'Unknown Product'),            brand: this.decodeHTML(item.brand || ''),            productName: this.decodeHTML(item.model_name || item.product_name || item.name || ''),            merchant: this.decodeHTML(item.merchant_name || item.merchant || item.retailer || 'Retailer'),            price: item.price !== undefined ? String(item.price) : '0.00',            currency: this.decodeHTML(rawCurrency),            msrp: item.was_price || item.msrp || item.original_price || null,            rawPrice: rawPrice,            rawMsrp: rawMsrp,            hasWasPrice: (item.was_price !== undefined && item.was_price !== null),            isCheckPrice: isCheckPrice,            savingLabel: savingLabel,            isPrime: isPrime,            starRating: starRating > 0 ? starRating : null,            modelId: item.model_id || '',            productKey: item.product_key || '',            merchantId: (item.merchant && typeof item.merchant === 'object') ? item.merchant.id || '' : '',            matchId: item.match_id || '',            merchantNetwork: (item.merchant && typeof item.merchant === 'object') ? item.merchant.an || '' : '',            merchantUrl: (item.merchant && typeof item.merchant === 'object') ? item.merchant.url || '' : '',            modelBrand: item.model_brand || item.brand || '',            modelParent: item.model_parent || ''          };        }        sortData() {          const sortVal = this.sortSelect ? this.sortSelect.value : 'date_desc';          if (sortVal === 'price_asc') {            this.deals.sort((a, b) => a.rawPrice - b.rawPrice);          } else if (sortVal === 'price_desc') {            this.deals.sort((a, b) => b.rawPrice - a.rawPrice);          } else if (sortVal === 'discount_desc') {            this.deals.sort((a, b) => {              const aDiscount = a.rawMsrp > a.rawPrice ? (a.rawMsrp - a.rawPrice) : 0;              const bDiscount = b.rawMsrp > b.rawPrice ? (b.rawMsrp - b.rawPrice) : 0;              return bDiscount - aDiscount;            });          } else if (sortVal === 'date_desc') {             this.deals.sort((a, b) => {                let dateA = 0;                let dateB = 0;                if (a && a.modifiedDate) {                   const valA = Array.isArray(a.modifiedDate) ? a.modifiedDate[0] : a.modifiedDate;                   dateA = new Date(valA).getTime();                   if (isNaN(dateA)) dateA = 0;                }                if (b && b.modifiedDate) {                   const valB = Array.isArray(b.modifiedDate) ? b.modifiedDate[0] : b.modifiedDate;                   dateB = new Date(valB).getTime();                   if (isNaN(dateB)) dateB = 0;                }                return dateB - dateA;             });          }        }        getFilteredDeals() {          let filteredDeals = [...this.deals];                    if (this.dealModeToggle && this.dealModeToggle.checked) {            filteredDeals = filteredDeals.filter(d => d.hasWasPrice || (d.msrp && d.rawMsrp > d.rawPrice));          }                    return filteredDeals;        }        showLoading() {          const _div = '<' + '/div>';          const skeletonCardHtml = `            \x3Cdiv class="tg-df-card">              \x3Cdiv class="tg-df-card-image-box">                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-img">${_div}              ${_div}              \x3Cdiv class="tg-df-card-body">                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short">${_div}                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text title">${_div}                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text title">${_div}                \x3Cdiv class="tg-df-card-footer mt-auto">                  \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="height:24px;">${_div}                ${_div}              ${_div}              \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text" style="height:44px; margin:0; border-radius:0;">${_div}            ${_div}`;          this.grid.innerHTML = Array(4).fill(skeletonCardHtml).join('');        }        showError() {          const _div = '<' + '/div>';          this.grid.innerHTML = `\x3Cdiv class="tg-df-message">            An error occurred while finding deals. Please check your connection and try again.          ${_div}`;        }        escapeHTML(str) {          if (!str) return '';          return String(str).replace(/[&<>'"]/g, tag => ({              '&': '&', '<': '<', '>': '>', "'": ''', '"': '"'          }[tag] || tag));        }                bindCouponButtons() {          const btns = this.root.querySelectorAll('.tg-df-tag-coupons');          btns.forEach(btn => {            btn.addEventListener('click', (e) => {              e.preventDefault();              e.stopPropagation();              const merchant = btn.getAttribute('data-merchant');              this.openVouchersModal(merchant);            });          });                    const closeBtn = this.root.querySelector('#tg-df-vouchers-close');          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          if (closeBtn) {            closeBtn.onclick = () => this.closeVouchersModal();          }          if (backdrop) {            backdrop.onclick = (e) => {              if (e.target === backdrop) this.closeVouchersModal();            };          }        }                closeVouchersModal() {          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          if (backdrop) backdrop.classList.remove('active');        }                async checkMerchantsCouponsBulk(merchants) {          if (!merchants || merchants.length === 0) return {};          const controller = new AbortController();          const timeoutId = setTimeout(() => controller.abort(), 4000);          try {            const area = this.getAreaCode();            const url = new URL('https://search-api.fie.future.net.uk/widget.php');            url.searchParams.append('model_name', 'Everything');            url.searchParams.append('language', 'en-GB');            if (area) url.searchParams.append('area', area);            url.searchParams.append('combine_product_types', '1');            url.searchParams.append('filter_merchant_name', merchants.join(','));            url.searchParams.append('all_filters', 'false');            url.searchParams.append('exclude_unlabelled', 'false');            url.searchParams.append('include_specs', 'false');            url.searchParams.append('sort', 'voucher');            url.searchParams.append('distinct_merchants', 'natural');            url.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');            url.searchParams.append('rows', '120');            url.searchParams.append('origin', 'widgets-clientside');                        let res; try { res = await fetch(url.toString(), { signal: controller.signal }); } catch (e) { return {}; }            clearTimeout(timeoutId);            if (!res.ok) return {};            const data = await res.json();                        let offers = [];            if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {              offers = data.widget.data.offers;            } else if (data && data.data && Array.isArray(data.data.offers)) {              offers = data.data.offers;            } else if (Array.isArray(data)) {              offers = data;            } else if (data && Array.isArray(data.offers)) {              offers = data.offers;            } else if (data && data.offers && Array.isArray(data.offers.offer)) {              offers = data.offers.offer;            } else if (data && Array.isArray(data.data)) {              offers = data.data;            }                        const foundMerchants = new Set();            offers.forEach(o => {              let mName = o.merchant_name || o.merchant || o.retailer;              if (mName && typeof mName === 'object') mName = mName.name;              if (mName) foundMerchants.add(String(mName).toLowerCase());            });            const resultMap = {};            merchants.forEach(m => {              if (m) resultMap[m] = foundMerchants.has(String(m).toLowerCase());            });            return resultMap;          } catch (e) {            return {};          }        }                async openVouchersModal(merchantName) {          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          const title = this.root.querySelector('#tg-df-vouchers-title');          const content = this.root.querySelector('#tg-df-vouchers-content');                    if (!backdrop || !content) return;                    // HACK: Hide closing tags          const _div = '<' + '/div>';          const _span = '<' + '/span>';          const _a = '<' + '/a>';          const _h4 = '<' + '/h4>';          const _svg = '<' + '/svg>';          const _circle = '<' + '/circle>';          const _polyline = '<' + '/polyline>';          const _rect = '<' + '/rect>';          const _path = '<' + '/path>';                    title.innerText = `${merchantName} Coupons & Deals`;          content.innerHTML = `\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text">${_div}                               \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text">${_div}`;          backdrop.classList.add('active');                    try {            const area = this.getAreaCode();            const url = new URL('https://search-api.fie.future.net.uk/widget.php');            url.searchParams.append('model_name', 'Everything');            url.searchParams.append('language', 'en-GB');            if (area) url.searchParams.append('area', area);            url.searchParams.append('combine_product_types', '1');            url.searchParams.append('filter_merchant_name', merchantName);            url.searchParams.append('all_filters', 'false');            url.searchParams.append('exclude_unlabelled', 'false');            url.searchParams.append('include_specs', 'false');            url.searchParams.append('sort', 'voucher');            url.searchParams.append('distinct_merchants', 'natural');            url.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');            url.searchParams.append('rows', '50');            url.searchParams.append('origin', 'widgets-clientside');                        const res = await fetch(url.toString());            if (!res.ok) throw new Error('API Error');            const data = await res.json();                        let offers = [];            if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {              offers = data.widget.data.offers;            } else if (data && data.data && Array.isArray(data.data.offers)) {              offers = data.data.offers;            } else if (Array.isArray(data)) {              offers = data;            } else if (data && Array.isArray(data.offers)) {              offers = data.offers;            } else if (data && data.offers && Array.isArray(data.offers.offer)) {              offers = data.offers.offer;            } else if (data && Array.isArray(data.data)) {              offers = data.data;            }                        if (offers.length === 0) {              content.innerHTML = `\x3Cdiv class="tg-df-message">No vouchers currently available for ${this.escapeHTML(merchantName)}.${_div}`;              return;            }                        content.innerHTML = offers.map((v, idx) => {              let offerObj = v;              if (v.offers && v.offers.offer) {                offerObj = Array.isArray(v.offers.offer) ? v.offers.offer[0] : v.offers.offer;              } else if (v.offer) {                offerObj = Array.isArray(v.offer) ? v.offer[0] : v.offer;              }              let logoUrl = v.logo_url || offerObj.logo_url || '';              if (!logoUrl && v.merchant) {                if (Array.isArray(v.merchant) && v.merchant.length > 0) logoUrl = v.merchant[0].logo_url || '';                else logoUrl = v.merchant.logo_url || '';              }                            const offerName = offerObj.name || offerObj.title || v.name || v.title || 'Special Offer';              const endTime = offerObj.end_time || v.end_time || '';              const linkUrl = offerObj.link || offerObj.url || v.link || v.url || '#';                            let foundVoucherCode = '';              const findVoucherCode = (obj) => {                if (!obj || typeof obj !== 'object') return;                if (obj.type === 'voucher_code' && obj.display_value) {                  foundVoucherCode = obj.display_value;                  return;                }                if (Array.isArray(obj)) {                  for (const item of obj) {                    findVoucherCode(item);                    if (foundVoucherCode) return;                  }                } else {                  for (const k in obj) {                    if (Object.prototype.hasOwnProperty.call(obj, k)) {                      findVoucherCode(obj[k]);                      if (foundVoucherCode) return;                    }                  }                }              };              findVoucherCode(offerObj);              if (!foundVoucherCode) findVoucherCode(v);                            const voucherCode = foundVoucherCode || offerObj.voucher_code || v.voucher_code || '';              const codeHtml = voucherCode ? `\x3Cspan class="tg-df-voucher-code" data-action="copy-code" data-code="${this.escapeHTML(voucherCode)}" title="Copy to clipboard">                \x3Cspan class="tg-df-voucher-code-text">${this.escapeHTML(voucherCode)}${_span}                \x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-left:6px;flex-shrink:0;" class="tg-df-voucher-copy-icon">                  \x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2">${_rect}                  \x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1">${_path}                ${_svg}              ${_span}` : '';                            const logoHtml = logoUrl                 ? `\x3Cimg src="${this.escapeHTML(logoUrl)}" alt="${this.escapeHTML(offerName)}" class="tg-df-voucher-logo" />`                 : `\x3Cdiv class="tg-df-voucher-logo" style="background:#e2e8f0;">${_div}`;                            let expiryHtml = '';              if (endTime) {                let dStr = endTime;                if (!isNaN(dStr) && String(dStr).length === 10) dStr = Number(dStr) * 1000;                const d = new Date(dStr);                if (!isNaN(d.getTime())) {                  const options = { year: 'numeric', month: 'short', day: 'numeric' };                  expiryHtml = `                    \x3Cdiv class="tg-df-voucher-expiry">                      \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                        \x3Ccircle cx="12" cy="12" r="10">${_circle}                        \x3Cpolyline points="12 6 12 12 16 14">${_polyline}                      ${_svg}                      Expires ${d.toLocaleDateString(undefined, options)}                    ${_div}`;                }              }              const revenueIdVal = generateRevenueId(linkUrl, offerName, merchantName, null);              const rewrittenLinkUrl = rewriteAffiliateLink(linkUrl, area, revenueIdVal);              return `                \x3Ca href="${this.escapeHTML(rewrittenLinkUrl)}" target="_blank" rel="noopener nofollow" class="tg-df-voucher-item"                  data-action="voucher-click"                  data-product-name="${this.escapeHTML(offerName)}"                  data-merchant-name="${this.escapeHTML(merchantName)}"                  data-analytics-id="${this.escapeHTML(offerObj.offer_id || offerObj.id || v.id || '')}"                  data-price=""                  data-previous-price=""                  data-original-link="${this.escapeHTML(linkUrl)}"                  data-revenue-id="${revenueIdVal}"                  data-index="${idx}"                  data-total="${offers.length}"                  data-in-stock="true"                  data-currency="USD"                  data-model-id="${this.escapeHTML(offerObj.model_id || v.model_id || offerObj.id || v.id || '')}"                  data-merchant-id="${this.escapeHTML(offerObj.merchant_id || offerObj.merchant?.id || '')}"                >                  ${logoHtml}                  \x3Cdiv class="tg-df-voucher-content">                    \x3Ch4 class="tg-df-voucher-title">${this.escapeHTML(offerName)}${_h4}                    ${codeHtml}                    ${expiryHtml}                  ${_div}                ${_a}              `;            }).join('');                        // Attach copy functionality            const copyBtns = content.querySelectorAll('[data-action="copy-code"]');            copyBtns.forEach(btn => {              btn.addEventListener('click', async (e) => {                e.preventDefault();                e.stopPropagation();                                const code = btn.getAttribute('data-code');                if (!code) return;                                try {                  const copyToClipboard = async (text) => {                     if (window.navigator.clipboard && window.isSecureContext) {                        try { await window.navigator.clipboard.writeText(text); return; } catch (e) {}                     }                     const textArea = document.createElement("textarea");                     textArea.value = text;                     textArea.style.position = "fixed";                     document.body.appendChild(textArea);                     textArea.focus();                     textArea.select();                     document.execCommand('copy');                     textArea.remove();                  };                  await copyToClipboard(code);                                    // Visual feedback                  btn.classList.add('copied');                  const textSpan = btn.querySelector('.tg-df-voucher-code-text');                  const iconSvg = btn.querySelector('.tg-df-voucher-copy-icon');                                    const origText = textSpan.innerText;                  const origIcon = iconSvg.innerHTML;                                    textSpan.innerText = 'Copied!';                  iconSvg.innerHTML = `\x3Cpolyline points="20 6 9 17 4 12">${_polyline}`;                                    setTimeout(() => {                    if (btn) {                      btn.classList.remove('copied');                      if (textSpan) textSpan.innerText = origText;                      if (iconSvg) iconSvg.innerHTML = origIcon;                    }                  }, 2000);                                    trackElementInteraction({                    id: 'voucher-code-copy',                    name: 'Copy Voucher Code',                    label: `Copied ${code} for ${merchantName}`                  });                } catch (err) {                  console.warn('Failed to copy text: ', err);                }              });            });            // Attach voucher click tracking            const voucherBtns = content.querySelectorAll('[data-action="voucher-click"]');            voucherBtns.forEach(btn => {              btn.addEventListener('click', (e) => {                if (e.target.closest('[data-action="copy-code"]')) return;                                const productName = btn.getAttribute('data-product-name');                const merchantNameAttr = btn.getAttribute('data-merchant-name');                const productId = btn.getAttribute('data-analytics-id');                const price = parseFloat(btn.getAttribute('data-price')) || null;                const prevPriceStr = btn.getAttribute('data-previous-price');                const previousPrice = prevPriceStr ? parseFloat(prevPriceStr) : null;                const originalLink = btn.getAttribute('data-original-link');                const finalHref = btn.href || btn.getAttribute('href') || '';                let actualRevenueId = btn.getAttribute('data-revenue-id');                const revMatch = finalHref.match(/(?:subId1|xcust|clickref|ascsubtag)=[^&]*?(\d{18,20})(?:&|$)/i);                if (revMatch && revMatch[1]) {                  actualRevenueId = revMatch[1];                }                const rewrittenLink = finalHref;                const revenueId = actualRevenueId;                const index = parseInt(btn.getAttribute('data-index'), 10) || 0;                const inStock = btn.getAttribute('data-in-stock') === 'true';                const totalText = btn.getAttribute('data-total');                const totalDeals = parseInt(totalText, 10) || 0;                const productCategoryName = 'deals';                const trackingParams = {                  widgetId: this.widgetId,                  productCategoryName: productCategoryName,                  product: {                    modelId: btn.getAttribute('data-model-id') || null,                    matchId: btn.getAttribute('data-match-id') || null,                    brand: btn.getAttribute('data-model-brand') || null,                    parent: btn.getAttribute('data-model-parent') || null,                    name: productName,                    price: price,                    previousPrice: previousPrice,                    link: rewrittenLink,                    originalLink: originalLink,                    inStock: inStock                  },                  zeroBasedProductIndexOrNull: index,                  totalDealsOrProducts: totalDeals,                   merchant: {                    id: btn.getAttribute('data-merchant-id') || null,                    network: btn.getAttribute('data-merchant-network') || null,                    url: btn.getAttribute('data-merchant-url') || null,                    name: merchantNameAttr                  },                  revenueId: revenueId,                  widgetTypeName: this.widgetTypeName,                  isoCurrencyCode: btn.getAttribute('data-currency') || 'USD'                };                if (typeof trackDealClick === 'function') {                  trackDealClick(trackingParams);                }              });            });                                  } catch (e) {            console.warn(e);            content.innerHTML = `\x3Cdiv class="tg-df-message">Failed to load vouchers.${_div}`;          }        }        render() {          try {            if (this.getViewMode() === 'savings_squad' && this.airedaleTags.length > 0) {              if (this.categoryFilterWrapper) {                 this.categoryFilterWrapper.style.display = 'flex';              }              if (this.categoryFilter) {                 const _option = '<' + '/option>';                 let optionsHtml = `\x3Coption value="all">All Categories${_option}`;                 this.airedaleTags.forEach(tag => {                    const isSelected = this.activeDealTag === tag ? 'selected' : '';                    optionsHtml += `\x3Coption value="${this.escapeHTML(tag)}" ${isSelected}>${this.escapeHTML(tag)}${_option}`;                 });                 this.categoryFilter.innerHTML = optionsHtml;                 this.categoryFilter.value = this.activeDealTag || 'all';              }            } else {               if (this.categoryFilterWrapper) {                  this.categoryFilterWrapper.style.display = 'none';               }            }            const displayDeals = this.getFilteredDeals();          // HACK: Hide closing tags from the CMS HTML sanitizer so it doesn't strip them during in-page injection          const _div = '<' + '/div>';          const _span = '<' + '/span>';          const _a = '<' + '/a>';          const _h3 = '<' + '/h3>';          const _p = '<' + '/p>';          const _strong = '<' + '/strong>';          const _sup = '<' + '/sup>';          const _button = '<' + '/button>';          if (displayDeals.length === 0) {            if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {              if (this.deals.length > 0) {                 this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                  No deals match your selected filters.                ${_div}`;              } else if (this.getViewMode() === 'savings_squad' && this.currentQuery.length <= 2) {                 // Do not show "no exact matches" if query is empty for savings_squad                 this.grid.innerHTML = '';              } else {                 this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                  No exact matches found for "\x3Cstrong>${this.escapeHTML(this.currentQuery)}${_strong}". Try adjusting your search term.                ${_div}`;              }            } else {              this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                Search product or category names to discover the best deals from across the web.              ${_div}`;            }            return;          }          let dealsHtml = displayDeals.slice(0, this.displayLimit).map((deal, index) => {            try {               const currencySym = this.escapeHTML(deal.currency);               const isoCurrencyCode = normalizeCurrency(currencySym);               const escapedPrice = this.escapeHTML(deal.price);               const escapedMsrp = this.escapeHTML(deal.msrp);               const areaCode = this.getAreaCode();                              const revenueId = generateRevenueId(deal.url, deal.title, deal.merchant, null);               const originalLink = deal.url;               const rewrittenLink = rewriteAffiliateLink(deal.url, areaCode, revenueId);                        const productCategoryName = 'deals';            const dataAttr = `              data-action="${deal.isCheckPrice ? 'view-similar-click' : 'deal-click'}"              data-analytics-id="${this.escapeHTML(deal.externalProductId || deal.id || '')}"              data-product-name="${this.escapeHTML(deal.title)}"              data-merchant-name="${this.escapeHTML(deal.merchant)}"              data-price="${deal.rawPrice || ''}"              data-previous-price="${deal.rawMsrp || ''}"              data-original-link="${this.escapeHTML(originalLink)}"              data-revenue-id="${revenueId}"              data-index="${index}"              data-total="${displayDeals.length}"              data-in-stock="${deal.inStock !== false}"              data-currency="${this.escapeHTML(isoCurrencyCode)}"              data-model-id="${this.escapeHTML(deal.modelId || '')}"              data-product-key="${this.escapeHTML(deal.productKey || '')}"              data-merchant-id="${this.escapeHTML(deal.merchantId || '')}"            `;                        let priceGroupHtml = '';            let isSavingsSquadMode = this.getViewMode() === 'savings_squad';            let ctaText = 'View Deal';            let formattedPrice = '';            let msrpHtml = '';                        if (deal.isCheckPrice) {              ctaText = 'View Deal';              if (isSavingsSquadMode) {                priceGroupHtml = ``;              } else {                priceGroupHtml = `                  \x3Cdiv class="tg-df-card-price-group">                    \x3Cspan class="tg-df-card-price" style="font-size: 15px; font-weight: 500; font-style: italic;">See price at retailer${_span}                  ${_div}                `;              }            } else {              // Format Price              formattedPrice = escapedPrice.includes(currencySym)                 ? escapedPrice                 : `${currencySym}${escapedPrice}`;                              // Format MSRP              msrpHtml = deal.msrp && deal.rawMsrp > deal.rawPrice                ? `\x3Cspan class="tg-df-card-msrp">${escapedMsrp.includes(currencySym) ? escapedMsrp : currencySym + escapedMsrp}${_span}`                : '';                              priceGroupHtml = isSavingsSquadMode ? `` : `                \x3Cdiv class="tg-df-card-price-group">                  \x3Cspan class="tg-df-card-price">${formattedPrice}${_span}                  ${msrpHtml}                ${_div}              `;            }                        const discountBadgeHtml = deal.savingLabel && !deal.isCheckPrice              ? `\x3Cspan class="tg-df-card-discount-badge">${this.escapeHTML(deal.savingLabel)}${_span}`              : '';                          // HACK for CMS            const _button = '<' + '/button>';            const _svg = '<' + '/svg>';            const _path = '<' + '/path>';            const _rect = '<' + '/rect>';            const _circle = '<' + '/circle>';            const _polyline = '<' + '/polyline>';            const _line = '<' + '/line>';                        let badgesHtml = '';            const primeBadge = deal.isPrime ? `              \x3Cspan class="tg-df-tag tg-df-tag-prime">                \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="currentColor">                  \x3Cpath d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z">${_path}                ${_svg} Prime              ${_span}            ` : '';                        const couponsBadge = deal.merchant && deal.merchant.toLowerCase().includes('amazon') ? '' : `              \x3Cdiv class="tg-df-coupon-wrapper" data-merchant="${this.escapeHTML(deal.merchant)}" style="display:inline-flex; align-items:center;">                \x3Cdiv class="tg-df-coupon-spinner">${_div}                \x3Cbutton type="button" class="tg-df-tag tg-df-tag-coupons" data-action="coupons-click" data-merchant="${this.escapeHTML(deal.merchant)}" style="display:none;">                  \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                    \x3Cpath d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z">${_path}                    \x3Cline x1="7" y1="7" x2="7.01" y2="7">${_line}                  ${_svg} Coupons                ${_button}              ${_div}            `;                        // Note: We always add coupons badge if there's a chance, but to allow 3-line titles we check wrapper display state            badgesHtml = `              \x3Cdiv class="tg-df-card-badges">                ${primeBadge}                ${couponsBadge}              ${_div}            `;            const _linearGradient = '<' + '/linearGradient>';            const _polygon = '<' + '/polygon>';            const _stop = '<' + '/stop>';            const _defs = '<' + '/defs>';                        let starHtml = '';            if (deal.starRating) {              let rating = deal.starRating;                            if (rating > 0) {                const fullStars = Math.floor(rating);                const halfStar = (rating - fullStars) >= 0.5 ? 1 : 0;                const emptyStars = Math.max(0, 5 - fullStars - halfStar);                const blue = '#1f69ff'; // Tom's guide brand color from VIEW DEAL button                const gray = '#cbd5e1';                                const starSvgFull = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="${blue}" stroke="${blue}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26">${_polygon}${_svg}`;                                const gradId = 'half_grad_' + Math.floor(Math.random()*1000000);                const starSvgHalf = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" stroke="${blue}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cdefs>\x3ClinearGradient id="${gradId}" x1="0" x2="1" y1="0" y2="0">\x3Cstop offset="50%" stop-color="${blue}">${_stop}\x3Cstop offset="50%" stop-color="transparent">${_stop}${_linearGradient}${_defs}                  \x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26" fill="url(#${gradId})">${_polygon}${_svg}`;                                  const starSvgEmpty = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="${gray}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26">${_polygon}${_svg}`;                                let stars = [];                for (let i=0; i<fullStars; i++) stars.push(starSvgFull);                if (halfStar) stars.push(starSvgHalf);                for (let i=0; i<emptyStars; i++) stars.push(starSvgEmpty);                                starHtml = `\x3Cdiv class="tg-df-card-stars" style="display:flex;align-items:center;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--tg-df-text-muted);">                  \x3Cspan style="margin-right:6px;">Tom's Guide:${_span}                  \x3Cdiv style="display:flex;gap:2px;">                    ${stars.join('')}                  ${_div}                ${_div}`;              }            }            let htmlOutput = '';            if (isSavingsSquadMode) {              htmlOutput += `              \x3Cdiv class="hawk-deal-widget-container tg-df-mobile-only" data-collapsible="true">                ${this.editorMode ? `\x3Cinput type="checkbox" class="tg-df-deal-checkbox" data-id="${this.escapeHTML(deal.id)}" ${this.selectedDeals.has(deal.id) ? 'checked' : ''} style="margin-bottom: 10px;">` : ''}                \x3Cdiv class="hawk-deal-widget-wrap">                  \x3Cdiv class="hawk-deal-widget-image-container">                    \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" rel="sponsored noopener" target="_blank" class="hawk-affiliate-link-deal-widget" ${dataAttr}>                      \x3Cimg ${deal.image ? `src="${this.escapeHTML(deal.image)}"` : ''} alt="${this.escapeHTML(deal.title)}" class="hawk-lazy-image-deal-widget" loading="lazy" width="140" height="160" onerror="${deal.fallbackImage ? `if(!this.dataset.fb) { this.dataset.fb='1'; this.src='${this.escapeHTML(deal.fallbackImage)}'; } else { this.style.opacity='0'; }` : `this.style.opacity='0';`}">                    ${_a}                  ${_div}                  \x3Cdiv class="hawk-deal-widget-text-cta-container">                    \x3Cdiv class="hawk-deal-widget-text-body-container">                      \x3Cdiv class="hawk-deal-widget-text-body-main">                        \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                          ${deal.isCheckPrice ? `                            \x3Cspan class="hawk-deal-widget-title-product-title">${this.escapeHTML(deal.title)}${_span}                          ` : `                            \x3Cspan class="hawk-deal-widget-title-product-title">${deal.brand ? this.escapeHTML(deal.brand) + ' ' : ''}${this.escapeHTML(deal.productName || deal.title || '')}:${_span}                          `}                        ${_a}                        ${!deal.isCheckPrice && deal.rawMsrp && deal.rawMsrp > deal.rawPrice ? `                          \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                            \x3Cspan class="hawk-deal-widget-title-was-price">was ${currencySym}${escapedMsrp}${_span}                          ${_a}                        ` : ''}                        \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                          \x3Cspan class="hawk-deal-widget-title-retailer-price">                            ${!deal.isCheckPrice ? `                              \x3Cspan class="hawk-deal-widget-title-price">now ${formattedPrice}${_span}                              \x3Cspan class="hawk-deal-widget-title-retailer"> at ${this.escapeHTML(deal.merchant)}${_span}                            ` : `                              \x3Cspan class="hawk-deal-widget-title-price">See price at ${this.escapeHTML(deal.merchant)}${_span}                            `}                          ${_span}                        ${_a}                        ${deal.description ? `\x3Cdiv class="hawk-deal-widget-text-body-description tg-df-card-desc-container" style="margin-bottom: 12px; position: relative;">                          \x3Cp class="tg-df-card-desc-content" style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">${this.escapeHTML(deal.description)}${_p}                          \x3Cbutton type="button" class="tg-df-card-desc-btn" style="display: none; appearance: none; border: none; color: #000000; font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0; background: linear-gradient(to right, transparent, #fff 20%, #fff); padding: 0 0 0 16px;" onclick="                            var c = this.parentNode;                            if (this.dataset.expanded === 'true') {                              var pd = (c.tagName === 'P') ? c : this.previousElementSibling;                              if (c.tagName === 'P') { c.parentNode.appendChild(this); pd = c; }                              pd.style.display = '-webkit-box';                              pd.style.webkitLineClamp = '3';                              this.textContent = 'READ MORE';                              this.style.position = 'absolute';                              this.style.background = 'linear-gradient(to right, transparent, #fff 20%, #fff)';                              this.style.paddingLeft = '16px';                              this.dataset.expanded = 'false';                            } else {                              var pd = this.previousElementSibling;                              pd.style.display = 'inline';                              pd.style.webkitLineClamp = 'unset';                              this.textContent = 'READ LESS';                              this.style.position = 'static';                              this.style.background = 'transparent';                              this.style.paddingLeft = '4px';                              this.dataset.expanded = 'true';                              pd.appendChild(this);                            }                          ">READ MORE${_button}                        \x3C/div>` : ''}                      ${_div}                    ${_div}                    ${deal.authorName ? `                      \x3Cdiv class="tg-df-author-line-mobile" style="padding: 0 0 12px 0; background: transparent;">                         \x3Cdiv style="display: flex; align-items: center; gap: 12px;">                            ${deal.authorImage ? `\x3Cimg src="${this.escapeHTML(deal.authorImage)}" alt="${this.escapeHTML(deal.authorName)}" class="tg-df-author-img" width="40" height="40" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 40px; min-height: 40px;">` : ''}                            \x3Cdiv style="display: flex; flex-direction: column;">                               \x3Cdiv style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;">\x3Cspan style="color: #FF6600;">${this.escapeHTML(deal.merchant)}${_span} deal recommended by:${_div}                               \x3Cdiv style="font-size: 11px; color: var(--tg-df-text); line-height: 1.3;">                                  \x3Cstrong>\x3Ca href="https://www.tomsguide.com/${this.escapeHTML(deal.documentUrl || '').replace(/^\/+/, '')}" target="_blank" rel="noopener nofollow" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">${this.escapeHTML(deal.authorName)}${_a}${_strong}                                  ${deal.authorRole && !['null', 'nul', 'undefined'].includes(String(deal.authorRole).toLowerCase()) ? ` • ${this.escapeHTML(deal.authorRole)}` : ''}                                  ${deal.modifiedDate ? `\x3Cdiv style="color: var(--tg-df-text-muted); margin-top: 2px;">${getTimeAgo(deal.modifiedDate)}${_div}` : ''}                               ${_div}                            ${_div}                         ${_div}                      ${_div}                    ` : ''}                    \x3Cdiv class="hawk-deal-widget-footer">                      \x3Cdiv class="hawk-deal-widget-button-wrapper">                        \x3Cdiv class="hawk-deal-widget-preferred-partner-wrapper">                          \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-deal-button" rel="sponsored noopener" target="_blank" ${dataAttr}>                            \x3Cspan>View Deal${_span}                          ${_a}                        ${_div}                      ${_div}                    ${_div}                  ${_div}                ${_div}              ${_div}              `;            }            htmlOutput += `              \x3Cdiv class="tg-df-card ${isSavingsSquadMode ? 'tg-df-desktop-only' : ''}">                ${this.editorMode ? `\x3Cinput type="checkbox" class="tg-df-deal-checkbox" data-id="${this.escapeHTML(deal.id)}" ${this.selectedDeals.has(deal.id) ? 'checked' : ''}>` : ''}                \x3Cdiv class="tg-df-card-image-box">                  ${discountBadgeHtml}                  \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;">                    \x3Cimg ${deal.image ? `src="${this.escapeHTML(deal.image)}"` : ''} alt="${this.escapeHTML(deal.title)}" class="tg-df-card-image" loading="lazy" onerror="${deal.fallbackImage ? `if(!this.dataset.fb) { this.dataset.fb='1'; this.src='${this.escapeHTML(deal.fallbackImage)}'; } else { this.style.opacity='0'; }` : `this.style.opacity='0';`}">                  ${_a}                  \x3Cdiv class="tg-df-card-merchant-wrapper" style="position: absolute; bottom: 0; right: 0; background: transparent; padding: 8px 12px; z-index: 10;">                     \x3Cspan class="tg-df-card-merchant-pill" style="text-align: right; margin-bottom: 0;" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                  ${_div}                ${_div}                \x3Cdiv class="tg-df-card-body">                  ${starHtml}                  ${badgesHtml}                  \x3Ch3 class="tg-df-card-title tg-df-custom-savings-squad-title" title="${this.escapeHTML(deal.title)}">                    \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" style="text-decoration: none; color: inherit;">                      ${isSavingsSquadMode                         ? (deal.isCheckPrice                             ? (deal.title && deal.title.includes(':')                                 ? `\x3Cstrong>${this.escapeHTML(deal.title.substring(0, deal.title.indexOf(':') + 1))}${_strong}\x3Cspan style="color: #1f69ff; font-weight: normal;">${this.escapeHTML(deal.title.substring(deal.title.indexOf(':') + 1))}${_span}`                                : this.escapeHTML(deal.title)                              )                             : `\x3Cstrong>${deal.brand ? this.escapeHTML(deal.brand) + ' ' : ''}${this.escapeHTML(deal.productName || deal.title || '')}:${_strong} ${deal.rawMsrp && deal.rawMsrp > deal.rawPrice ? `\x3Cspan style="color: #d0021b; text-decoration: line-through; font-weight: normal; margin-right: 4px;">was ${currencySym}${escapedMsrp}${_span} ` : ''}\x3Cspan style="color: #1f69ff; font-weight: normal;">now ${formattedPrice} at ${this.escapeHTML(deal.merchant)}${_span}`                          )                        : this.escapeHTML(deal.title)                      }                    ${_a}                  ${_h3}                  ${deal.description ? `\x3Cdiv class="tg-df-card-desc-container" style="margin-bottom: 12px; position: relative;">                    \x3Cp class="tg-df-card-desc-content" style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">${this.escapeHTML(deal.description)}${_p}                    \x3Cbutton type="button" class="tg-df-card-desc-btn" style="display: none; appearance: none; border: none; color: #000000; font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0; background: linear-gradient(to right, transparent, #fff 20%, #fff); padding: 0 0 0 16px;" onclick="                      var c = this.parentNode;                      if (this.dataset.expanded === 'true') {                        var pd = (c.tagName === 'P') ? c : this.previousElementSibling;                        if (c.tagName === 'P') { c.parentNode.appendChild(this); pd = c; }                        pd.style.display = '-webkit-box';                        pd.style.webkitLineClamp = '3';                        this.textContent = 'READ MORE';                        this.style.position = 'absolute';                        this.style.background = 'linear-gradient(to right, transparent, #fff 20%, #fff)';                        this.style.paddingLeft = '16px';                        this.dataset.expanded = 'false';                      } else {                        var pd = this.previousElementSibling;                        pd.style.display = 'inline';                        pd.style.webkitLineClamp = 'unset';                        this.textContent = 'READ LESS';                        this.style.position = 'static';                        this.style.background = 'transparent';                        this.style.paddingLeft = '4px';                        this.dataset.expanded = 'true';                        pd.appendChild(this);                      }                    ">READ MORE${_button}                  \x3C/div>` : ''}                  \x3Cdiv class="tg-df-card-footer">                    ${deal.authorName ? `                    \x3Cdiv class="tg-df-author-line-desktop" style="padding: 0 0 ${isSavingsSquadMode ? 0 : 12}px 0;">                       \x3Cdiv style="display: flex; align-items: center; gap: 10px;">                          ${deal.authorImage ? `\x3Cimg src="${this.escapeHTML(deal.authorImage)}" alt="${this.escapeHTML(deal.authorName)}" class="tg-df-author-img" width="36" height="36" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;">` : ''}                          \x3Cdiv style="display: flex; flex-direction: column;">                             \x3Cdiv style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;">Recommended by:${_div}                             \x3Cdiv style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;">                                \x3Cstrong>\x3Ca href="https://www.tomsguide.com/${this.escapeHTML(deal.documentUrl || '').replace(/^\/+/, '')}" target="_blank" rel="noopener nofollow" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">${this.escapeHTML(deal.authorName)}${_a}${_strong}                                ${deal.authorRole && !['null', 'nul', 'undefined'].includes(String(deal.authorRole).toLowerCase()) ? ` • ${this.escapeHTML(deal.authorRole)}` : ''}                                ${deal.modifiedDate ? `\x3Cspan style="color: var(--tg-df-text-muted);"> • ${getTimeAgo(deal.modifiedDate)}${_span}` : ''}                             ${_div}                          ${_div}                       ${_div}                    ${_div}                    ` : ''}                    ${priceGroupHtml}                  ${_div}                ${_div}                \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" class="tg-df-card-cta" style="text-decoration: none; border-radius: 0;">${ctaText}${_a}              ${_div}            `;                        return htmlOutput;            } catch (e) {               console.log("Error rendering deal in map for index", index, typeof deal === 'object' ? JSON.stringify(deal) : deal, "MSG:", e.message);               return '';            }          }).join('');                    if (displayDeals.length > this.displayLimit) {            dealsHtml += `              \x3Cdiv style="width: 100%; display: flex; justify-content: center; margin-top: 16px; grid-column: 1 / -1;">                \x3Cbutton type="button" class="tg-df-tag-outline tg-df-load-more" style="padding: 8px 24px; border-radius: 100px; font-weight: 600; font-size: 14px; cursor: pointer;">Load More${_button}              ${_div}            `;          }                    this.grid.innerHTML = dealsHtml;          // Inject JSON-LD          try {            let targetNode = this.hostContainer || document.head;            let jsonLdScript = targetNode.querySelector('#tg-df-json-ld-' + this.widgetId);            if (!jsonLdScript) {                jsonLdScript = document.createElement('script');                jsonLdScript.type = 'application/ld+json';                jsonLdScript.id = 'tg-df-json-ld-' + this.widgetId;                targetNode.appendChild(jsonLdScript);            }            const jsonLdData = {              "@context": "https://schema.org",              "@type": "ItemList",              "itemListElement": displayDeals.slice(0, this.displayLimit).map((deal, index) => {                 let isoCurrency = "USD";                 if (deal.currency === '£') isoCurrency = "GBP";                 else if (deal.currency === '€') isoCurrency = "EUR";                 else if (deal.currency === 'A$') isoCurrency = "AUD";                 else if (deal.currency === 'CA$') isoCurrency = "CAD";                 const areaCode = typeof this.getAreaCode === 'function' ? this.getAreaCode() : 'US';                 const revenueId = typeof generateRevenueId === 'function' ? generateRevenueId(deal.url, deal.title, deal.merchant, null) : '';                 const rewrittenLink = typeof rewriteAffiliateLink === 'function' ? rewriteAffiliateLink(deal.url, areaCode, revenueId) : deal.url;                 return {                   "@type": "ListItem",                   "position": index + 1,                   "item": {                     "@type": "Product",                     "name": deal.title,                     "image": deal.image || "",                     "description": deal.description || "",                     "brand": {                       "@type": "Brand",                       "name": deal.brand || ""                     },                     "offers": {                       "@type": "Offer",                       "priceCurrency": isoCurrency,                       "price": deal.rawPrice || 0,                       "url": rewrittenLink,                       "seller": {                         "@type": "Organization",                         "name": deal.merchant || ""                       }                     }                   }                 };              }).filter(item => item.item.name)            };            jsonLdScript.textContent = JSON.stringify(jsonLdData);          } catch(e) { console.warn("JSON-LD generation failed", e); }          setTimeout(() => {            const contents = this.root.querySelectorAll('.tg-df-card-desc-content');            contents.forEach(p => {              if (p.scrollHeight > p.clientHeight || p.scrollHeight > 60) {                if (p.nextElementSibling) {                  p.nextElementSibling.style.display = 'block';                }              }            });                        // Allow hawklinks.js to discover and rewrite our widget links             // by appending the .article-body class and manually triggering processArticle.            let container = this.root.classList.contains('tg-df-container') ? this.root : this.root.querySelector('.tg-df-container');            if (container && !container.classList.contains('article-body')) {               container.classList.add('article-body');            }            if (this.grid && !this.grid.classList.contains('article-body')) this.grid.classList.add('article-body');            document.dispatchEvent(new CustomEvent('processArticle', { detail: { element: this.root } }));          }, 50);          const loadMoreBtn = this.grid.querySelector('.tg-df-load-more');          if (loadMoreBtn) {            loadMoreBtn.addEventListener('click', () => {              if (typeof trackElementInteraction === 'function') {                trackElementInteraction({ id: 'load-more', name: 'Load more', label: 'Load More Results' });              }              this.displayLimit += this.getRowsLimit();              this.render();            });          }                      this.bindCouponButtons();            this.checkAndUpdateCoupons();          } catch(e) {            console.warn("Widget render error", e);          }        }                async checkAndUpdateCoupons() {          const wrappers = Array.from(this.root.querySelectorAll('.tg-df-coupon-wrapper'));          if (wrappers.length === 0) return;                    const merchants = [...new Set(wrappers.map(w => w.getAttribute('data-merchant')).filter(Boolean))];          if (merchants.length === 0) return;          const couponResultsMap = await this.checkMerchantsCouponsBulk(merchants);                    for (const merchant of merchants) {            const hasCoupons = !!couponResultsMap[merchant];            const merchantWrappers = wrappers.filter(w => w.getAttribute('data-merchant') === merchant);            merchantWrappers.forEach(wrapper => {              const spinner = wrapper.querySelector('.tg-df-coupon-spinner');              const btn = wrapper.querySelector('.tg-df-tag-coupons');                            if (spinner) spinner.style.display = 'none';                            if (hasCoupons && btn) {                btn.style.display = 'inline-flex';              } else if (!hasCoupons) {                wrapper.style.display = 'none';              }            });          }        }        updateFloatingCopyBar() {          if (!this.editorBar || !this.editorSelectedCount) return;          if (this.editorMode && this.selectedDeals.size > 0) {            this.editorBar.style.display = 'flex';            this.editorSelectedCount.innerText = this.selectedDeals.size;          } else {            this.editorBar.style.display = 'none';          }        }        async copySelectedDealsToCMS() {           function htmlToSlate(htmlString) {              if (!htmlString) return [{ type: 'paragraph', children: [{ text: '' }] }];              let doc;              if (typeof window !== 'undefined' && window.DOMParser) {                 doc = new DOMParser().parseFromString(htmlString, 'text/html');              } else {                 doc = document.implementation.createHTMLDocument('');                 doc.body.innerHTML = htmlString;              }                            function parseNode(node, marks = {}) {                  if (node.nodeType === 3) {                      const text = node.textContent;                      if (!text) return null;                      return { text: text, ...marks };                  }                  if (node.nodeType === 1) {                      const tagName = node.tagName.toLowerCase();                      if (tagName === 'br') {                          return { type: 'line-break', children: [{ text: '' }] };                      }                      if (tagName === 'p') {                          let children = Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                          if (children.length === 0) children.push({ text: "" });                          return { type: 'paragraph', children };                      }                      if (tagName === 'strong' || tagName === 'b') {                          const newMarks = { ...marks, bold: true };                          return Array.from(node.childNodes).map(child => parseNode(child, newMarks)).flat().filter(Boolean);                      }                      if (tagName === 'em' || tagName === 'i') {                          const newMarks = { ...marks, italic: true };                          return Array.from(node.childNodes).map(child => parseNode(child, newMarks)).flat().filter(Boolean);                      }                      if (tagName === 'a') {                          const href = node.getAttribute('href') || '';                          let children = Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                          if (children.length === 0) children.push({ text: "" });                          return {                              type: 'link',                              url: href,                              isNoFollow: (node.getAttribute('rel') || '').includes('nofollow'),                              isSponsored: (node.getAttribute('rel') || '').includes('sponsored'),                              isOpenNewTab: node.getAttribute('target') === '_blank',                              isPreventDataRewrite: false,                              children: children                          };                      }                      return Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                  }                  return null;              }                            let blocksArray = [];              let currentParagraphChildren = [];              function flushParagraph() {                  if (currentParagraphChildren.length > 0) {                      blocksArray.push({ type: 'paragraph', children: currentParagraphChildren });                      currentParagraphChildren = [];                  }              }              Array.from(doc.body.childNodes).forEach(node => {                  const parsed = parseNode(node, {});                  const parsedItems = Array.isArray(parsed) ? parsed : (parsed ? [parsed] : []);                  parsedItems.forEach(item => {                      if (item.type === 'paragraph') {                          flushParagraph();                          blocksArray.push(item);                      } else {                          currentParagraphChildren.push(item);                      }                  });              });              flushParagraph();              if (blocksArray.length === 0) {                  blocksArray = [{ type: 'paragraph', children: [{ text: '' }] }];              }              return blocksArray;           }           const blocks = [];                      this.editorCopyBtn.innerHTML = '\x3Cspan class="tg-df-coupon-spinner" style="display:inline-block; margin-right:8px; border-top-color:#fff;">' + '<' + '/span> Copying...';           for (const deal of Array.from(this.selectedDeals.values())) {              const url = deal.url;              const merchant = deal.merchant;              const title = deal.title;              const image = deal.image;              const currentPrice = deal.currency + deal.rawPrice;              const wasPrice = deal.hasWasPrice && deal.rawMsrp > deal.rawPrice ? deal.currency + deal.rawMsrp : '';                            let couponsChildren = [];              try {                  const area = this.getAreaCode();                  const apiUrl = new URL('https://search-api.fie.future.net.uk/widget.php');                  apiUrl.searchParams.append('model_name', 'Everything');                  apiUrl.searchParams.append('language', 'en-GB');                  apiUrl.searchParams.append('area', area);                  apiUrl.searchParams.append('combine_product_types', '1');                  apiUrl.searchParams.append('filter_merchant_name', merchant);                  apiUrl.searchParams.append('all_filters', 'false');                  apiUrl.searchParams.append('exclude_unlabelled', 'false');                  apiUrl.searchParams.append('include_specs', 'false');                  apiUrl.searchParams.append('sort', 'voucher');                  apiUrl.searchParams.append('distinct_merchants', 'natural');                  apiUrl.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');                  apiUrl.searchParams.append('rows', '3');                  apiUrl.searchParams.append('origin', 'widgets-clientside');                                    let res; try { res = await fetch(apiUrl.toString()); } catch (e) { return; }                  if (res.ok) {                      const data = await res.json();                      let offers = [];                      if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {                        offers = data.widget.data.offers;                      } else if (data && data.data && Array.isArray(data.data.offers)) {                        offers = data.data.offers;                      }                                            if (offers.length > 0) {                          couponsChildren.push({ text: "Also check out these coupons: ", bold: true });                          offers.slice(0, 3).forEach((offer, idx) => {                              const actualOffer = offer.offer || offer;                              const offerName = actualOffer.name || actualOffer.title || offer.model_name || offer.title || offer.name || 'Coupon';                              const linkUrl = actualOffer.link || actualOffer.url || actualOffer.offer_link || '#';                              couponsChildren.push({ type: "line-break", children: [{ text: "" }] });                              couponsChildren.push({ text: "🎟️ " });                              couponsChildren.push({                                  type: "link",                                  url: linkUrl,                                  isNoFollow: true,                                  isSponsored: false,                                  isOpenNewTab: true,                                  isPreventDataRewrite: false,                                  children: [{ text: offerName, bold: true }]                              });                          });                      }                  }              } catch (err) {                  console.warn('Failed to fetch coupons for', merchant, err);              }              let descriptionValue = [];              if (deal.text) {                 descriptionValue = htmlToSlate(deal.text);              } else {                 const dealDescriptions = [                   `Don't miss out on this fantastic deal for the ${title}. It is currently available at ${merchant} for a highly competitive price.`,                   `We've spotted an excellent price drop on the ${title}. Grab it now at ${merchant} before it's gone.`,                   `The ${title} is currently seeing a generous discount over at ${merchant}. This is a perfect time to buy if you've been holding out.`,                   `If you're in the market for the ${title}, ${merchant} has just the deal for you.`,                   `Score the ${title} for less at ${merchant} right now. This is a rare chance to save big.`,                   `Upgrade your setup with the ${title}, now available at a stellar price via ${merchant}.`                 ];                 const randomDescription = dealDescriptions[Math.floor(Math.random() * dealDescriptions.length)];                 descriptionValue = [                    { type: "paragraph", children: [{ text: randomDescription }] }                 ];              }                            if (couponsChildren.length > 0) {                 let lastBlock = descriptionValue[descriptionValue.length - 1];                 if (lastBlock && lastBlock.type === 'paragraph') {                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children.push({ text: "Also check out these coupons: ", bold: true });                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children = lastBlock.children.concat(couponsChildren);                 } else {                     descriptionValue.push({                         type: "paragraph",                         children: [                             { type: "line-break", children: [{ text: "" }] },                             { type: "line-break", children: [{ text: "" }] },                             { text: "Also check out these coupons: ", bold: true },                             { type: "line-break", children: [{ text: "" }] },                             ...couponsChildren                         ]                     });                 }              }              function normalizeCurrencyToISO(symbol) {                const map = { '£': 'GBP', '$': 'USD', 'A$': 'AUD', 'CA$': 'CAD', '€': 'EUR' };                return map[symbol] || symbol;              }              const isoCurrency = normalizeCurrencyToISO(deal.currency);              blocks.push({                 id: (window.crypto && window.crypto.randomUUID) ? window.crypto.randomUUID() : 'cms-' + Date.now() + Math.random(),                 blockTypeName: "deal",                 excludeFrom: [],                 collapsible: false,                 props: {                    description: {                       value: descriptionValue,                       touched: false,                       validationMessage: ""                    },                    image: {                       value: {                          credit: [{ type: "paragraph", children: [{ text: merchant }] }],                          dateCreated: Date.now(),                          dateModified: Date.now(),                          distribution: [],                          fileSize: 0,                          height: 1000,                          id: deal.id,                          imageRights: "",                          src: image,                          name: title + ".jpg",                          tags: [],                          width: 1000                       },                       touched: false,                       validationMessage: ""                    },                    showDealButton: { value: true, touched: false, validationMessage: "" },                    isPreferredPartner: { value: false, touched: false, validationMessage: "" },                    linkHref: { value: url, touched: false, validationMessage: "" },                    linkLabel: { value: "", touched: false, validationMessage: "" },                    linkIsNoFollow: { value: true, touched: false, validationMessage: "" },                    linkIsSponsored: { value: false, touched: false, validationMessage: "" },                    linkIsOpenNewWindow: { value: true, touched: false, validationMessage: "" },                    customPromoFlags: { value: [], touched: false, validationMessage: "" },                    showStarDeal: { value: false, touched: false, validationMessage: "" },                    savingType: { value: "none", touched: false, validationMessage: "" },                    starDealPromoFlag: { value: "", touched: false, validationMessage: "" },                    showEditorsChoice: { value: false, touched: false, validationMessage: "" },                    editorsChoiceTitle: { value: "", touched: false, validationMessage: "" },                    hawkPriceCurrency: { value: { value: isoCurrency, label: isoCurrency }, touched: false, validationMessage: "" },                    hawkPrice: { value: deal.hasWasPrice ? String(deal.rawMsrp) : String(deal.rawPrice), touched: false, validationMessage: "" },                    hawkSalePrice: { value: String(deal.rawPrice), touched: false, validationMessage: "" },                    lastCheckedPriceDate: { value: "", touched: false, validationMessage: "" },                    hawkModel: { touched: false, validationMessage: "" },                    productId: { value: "", touched: false, validationMessage: "" },                    voucherId: { value: "", touched: false, validationMessage: "" },                    brand: { value: deal.brand || merchant, touched: false, validationMessage: "" },                    productName: { value: title, touched: false, validationMessage: "" },                    label: { value: "", touched: false, validationMessage: "" },                    retailer: { value: merchant, touched: false, validationMessage: "" },                    priceCheckError: false                 },                 failedFetchError: ""              });           }           const payload = {              type: "articleBuilderPages",              data: blocks           };           const jsonStr = JSON.stringify(payload);                      if (navigator.clipboard && navigator.clipboard.writeText) {              navigator.clipboard.writeText(jsonStr).then(() => {                 this.editorCopyBtn.innerHTML = 'Copied!';                 setTimeout(() => {                    this.editorCopyBtn.innerHTML = '\x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2"><' + '/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"><' + '/path><' + '/svg> Copy to CMS';                 }, 2000);              }).catch(err => {                 console.warn('Failed to copy text: ', err);                 alert('Failed to copy deals to clipboard. See console.');              });           } else {              // Fallback              const textArea = document.createElement("textarea");              textArea.value = jsonStr;              document.body.appendChild(textArea);              textArea.focus();              textArea.select();              try {                 document.execCommand('copy');                 this.editorCopyBtn.innerHTML = 'Copied!';                 setTimeout(() => {                    this.editorCopyBtn.innerHTML = '\x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2"><' + '/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"><' + '/path><' + '/svg> Copy to CMS';                 }, 2000);              } catch (err) {                 console.warn('Fallback: Oops, unable to copy', err);                 alert('Fallback: Failed to copy deals to clipboard.');              }              document.body.removeChild(textArea);           }        }      }      // Initialize the Widget      if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', () => new DealsFinderWidget({ rootId: 'signal-deals-finder-root', rootNode: shadowRoot, hostContainer: hostContainer }));      } else {        new DealsFinderWidget({ rootId: 'signal-deals-finder-root', rootNode: shadowRoot, hostContainer: hostContainer });      }    })();  </script></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-vs-iphone-17-pro-max-comparison</link>
                                                                            <description>
                            <![CDATA[ We compare the iPhone 18 Pro Max and iPhone 17 Pro Max to see what's changed and whether it's worth upgrading. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">zgT2svaEM7uHWjcFHHzEqA</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/5CkCByKfQGQQKGTtSRNT96-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 12 Sep 2026 10:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[iPhones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sanuj Bhatia ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/8p5BvMVA7cnu5AWkxnTjRC.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/5CkCByKfQGQQKGTtSRNT96-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[iPhone 18 Pro Max vs. iPhone 17 Pro Max]]></media:description>                                                            <media:text><![CDATA[iPhone 18 Pro Max vs. iPhone 17 Pro Max]]></media:text>
                                <media:title type="plain"><![CDATA[iPhone 18 Pro Max vs. iPhone 17 Pro Max]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/5CkCByKfQGQQKGTtSRNT96-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Alongside <a href="https://www.tomsguide.com/phones/iphones/iphone-duo-is-official-price-release-date-specs-and-everything-you-need-to-know">Apple's first foldable iPhone</a>, a new generation of Pro iPhones has arrived, which means it's time to compare the <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-hands-on-sneaky-awesome-upgrades-but-worth-the-price-hike">iPhone 18 Pro Max</a> vs. iPhone 17 Pro Max. Other than a smaller Dynamic Island, Apple hasn't changed the overall design much from last year's model, but there are several upgrades on the new iPhone 18 Pro Max, including a variable aperture camera, longer battery life and the new A20 Pro chipset. </p><p>This guide breaks down the key differences between the iPhone 18 Pro Max and iPhone 17 Pro Max, so you can make a more informed decision before placing your pre-order or upgrading to the newer model. So, whether you already own the iPhone 17 Pro Max or are choosing between the two, we'll help you figure out which one makes more sense.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/BZi0R_thP9M" allowfullscreen></iframe></div></div><h3 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-17-pro-max-specs"><span>iPhone 18 Pro Max vs. iPhone 17 Pro Max: Specs</span></h3><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>iPhone 18 Pro Max</strong></p></td><td  ><p><strong>iPhone 17 Pro Max</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Starting price</strong></p></td><td  ><p>$1,299</p></td><td  ><p>$1,199</p></td></tr><tr><td class="firstcol " ><p><strong>Display</strong></p></td><td  ><p>6.9-inch Super Retina XDR, ProMotion, 3,000 nits peak brightness</p></td><td  ><p>6.9-inch Super Retina XDR, ProMotion, 3,000 nits peak brightness</p></td></tr><tr><td class="firstcol " ><p><strong>Refresh rate</strong></p></td><td  ><p>1 - 120Hz</p></td><td  ><p>1 - 120Hz</p></td></tr><tr><td class="firstcol " ><p><strong>Rear cameras</strong></p></td><td  ><p>48MP main with variable aperture, 48MP ultra-wide, 48MP telephoto with 8x optical zoom</p></td><td  ><p>48MP main (fixed f/1.78 aperture), 48MP ultra-wide, 48MP telephoto with 8x optical zoom</p></td></tr><tr><td class="firstcol " ><p><strong>Front cameras</strong>    </p></td><td  ><p>18MP Center Stage selfie (f/1.9)    </p></td><td  ><p>18MP Center Stage selfie (f/1.9)    </p></td></tr><tr><td class="firstcol " ><p><strong>Chipset</strong>    </p></td><td  ><p>A20 Pro</p></td><td  ><p>A19 Pro</p></td></tr><tr><td class="firstcol " ><p><strong>RAM</strong>    </p></td><td  ><p>12GB    </p></td><td  ><p>12GB    </p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong>    </p></td><td  ><p>256GB, 512GB, 1TB, 2TB</p></td><td  ><p>256GB, 512GB, 1TB</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life (claimed by Apple)</strong>    </p></td><td  ><p>43 hours video playback</p></td><td  ><p>37 hours video playback</p></td></tr><tr><td class="firstcol " ><p><strong>Charging</strong>    </p></td><td  ><p>60W wired, 25W MagSafe wireless    </p></td><td  ><p>40W wired, 25W MagSafe wireless    </p></td></tr><tr><td class="firstcol " ><p><strong>Operating system</strong>    </p></td><td  ><p>iOS 27</p></td><td  ><p>iOS 26, upgradable to iOS 27</p></td></tr><tr><td class="firstcol " ><p><strong>Water/dust resistance</strong>    </p></td><td  ><p>IP68    </p></td><td  ><p>IP68    </p></td></tr><tr><td class="firstcol " ><p><strong>Size</strong>    </p></td><td  ><p>6.43 x 3.07 x 0.35 inches (163.4 x 78 x 8.75 mm)    </p></td><td  ><p>6.43 x 3.07 x 0.35 inches (163.4 x 78 x 8.8 mm)    </p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong>    </p></td><td  ><p>8.78 ounces (249 grams)    </p></td><td  ><p>8.22 ounces (233 grams)    </p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong>    </p></td><td  ><p>Black, Silver, Glacier, Burgundy    </p></td><td  ><p>Silver, Cosmic Orange, Deep Blue    </p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-17-pro-max-price-availability-and-colors"><span>iPhone 18 Pro Max vs. iPhone 17 Pro Max: Price, availability and colors</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="TUHKFKjf3sxjBNZKbzJu8o" name="iPhone 18 Pro colors" alt="iPhone 18 Pro Max" src="https://cdn.mos.cms.futurecdn.net/TUHKFKjf3sxjBNZKbzJu8o.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Amid the <a href="https://www.tomsguide.com/computing/the-ram-crisis-is-so-much-bigger-than-pcs-heres-the-rest-of-the-products-caught-in-the-crossfire">ongoing RAM crisis</a>, Apple has increased the prices of both the iPhone 18 Pro and iPhone 18 Pro Max by $100. This means the iPhone 18 Pro Max now starts at $1,299, compared to the iPhone 17 Pro Max's $1,199 launch price. Unlike the last time Apple raised the Pro Max's price, there's no base storage increase to soften the blow either.</p><p>The iPhone 18 Pro Max comes in four color options: Silver, Glacier, Burgundy, and Black. Notably, Black is making a return after being absent from the iPhone 17 Pro lineup. In comparison, the iPhone 17 Pro Max launched in just three colors: Silver, Deep Blue, and Cosmic Orange. </p><p>The iPhone 18 Pro Max will be available for pre-order starting September 12, with general availability beginning September 18. Check out our <a href="https://www.tomsguide.com/phones/iphones/avoid-that-usd100-price-hike-how-to-save-up-to-usd885-on-your-iphone-18-pro-preorder">iPhone 18 Pro pre-order deals page</a> for the best offers available. </p><p>The iPhone 17 Pro Max is no longer officially available from Apple, but you can still find it through retailers like Best Buy and several carriers. With the new model now here, you may also be able to grab it at a decent discount. Check out our <a href="https://www.tomsguide.com/phones/iphones/iphone-17-pre-order-deals-heres-how-to-get-apples-new-phones-for-free">iPhone 17 deals page</a> for the latest offers.</p><div data-widget-type="productname" data-model-name="Apple iPhone 18 Pro Max"></div><h3 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-17-pro-max-design-and-display"><span>iPhone 18 Pro Max vs. iPhone 17 Pro Max: Design and display</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="XEnBSEb3MMRqFRw7NPesBo" name="iPhone 18 Pro Max front" alt="iPhone 18 Pro Max" src="https://cdn.mos.cms.futurecdn.net/XEnBSEb3MMRqFRw7NPesBo.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Apple refreshed the iPhone Pro lineup's design just last year with the iPhone 17 Pro, so there aren't many major changes this time around. Looks-wise, you're getting the same horizontal camera plateau on the back, although the rear glass is now slightly more color-matched to the rest of the device. </p><p>In terms of dimensions, the iPhone 18 Pro Max is exactly the same size as the <a href="https://www.tomsguide.com/phones/iphones/iphone-17-pro-max-review">iPhone 17 Pro Max</a>, but there is a noticeable difference in weight. The iPhone 18 Pro Max weighs nearly 249 grams, compared to 231 grams for the iPhone 17 Pro Max. In terms of durability, both phones are also IP68-rated and feature Ceramic Shield 2 on the front and Ceramic Shield protection on the back.</p><p>As for the display, the iPhone 18 Pro Max features the same 6.9-inch Super Retina XDR OLED panel with support for up to 120Hz refresh rate. Peak brightness also remains unchanged at 3,000 nits. </p><p>The main difference is the smaller Dynamic Island on the <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-hands-on-sneaky-awesome-upgrades-but-worth-the-price-hike">iPhone 18 Pro Max</a>. Thanks to its reduced size, the new model can now display up to three Live Activities at once, compared to two on the iPhone 17 Pro Max.</p><h3 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-17-pro-max-cameras"><span>iPhone 18 Pro Max vs. iPhone 17 Pro Max: Cameras</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PsAoKzRkrmCg46aQ53ywDo" name="iPhone 18 Pro Max silver" alt="iPhone 18 Pro Max" src="https://cdn.mos.cms.futurecdn.net/PsAoKzRkrmCg46aQ53ywDo.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Cameras are where Apple has made some of the bigger changes with the iPhone 18 Pro Max. On paper, you're still getting the same triple 48MP camera setup, consisting of a 48MP main camera, 48MP ultrawide, and 48MP telephoto camera with up to 8x optical zoom. But the big upgrade this year is the addition of a <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-i-asked-3-pro-photographers-what-they-really-think-of-a-variable-aperture-camera">physical variable aperture</a> on the main camera. </p><p>This allows the aperture to physically open and close to control how much light reaches the sensor, giving the camera more flexibility depending on the scene you're shooting. It should make a noticeable difference in both photos and videos, although we'll have to test it properly to see how much of an improvement it actually makes. </p><p>Apple has also added new Pro Controls, allowing users to manually adjust settings like ISO, shutter speed, white balance, exposure, and more directly in the Camera app</p><h3 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-17-pro-max-performance"><span>iPhone 18 Pro Max vs. iPhone 17 Pro Max: Performance</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="9HfU5SFgWwViZXmYK8b8Lb" name="a20-pro-chip-apple" alt="Apple's A20 Pro chipset" src="https://cdn.mos.cms.futurecdn.net/9HfU5SFgWwViZXmYK8b8Lb.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Apple)</span></figcaption></figure><p>The iPhone 18 Pro Max features Apple's new <a href="https://www.tomsguide.com/phones/iphones/apple-a20-pro-chip-why-its-such-a-big-deal-for-the-iphone-ultra-and-iphone-18-pro-max">A20 Pro chipset</a>, which is the company's first mobile chip built on a 2nm process. Apple has led the smartphone performance race for quite a while, but compared to the A19 Pro inside the iPhone 17 Pro Max, there are even more improvements this year in both performance and power efficiency.</p><p>You still get a six-core CPU but there's now a 7-core GPU that promises up to 40% faster graphics performance. Plus, the Neural Engine now features up to 32 cores, which should provide a major boost to AI performance on the iPhone 18 Pro Max. Memory bandwidth has also improved, with Apple claiming the A20 Pro offers 50% more bandwidth than the A19 Pro.</p><p>The iPhone 18 Pro Max also features a second-generation vapor chamber, which should help improve thermal performance and allow the phone to sustain peak performance for longer.</p><h3 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-17-pro-max-battery-and-charging"><span>iPhone 18 Pro Max vs. iPhone 17 Pro Max: Battery and charging</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="obCHerDGAN9nniEpAvNLwi" name="iPhone 17 Pro and Max-15" alt="iPhone 17 Pro and Pro Max" src="https://cdn.mos.cms.futurecdn.net/obCHerDGAN9nniEpAvNLwi.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Apple never discloses the official battery capacities of its iPhones, but the company is claiming some big battery life improvements with the iPhone 18 Pro Max. Apple says the iPhone 18 Pro Max can now last up to 43 hours of continuous video playback on a single charge, compared to 37 hours on the iPhone 17 Pro Max. </p><p>We'll have to test that ourselves, but considering we were already <a href="https://www.tomsguide.com/phones/iphones/iphone-17-pro-max-battery-life-test-results-are-in-this-blew-us-away">impressed by the iPhone 17 Pro Max's battery life</a>, we're expecting the iPhone 18 Pro Max to be an absolute battery champion. </p><p>Charging speeds have increased as well. The iPhone 17 Pro Max supported up to 40W wired charging, delivering up to a 50% charge in around 20 minutes. The iPhone 18 Pro Max increases that to 60W, with Apple claiming you can now reach 50% in just 15 minutes. </p><p>Wireless charging, however, remains the same on both phones, with up to 25W MagSafe charging support.</p><h3 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-17-pro-max-software-and-special-features"><span>iPhone 18 Pro Max vs. iPhone 17 Pro Max: Software and special features</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="WYLBXdGsKaogqJjZ7k8ZLm" name="iPhone iOS 27 LIST_alt5" alt="iOS 27 icon shown on an iPhone screen" src="https://cdn.mos.cms.futurecdn.net/WYLBXdGsKaogqJjZ7k8ZLm.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide/Apple/Shutterstock)</span></figcaption></figure><p>The iPhone 18 Pro Max will launch with <a href="https://www.tomsguide.com/phones/iphones/ios-27-11-biggest-features-coming-to-your-iphone">iOS 27</a> out of the box. That said, the same software update will also be available for the iPhone 17 Pro Max around the time the new model goes on sale, which means there isn't much separating the two phones on the software front.</p><p>Both phones will get the new Siri AI and Apple Intelligence features, so you aren't really missing out by sticking with the iPhone 17 Pro Max. However, with the improved Neural Engine, better thermal performance, and longer battery life, the iPhone 18 Pro Max should handle some of those AI and more demanding features better in the long run.</p><p>And since the iPhone 18 Pro Max is a year newer, you can also expect it to receive software updates for slightly longer than the iPhone 17 Pro Max.</p><h3 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-17-pro-max-outlook"><span>iPhone 18 Pro Max vs. iPhone 17 Pro Max: Outlook</span></h3><p>The differences between the <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-vs-iphone-18-pro-which-could-be-the-superior-flagship">iPhone 18 Pro Max</a> and iPhone 17 Pro Max may not look huge from the outside, but Apple has made some meaningful upgrades underneath. The improved battery life, faster charging, A20 Pro chipset, and new variable aperture camera make the iPhone 18 Pro Max a much bigger upgrade than the familiar design might suggest. </p><p>Of course, we'll have to properly test both models side by side before giving our final verdict. But based on what we've seen so far, the iPhone 18 Pro Max looks set to be an absolute performance and battery champion, even compared to the already impressive iPhone 17 Pro Max.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eJ9grX"></div>                            </div>                            <script src="https://kwizly.com/embed/eJ9grX.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/iphones/iphone-duo-hands-on-apple-nailed-it-and-just-put-everyone-else-on-notice">iPhone Duo hands-on: Apple nailed it — and just put everyone else on notice</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-4">I just went hands on with the Apple Watch Ultra 4: Better battery, improved heart health tracking, and new holistic features galore</a></li><li><a href="https://www.tomsguide.com/phones/iphones/keep-your-new-iphone-18-pro-or-iphone-18-pro-max-safe-from-day-one-the-cases-to-buy-right-now">Keep your new iPhone 18 Pro or iPhone 18 Pro Max safe from day one: The cases to buy right now</a></li></ul><div class="vizualizer-embed"><div class="tg-df-widget-host" data-widget-config="?search=iPhones&rows=4&view_mode=savings_squad&widget_title=Top+Deals+Handpicked+by+Our+Editors&widget_subtitle=Discover+the+best+discounts+currently+available%2C+curated+daily+by+the+Tom%27s+Guide+Savings+Squad.&bg_color=transparent" data-vizualizer-embed="true"></div>    <script>    /**     * Tom's Guide Deals Finder - Vanilla JS Encapsulated Engine     */    (function() {      // --- Freyr Analytics Adapter ---      function initAnalytics() {        window.dataLayer = window.dataLayer || [];        window.googletag = window.googletag || {};        window.googletag.cmd = window.googletag.cmd || [];        window.hawk = window.hawk || { analytics: { freyr: [] } };        window.hawk.analytics = window.hawk.analytics || { freyr: [] };        window.hawk.analytics.freyr = window.hawk.analytics.freyr || [];        window.freyr = window.freyr || { cmd: [] };        const scriptSrc = 'https://freyr.futurecdn.net/freyr.js';        const hostname = typeof window !== 'undefined' ? window.location.hostname : '';        const isTestEnv = typeof window.navigator !== 'undefined' && (window.navigator.webdriver || window.navigator.userAgent.includes('Headless'));        const shouldSendRealAnalytics = !isTestEnv && hostname && hostname !== 'localhost' && hostname !== '127.0.0.1' && !hostname.includes('run.app');        if (shouldSendRealAnalytics && !document.querySelector(`script[src="${scriptSrc}"]`)) {          const script = document.createElement('script');          script.src = scriptSrc;          script.async = true;          document.head.appendChild(script);        }      }      function storeEventForDebug(name, data) {        if (!window.hawk || !window.hawk.analytics || !window.hawk.analytics.freyr) return;        window.hawk.analytics.freyr.push({ name, data });        try {          if (typeof window !== 'undefined' && window.localStorage) {            window.localStorage.setItem("hawk", JSON.stringify(window.hawk));          }        } catch (e) {          // Ignore storage issues        }        try {          window.dispatchEvent(new CustomEvent("hawk-analytics-update"));        } catch (e) {}      }      function sendToFreyr(eventName, data) {        if (typeof window === 'undefined') return;        window.freyr = window.freyr || { cmd: [] };        window.freyr.cmd.push(() => {          if (window.freyr && window.freyr.pushAndUpdate) {            window.freyr.pushAndUpdate(eventName, data);          }        });      }      function sendEvent(event, skip = false) {        try {          storeEventForDebug(event.name, event.data);          if (!skip) {            sendToFreyr(event.name, event.data);          }        } catch (e) {          // Ensure tracking errors don't surface to the user        }      }      function getCookie(name) {        try {          const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));          return match ? match[2] : null;        } catch (e) {          return null;        }      }      function getTimeAgo(dateString) {        if (!dateString) return '';        const date = new Date(dateString);        const now = new Date();        const diffInSeconds = Math.floor((now.getTime() - date.getTime()) / 1000);        if (diffInSeconds < 60) return 'Just now';        const diffInMinutes = Math.floor(diffInSeconds / 60);        if (diffInMinutes < 60) return `${diffInMinutes} min${diffInMinutes > 1 ? 's' : ''} ago`;        const diffInHours = Math.floor(diffInMinutes / 60);        if (diffInHours < 24) return `${diffInHours} hr${diffInHours > 1 ? 's' : ''} ago`;        const diffInDays = Math.floor(diffInHours / 24);        if (diffInDays < 30) return `${diffInDays} day${diffInDays > 1 ? 's' : ''} ago`;        const diffInMonths = Math.floor(diffInDays / 30);        if (diffInMonths < 12) return `${diffInMonths} mo${diffInMonths > 1 ? 's' : ''} ago`;        const diffInYears = Math.floor(diffInDays / 365);        return `${diffInYears} yr${diffInYears > 1 ? 's' : ''} ago`;      }      function normalizeCurrency(symbol) {        const map = {          '£': 'GBP',          '$': 'USD',          'A$': 'AUD',          'CA$': 'CAD',          '€': 'EUR'        };        return map[symbol] || symbol;      }      function trackElementInteraction(props) {        sendEvent({          name: 'elementInteraction',          data: {            element: {              action: props.action || "click",              id: props.id || undefined,              class: props.class || undefined,              name: props.name || undefined,              text: props.text || undefined,              label: props.label || undefined,              container: props.container || undefined,              url: props.url || undefined,              articleId: props.articleId || undefined            }          }        });      }      function generateRevenueId(url, productName, merchantName, modelId) {        const str = `${window.location.href}|${productName}|${merchantName}|${modelId || ''}|${new Date().toDateString()}|tomsguide`;        let hash = 0;        for (let i = 0; i < str.length; i++) {          const char = str.charCodeAt(i);          hash = ((hash << 5) - hash) + char;          hash = hash & hash;        }        let numericStr = Math.abs(hash).toString();        while (numericStr.length < 19) {          numericStr += Math.floor(Math.random() * 10).toString();        }        return numericStr.substring(0, 19);      }      function rewriteAffiliateLink(url, territory, revenueId) {        if (!url) return url;        const t = (territory || 'gb').toLowerCase();        return url.replace(/hawk-custom-tracking/g, `tomsguide-${t}-${revenueId}`);      }      function trackHawkEvent(params) {        const { clickType, widgetId, productCategoryName, product, productsArray, zeroBasedProductIndexOrNull, totalDealsOrProducts, areaClicked, merchant, revenueId, isoCurrencyCode, queryName, widgetTypeName } = params;        const data = {          event: "hawkEvent",          category: "Affiliates",          affiliate: {            action: {              type: clickType,              id: widgetId,              event: clickType === "appeared" ? "viewed" : "Click from",              timestamp: Date.now()            },            component: {              flag: "Editor",              product: productCategoryName || "deals",              category: `Signal Deal Finder ${widgetTypeName || "Carousel"} widget`,              type: clickType === "appeared" ? "review" : "signal product",              label: queryName || (product ? (product.name || "") : ""),              index: zeroBasedProductIndexOrNull === null || zeroBasedProductIndexOrNull === undefined ? -1 : zeroBasedProductIndexOrNull,              linkCount: totalDealsOrProducts || 0,              blockLayout: "",              areaClicked: areaClicked || ""            }          },          products: productsArray || (product && merchant ? [            {              product: {                primary: {                  id: product.id || product.matchId || null,                  name: product.name,                  type: "deal",                  price: product.price,                  previousPrice: product.previousPrice || null,                  currency: isoCurrencyCode || "USD",                  preorder: false,                  labels: [],                  link: product.link,                  originalLink: product.originalLink || null,                  revenueId: revenueId || null,                  startTime: null,                  endTime: null,                  voucherCode: null,                  voucherAudience: null,                  voucherPercentageSaving: null,                  voucherMoneySaving: null,                  voucherType: null,                  offerExclusive: false,                  offerScope: null,                  globalId: product.globalId || null,                  inStock: product.inStock !== false,                  contractProvider: null,                  contractMinutes: null,                  contractTexts: null,                  contractData: null,                  contractLength: null,                  contractMonthlyPrice: null,                  contractCurrency: isoCurrencyCode || "USD"                }              },              merchant: {                id: merchant.id || null,                name: merchant.name,                url: merchant.url || null,                network: merchant.network || null              },              model: {                id: product.modelId || null,                brand: product.brand || null,                name: product.name,                parent: product.parent || null              }            }          ] : []),          reviews: [],          _clear: true,          "gtm.uniqueEventId": Date.now() % 10000        };        sendEvent({ name: 'hawkEvent', data });      }      function trackDealClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Product Card" });      }      function trackViewSimilarClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Product Card View Similar" });      }      function trackPriceComparisonClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Price Comparison" });      }      function trackReviewClick(params) {        trackHawkEvent({ ...params, clickType: "review", areaClicked: "Signal Product Card Review Link" });      }      function trackShare(params) {        trackHawkEvent({ ...params, clickType: "share", areaClicked: "Signal Product Card Share" });      }      function trackDealsAppeared(widgetId, deals, revenueId, currency, queryName, widgetTypeName) {         if (!deals || deals.length === 0) return;                  const productsArray = deals.slice(0, 50).map((deal) => {            let voucherPct = null;            let rawPrice = parseFloat(deal.rawPrice) || parseFloat(deal.price) || null;            let rawMsrp = parseFloat(deal.rawMsrp) || parseFloat(deal.msrp) || null;            if (rawMsrp > rawPrice && rawPrice > 0) {              voucherPct = Math.round((1 - (rawPrice / rawMsrp)) * 100);            }            let numId = null;            if (deal.externalProductId && !isNaN(parseInt(deal.externalProductId))) {              numId = parseInt(deal.externalProductId);            } else if (deal.id && !isNaN(parseInt(deal.id))) {              numId = parseInt(deal.id);            } else {              numId = deal.matchId || null;            }            return {              product: {                primary: {                  id: numId,                  name: deal.productName || deal.title || "",                  type: "deal",                  price: rawPrice,                  previousPrice: rawMsrp,                  currency: currency || 'USD',                  preorder: false,                  labels: deal.modelBrand || deal.brand ? [                     { type: "brand", value: deal.modelBrand || deal.brand }                  ] : [],                  link: deal.url,                  originalLink: deal.url,                  revenueId: revenueId || null,                  startTime: null,                  endTime: null,                  voucherCode: null,                  voucherAudience: null,                  voucherPercentageSaving: voucherPct,                  voucherMoneySaving: null,                  voucherType: null,                  offerExclusive: false,                  offerScope: null,                  globalId: deal.productKey || null,                  inStock: deal.inStock !== false,                  contractProvider: null,                  contractMinutes: null,                  contractTexts: null,                  contractData: null,                  contractLength: null,                  contractMonthlyPrice: null,                  contractCurrency: currency || 'USD'                }              },              merchant: {                id: deal.merchantId ? parseInt(deal.merchantId) : null,                name: deal.merchant || "Retailer",                url: deal.merchantUrl || null,                network: deal.merchantNetwork || null              },              model: {                id: deal.modelId ? parseInt(deal.modelId) : null,                brand: deal.modelBrand || deal.brand || null,                name: deal.productName || deal.title || "",                parent: deal.modelParent || null              }            };         });                  trackHawkEvent({             clickType: "appeared",             widgetId: widgetId,             productCategoryName: "deals",             zeroBasedProductIndexOrNull: null,             totalDealsOrProducts: deals.length,             productsArray: productsArray,             queryName: queryName,             widgetTypeName: widgetTypeName         });      }      // 1. Setup Shadow DOM Sandbox      const currentScript = document.currentScript;      let hostContainer = null;      let template = null;            if (currentScript) {        let prev = currentScript.previousElementSibling;        while (prev) {          if (prev.tagName === 'TEMPLATE' && prev.classList.contains('tg-df-widget-template')) {            template = prev;          } else if (prev.tagName === 'DIV' && prev.classList.contains('tg-df-widget-host') && !prev.hasAttribute('data-initialized')) {            hostContainer = prev;            break;          }          prev = prev.previousElementSibling;        }      }            // Fallbacks in case script is deferred      if (!hostContainer) {        const hosts = document.querySelectorAll('.tg-df-widget-host:not([data-initialized])');        if (hosts.length > 0) hostContainer = hosts[0];      }            // Safely embedded template for CMS environments      const rawTemplate = `  \x3Cstyle>    /* --- Shadow DOM Base Reset --- */    *, *::before, *::after {      box-sizing: border-box;    }    img, picture, svg, video {      max-width: 100%;      height: auto;      display: block;    }    /*       1. Scoped CSS for Tom's Guide Deals Widget       All classes are prefixed with \`tg-df-\` to prevent CMS style leakage.    */    .tg-df-container {      container-type: inline-size;      container-name: tg-df;      --tg-df-blue: #1F69FF;      --tg-df-blue-hover: #004d8c;      --tg-df-text: #222222;      --tg-df-text-muted: #555555;      --tg-df-bg: #ffffff;      --tg-df-bg-secondary: #f4f4f4;      --tg-df-border: #e2e8f0;      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;      color: var(--tg-df-text);      background-color: transparent;       width: 100%;      max-width: 1200px;      margin: 0 auto;      padding-bottom: 24px;    }    .tg-df-container *, .tg-df-container *::before, .tg-df-container *::after {      margin: 0;      padding: 0;      box-sizing: border-box;    }    .tg-df-container img {      border: none;      margin: 0;      padding: 0;    }    .tg-df-container a {      text-decoration: none;      color: inherit;    }    /*       2. Search & Filter Bar    */    .tg-df-controls {      display: flex;      flex-direction: column;      align-items: center;      gap: 20px;      margin-bottom: 32px;      width: 100%;      position: relative;      z-index: 20;    }    .tg-df-top-bar {      display: flex;      width: 100%;      max-width: 760px;      gap: 12px;      margin: 0 auto;      align-items: center;    }    .tg-df-search-wrapper {      position: relative;      flex: 1;      width: 100%;      box-shadow: 0 8px 24px rgba(0,0,0,0.06);      border-radius: 40px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      z-index: 100;    }    .tg-df-autocomplete-dropdown {      position: absolute;      top: calc(100% + 4px);      left: 0;      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      max-height: 300px;      overflow-y: auto;      z-index: 200;      display: none;    }    .tg-df-autocomplete-dropdown.active {      display: block;    }    .tg-df-autocomplete-item {      padding: 12px 24px;      cursor: pointer;      font-size: 14px;      color: var(--tg-df-text);      transition: background 0.1s ease;    }    .tg-df-autocomplete-item:hover {      background: var(--tg-df-bg-secondary);    }    .tg-df-search-input {      width: 100%;      padding: 16px 64px 16px 24px;      font-size: 16px;      border: 2px solid transparent;      border-radius: 40px;      outline: none;      transition: border-color 0.2s ease, box-shadow 0.2s ease;      color: var(--tg-df-text);      background: transparent;    }    .tg-df-search-input:focus {      border-color: transparent;      box-shadow: 0 0 0 3px rgba(0, 108, 196, 0.15);    }    .tg-df-search-input::placeholder {      color: #999999;    }        .tg-df-search-btn {      position: absolute;      right: 8px;      top: 50%;      transform: translateY(-50%);      width: 40px;      height: 40px;      border-radius: 50%;      background: #222;      border: none;      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: background 0.2s ease;    }        .tg-df-search-btn:hover {      background: #000;    }    .tg-df-search-icon {      width: 16px;      height: 16px;      fill: #fff;    }    .tg-df-settings-wrapper {      position: relative;    }        .tg-df-settings-btn {      width: 48px;      height: 48px;      border-radius: 50%;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      box-shadow: 0 4px 12px rgba(0,0,0,0.04);      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: all 0.2s ease;      color: var(--tg-df-text-muted);      flex-shrink: 0;    }    .tg-df-settings-btn:hover {      background: var(--tg-df-bg-secondary);      border-color: #0000ff;      color: var(--tg-df-text);    }    .tg-df-settings-btn svg {      width: 24px;      height: 24px;      fill: currentColor;    }    .tg-df-settings-dropdown {      position: absolute;      top: calc(100% + 8px);      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      width: 280px;      padding: 20px;      display: none;      z-index: 100;      flex-direction: column;      gap: 20px;    }    .tg-df-settings-dropdown.active {      display: flex;    }        .tg-df-settings-dropdown-backdrop {      display: none;      position: fixed;      inset: 0;      z-index: 99;    }        .tg-df-settings-dropdown-backdrop.active {      display: block;    }    .tg-df-setting-item {      display: flex;      flex-direction: column;      gap: 10px;    }    .tg-df-setting-label {      font-size: 11px;      font-weight: 700;      color: var(--tg-df-text-muted);      text-transform: uppercase;      letter-spacing: 0.5px;    }        .tg-df-region-select {        padding: 10px 12px;        border-radius: 8px;        border: 1px solid var(--tg-df-border);        font-size: 15px;        outline: none;        background: var(--tg-df-bg-secondary);        color: var(--tg-df-text);        cursor: pointer;        width: 100%;    }    .tg-df-toggle {        position: relative;        display: inline-block;        width: 44px;        height: 24px;        flex-shrink: 0;    }    .tg-df-toggle input {        opacity: 0;        width: 0;        height: 0;    }    .tg-df-slider {        position: absolute;        cursor: pointer;        top: 0; left: 0; right: 0; bottom: 0;        background-color: #ccc;        transition: .2s;        border-radius: 24px;    }    .tg-df-slider:before {        position: absolute;        content: "";        height: 18px;        width: 18px;        left: 3px;        bottom: 3px;        background-color: white;        transition: .2s;        border-radius: 50%;    }    .tg-df-toggle input:checked + .tg-df-slider {        background-color: #1F69FF;    }    .tg-df-toggle input:checked + .tg-df-slider:before {        transform: translateX(20px);    }    .tg-df-dl-row {        flex-direction: row;        align-items: center;        justify-content: space-between;    }    .tg-df-dl-row-text {        font-size: 14px;        font-weight: 600;        color: var(--tg-df-text);    }    .tg-df-dl-row-subtext {        font-size: 12px;        font-weight: 400;        line-height: 1.3;        color: var(--tg-df-text-muted);        margin-top: 4px;        display: block;    }    .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 800px;    }    .tg-df-scroll-btn {      display: none;      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 0px;    }    .tg-df-scroll-btn.right {      right: 0px;    }    @container tg-df (max-width: 768px) {      .tg-df-scroll-btn {        display: flex;        top: 22px; /* vertically center within the 44px high filter buttons */      }    }    .tg-df-filters {      display: grid;      width: 100%;      grid-template-columns: repeat(4, 1fr);      gap: 12px;      margin: 0 auto;      max-width: 800px;    }                 .tg-df-sort-wrapper {      position: relative;      display: flex;      align-items: center;      width: 100%;    }        .tg-df-sort-icon {      position: absolute;      left: 14px;      width: 14px;      height: 14px;      fill: var(--tg-df-text-muted);      pointer-events: none;    }    .tg-df-sort-select, .tg-df-filter-select {      width: 100%;      padding: 10px 36px 10px 38px;      font-size: 14px;      border: 1px solid var(--tg-df-border);      border-radius: 100px;      outline: none;      appearance: none;      background-color: var(--tg-df-bg-secondary);      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E");      background-repeat: no-repeat;      background-position: right 14px center;      color: var(--tg-df-text);      cursor: pointer;      font-weight: 500;      transition: all 0.2s ease;    }        .tg-df-price-input::-webkit-outer-spin-button,    .tg-df-price-input::-webkit-inner-spin-button {      -webkit-appearance: none;      margin: 0;    }    .tg-df-price-input {      -moz-appearance: textfield;    }    .tg-df-sort-select:hover, .tg-df-filter-select:hover {      background-color: #e2e8f0;    }    .tg-df-multiselect-container {      position: relative;    }    @container tg-df (max-width: 768px) {      .tg-df-filters-container {      position: relative;      width: 100%;      max-width: 800px;    }    .tg-df-scroll-btn {      display: none;      position: absolute;      top: 50%;      transform: translateY(-50%);      width: 32px;      height: 32px;      background: white;      border: 1px solid var(--tg-df-border);      border-radius: 50%;      align-items: center;      justify-content: center;      cursor: pointer;      z-index: 10;      box-shadow: 0 2px 8px rgba(0,0,0,0.1);      color: var(--tg-df-text-primary);      padding: 0;    }    .tg-df-scroll-btn svg {      width: 16px;      height: 16px;    }    .tg-df-scroll-btn:hover {      background: #f4f4f4;    }    .tg-df-scroll-btn.left {      left: 0px;    }    .tg-df-scroll-btn.right {      right: 0px;    }    @container tg-df (max-width: 768px) {      .tg-df-scroll-btn {        display: flex;        top: 22px; /* vertically center within the 44px high filter buttons */      }    }    .tg-df-filters {        width: 100%;        margin: 0;        margin-bottom: -320px;        padding: 0 16px 320px 16px;        display: flex;        flex-wrap: nowrap;        gap: 8px;        overflow-x: auto;        overflow-y: hidden;        pointer-events: none;        scrollbar-width: none;        -webkit-overflow-scrolling: touch;      }      .tg-df-filters::-webkit-scrollbar {        display: none;      }      .tg-df-sort-wrapper {        pointer-events: auto;        flex: 0 0 auto;        width: 175px;        min-width: 175px;      }    }        .tg-df-multiselect-trigger {      display: block;      background: #fff;      user-select: none;      width: 100%;      overflow: hidden;      white-space: nowrap;      text-overflow: ellipsis;    }        .tg-df-multiselect-dropdown {      display: none;      position: absolute;      top: calc(100% + 4px);      left: 0;      width: 100%;      min-width: 220px;      max-height: 300px;      overflow-y: auto;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);      z-index: 100;      padding: 8px 0;    }    .tg-df-multiselect-dropdown.active {      display: block;    }    .tg-df-ms-option {      padding: 8px 16px;      display: flex;      align-items: center;      gap: 8px;      cursor: pointer;      font-size: 14px;    }    .tg-df-ms-option:hover {      background-color: var(--tg-df-bg-secondary);    }        .tg-df-ms-option input {      cursor: pointer;      accent-color: #1f69ff;    }    .tg-df-sort-select:focus, .tg-df-filter-select:focus {      border-color: #0000ff;      box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.2);      background-color: var(--tg-df-bg);    }    /*       3. Deal Grid Layout    */    .tg-df-grid.tg-df-grid-auto {      padding-top: 24px;    }    .tg-df-grid, .tg-df-grid.layout-grid {      display: grid;      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));      gap: 10px;    }    .tg-df-grid.layout-row {      grid-template-columns: 1fr;      gap: 16px;    }        .tg-df-grid.layout-row .tg-df-card {      flex-direction: row;      align-items: stretch;      height: auto;      box-shadow: none;      border-bottom: 1px solid var(--tg-df-border);    }    .tg-df-grid.layout-row .tg-df-card:hover {      box-shadow: none;    }    .tg-df-grid.layout-row .tg-df-card-image-box {      width: 140px;      min-width: 140px;      aspect-ratio: 3/4;      border-right: none;      padding: 16px 16px 16px 32px;    }    .tg-df-grid.layout-row .tg-df-card-body {      padding: 16px;      justify-content: space-between;    }    .tg-df-grid.layout-row .tg-df-card-title {      font-size: 15px;      margin-bottom: 16px;    }    .tg-df-grid.layout-row .tg-df-card-stars { margin-bottom: 8px; }    .tg-df-grid.layout-row .tg-df-card-footer {      flex-direction: column;      align-items: flex-start;      gap: 0;    }    .tg-df-grid.layout-row .tg-df-card-merchant-pill {      margin-bottom: 4px;    }    .tg-df-grid.layout-row .tg-df-card-price-group {      margin-bottom: 8px;    }    .tg-df-grid.layout-row .tg-df-price-group {      width: auto;    }    .tg-df-grid.layout-row .tg-df-card-cta {      width: 100%;      max-width: 200px;      padding: 10px 24px;      font-size: 13px;      flex-shrink: 0;      text-align: center;      justify-content: center;    }    /*       4. Deal Card Design    */    .tg-df-card {      position: relative;      display: flex;      flex-direction: column;      background-color: #ffffff;      border-radius: 0;      overflow: hidden;      transition: transform 0.2s ease, box-shadow 0.2s ease;      text-decoration: none;      color: inherit;      height: 100%;      box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);      border: 1px solid var(--tg-df-border);    }    .tg-df-card:hover {      box-shadow: 0 0 24px rgba(0, 0, 0, 0.12);    }    .tg-df-card-image-box {      width: 100%;      aspect-ratio: 3/4;      background-color: #f8f8f8;      display: flex;      align-items: center;      justify-content: center;      position: relative;      overflow: hidden;      padding: 32px;      flex: 0 0 auto;    }    .tg-df-card-image {      max-width: 100%;      max-height: 100%;      width: auto;      height: auto;      object-fit: contain;      mix-blend-mode: multiply; /* Helps white background images blend into secondary bg */      transition: transform 0.3s ease;    }    .tg-df-card:hover .tg-df-card-image {      transform: scale(1.05); /* Zoom in on hover */    }    .tg-df-card-discount-badge {      position: absolute;      top: 12px;      left: 12px;      background: #dc2626; /* Red */      color: #ffffff;      padding: 6px 8px;      font-size: 11px;      font-weight: 500;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      z-index: 10;    }        .tg-df-card-merchant-pill {      display: block;      padding: 0;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      color: var(--tg-df-text-muted);      margin-bottom: 8px;      white-space: nowrap;      overflow: hidden;      text-overflow: ellipsis;    }    .tg-df-card-body {      padding: 16px;      display: flex;      flex-direction: column;      flex-grow: 1;      min-width: 0;    }    .tg-df-card-badges {      display: flex;      flex-wrap: wrap;      gap: 6px;      margin-bottom: 8px;    }    .tg-df-tag {      display: inline-flex;      align-items: center;      padding: 4px 6px;      font-size: 11px;      font-weight: 700;      text-transform: uppercase;      border-radius: 4px;      gap: 4px;    }    .tg-df-tag-prime {      background-color: #00A8E1;      color: #fff;    }    .tg-df-tag-coupons {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-coupons:hover {      background-color: #e2e8f0;    }        .tg-df-tag-outline {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-outline:hover {      background-color: #e2e8f0;    }        @keyframes tg-df-spin {      0% { transform: rotate(0deg); }      100% { transform: rotate(360deg); }    }    .tg-df-coupon-spinner {      border: 2px solid #e2e8f0;      border-top: 2px solid #3b82f6;      border-radius: 50%;      width: 14px;      height: 14px;      animation: tg-df-spin 1s linear infinite;      margin: 4px 8px;      display: inline-block;    }        /* Vouchers Modal */    .tg-df-modal-backdrop {      position: fixed;      top: 0; left: 0; right: 0; bottom: 0;      background: rgba(0,0,0,0.5);      z-index: 10000;      display: flex;      align-items: center;      justify-content: center;      opacity: 0;      pointer-events: none;      transition: opacity 0.3s;    }    .tg-df-modal-backdrop.active {      opacity: 1;      pointer-events: auto;    }    .tg-df-modal {      background: #fff;      border-radius: 12px;      width: 90%;      max-width: 400px;      max-height: 80vh;      display: flex;      flex-direction: column;      box-shadow: 0 10px 40px rgba(0,0,0,0.2);      transform: translateY(20px);      transition: transform 0.3s;    }    .tg-df-modal-backdrop.active .tg-df-modal {      transform: translateY(0);    }    .tg-df-modal-header {      padding: 16px;      border-bottom: 1px solid #e2e8f0;      display: flex;      align-items: center;      justify-content: space-between;    }    .tg-df-modal-title {      font-size: 16px;      font-weight: 600;      margin: 0;    }    .tg-df-modal-close {      background: none;      border: none;      cursor: pointer;      padding: 4px;      color: #64748b;    }    .tg-df-modal-body {      padding: 16px;      overflow-y: auto;    }    .tg-df-voucher-item {      padding: 12px;      border: 1px dashed #cbd5e1;      border-radius: 8px;      margin-bottom: 10px;      background: #f8fafc;      display: flex;      align-items: center;      gap: 12px;      text-decoration: none;      color: inherit;      transition: background-color 0.2s, border-color 0.2s;    }    .tg-df-voucher-item:hover {      background: #f1f5f9;      border-color: #94a3b8;    }    .tg-df-voucher-item:last-child {      margin-bottom: 0;    }    .tg-df-voucher-logo {      width: 48px;      height: 48px;      object-fit: contain;      border-radius: 4px;      background: #fff;      border: 1px solid #e2e8f0;      flex-shrink: 0;    }    .tg-df-voucher-content {      flex: 1;      min-width: 0;    }    .tg-df-voucher-title {      font-size: 14px;      font-weight: 600;      margin: 0 0 4px 0;      line-height: 1.3;      color: #0f172a;    }    .tg-df-voucher-expiry {      font-size: 12px;      color: #64748b;      display: flex;      align-items: center;      gap: 4px;      margin-top: 6px;    }    .tg-df-voucher-code {      display: inline-flex;      align-items: center;      background: #f1f5f9;      border: 1px dashed #cbd5e1;      padding: 6px 10px;      font-family: monospace;      font-weight: 700;      font-size: 14px;      color: #0f172a;      border-radius: 4px;      margin-top: 8px;      cursor: pointer;      transition: all 0.2s ease;    }    .tg-df-voucher-code:hover {      background: #e2e8f0;      border-color: #94a3b8;    }    .tg-df-voucher-code.copied {      background: #ecfdf5;      border-color: #10b981;      color: #10b981;    }    .tg-df-voucher-cta {      display: inline-block;      margin-top: 8px;      font-size: 13px;      font-weight: 600;      color: #2563eb;      text-decoration: none;    }    .tg-df-card-title {      font-size: 15px;      font-weight: 400;      line-height: 1.4;      margin: 0 0 12px 0;      color: var(--tg-df-text);    }    .tg-df-card-footer {      margin-top: auto;      display: flex;      flex-direction: column;      width: 100%;    }    .tg-df-card-price-group {      display: flex;      flex-direction: row;      align-items: center;      gap: 8px;      margin-bottom: 12px;    }    .tg-df-card-price {      font-size: 16px;      font-weight: 700;      color: #dc2626; /* Red price */      line-height: 1;    }        .tg-df-card-msrp {      font-size: 13px;      color: var(--tg-df-text-muted);      text-decoration: line-through;    }    .tg-df-container .tg-df-card-cta {      display: flex;      align-items: center;      justify-content: center;      width: 100%;      box-sizing: border-box;      background-color: #1f69ff;      color: #ffffff;      font-size: 12px;      font-weight: 700;      text-transform: uppercase;      letter-spacing: 0.5px;      padding: 12px 16px;      border-radius: 0;      border: none;      cursor: pointer;      transition: background-color 0.2s ease;    }    .tg-df-card:hover .tg-df-card-cta,    .tg-df-card-cta:hover {      background-color: #1555cc;    }    /*       5. State & Skeleton Styles    */    .tg-df-message {      grid-column: 1 / -1;      text-align: center;      padding: 48px 24px;      color: var(--tg-df-text-muted);      font-size: 16px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;    }    @keyframes tg-df-shimmer {      0% { background-position: -200% 0; }      100% { background-position: 200% 0; }    }    .tg-df-skeleton {      background: linear-gradient(90deg, var(--tg-df-bg-secondary) 25%, #e2e8f0 50%, var(--tg-df-bg-secondary) 75%);      background-size: 200% 100%;      animation: tg-df-shimmer 1.5s infinite;      border-radius: 4px;    }    .tg-df-skeleton-img {      width: 100%;      height: 100%;      position: absolute;      top: 0; left: 0;    }        .tg-df-skeleton-text {      height: 16px;      margin-bottom: 8px;      width: 100%;    }    .tg-df-skeleton-text.short { width: 40%; }    .tg-df-skeleton-text.title { height: 20px; margin-bottom: 16px; }    /* Editor Floating Bar & Elements */    .tg-df-editor-bar {      position: sticky;      top: 120px;      z-index: 1000;      background: #111827;      color: #fff;      padding: 12px 16px;      border-radius: 8px;      margin-bottom: 16px;      display: flex;      align-items: center;      justify-content: space-between;      box-shadow: 0 4px 12px rgba(0,0,0,0.15);    }    .tg-df-editor-bar-text {      font-weight: 600;      font-size: 14px;    }    .tg-df-editor-copy-btn {      background: #10b981;      color: #fff;      padding: 6px 16px;      border: none;      border-radius: 4px;      font-weight: 600;      cursor: pointer;      display: flex;      align-items: center;      font-size: 13px;    }    .tg-df-editor-copy-btn:hover { background: #059669; }        .tg-df-deal-checkbox {      position: absolute;      top: 12px;      right: 12px;      z-index: 10;      width: 20px;      height: 20px;      cursor: pointer;      pointer-events: auto;    }    /*       6. Mobile List View (Stacks into a cleaner horizontal row/list)    */    @container tg-df (max-width: 599px) {      .tg-df-controls {        padding: 16px 16px 8px;      }            .tg-df-top-bar {        width: 100%;      }            .tg-df-settings-dropdown {        position: fixed;        top: auto;        bottom: 0;        left: 0;        right: 0;        width: 100%;        border-radius: 20px 20px 0 0;        padding: 24px;        box-shadow: 0 -8px 32px rgba(0,0,0,0.15);        z-index: 1000;        border: none;        border-top: 1px solid var(--tg-df-border);      }            .tg-df-settings-dropdown-backdrop.active {        background: rgba(0,0,0,0.4);      }            .tg-df-search-wrapper {        box-shadow: 0 0 16px rgba(0,0,0,0.08);      }                  .tg-df-sort-wrapper.tg-df-price-range-wrapper {        flex: 0 0 auto;        min-width: max-content;        width: auto;      }            .tg-df-sort-select, .tg-df-filter-select {        width: 100%;        text-align: left;        padding: 10px 24px 10px 32px;        background-position: right 8px center;        text-overflow: ellipsis;        white-space: nowrap;        overflow: hidden;      }      .tg-df-sort-icon {        left: 10px;      }      .tg-df-grid:not(.layout-grid):not(.layout-row),      .tg-df-grid.layout-row {        grid-template-columns: 1fr;        gap: 16px;      }            .tg-df-grid.tg-df-grid-auto {        padding-top: 24px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card,      .tg-df-grid.layout-row .tg-df-card {        flex-direction: row;        align-items: stretch;        height: auto;        box-shadow: none; /* simple line on mobile if preferred, or keep */        border-bottom: 1px solid var(--tg-df-border);      }      .tg-df-grid.tg-df-grid-auto .tg-df-card:hover,      .tg-df-grid.layout-row .tg-df-card:hover {        box-shadow: none;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-image-box,      .tg-df-grid.layout-row .tg-df-card-image-box {        width: 120px;        min-width: 120px;        aspect-ratio: 3/4;        border-right: none;        padding: 12px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-body,      .tg-df-grid.layout-row .tg-df-card-body {        padding: 12px;        justify-content: space-between;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-title,      .tg-df-grid.layout-row .tg-df-card-title {        font-size: 14px;        margin-bottom: 12px;      }      /* Single column mobile grid override */      .tg-df-grid.layout-grid {        grid-template-columns: 1fr;        gap: 16px;      }      .tg-df-grid.layout-grid .tg-df-card-image-box {        padding: 12px;      }      .tg-df-grid.layout-grid .tg-df-card-body {        padding: 10px;      }      .tg-df-grid.layout-grid .tg-df-card-title {        font-size: 13px;        margin-bottom: 8px;      }      .tg-df-grid.layout-grid .tg-df-card-price {        font-size: 14px;      }            .tg-df-card-footer {        flex-direction: column;        align-items: stretch;        gap: 0;        width: 100%;        min-width: 0;      }      .tg-df-card-merchant-pill {        margin-bottom: 4px;      }      .tg-df-card-price-group {        flex: 1 1 auto;        margin-bottom: 8px;      }      .tg-df-card-price {        font-size: 16px;      }      .tg-df-card-msrp {        display: block;       }      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 8px 16px;        font-size: 12px;        flex: 0 0 auto;        text-align: center;        white-space: normal;        line-height: 1.2;      }    }    .tg-df-container.is-carousel {      min-height: 760px;      background-color: #E7F0FF;      padding: 0 0 24px 0;      border-radius: 24px;      width: 100vw;      max-width: 1200px;      position: relative;      left: 50%;      transform: translateX(-50%);    }    .tg-df-container.is-carousel.hide-header-details {      min-height: 480px;    }    /*       7. Carousel View Mode    */    .tg-df-container .tg-df-carousel-host {      /* Layout is now handled by container wrapper */    }    .tg-df-container .tg-df-carousel-eyebrow {      color: #1F69FF;      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      padding: 24px 16px 0 16px;      display: none;    }    .tg-df-container .tg-df-carousel-query-title {      color: #011535;      font-size: 28px;      font-weight: 600;      padding: 0 16px 24px 16px;      line-height: 1.2;      display: none;    }    .tg-df-container .tg-df-carousel-blue-box {      background-color: transparent;      border-radius: 0;      padding: 24px 24px 0 24px;      margin: 0;      color: #1F69FF;          position: relative;      overflow: hidden;    }    .tg-df-container .tg-df-carousel-bg-circle-1 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-2 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-3 {      display: none;    }    .tg-df-container .tg-df-carousel-box-content {      position: relative;      z-index: 10;    }    .tg-df-container .tg-df-carousel-box-eyebrow {      background-color: transparent;      color: #1F69FF;      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      display: inline-block;      padding: 0;      border-radius: 0;    }    .tg-df-container .tg-df-carousel-box-title {      font-size: 28px;      font-weight: 600;      line-height: 1.2;      margin-top: 8px;      color: #1e293b;    }    .tg-df-container .tg-df-countdown-wrapper {      position: absolute;      top: 0;      right: 0;      display: flex;      flex-direction: column;      align-items: flex-end;      gap: 12px;      transform: scale(0.67);      transform-origin: top right;    }    .tg-df-container .tg-df-countdown-title {      font-size: 14px;      font-weight: 600;      color: #011535;      margin: 0;    }    .tg-df-container .tg-df-countdown-blocks {      display: flex;      gap: 16px;    }    .tg-df-container .tg-df-countdown-item {      display: flex;      flex-direction: column;      align-items: center;      gap: 4px;    }    .tg-df-container .tg-df-countdown-box {      width: 59px;      height: 59px;      background: #03FE9E;      border-radius: 15px;      display: flex;      align-items: center;      justify-content: center;    }    .tg-df-container .tg-df-countdown-num {      font-family: 'Inter', sans-serif;      font-weight: 700;      font-size: 20px;      line-height: normal;      color: #011535;    }    .tg-df-container .tg-df-countdown-label {      font-family: 'Inter', sans-serif;      font-weight: 500;      font-size: 16px;      line-height: normal;      color: #1e293b;      text-transform: uppercase;    }    .tg-df-container .tg-df-carousel-box-subtitle {      font-size: 16px;      margin-top: 8px;      font-weight: 300;      color: #1e293b;      line-height: 24px;    }    .tg-df-container .tg-df-carousel-roundels-wrapper {      position: relative;      margin-top: 24px;      margin-left: -24px;      margin-right: -24px;    }    .tg-df-container .tg-df-carousel-roundels {      display: flex;      gap: 16px;      overflow-x: auto;            scrollbar-width: none;      padding-top: 12px;      padding-bottom: 24px;      padding-left: 24px;      padding-right: 24px;      margin-left: 0;      margin-right: 0;    }        .tg-df-container .tg-df-carousel-scroll-left,    .tg-df-container .tg-df-carousel-scroll-right {      position: absolute;      top: 50%;      transform: translateY(-50%);      height: 36px;      width: 36px;      display: flex;      align-items: center;      justify-content: center;      border-radius: 50%;      background-color: #ffffff;      border: 1px solid #e2e8f0;      box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);      color: #1F69FF;      cursor: pointer;      transition: all 0.2s;      margin-top: -4px;      z-index: 20;    }    .tg-df-container .tg-df-carousel-scroll-left { left: 8px; }    .tg-df-container .tg-df-carousel-scroll-right { right: 8px; }    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left { left: 0px; }    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right { right: 0px; }    .tg-df-carousel-filters-outer { margin-left: -24px; margin-right: -24px; padding-left: 24px; padding-right: 24px; }    .tg-df-grid-wrapper { position: relative; }    @container tg-df (max-width: 599px) { .tg-df-carousel-filters-outer { margin-left: -16px; margin-right: -16px; padding-left: 16px; padding-right: 16px; } }        .tg-df-container .tg-df-carousel-scroll-left:hover,    .tg-df-container .tg-df-carousel-scroll-right:hover {      background-color: rgba(255, 255, 255, 0.6);    }    .tg-df-container .tg-df-carousel-roundels::-webkit-scrollbar {      display: none;    }    .tg-df-container .tg-df-roundel {      display: flex;      flex-direction: column;      align-items: center;      gap: 8px;      cursor: pointer;      min-width: 120px;      flex-shrink: 0;    }    .tg-df-container .tg-df-roundel-img-box {      width: 120px;      height: 120px;      border-radius: 50%;      background: white;      display: flex;      align-items: center;      justify-content: center;      overflow: hidden;      box-shadow: 0px 3px 14px 0px rgba(30, 41, 59, 0.08);      transition: box-shadow 0.2s;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px #1F69FF;    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px #1F69FF;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box img {      transform: scale(1.08);    }    .tg-df-container .tg-df-roundel-img-box img {      width: 100%;      height: 100%;      object-fit: contain;      padding: 10px;      box-sizing: border-box;      transition: transform 0.3s ease;    }    .tg-df-container .tg-df-roundel-label {      font-size: 13px;      font-weight: 400;      color: #1e293b;      text-align: center;    }    .tg-df-container .tg-df-carousel-filters-label {      font-size: 16px;      font-weight: 400;      color: #1e293b;      white-space: nowrap;      margin-right: 4px;    }    .tg-df-container .tg-df-carousel-filters-wrap {      display: flex;      align-items: center;      flex-wrap: nowrap;      gap: 8px;      margin-top: 8px;      overflow-x: auto;      scrollbar-width: none;      -webkit-overflow-scrolling: touch;      padding-bottom: 8px;      margin-left: -24px;      margin-right: -24px;      padding-left: 24px;      padding-right: 24px;    }    .tg-df-container .tg-df-carousel-filters-wrap::-webkit-scrollbar {      display: none;    }        .tg-df-container .tg-df-carousel-filter-btn img,    .tg-df-container .tg-df-carousel-filter-btn picture {      height: 20px;      width: 20px;      object-fit: contain;      object-position: center;      display: inline-flex;      align-items: center;      justify-content: center;      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn picture img {      margin-right: 0;      height: 100%;      width: 100%;    }    .tg-df-container .tg-df-carousel-filter-btn img.active-img,    .tg-df-container .tg-df-carousel-filter-btn picture:has(.active-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.inactive-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.inactive-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.active-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.active-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.active-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.active-img) {      display: inline-flex;    }    .tg-df-container .tg-df-carousel-filter-btn {      background: #ffffff;      border: 2px solid #1e293b;      color: #1e293b;      border-radius: 24px;      padding: 6px 16px;      font-size: 14px;      font-weight: 600;      cursor: pointer;      transition: all 0.2s;      flex-shrink: 0;      white-space: nowrap;    }    .tg-df-container .tg-df-carousel-filter-btn svg {      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn {      display: inline-flex;      align-items: center;    }    .tg-df-container .tg-df-carousel-filter-btn:hover {      background: #1e293b;      color: white;      border-color: #1e293b;    }    .tg-df-container .tg-df-carousel-filter-btn.active {      background: #1e293b;      color: white;      border-color: #1e293b;    }        .tg-df-grid.carousel-compact {      display: flex;      flex-wrap: nowrap;      overflow-x: auto;      gap: 16px;      padding: 16px 24px;      align-items: stretch;      scrollbar-width: none;    }    .tg-df-grid.carousel-compact::-webkit-scrollbar {      display: none;    }    .tg-df-grid.carousel-compact .tg-df-card {      flex: 0 0 auto;      width: 200px;      min-height: auto;      height: auto;      display: flex;      flex-direction: column;      border-radius: 15px;      border: none;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      overflow: visible;    }    .tg-df-grid.carousel-compact .tg-df-card-image-box {      padding: 12px;      background-color: transparent;      border-radius: 15px 15px 0 0;      height: 130px;    }    .tg-df-grid.carousel-compact .tg-df-card-image {      mix-blend-mode: normal;    }    .tg-df-grid.carousel-compact .tg-df-card-discount-badge {      border-radius: 0;      top: 0px;      left: 0px;      padding: 4px 8px;      font-size: 11px;    }    .tg-df-grid.carousel-compact .tg-df-card-body {      padding: 8px 12px 12px 12px;    }    .tg-df-grid.carousel-compact .tg-df-card-title {      font-size: 14px;      font-weight: 400;      margin-bottom: 8px;      color: #011535;    }    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):not(:has(.tg-df-tag-prime)):not(:has(.tg-df-coupon-wrapper:not([style*="none"]))) > .tg-df-card-title,    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):has(> .tg-df-card-title:first-child) > .tg-df-card-title {    }    .tg-df-grid.carousel-compact .tg-df-card-cta {      border-radius: 5px;      padding: 8px 10px;      margin-top: 4px;      background-color: #1F69FF;    }    .tg-df-grid.carousel-compact .tg-df-card-price-group {      margin-bottom: 2px;    }    .tg-df-grid.carousel-compact .tg-df-card-merchant-pill {      margin-bottom: 2px;    }    @container tg-df (max-width: 599px) {      .tg-df-container .tg-df-carousel-blue-box-title {        font-size: 24px;      }      .tg-df-container .tg-df-countdown-title {        display: none;      }      .tg-df-container .tg-df-countdown-wrapper {        position: absolute;        top: 0;        right: 0;        align-items: flex-end;        transform: scale(0.40);        transform-origin: top right;      }      .tg-df-container .tg-df-roundel {        min-width: 88px;      }      .tg-df-container .tg-df-roundel-img-box {        width: 88px;        height: 88px;      }    }    /* REPLICA BLOCK STYLES */    .tg-df-grid.layout-replica-2 { grid-template-columns: repeat(2, 1fr) !important; gap: 20px; }    .tg-df-grid.layout-replica-1 { grid-template-columns: 1fr !important; gap: 20px; }        .tg-df-container .hawk-deal-widget-container { border-bottom: 1px solid #e5e7eb; display: flex; flex-direction: column; margin: 0; padding: 20px 0; box-sizing: border-box; font-family: inherit; }    .tg-df-container .hawk-deal-widget-wrap { display: flex; flex-direction: row; align-items: flex-start; width: 100%; gap: 24px; }    .tg-df-container .hawk-deal-widget-image-container { display: flex; flex-shrink: 0; justify-content: center; width: 160px; height: 160px; align-items: center; background: white; margin-bottom: 0px; }    .tg-df-container .hawk-deal-widget-title-product-title { color: #111827; font-size: 18px; font-weight: 700; line-height: 1.4; display: inline; }    .tg-df-container .hawk-deal-widget-title-price { font-size: 18px; font-weight: 700; line-height: 1.4; white-space: nowrap; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-price-now { font-weight: 700; }    .tg-df-container .hawk-deal-widget-title-retailer-price:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-title-retailer { font-size: 18px; font-weight: 700; line-height: 1.4; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-was-price { color: #dc2626; font-size: 16px; font-weight: 500; line-height: 1.4; text-decoration: line-through; white-space: nowrap; margin-left: 8px; margin-right: 8px; }    .tg-df-container .hawk-deal-widget-text-body-container { position: relative; width: 100%; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-text-body-main { font-size: 16px; width: 100%; margin-bottom: 12px; }    .tg-df-container .hawk-deal-widget-text-body-description { display: block; font-size: 15px; margin-top: 12px; color: #4b5563; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-body-description p { margin: 0; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-cta-container { display: flex; flex-direction: column; gap: 12px; width: 100%; flex: 1; min-width: 0; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-footer { display: flex; justify-content: flex-end; width: 100%; margin-top: auto; }    .tg-df-container .hawk-deal-widget-button-wrapper { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; width: 100%; }    .tg-df-container .hawk-deal-widget-preferred-partner-wrapper { display: flex; flex-direction: row; }        @container tg-df (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @container tg-df (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-grid.layout-replica-2 { grid-template-columns: 1fr !important; }      .tg-df-grid.savings-squad-cards { grid-template-columns: 1fr !important; display: flex; flex-direction: column; }    }    .tg-df-grid.savings-squad-cards .tg-df-card-title {      -webkit-line-clamp: unset !important;      display: block !important;      overflow: visible !important;    }    @container tg-df (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: block; }      .tg-df-container .hawk-deal-widget-image-container { display: block; float: left; margin: 0 16px 8px 0; width: 120px; max-width: 120px; height: auto; align-items: normal; justify-content: normal; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: block; text-align: left; }      .tg-df-container .hawk-deal-widget-footer { display: block; margin-top: 16px; clear: both; width: 100%; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: block; width: 100%; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: block; width: 100%; }      .tg-df-container .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; max-width: none !important; width: 100% !important; margin: 0 !important; }    }        .tg-df-container .hawk-affiliate-link-deal-button {       align-items: center; background-color: #1f69ff; box-sizing: border-box; color: #ffffff !important; display: flex; font-size: 14px; font-weight: 700; justify-content: center; letter-spacing: 0.5px; line-height: 1; min-width: 160px; padding: 14px 24px; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; word-break: normal; border-radius: 4px; border: 0; transition: background-color 0.2s;     }    .tg-df-container .hawk-affiliate-link-deal-button:hover { background-color: #0056e0; text-decoration: none; }    .tg-df-container .hawk-lazy-image-deal-widget { display: block; height: auto; margin: auto; max-height: 160px; max-width: 100%; mix-blend-mode: multiply; object-fit: contain; }    .tg-df-container .hawk-deal-widget-text-cta-container a { color: #2563eb; text-decoration: none; display: inline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:has(.hawk-deal-widget-title-product-title) { color: #111827; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-product-title,    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-retailer-price { text-decoration: underline; }    .tg-df-savings-squad-header { margin-bottom: 24px; text-align: center; display: none; }    .tg-df-banner-img-desktop { display: block; width: 100%; height: auto; margin-bottom: 32px; }    .tg-df-banner-img-mobile { display: none; width: 100%; height: auto; margin-bottom: 32px; }    @container tg-df (max-width: 600px) {      .tg-df-banner-img-desktop { display: none; }      .tg-df-banner-img-mobile { display: block; }    }    .tg-df-header-title { font-size: 28px; font-weight: 700; color: var(--tg-df-text); margin: 32px 0 12px 0; line-height: 1.3; }    .tg-df-header-subtitle { font-size: 16px; color: var(--tg-df-text-muted); margin: 0 0 32px 0; line-height: 1.5; }  \x3C/style>  \x3C!-- Widget Container --\x3E  \x3Cdiv class="tg-df-container" id="signal-deals-finder-root">    \x3Cdiv class="tg-df-savings-squad-header" id="tg-df-savings-squad-header">      \x3Cpicture>        \x3Cimg src="https://cdn.mos.cms.futurecdn.net/flexiimages/xkh2og7m3d1778189998.png" alt="Deals Banner" class="tg-df-banner-img-desktop" />        \x3Cimg src="https://cdn.mos.cms.futurecdn.net/flexiimages/gmak6rtdf41778245089.png" alt="Deals Banner Mobile" class="tg-df-banner-img-mobile" />      \x3C/picture>      \x3Cdiv class="tg-df-header-text">        \x3Ch2 class="tg-df-header-title" id="tg-df-header-title">Editor's Choice Deals\x3C/h2>        \x3Cp class="tg-df-header-subtitle" id="tg-df-header-subtitle">Discover the best discounts currently available, curated daily by the Tom's Guide Savings Squad.\x3C/p>      \x3C/div>    \x3C/div>    \x3C!-- Editor Floating Bar --\x3E    \x3Cdiv class="tg-df-editor-bar" id="tg-df-editor-bar" style="display:none;">      \x3Cdiv class="tg-df-editor-bar-text" style="display: flex; align-items: center;">        \x3Cspan id="tg-df-selected-count">0\x3C/span>\x26nbsp;Deals Selected        \x3Cbutton class="tg-df-editor-clear-btn" id="tg-df-editor-clear" type="button" style="margin-left: 12px; font-size: 13px; color: #9ca3af; background: none; border: none; cursor: pointer; text-decoration: underline;">Clear All\x3C/button>      \x3C/div>      \x3Cbutton class="tg-df-editor-copy-btn" id="tg-df-editor-copy" type="button">        \x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2">\x3C/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1">\x3C/path>\x3C/svg>        Copy to CMS      \x3C/button>    \x3C/div>    \x3Cdiv class="tg-df-carousel-host" id="tg-df-carousel-host" style="display: none;">      \x3Cdiv class="tg-df-carousel-eyebrow">DEAL FINDER\x3C/div>      \x3Cdiv class="tg-df-carousel-query-title" id="tg-df-carousel-title-label">Best Deals\x3C/div>            \x3Cdiv class="tg-df-carousel-blue-box">        \x3Cdiv class="tg-df-carousel-bg-circle-1" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-bg-circle-2" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-bg-circle-3" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-box-content">          \x3Cdiv class="tg-df-countdown-wrapper" id="tg-df-countdown-wrapper" style="display:none;">            \x3Cdiv class="tg-df-countdown-title" id="tg-df-countdown-title">Prime Day starts in\x3C/div>            \x3Cdiv class="tg-df-countdown-blocks">              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-days">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">DAYS\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-hrs">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">HRS\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-min">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">MIN\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-sec">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">SEC\x3C/div>\x3C/div>            \x3C/div>          \x3C/div>          \x3Cdiv class="tg-df-carousel-box-eyebrow">DEAL FINDER\x3C/div>          \x3Cdiv class="tg-df-carousel-box-title">Find Deals Fast\x3C/div>          \x3Cdiv class="tg-df-carousel-box-subtitle">The latest deals from the biggest retailers, all in one place\x3C/div>                    \x3Cdiv class="tg-df-carousel-roundels-wrapper">          \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-roundels').scrollBy({left: -200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>          \x3Cdiv class="tg-df-carousel-roundels">                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Televisions" data-pr="all">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/wcMxTsHgqu3roMbAx7RLnT-132-100.png" alt="TVs" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">TVs\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Phones" data-pr="over50">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/G3KGaRGzj24F6PUsw4bWpT-132-100.png" alt="Phones" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Phones\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Computing" data-pr="all">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/znNvsLzx8NEgNkD9HSFSnT-132-100.png" alt="Computing" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Computing\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Gaming" data-pr="all">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/Pgew8yaRQeZFHqHjTzvBnT-132-100.png" alt="Gaming" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Gaming\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Mattresses" data-pr="over500">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/cW7xsaLyesxkHFVSiC4kmT-132-100.png" alt="Mattresses" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Mattresses\x3C/span>            \x3C/div>                      \x3Cdiv class="tg-df-roundel tg-df-carousel-cat" data-query="Audio" data-pr="over30">              \x3Cdiv class="tg-df-roundel-img-box">                 \x3Cimg src="https://cdn.mos.cms.futurecdn.net/pCvBVHuhaQVjKt3VgCjbqT-132-100.png" alt="Audio" />              \x3C/div>              \x3Cspan class="tg-df-roundel-label">Audio\x3C/span>            \x3C/div>                  \x3C/div>        \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" onclick="this.parentElement.querySelector('.tg-df-carousel-roundels').scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>        \x3C/div>        \x3C/div>        \x3Cdiv class="tg-df-carousel-filters-outer" style="position: relative;">          \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-filters-wrap').scrollBy({left: -200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>          \x3Cdiv class="tg-df-carousel-filters-wrap">                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="0">All\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-ot="amazon_lightning">              \x3Cimg src="https://cdn.mos.cms.futurecdn.net/HqAui7w97ft2NPqBtQ5r38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/yWPQ5yyQRhUwVKzGwYbh38-600-100.png" class="active-img" alt="" /> Lightning deals\x3C/button>            \x3Cbutton class="tg-df-carousel-filter-btn" data-ot="amazon_prime">              \x3Cimg src="https://cdn.mos.cms.futurecdn.net/fwoVXvL79turN3Ph535m38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/u75QjVpt3w2EsMimJiRo38-600-100.png" class="active-img" alt="" /> Prime deals\x3C/button>            \x3Cbutton class="tg-df-carousel-filter-btn" data-d="10">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 10% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="15">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 15% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="25">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 25% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-pr="under50">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-badge-dollar-sign">\x3Cpath d="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z">\x3C/path>\x3Cpath d="M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8">\x3C/path>\x3Cpath d="M12 18V6">\x3C/path>\x3C/svg>            Under $50\x3C/button>        \x3C/div>        \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-filters-wrap').scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>      \x3C/div>    \x3C/div>    \x3C/div>      \x3C!-- Search & Filter Controls --\x3E      \x3Cdiv class="tg-df-top-bar" id="tg-df-top-bar" style="position: relative; z-index: 100; margin: 0 auto 20px;">        \x3Cdiv class="tg-df-search-wrapper">          \x3Cinput type="text" class="tg-df-search-input" placeholder="Search for deals, products, or brands...">          \x3Cbutton type="button" class="tg-df-search-btn" aria-label="Search">              \x3Csvg class="tg-df-search-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">                \x3Cpath d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>              \x3C/svg>          \x3C/button>          \x3Cdiv class="tg-df-autocomplete-dropdown" id="tg-df-autocomplete">\x3C/div>        \x3C/div>      \x3C/div>    \x3Cdiv class="tg-df-controls" id="tg-df-controls" style="display:flex;">              \x3Cdiv class="tg-df-filters-container" style="position: relative; width: 100%; max-width: 800px; margin: 0 auto;">          \x3Cbutton class="tg-df-scroll-btn left" style="display: none;" onclick="this.parentElement.querySelector('.tg-df-filters').scrollBy({left: -200, behavior: 'smooth'})">            \x3Csvg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">\x3Cpath d="M15 18l-6-6 6-6"/>\x3C/svg>          \x3C/button>          \x3Cbutton class="tg-df-scroll-btn right" style="display: none;" onclick="this.parentElement.querySelector('.tg-df-filters').scrollBy({left: 200, behavior: 'smooth'})">            \x3Csvg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">\x3Cpath d="M9 18l6-6-6-6"/>\x3C/svg>          \x3C/button>          \x3Cdiv class="tg-df-filters">          \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-category-filter-wrapper" style="display: none;">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-category-filter" aria-label="Category">            \x3Coption value="all">All Categories\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper tg-df-multiselect-container" id="tg-df-brand-filter-wrapper" style="display:none;">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39A.998.998 0 0 0 18.95 4H5.04c-.83 0-1.3.95-.79 1.61z"/>          \x3C/svg>          \x3Cdiv class="tg-df-filter-select tg-df-multiselect-trigger" id="tg-df-brand-trigger" tabindex="0">            Any Brand          \x3C/div>          \x3Cdiv class="tg-df-multiselect-dropdown" id="tg-df-brand-dropdown">            \x3C!-- Populated via script --\x3E          \x3C/div>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper tg-df-price-range-wrapper" id="tg-df-custom-price-wrapper" style="display: flex; align-items:center; justify-content:center; padding: 10px 20px; gap: 8px; border: 1px solid var(--tg-df-border); border-radius: 100px; background-color: var(--tg-df-bg);">          \x3Cspan style="font-size:14px; font-weight:500; color:var(--tg-df-text-primary);">Price\x3C/span>          \x3Cinput type="number" class="tg-df-price-input" id="tg-df-custom-price-min" placeholder="Min" style="width: 48px; background: transparent; border: none; color: var(--tg-df-text-primary); outline: none; font-size: 14px; text-align: center; padding: 0;">          \x3Cspan style="color:var(--tg-df-text-muted)">-\x3C/span>          \x3Cinput type="number" class="tg-df-price-input" id="tg-df-custom-price-max" placeholder="Max" style="width: 48px; background: transparent; border: none; color: var(--tg-df-text-primary); outline: none; font-size: 14px; text-align: center; padding: 0;">        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-legacy-price-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-price-filter" aria-label="Filter Prices">            \x3Coption value="all">All Prices\x3C/option>            \x3Coption value="under50">Under $50\x3C/option>            \x3Coption value="50_100">$50 - $100\x3C/option>            \x3Coption value="100_200">$100 - $200\x3C/option>            \x3Coption value="200_500">$200 - $500\x3C/option>            \x3Coption value="over500">Over $500\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-discount-filter-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">            \x3Cpath d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-discount-filter" aria-label="Discount Amount">            \x3Coption value="all">Any discount\x3C/option>            \x3Coption value="5">Min 5%\x3C/option>            \x3Coption value="10">Min 10%\x3C/option>            \x3Coption value="15">Min 15%\x3C/option>            \x3Coption value="20">Min 20%\x3C/option>            \x3Coption value="25">Min 25%\x3C/option>            \x3Coption value="30">Min 30%\x3C/option>            \x3Coption value="40">Min 40%\x3C/option>            \x3Coption value="50">Min 50%\x3C/option>            \x3Coption value="60">Min 60%\x3C/option>            \x3Coption value="70">Min 70%\x3C/option>          \x3C/select>          \x3C/div>        \x3C/div>        \x3C/div>      \x3C/div>    \x3C!-- Deals Grid Wrapper --\x3E    \x3Cdiv class="tg-df-grid-wrapper tg-df-carousel-cards-wrapper" id="tg-df-grid-wrapper">      \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('#tg-df-grid').scrollBy({left: -200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>      \x3Cdiv class="tg-df-grid" id="tg-df-grid">        \x3C!-- Content populated by JavaScript --\x3E      \x3C/div>      \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" style="display:none;" onclick="this.parentElement.querySelector('#tg-df-grid').scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>    \x3C/div>        \x3C!-- Vouchers Modal --\x3E    \x3Cdiv class="tg-df-modal-backdrop" id="tg-df-vouchers-modal">      \x3Cdiv class="tg-df-modal">        \x3Cdiv class="tg-df-modal-header">          \x3Ch3 class="tg-df-modal-title" id="tg-df-vouchers-title">Available Coupons & Deals\x3C/h3>          \x3Cbutton class="tg-df-modal-close" id="tg-df-vouchers-close">            \x3Csvg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">              \x3Cline x1="18" y1="6" x2="6" y2="18">\x3C/line>              \x3Cline x1="6" y1="6" x2="18" y2="18">\x3C/line>            \x3C/svg>          \x3C/button>        \x3C/div>        \x3Cdiv class="tg-df-modal-body" id="tg-df-vouchers-content">          \x3C!-- Vouchers injected here --\x3E        \x3C/div>      \x3C/div>    \x3C/div>  \x3C/div>`;      if (!template) {        template = document.createElement('template');        template.innerHTML = rawTemplate;      }      let shadowRoot = null;      if (hostContainer && template) {        hostContainer.setAttribute('data-initialized', 'true');        shadowRoot = hostContainer.attachShadow({ mode: 'open' });        shadowRoot.appendChild(template.content.cloneNode(true));      }      class DealsFinderWidget {        constructor(config) {          this.rootNode = config.rootNode || document;          this.hostContainer = config.hostContainer || null;          this.rootId = config.rootId || 'signal-deals-finder-root';          this.root = this.rootNode.querySelector('#' + this.rootId);          if (!this.root) return;          this.widgetId = (window.crypto && window.crypto.randomUUID) ? window.crypto.randomUUID() : 'widget-' + Date.now() + '-' + Math.random().toString(36).slice(2);          this.grid = this.root.querySelector('#tg-df-grid');          this.tagsContainer = this.root.querySelector('#tg-df-tags-container');          this.categoryFilter = this.root.querySelector('#tg-df-category-filter');          this.categoryFilterWrapper = this.root.querySelector('#tg-df-category-filter-wrapper');          this.searchInput = this.root.querySelector('.tg-df-search-input');          this.autocompleteDropdown = this.root.querySelector('#tg-df-autocomplete');          this.sortSelect = this.root.querySelector('.tg-df-sort-select');          this.searchBtn = this.root.querySelector('.tg-df-search-btn');                    this.settingsToggle = this.root.querySelector('#tg-df-settings-toggle');          this.settingsPanel = this.root.querySelector('#tg-df-settings-panel');          this.settingsBackdrop = this.root.querySelector('#tg-df-settings-backdrop');          this.regionSelect = this.root.querySelector('#tg-df-region-select');          this.retailerSelect = this.root.querySelector('#tg-df-retailer-select');          this.offerTypeSelect = this.root.querySelector('#tg-df-offer-type-select');          this.viewModeSelect = this.root.querySelector('#tg-df-view-mode-select');          this.rowsSelect = this.root.querySelector('#tg-df-rows-select');          this.dealModeToggle = this.root.querySelector('#tg-df-deal-mode');          this.editorModeToggle = this.root.querySelector('#tg-df-editor-mode');          this.priceFilter = this.root.querySelector('#tg-df-price-filter');          this.discountFilter = this.root.querySelector('#tg-df-discount-filter');                    this.editorBar = this.root.querySelector('#tg-df-editor-bar');          this.editorSelectedCount = this.root.querySelector('#tg-df-selected-count');          this.editorCopyBtn = this.root.querySelector('#tg-df-editor-copy');          this.editorClearBtn = this.root.querySelector('#tg-df-editor-clear');                    this.apiUrl = 'https://search-api.fie.future.net.uk/widget.php';          this.deals = [];          this.displayLimit = 12;          this.airedaleArticles = null;          this.airedaleTags = [];          this.airedaleTagCounts = {};          this.activeDealTag = null;          this.selectedBrands = [];          this.currentQuery = '';          this.editorMode = this.hostContainer ? this.hostContainer.hasAttribute('data-editor-mode') : false;          this.viewModeOverride = this.hostContainer ? this.hostContainer.getAttribute('data-view-mode') : null;          this.selectedDeals = new Map();                    this.brandFilterWrapper = this.root.querySelector('#tg-df-brand-filter-wrapper');          this.brandTrigger = this.root.querySelector('#tg-df-brand-trigger');          this.brandDropdown = this.root.querySelector('#tg-df-brand-dropdown');                    this.customPriceWrapper = this.root.querySelector('#tg-df-custom-price-wrapper');          this.customPriceMin = this.root.querySelector('#tg-df-custom-price-min');          this.customPriceMax = this.root.querySelector('#tg-df-custom-price-max');          this.legacyPriceWrapper = this.root.querySelector('#tg-df-legacy-price-wrapper');          this.discountFilterWrapper = this.root.querySelector('#tg-df-discount-filter-wrapper');          this.initResizeObserver();          this.init();        }        getViewMode() {          console.log("DEBUG getViewMode -> override:", this.viewModeOverride, "editorMode:", this.editorMode);          if (this.viewModeOverride && (!this.editorMode || !this.viewModeSelect)) {            return this.viewModeOverride;          }          return (this.viewModeSelect && this.viewModeSelect.value) ? this.viewModeSelect.value : (this.viewModeOverride || 'auto');        }        applyLayoutMode() {          if (!this.grid) return;          const mode = this.getViewMode();          console.log("[DEBUG] applyLayoutMode CALLED! mode=", mode);          this.grid.classList.remove('layout-row', 'layout-grid', 'tg-df-grid-auto', 'carousel-compact', 'layout-replica-1', 'layout-replica-2');                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          const showHeaderDetails = params.get('show_header_details') !== 'false';          const carouselHost = this.root.querySelector('#tg-df-carousel-host');          const controlsDiv = this.root.querySelector('#tg-df-controls');          const topBarDiv = this.root.querySelector('#tg-df-top-bar');          const headerElement = this.root.querySelector('#tg-df-savings-squad-header');          if (headerElement) {             headerElement.style.display = (mode === 'savings_squad' && showHeaderDetails) ? 'block' : 'none';          }          if (mode === 'carousel') {             this.grid.classList.add('carousel-compact');             if (carouselHost) carouselHost.style.display = 'block';             if (controlsDiv) controlsDiv.style.display = 'none';             if (topBarDiv) topBarDiv.style.display = 'none';             if (this.root.classList.contains('tg-df-container')) {               this.root.classList.add('is-carousel');             }          } else {             if (carouselHost) carouselHost.style.display = 'none';             if (controlsDiv) controlsDiv.style.display = 'flex';             if (topBarDiv) topBarDiv.style.display = 'block';             if (this.root.classList.contains('tg-df-container')) {               this.root.classList.remove('is-carousel');             }          }          if (mode === 'grid') {            this.grid.classList.add('layout-grid');          } else if (mode === 'row') {            this.grid.classList.add('layout-row');          } else if (mode === 'savings_squad') {            this.grid.classList.add('tg-df-grid-auto', 'savings-squad-cards');          } else if (mode !== 'carousel') {            this.grid.classList.add('tg-df-grid-auto');          }                    const settingsWrapper = this.root.querySelector('.tg-df-settings-wrapper');          if (settingsWrapper) {            settingsWrapper.style.display = mode === 'auto' ? 'none' : 'block';          }          if (this.customPriceWrapper) {             this.customPriceWrapper.style.display = mode === 'auto' ? 'flex' : 'none';          }          if (this.legacyPriceWrapper) {             this.legacyPriceWrapper.style.display = mode === 'auto' ? 'none' : 'flex';          }          if (this.discountFilterWrapper) {             this.discountFilterWrapper.style.display = mode === 'auto' ? 'none' : 'flex';          }        }        initResizeObserver() {          try {            if (window.parent === window) return;          } catch (e) {            // cross origin frame check threw          }          const emitHeight = () => {            try {              const height = document.documentElement.scrollHeight || document.body.scrollHeight;              const msg = { type: 'embed-size', height: height };              if (window.parent && window.parent !== window) {                window.parent.postMessage(msg, '*');                window.parent.postMessage(JSON.stringify({ ...msg, sentinel: 'amp' }), '*');              }            } catch (e) {}          };                    if (window.ResizeObserver) {            try {              const ro = new ResizeObserver(() => emitHeight());              ro.observe(document.body);              if (this.root) ro.observe(this.root);            } catch(e){ console.warn(e); }          }          window.addEventListener('resize', emitHeight);          setTimeout(emitHeight, 300);        }        initCountdown() {          this.cdWrapper = this.root.querySelector('#tg-df-countdown-wrapper');                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          this.showCountdown = params.get('show_countdown') === 'true';          const showHeaderDetails = params.get('show_header_details') !== 'false';          const eyebrow = this.root.querySelector('.tg-df-carousel-box-eyebrow');          const title = this.root.querySelector('.tg-df-carousel-box-title');          const subtitle = this.root.querySelector('.tg-df-carousel-box-subtitle');          if (!showHeaderDetails) {            let containerElement = this.root.classList.contains('tg-df-container') ? this.root : this.root.querySelector('.tg-df-container');            if (containerElement) containerElement.classList.add('hide-header-details');            if (eyebrow) eyebrow.style.display = 'none';            if (title) title.style.display = 'none';            if (subtitle) subtitle.style.display = 'none';          }          if (!this.cdWrapper) return;          this.cdTitle = this.root.querySelector('#tg-df-countdown-title');          this.cdDays = this.root.querySelector('#tg-df-cd-days');          this.cdHrs = this.root.querySelector('#tg-df-cd-hrs');          this.cdMin = this.root.querySelector('#tg-df-cd-min');          this.cdSec = this.root.querySelector('#tg-df-cd-sec');          this.updateCountdown();          this.cdInterval = setInterval(() => this.updateCountdown(), 1000);        }        updateCountdown() {          if (!this.cdWrapper) return;          if (!this.showCountdown) {            this.cdWrapper.style.display = 'none';            return;          }          const area = this.getAreaCode();          let offset = '-04:00';          if (['DE', 'FR', 'IT', 'ES', 'NL'].includes(area)) {             offset = '+02:00';          } else if (['GB', 'IE', 'UK'].includes(area)) {             offset = '+01:00';          }          const startTime = new Date('2026-06-23T00:00:00' + offset).getTime();          const endTime = new Date('2026-06-26T00:00:00' + offset).getTime();          const now = Date.now();          let targetTime = 0;          if (now < startTime) {             targetTime = startTime;             if (this.cdTitle) this.cdTitle.textContent = 'Prime Day starts in';             this.cdWrapper.style.display = 'flex';          } else if (now < endTime) {             targetTime = endTime;             if (this.cdTitle) this.cdTitle.textContent = 'Prime Day ends in';             this.cdWrapper.style.display = 'flex';          } else {             this.cdWrapper.style.display = 'none';             if (this.cdInterval) clearInterval(this.cdInterval);             return;          }          const diff = Math.max(0, targetTime - now);          const d = Math.floor(diff / (1000 * 60 * 60 * 24));          const h = Math.floor((diff / (1000 * 60 * 60)) % 24);          const m = Math.floor((diff / 1000 / 60) % 60);          const s = Math.floor((diff / 1000) % 60);          if (this.cdDays) this.cdDays.textContent = d;          if (this.cdHrs) this.cdHrs.textContent = h;          if (this.cdMin) this.cdMin.textContent = m;          if (this.cdSec) this.cdSec.textContent = s;        }        init() {          this.initCountdown();          try {            initAnalytics();          } catch (e) {            console.warn('Deals Widget Analytics Error:', e);          }                    this.bindEvents();                    let initialQuery = '';                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          let initialViewMode = params.get('view_mode');          if (!this.viewModeOverride && initialViewMode) {            this.viewModeOverride = initialViewMode;          }          if (!params.has('search') && !params.has('q') && !params.has('query') && initialViewMode !== 'savings_squad') {             initialQuery = 'Gaming laptops';          }          const website = params.get('website') || 'tomsguide';          this.website = website;          if (website === 'techradar') {            const squadHeader = this.root.querySelector('.tg-df-savings-squad-header');            if (squadHeader) {               const pic = squadHeader.querySelector('picture');               if (pic) pic.style.display = 'none';            }            const style = document.createElement('style');            style.innerHTML = `              .tg-df-container .hawk-affiliate-link-deal-button, .tg-df-container .tg-df-card-cta { background-color: #5DAF08 !important; }              .tg-df-container .hawk-affiliate-link-deal-button:hover, .tg-df-container .tg-df-card-cta:hover { background-color: #4a8c06 !important; }            `;            this.root.appendChild(style);          }                    if (this.regionSelect) {            this.regionSelect.value = params.get('region') || 'auto';            this.updatePriceDropdownCurrency();          }                    if (this.retailerSelect && params.has('retailer')) {            this.retailerSelect.value = params.get('retailer');          }                    if (params.has('brands')) {            const b = params.get('brands');            if (b) {              this.selectedBrands = b.split(',');            }          }                    if (this.offerTypeSelect && params.has('offer_type')) {            this.offerTypeSelect.value = params.get('offer_type');          }          if (this.viewModeSelect && params.has('view_mode')) {            this.viewModeSelect.value = params.get('view_mode');          }          if (this.rowsSelect && params.has('rows')) {            this.rowsSelect.value = params.get('rows');          }          if (params.has('price')) {            const priceVal = params.get('price');            if (this.priceFilter) {               // Try assigning it directly to select. If it's not present implicitly ignores               this.priceFilter.value = priceVal;            }            if (priceVal.includes('_')) {               const parts = priceVal.split('_');               if (this.customPriceMin && parts[0]) this.customPriceMin.value = parts[0];               if (this.customPriceMax && parts[1]) this.customPriceMax.value = parts[1];            }          }          if (this.discountFilter && params.has('min_discount_ratio')) {            // Need to convert back from ratio (e.g. 0.8) to select value (e.g. "20")            const ratioStr = params.get('min_discount_ratio');            const ratioFloat = parseFloat(ratioStr);            if (!isNaN(ratioFloat)) {               const percentage = Math.round((1 - ratioFloat) * 100);               this.discountFilter.value = percentage.toString();            }          }          if (this.sortSelect) {            this.sortSelect.value = params.get('sort') || 'date_desc';          }          if (this.dealModeToggle && params.has('deal_mode')) {            this.dealModeToggle.checked = params.get('deal_mode') === 'true' || params.get('deal_mode') === '1';          }          const headerTitleEl = this.root.querySelector('#tg-df-header-title');          const headerSubtitleEl = this.root.querySelector('#tg-df-header-subtitle');          if (params.has('widget_title') && headerTitleEl) {             headerTitleEl.textContent = params.get('widget_title');          }          if (params.has('widget_subtitle') && headerSubtitleEl) {             headerSubtitleEl.textContent = params.get('widget_subtitle');          }                    // Re-apply layout after params have updated control values          this.applyLayoutMode();                    if (params.get('search')) {            initialQuery = params.get('search');          } else if (params.get('q')) {            initialQuery = params.get('q');          } else if (params.get('query')) {            initialQuery = params.get('query');          }                    this.currentQuery = initialQuery;          if (this.searchInput) {            if (this.getViewMode() === 'savings_squad') {              this.searchInput.value = '';            } else {              this.searchInput.value = this.currentQuery;            }          }                    if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {            this.fetchDeals(this.currentQuery);          } else {            this.render();          }        }        updatePriceDropdownCurrency() {          if (!this.priceFilter || !this.regionSelect) return;          const currencySymbols = {            'US': '$',            'GB': '£',            'CA': '$CA',            'AU': '$AU',            'DE': '€',            'FR': '€',            'IT': '€',          };          const area = this.getAreaCode();          const cur = currencySymbols[area || 'US'] || '$';                    const options = this.priceFilter.options;          for (let i = 0; i < options.length; i++) {            const opt = options[i];            if (opt.value === 'all') {              opt.innerText = 'All Prices';            } else if (opt.value === 'under50') {              opt.innerText = `Under ${cur}50`;            } else if (opt.value === '50_100') {              opt.innerText = `${cur}50 - ${cur}100`;            } else if (opt.value === '100_200') {              opt.innerText = `${cur}100 - ${cur}200`;            } else if (opt.value === '200_500') {              opt.innerText = `${cur}200 - ${cur}500`;            } else if (opt.value === 'over500') {              opt.innerText = `Over ${cur}500`;            }          }        }        populateBrandDropdown(values) {          if (!this.brandDropdown || !this.brandFilterWrapper) return;          this.brandFilterWrapper.style.display = 'flex'; // show the wrapper                    let html = '';          const allChecked = this.selectedBrands.length === 0 ? 'checked' : '';          const _div = '<' + '/div>';          const _span = '<' + '/span>';          html += `\x3Cdiv class="tg-df-ms-option">\x3Cinput type="checkbox" value="" ${allChecked} class="tg-df-brand-chk"> Any Brand${_div}`;                    values.forEach(v => {             if (!v.formatted_value || v.formatted_value === 'Any Brand') return;             const isChecked = this.selectedBrands.includes(v.formatted_value) ? 'checked' : '';             html += `\x3Cdiv class="tg-df-ms-option">\x3Cinput type="checkbox" value="${this.escapeHTML(v.formatted_value)}" ${isChecked} class="tg-df-brand-chk"> ${this.escapeHTML(v.formatted_value)} \x3Cspan style="color:var(--tg-df-text-muted);font-size:12px">(${v.count || 0})${_span}${_div}`;          });                    this.brandDropdown.innerHTML = html;                    // Re-bind listeners          const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');          chks.forEach(chk => {            chk.addEventListener('change', (e) => {              const val = e.target.value;              if (val === '') {                this.selectedBrands = [];              } else {                if (e.target.checked) {                   if (!this.selectedBrands.includes(val)) this.selectedBrands.push(val);                } else {                   this.selectedBrands = this.selectedBrands.filter(b => b !== val);                }              }                            if (this.selectedBrands.length === 0) {                 this.brandTrigger.innerText = 'Any Brand';              } else if (this.selectedBrands.length === 1) {                 this.brandTrigger.innerText = this.selectedBrands[0];              } else {                 this.brandTrigger.innerText = `${this.selectedBrands.length} Brands selected`;              }                            // Only call API if changed from UI interactions              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                 this.updateURLParams();                 this.fetchDeals(this.currentQuery);              }            });          });                    // Update button text on load          if (this.selectedBrands.length === 0) {             this.brandTrigger.innerText = 'Any Brand';          } else if (this.selectedBrands.length === 1) {             this.brandTrigger.innerText = this.selectedBrands[0];          } else {             this.brandTrigger.innerText = `${this.selectedBrands.length} Brands selected`;          }        }        updateURLParams() {          const url = new URL(window.location);          if (this.currentQuery && this.currentQuery !== 'Gaming laptops') {            url.searchParams.set('q', this.currentQuery);          } else {            url.searchParams.delete('q');            url.searchParams.delete('search');            url.searchParams.delete('query');          }                    if (this.regionSelect && this.regionSelect.value !== 'auto') {            url.searchParams.set('region', this.regionSelect.value);          } else {            url.searchParams.delete('region');          }                    if (this.retailerSelect && this.retailerSelect.value) {            url.searchParams.set('retailer', this.retailerSelect.value);          } else {            url.searchParams.delete('retailer');          }                    if (this.selectedBrands && this.selectedBrands.length > 0) {            url.searchParams.set('brands', this.selectedBrands.join(','));          } else {            url.searchParams.delete('brands');          }                    if (this.offerTypeSelect && this.offerTypeSelect.value) {            url.searchParams.set('offer_type', this.offerTypeSelect.value);          } else {            url.searchParams.delete('offer_type');          }                    if (this.viewModeSelect && this.viewModeSelect.value !== 'auto') {            url.searchParams.set('view_mode', this.viewModeSelect.value);          } else {            url.searchParams.delete('view_mode');          }                    if (this.rowsSelect && this.rowsSelect.value !== '12') {            url.searchParams.set('rows', this.rowsSelect.value);          } else {            url.searchParams.delete('rows');          }                    const min = this.customPriceMin ? this.customPriceMin.value : '';          const max = this.customPriceMax ? this.customPriceMax.value : '';          if (min || max) {             url.searchParams.set('price', `${min}_${max}`);          } else if (this.priceFilter && this.priceFilter.value !== 'all') {            url.searchParams.set('price', this.priceFilter.value);          } else {            url.searchParams.delete('price');          }                    if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {            const v = parseInt(this.discountFilter.value);            if (!isNaN(v) && v > 0) {               const ratio = (100 - v) / 100;               url.searchParams.set('min_discount_ratio', ratio.toString());            }          } else {            url.searchParams.delete('min_discount_ratio');          }                    if (this.sortSelect && this.sortSelect.value !== 'date_desc') {            url.searchParams.set('sort', this.sortSelect.value);          } else {            url.searchParams.delete('sort');          }                    if (this.dealModeToggle && this.dealModeToggle.checked) {            url.searchParams.set('deal_mode', 'true');          } else {            url.searchParams.delete('deal_mode');          }                    window.history.replaceState({}, '', url);        }        bindEvents() {          const handleFiltersScroll = () => {            const filters = this.root.querySelector('.tg-df-filters');            const leftBtn = this.root.querySelector('.tg-df-scroll-btn.left');            const rightBtn = this.root.querySelector('.tg-df-scroll-btn.right');            if (filters && leftBtn && rightBtn) {              const { scrollLeft, scrollWidth, clientWidth } = filters;              leftBtn.style.display = scrollLeft > 0 ? 'flex' : 'none';              rightBtn.style.display = Math.ceil(scrollLeft + clientWidth) < scrollWidth - 5 ? 'flex' : 'none';            }          };          const filters = this.root.querySelector('.tg-df-filters');          if (filters) {            filters.addEventListener('scroll', handleFiltersScroll);            window.addEventListener('resize', handleFiltersScroll);            setTimeout(handleFiltersScroll, 100);                        // Also call after rendering dropdowns            const origRenderCategories = this.renderCategories;            if (origRenderCategories) {               this.renderCategories = (...args) => {                 origRenderCategories.apply(this, args);                 setTimeout(handleFiltersScroll, 50);               };            }          }                const roundels = this.root.querySelectorAll('.tg-df-carousel-cat');          roundels.forEach(r => {             r.addEventListener('click', () => {                const q = r.getAttribute('data-query');                const pr = r.getAttribute('data-pr');                if (typeof trackHawkEvent !== 'undefined') {                     trackHawkEvent({                         clickType: "CC",                         widgetId: this.widgetId,                         productCategoryName: "deals",                         zeroBasedProductIndexOrNull: null,                         totalDealsOrProducts: null,                         areaClicked: "Category Roundel",                         revenueId: this.revenueId,                         isoCurrencyCode: typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD',                         queryName: q,                         widgetTypeName: this.widgetTypeName                     });                 }                this.currentQuery = q;                const label = this.root.querySelector('#tg-df-carousel-title-label');                if (label) label.textContent = 'Best ' + q;                if (this.priceFilter) this.priceFilter.value = pr || 'all';                if (this.discountFilter) this.discountFilter.value = '5';                if (this.searchInput) this.searchInput.value = q;                                roundels.forEach(ro => ro.classList.remove('active'));                r.classList.add('active');                this.fetchDeals(this.currentQuery);             });          });          const discBtns = this.root.querySelectorAll('.tg-df-carousel-filter-btn');          discBtns.forEach(b => {             b.addEventListener('click', () => {                const d = b.getAttribute('data-d');                const pr = b.getAttribute('data-pr');                const ot = b.getAttribute('data-ot');                let label = b.innerText ? b.innerText.trim() : '';                let filterType = 'unknown';                let filterVal = 'unknown';                if (d !== null) { filterType = 'discount'; filterVal = d; }                else if (pr !== null) { filterType = 'price'; filterVal = pr; }                else if (ot !== null) { filterType = 'offertype'; filterVal = ot; }                if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: `filter-${filterType}-${filterVal}`, name: 'Filter Button', label: label });                                if (d !== null) {                   if (this.discountFilter) this.discountFilter.value = this.discountFilter.value === d ? '0' : d;                } else if (pr !== null) {                   if (this.priceFilter) this.priceFilter.value = this.priceFilter.value === pr ? 'all' : pr;                } else if (ot !== null) {                   if (this.offerTypeSelect) this.offerTypeSelect.value = this.offerTypeSelect.value === ot ? 'all' : ot;                } else {                   if (this.discountFilter) this.discountFilter.value = '0';                   if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.offerTypeSelect) this.offerTypeSelect.value = 'all';                }                if (d === null && pr === null && ot === null && b.getAttribute("data-type") !== "custom") {                   discBtns.forEach(ro => ro.classList.remove('active'));                   b.classList.add('active');                } else if (b.getAttribute("data-type") !== "custom") {                   // Only operate on hardcoded buttons (those without data-type)                   discBtns.forEach(ro => {                      if (!ro.getAttribute('data-d') && !ro.getAttribute('data-pr') && !ro.getAttribute('data-ot') && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active');                   });                                      let makeActive = true;                   if (d !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-d') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   } else if (pr !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-pr') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   } else if (ot !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-ot') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   }                                      if (makeActive) b.classList.add('active');                                      // Check if anything is active, if not activate "All"                   let anyActive = false;                   discBtns.forEach(ro => { if (ro.classList.contains('active') && ro.getAttribute('data-type') !== 'custom') anyActive = true; });                   if (!anyActive) {                       discBtns.forEach(ro => { if (!ro.getAttribute('data-d') && !ro.getAttribute('data-pr') && !ro.getAttribute('data-ot') && ro.getAttribute('data-type') !== 'custom') ro.classList.add('active'); });                   }                }                                this.fetchDeals(this.currentQuery);             });          });          if (this.brandTrigger && this.brandDropdown) {            this.brandTrigger.addEventListener('click', () => {              this.brandDropdown.classList.toggle('active');            });            document.addEventListener('click', (e) => {              if (this.brandFilterWrapper && !e.composedPath().includes(this.brandFilterWrapper)) {                this.brandDropdown.classList.remove('active');              }            });          }          const showAutocomplete = () => {             if (this.getViewMode() !== 'savings_squad' || !this.autocompleteDropdown || !this.airedaleTags) return;                          let terms = this.airedaleTags;             if (this.airedaleBrands) {                terms = terms.concat(this.airedaleBrands.map(b => b.formatted_value));             }             terms = [...new Set(terms)];                          const query = this.searchInput.value.trim();             let matches = [];             if (query.length > 0) {                 matches = terms.filter(t => t.toLowerCase().includes(query.toLowerCase()) && t.toLowerCase() !== query.toLowerCase());             } else {                 matches = terms;             }                          if (matches.length > 0) {                 this.autocompleteDropdown.innerHTML = matches.map(m => `\x3Cdiv class="tg-df-autocomplete-item" data-tag="${this.escapeHTML(m)}">${this.escapeHTML(m)}<` + `/div>`).join('');                 this.autocompleteDropdown.classList.add('active');             } else {                 this.autocompleteDropdown.classList.remove('active');             }          };          let debounceTimer;          if(this.searchInput) {            this.searchInput.addEventListener('focus', showAutocomplete);            this.searchInput.addEventListener('input', (e) => {              clearTimeout(debounceTimer);              const query = e.target.value.trim();              this.currentQuery = query;              showAutocomplete();              debounceTimer = setTimeout(() => {                this.updateURLParams();                if (query.length > 2) {                  this.fetchDeals(query);                } else if (query.length === 0) {                  if (this.getViewMode() === 'savings_squad') {                    this.activeDealTag = null;                    this.currentQuery = '';                    if (this.categoryFilter) this.categoryFilter.value = 'all';                    this.fetchDeals('');                  } else {                    this.deals = [];                    this.render();                  }                }              }, 400);            });            this.searchInput.addEventListener('keypress', (e) => {              if (e.key === 'Enter') {                if (this.autocompleteDropdown) this.autocompleteDropdown.classList.remove('active');                clearTimeout(debounceTimer);                const query = e.target.value.trim();                this.currentQuery = query;                                let isTag = false;                if (this.airedaleTags && this.airedaleTags.includes(query)) isTag = true;                if (this.airedaleBrands && this.airedaleBrands.some(b => b.formatted_value === query)) isTag = true;                this.activeDealTag = isTag ? query : null;                                trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });                this.updateURLParams();                if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                   if (query.length === 0 && this.getViewMode() === 'savings_squad') {                       if (this.categoryFilter) this.categoryFilter.value = 'all';                   }                   this.fetchDeals(query);                }              }            });          }          if (this.autocompleteDropdown) {             this.autocompleteDropdown.addEventListener('click', (e) => {                const item = e.target.closest('.tg-df-autocomplete-item');                if (item) {                   const tag = item.getAttribute('data-tag');                   this.currentQuery = tag;                   if (this.searchInput) this.searchInput.value = tag;                   this.activeDealTag = tag;                   if (this.categoryFilter && this.airedaleTags.includes(tag)) {                       this.categoryFilter.value = tag;                   }                   this.autocompleteDropdown.classList.remove('active');                   this.updateURLParams();                   this.fetchDeals(tag);                }             });             document.addEventListener('click', (e) => {               if (this.autocompleteDropdown && this.searchInput && !e.composedPath().includes(this.searchInput) && !e.composedPath().includes(this.autocompleteDropdown)) {                 this.autocompleteDropdown.classList.remove('active');               }             });          }          if (this.searchBtn) {            this.searchBtn.addEventListener('click', () => {              if (this.autocompleteDropdown) this.autocompleteDropdown.classList.remove('active');              clearTimeout(debounceTimer);              const query = this.searchInput.value.trim();              trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });                            let isTag = false;              if (this.airedaleTags && this.airedaleTags.includes(query)) isTag = true;              if (this.airedaleBrands && this.airedaleBrands.some(b => b.formatted_value === query)) isTag = true;              this.activeDealTag = isTag ? query : null;                            this.currentQuery = query;              this.updateURLParams();              if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                 if (query.length === 0 && this.getViewMode() === 'savings_squad') {                     if (this.categoryFilter) this.categoryFilter.value = 'all';                 }                 this.fetchDeals(query);              }            });          }          if(this.sortSelect && this.sortSelect.querySelector('option[value="date_desc"]') === null) {              const option = document.createElement('option');              option.value = "date_desc";              option.text = "Newest First";              this.sortSelect.insertBefore(option, this.sortSelect.firstChild);          }          if(this.sortSelect) this.sortSelect.addEventListener('change', () => {            trackElementInteraction({ id: `sort-option-${this.sortSelect.value}`, name: 'Sort', label: `Sort: ${this.sortSelect.options[this.sortSelect.selectedIndex].text}` });            this.updateURLParams();            if (this.deals.length > 0) {              this.sortData();              this.render();            }          });                    const priceFilter = this.root.querySelector('#tg-df-price-filter');          if (priceFilter) {            this.priceFilter = priceFilter;            this.priceFilter.addEventListener('change', () => {              trackElementInteraction({ id: `filter-price-${this.priceFilter.value}`, name: 'Price', label: this.priceFilter.options[this.priceFilter.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }            });          }          const updateCustomPrice = () => {             this.updateURLParams();             if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);             } else {                this.render();             }          };          if (this.customPriceMin) {             this.customPriceMin.addEventListener('change', updateCustomPrice);             this.customPriceMin.addEventListener('keypress', (e) => {                if (e.key === 'Enter') updateCustomPrice();             });          }          if (this.customPriceMax) {             this.customPriceMax.addEventListener('change', updateCustomPrice);             this.customPriceMax.addEventListener('keypress', (e) => {                if (e.key === 'Enter') updateCustomPrice();             });          }          const discountFilter = this.root.querySelector('#tg-df-discount-filter');          if (discountFilter) {            this.discountFilter = discountFilter;            this.discountFilter.addEventListener('change', () => {              trackElementInteraction({ id: `filter-discount-${this.discountFilter.value}`, name: 'Discount', label: this.discountFilter.options[this.discountFilter.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }            });          }          if (this.categoryFilter) {            this.categoryFilter.addEventListener('change', (e) => {               const val = e.target.value === 'all' ? null : e.target.value;               this.activeDealTag = val;               if (val) {                 this.currentQuery = val;               } else {                 if (this.searchInput && this.currentQuery === document.querySelector('#tg-df-brand-trigger')?.getAttribute('data-active-brand')) {                     // don't clear current query if a brand is selected                 } else if (this.searchInput) {                     this.currentQuery = '';                     this.searchInput.value = '';                 }               }               this.fetchSavingsSquad();            });          }                    if (this.settingsToggle) {            this.settingsToggle.addEventListener('click', () => {              const o = this.settingsPanel.classList.toggle('active');              this.settingsBackdrop.classList.toggle('active');              if (o) trackElementInteraction({ id: 'filter-open', name: 'Filters', label: 'Open filters' });            });          }                    if (this.settingsBackdrop) {            this.settingsBackdrop.addEventListener('click', () => {              this.settingsPanel.classList.remove('active');              this.settingsBackdrop.classList.remove('active');            });          }                    if (this.regionSelect) {            this.regionSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-region-${this.regionSelect.value}`, name: 'Region', label: this.regionSelect.options[this.regionSelect.selectedIndex].text });              this.updateURLParams();              this.updatePriceDropdownCurrency();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.retailerSelect) {            this.retailerSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-merchant-${this.retailerSelect.value}`, name: 'Retailer', label: this.retailerSelect.options[this.retailerSelect.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.offerTypeSelect) {            this.offerTypeSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-offertype-${this.offerTypeSelect.value}`, name: 'Offer Type', label: this.offerTypeSelect.options[this.offerTypeSelect.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.viewModeSelect) {            this._prevViewMode = this.viewModeSelect.value;            this.viewModeSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-viewmode-${this.viewModeSelect.value}`, name: 'View Mode', label: this.viewModeSelect.options[this.viewModeSelect.selectedIndex].text });                            // Reset all active toggles and filters to prevent config carry-over              this.selectedBrands = [];              if (this.brandTrigger) this.brandTrigger.innerText = 'Select Brands';              if (this.brandDropdown) {                const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                chks.forEach(chk => { chk.checked = false; });              }              if (this.priceFilter) this.priceFilter.value = 'all';              if (this.customPriceMin) this.customPriceMin.value = '';              if (this.customPriceMax) this.customPriceMax.value = '';              if (this.sortSelect) this.sortSelect.value = 'date_desc';              if (this.discountFilter) this.discountFilter.value = '0';              if (this.retailerSelect) this.retailerSelect.value = '';              if (this.offerTypeSelect) this.offerTypeSelect.value = '';              if (this.rowsSelect) this.rowsSelect.value = '12';              if (this.categoryFilter) this.categoryFilter.value = 'all';              this.activeDealTag = null;              this.updateURLParams();              this.applyLayoutMode();                            if (this.getViewMode() === 'savings_squad' || this._prevViewMode === 'savings_squad') {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }              this._prevViewMode = this.viewModeSelect.value;            });          }                    if (this.rowsSelect) {            this.rowsSelect.addEventListener('change', () => {              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.dealModeToggle) {            this.dealModeToggle.addEventListener('change', () => {              this.updateURLParams();              this.render();            });          }          if (this.editorModeToggle) {             this.editorModeToggle.addEventListener('change', (e) => {                this.editorMode = e.target.checked;                this.render();                this.updateFloatingCopyBar();             });          }          if (this.editorCopyBtn) {             this.editorCopyBtn.addEventListener('click', () => {                this.copySelectedDealsToCMS();             });          }          if (this.editorClearBtn) {             this.editorClearBtn.addEventListener('click', () => {                this.selectedDeals.clear();                this.render();                this.updateFloatingCopyBar();             });          }          if (this.grid) {            this.grid.addEventListener('change', (e) => {               if (e.target.classList.contains('tg-df-deal-checkbox')) {                  const dealId = e.target.getAttribute('data-id');                  if (e.target.checked) {                     const dealObj = this.deals.find(d => d.id === dealId);                     if (dealObj) this.selectedDeals.set(dealId, dealObj);                  } else {                     this.selectedDeals.delete(dealId);                  }                  this.updateFloatingCopyBar();               }            });            this.grid.addEventListener('click', (e) => {              const dealCard = e.target.closest('[data-action="deal-click"]');              const similarCard = e.target.closest('[data-action="view-similar-click"]');              const cardLink = dealCard || similarCard;              if (cardLink) {                const productName = cardLink.getAttribute('data-product-name');                const merchantName = cardLink.getAttribute('data-merchant-name');                const productId = cardLink.getAttribute('data-analytics-id');                const price = parseFloat(cardLink.getAttribute('data-price')) || null;                const prevPriceStr = cardLink.getAttribute('data-previous-price');                const previousPrice = prevPriceStr ? parseFloat(prevPriceStr) : null;                const originalLink = cardLink.getAttribute('data-original-link');                const finalHref = cardLink.href || cardLink.getAttribute('href') || '';                let actualRevenueId = cardLink.getAttribute('data-revenue-id');                const revMatch = finalHref.match(/(?:subId1|xcust|clickref|ascsubtag)=[^&]*?(\d{18,20})(?:&|$)/i);                if (revMatch && revMatch[1]) {                  actualRevenueId = revMatch[1];                }                const rewrittenLink = finalHref;                const revenueId = actualRevenueId;                const index = parseInt(cardLink.getAttribute('data-index'), 10) || 0;                const inStock = cardLink.getAttribute('data-in-stock') === 'true';                const totalText = cardLink.getAttribute('data-total');                const totalDeals = parseInt(totalText, 10) || 0;                const productCategoryName = 'deals';                const trackingParams = {                  widgetId: this.widgetId,                  productCategoryName: productCategoryName,                  product: {                    modelId: cardLink.getAttribute('data-model-id') || null,                    matchId: cardLink.getAttribute('data-match-id') || null,                    brand: cardLink.getAttribute('data-model-brand') || null,                    parent: cardLink.getAttribute('data-model-parent') || null,                    name: productName,                    price: price,                    previousPrice: previousPrice,                    link: rewrittenLink,                    originalLink: originalLink,                    inStock: inStock                  },                  zeroBasedProductIndexOrNull: index,                  totalDealsOrProducts: totalDeals,                   merchant: {                    id: cardLink.getAttribute('data-merchant-id') || null,                    network: cardLink.getAttribute('data-merchant-network') || null,                    url: cardLink.getAttribute('data-merchant-url') || null,                    name: merchantName                  },                  revenueId: revenueId,                  widgetTypeName: this.widgetTypeName,                  isoCurrencyCode: normalizeCurrency(this.escapeHTML(cardLink.getAttribute('data-currency') || '$'))                };                if (dealCard) {                  trackDealClick(trackingParams);                } else {                  trackViewSimilarClick(trackingParams);                }              }              const couponsBtn = e.target.closest('[data-action="coupons-click"]');              if (couponsBtn) {                trackElementInteraction({                  id: 'product-card-show-coupons',                  name: 'Coupons',                  label: `Product card coupons: ${couponsBtn.getAttribute('data-merchant')}`                });              }            });          }          this.setupScrollListeners();        }        setupScrollListeners() {          const containers = [             this.root.querySelector('.tg-df-carousel-roundels'),             this.root.querySelector('.tg-df-carousel-filters-wrap'),             this.root.querySelector('#tg-df-grid')          ];                    containers.forEach(container => {             if (!container) return;                          const checkScroll = () => {                if (!container.parentElement) return;                const leftBtn = container.parentElement.querySelector('.tg-df-carousel-scroll-left');                const rightBtn = container.parentElement.querySelector('.tg-df-carousel-scroll-right');                                if (leftBtn) {                   if (container.scrollLeft <= 5) leftBtn.style.display = 'none';                   else leftBtn.style.display = 'flex';                }                                if (rightBtn) {                   if (container.scrollWidth <= container.clientWidth) {                       rightBtn.style.display = 'none';                   } else if (container.scrollLeft >= container.scrollWidth - container.clientWidth - 5) {                       rightBtn.style.display = 'none';                   } else {                       rightBtn.style.display = 'flex';                   }                }             };                          container.addEventListener('scroll', checkScroll);             checkScroll();                          window.addEventListener('resize', checkScroll);                          const observer = new MutationObserver(checkScroll);             observer.observe(container, { childList: true, subtree: true, characterData: false });          });        }        get widgetTypeName() {          const mode = this.viewModeSelect ? this.viewModeSelect.value : (this.viewModeOverride || 'auto');          switch(mode) {              case 'carousel': return 'Carousel';              case 'savings_squad': return 'Savings Squad';              case 'grid': return 'Grid';              case 'row': return 'Row';              default: return 'Auto Collection';          }        }        getRowsLimit() {          if (this.rowsSelect && this.rowsSelect.value) return parseInt(this.rowsSelect.value, 10);          let configSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {             configSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {             configSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(configSource);          if (params.has('rows')) return parseInt(params.get('rows'), 10) || 12;          return 12;        }        getAreaCode() {          if (this.regionSelect && this.regionSelect.value) {            if (this.regionSelect.value === 'auto') return null;            return this.regionSelect.value;          }          let area = null;          try {            const locale = window.navigator.language || window.navigator.userLanguage;            if (locale && locale.includes('-')) {              area = locale.split('-')[1].toUpperCase();            } else if (locale && locale.length === 2) {              if (locale.toUpperCase() === 'EN') { area = 'US'; }              else { area = locale.toUpperCase(); }            }          } catch (e) { /* Ignore */ }                    // Map to known valid options or fallback to US          const valid = ['US', 'GB', 'CA', 'AU', 'DE', 'FR', 'IT'];          if (area === 'UK') area = 'GB';          if (valid.includes(area)) {             return area;          }          return 'US';        }        async fetchDeals(query) {          this.showLoading();          this.deals = [];          this.displayLimit = this.getRowsLimit();                    try {            console.log("getViewMode returns:", this.getViewMode());            if (this.getViewMode() === 'savings_squad') {               await this.fetchSavingsSquad();            } else {               if (this.isBroadQuery(query)) {                 await this.fetchAdviserDeals(query);               } else {                 await this.fetchHawkDeals(query);                 if (this.deals.length === 0) {                   await this.fetchAdviserDeals(query);                 }               }            }          } catch (error) {            console.warn("[Tom's Guide Widget] Fetch error:", error);            this.showError();          }        }        async fetchSavingsSquad() {          let topArticles = this.airedaleArticles;          if (!topArticles) {            const siteParam = this.website || 'tomsguide';            const airedaleUrl = `https://airedale.futurecdn.net/feeds/feed_1781000519267.json?site=${siteParam}&articleType=deals&limit=50`;            let res;            try {               res = await fetch(airedaleUrl);            } catch(e) {               try { res = await fetch(`https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=${siteParam}&articleType=deals&limit=50`); } catch (err) { console.warn("Fallback fetch failed", err); return; }            }            if (!res.ok) throw new Error('Airedale API Error');            const articles = await res.json();            topArticles = Array.isArray(articles) ? articles.slice(0, 50) : ((articles.data && Array.isArray(articles.data)) ? articles.data.slice(0, 50) : []);            this.airedaleArticles = topArticles;                        let tagCounts = {};            topArticles.forEach((a) => {              let articleTags = new Set();              if (a.articlecategory && Array.isArray(a.articlecategory)) {                 a.articlecategory.forEach((t) => articleTags.add(t));              }              articleTags.forEach(t => {                 tagCounts[t] = (tagCounts[t] || 0) + 1;              });            });                        this.airedaleTags = Object.keys(tagCounts).sort((a, b) => tagCounts[b] - tagCounts[a]);            this.airedaleTagCounts = tagCounts;          }                    let targetArticles = topArticles;          if (!this.activeDealTag && this.currentQuery) {             const tagMatch = this.airedaleTags.find(t => t.toLowerCase() === this.currentQuery.toLowerCase());             if (tagMatch) {                this.activeDealTag = tagMatch;             }          }          if (this.activeDealTag) {             const cleanTag = this.activeDealTag.toLowerCase().replace(/&/g, '').replace(/[^a-z0-9]+/g, '-').replace(/-+/g, '-').replace(/^-|-$/g, '');             const encodedTag = encodeURIComponent(cleanTag);             const siteParam = this.website || 'tomsguide';             const url = `https://airedale.futurecdn.net/feeds/feed_1781000519267.json?site=${siteParam}&articleType=deals&limit=50&articleCategoryHandle=${encodedTag}`;             try {                const res = await fetch(url);                if (res.ok) {                   const articles = await res.json();                   targetArticles = Array.isArray(articles) ? articles.slice(0, 50) : ((articles.data && Array.isArray(articles.data)) ? articles.data.slice(0, 50) : []);                }             } catch(e) {                console.warn("Failed to fetch by activeDealTag", e);             }          }          let extractedDeals = [];          let seenUrls = new Set();                    let overallBrandsCounts = {};                    // First pass: extract ALL brands from topArticles so the dropdown has all options          topArticles.forEach((article) => {             if (!article.articlepage) return;             let pageData = [];             try { pageData = JSON.parse(article.articlepage[0]); } catch(e){ console.warn(e); }             const savingsSquad = pageData.filter((p) => p.type === 'deal' || p.type === 'featured-product');             savingsSquad.forEach((block) => {                const data = block.data || {};                if (data.brand) {                   const cleanBrand = data.brand.replace(/^\d+\.\s*/, '').trim();                   overallBrandsCounts[cleanBrand] = (overallBrandsCounts[cleanBrand] || 0) + 1;                }             });          });          targetArticles.forEach((article) => {             if (!article.articlepage) return;                          let pageData = [];             try {                pageData = JSON.parse(article.articlepage[0]);             } catch(e){ console.warn(e); }                          const savingsSquad = pageData.filter((p) => p.type === 'deal' || p.type === 'featured-product');                          savingsSquad.forEach((block, idx) => {                const data = block.data || {};                const isFeatured = block.type === 'featured-product';                                const link = data.link || {};                const priceObj = data.price || {};                const image = data.image || {};                                if (data.brand) {                   data.brand = data.brand.replace(/^\d+\.\s*/, '').trim();                }                const externalUrl = isFeatured ? data.url : (link.href || null);                let summaryTitle = isFeatured ? (data.name || data.brand) : (data.productName || link.label || article.articlename);                let description = isFeatured ? (data.strapline || '') : (data.text || '');                                if (!isFeatured && !data.productName && data.text) {                   const brSplit = data.text.split(new RegExp('\x3Cbr\\s*\\/?\\x3E', 'i'));                   if (brSplit.length > 1) {                     summaryTitle = brSplit[0].replace(/<[^>]+>/g, '').trim();                     description = brSplit.slice(1).join(' ').replace(/<br\s*\/?>/gi, ' ').replace(/<\/?(p|div)[^>]*>/gi, ' ').replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').trim();                   } else {                     const match = data.text.match(/\x3Cstrong>(.*?)<\/strong>/);                     if (match) {                       summaryTitle = match[1].replace(/<[^>]+>/g, '').trim();                       if (summaryTitle.endsWith(':')) summaryTitle = summaryTitle.slice(0, -1);                     }                   }                }                                let imageUrl = isFeatured ? image.mos : (image.src || null);                if (imageUrl && imageUrl.startsWith('//')) imageUrl = 'https:' + imageUrl;                                description = this.decodeHTML(description.replace(/<br\s*\/?>/gi, ' ').replace(/<\/?(p|div)[^>]*>/gi, ' ').replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').replace(/View Deal$/i, '').trim());                summaryTitle = this.decodeHTML(summaryTitle);                                let merchantName = data.retailer || '';                if (!merchantName && externalUrl) {                   try {                     merchantName = new URL(externalUrl).hostname.replace('www.', '').split('.')[0];                     merchantName = merchantName.charAt(0).toUpperCase() + merchantName.slice(1);                   }catch(e){ console.warn(e); }                }                if (!merchantName) merchantName = 'Retailer';                const q = (this.currentQuery || '').toLowerCase();                const activeTagLogic = (this.activeDealTag || '').toLowerCase();                if (q.length > 2 && q !== activeTagLogic) {                   const searchTarget = `${summaryTitle || ''} ${description || ''}`.toLowerCase();                   if (!searchTarget.includes(q)) return;                }                let rawPrice = 0;                let rawMsrp = 0;                let currencyStr = '$';                if (isFeatured) {                   rawPrice = typeof data.salePrice === 'number' && data.salePrice > 0 ? data.salePrice : (typeof data.price === 'number' ? data.price : 0);                   rawMsrp = typeof data.salePrice === 'number' && typeof data.price === 'number' && data.price > data.salePrice ? data.price : 0;                   currencyStr = data.currency === 'GBP' ? '£' : '$';                } else {                   rawPrice = priceObj.amount ? parseFloat(priceObj.amount) : 0;                   rawMsrp = priceObj.amountWas ? parseFloat(priceObj.amountWas) : 0;                   currencyStr = priceObj.currency === 'GBP' ? '£' : '$';                }                                let savingAmt = 0;                let savingLabel = '';                if (rawPrice > 0 && rawMsrp > rawPrice) {                   savingAmt = parseFloat((rawMsrp - rawPrice).toFixed(2));                   savingLabel = `Save ${currencyStr}${savingAmt}`;                }                                // Apply Brand filter                if (this.selectedBrands && this.selectedBrands.length > 0) {                   const itemBrand = (data.brand || '').toLowerCase();                   const hasMatch = this.selectedBrands.some(sb => sb.toLowerCase() === itemBrand);                   if (!hasMatch) return;                }                // Apply Price filter                let priceFilterVal = null;                const min = this.customPriceMin ? this.customPriceMin.value : '';                const max = this.customPriceMax ? this.customPriceMax.value : '';                if (min || max) {                   priceFilterVal = `${min}_${max}`;                } else if (this.priceFilter && this.priceFilter.value !== 'all') {                   priceFilterVal = this.priceFilter.value;                }                if (priceFilterVal && rawPrice > 0) {                   if (priceFilterVal === 'under50' && rawPrice >= 50) return;                   if (priceFilterVal === 'over50' && rawPrice <= 50) return;                   if (priceFilterVal === 'over30' && rawPrice <= 30) return;                   if (priceFilterVal === 'over500' && rawPrice <= 500) return;                   if (priceFilterVal.includes('_')) {                      const parts = priceFilterVal.split('_');                      const min = parseFloat(parts[0]);                      const max = parseFloat(parts[1]);                      if (!isNaN(min) && rawPrice < min) return;                      if (!isNaN(max) && rawPrice > max) return;                   }                }                // Apply Discount filter                if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {                   const requiredDiscount = parseInt(this.discountFilter.value);                   if (!isNaN(requiredDiscount) && requiredDiscount > 0) {                      if (!rawMsrp || rawMsrp <= rawPrice) return;                      const ratio = Math.round((1 - (rawPrice / rawMsrp)) * 100);                      if (ratio < requiredDiscount) return;                   }                }                                if (externalUrl) {                   if (seenUrls.has(externalUrl)) return;                  seenUrls.add(externalUrl);                }                                extractedDeals.push({                   id: `airedale-${article.id || Math.random()}-${idx}`,                   url: externalUrl,                   image: imageUrl,                   fallbackImage: imageUrl,                   title: summaryTitle,                   brand: data.brand || '',                   productName: data.productName || '',                   merchant: merchantName,                   rawPrice: rawPrice,                   rawMsrp: rawMsrp,                   price: rawPrice > 0 ? rawPrice.toString() : '',                   msrp: rawMsrp > 0 ? rawMsrp.toString() : '',                   currency: currencyStr,                   isCheckPrice: !rawPrice,                   savingLabel: savingLabel,                   savingType: rawMsrp > rawPrice ? 'amount' : 'none',                   isPrime: false,                   starRating: null,                   description: description,                   text: data.text || '',                   authorName: article.articleauthortext ? article.articleauthortext[0] : (article.articleauthor ? article.articleauthor[0] : ''),                   authorRole: article.articleauthorrole ? article.articleauthorrole[0] : '',                   authorImage: article.articleauthormedia ? article.articleauthormedia[0] : '',                   documentUrl: article.documenturl ? article.documenturl[0] : '',                   modifiedDate: article.contentmodifieddate || article.modifieddate || ''                });             });          });                    const airedaleBrandsList = Object.keys(overallBrandsCounts).map(b => ({              formatted_value: b,              count: overallBrandsCounts[b]          })).sort((a,b) => b.count - a.count);                    if (this.getViewMode() === 'savings_squad') {             this.populateBrandDropdown(airedaleBrandsList.slice(0, 15));             if (this.brandFilterWrapper) {                if (airedaleBrandsList.length === 0) {                    this.brandFilterWrapper.style.display = 'none';                } else {                    this.brandFilterWrapper.style.display = 'flex';                }             }          }                    this.deals = extractedDeals;          this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.getFilteredDeals().slice(0, this.displayLimit), this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        isBroadQuery(query) {          const q = query.toLowerCase();          const intentModifiers = ['deals', 'best', 'sale', 'under', 'cheap', 'offers', 'discount'];          return intentModifiers.some(term => q.includes(term));        }        async fetchHawkDeals(query) {          const url = new URL(this.apiUrl);          url.searchParams.append('model_name', query);          const areaCode = this.getAreaCode();          if (areaCode) {            url.searchParams.append('area', areaCode);          }                    if (this.retailerSelect && this.retailerSelect.value) {            url.searchParams.append('filter_merchant_name', this.retailerSelect.value);          }                    if (this.selectedBrands && this.selectedBrands.length > 0) {            url.searchParams.append('filter_label[text_brand]', this.selectedBrands.join(','));          }                    let priceVal = null;          const min = this.customPriceMin ? this.customPriceMin.value : '';          const max = this.customPriceMax ? this.customPriceMax.value : '';          if (min || max) {             priceVal = `${min}_${max}`;          } else if (this.priceFilter && this.priceFilter.value !== 'all') {             priceVal = this.priceFilter.value;          }          if (priceVal) {            if (priceVal === 'under50') {              url.searchParams.append('filter_max_price', '50');            } else if (priceVal === 'over50') {              url.searchParams.append('filter_min_price', '50');            } else if (priceVal === 'over30') {              url.searchParams.append('filter_min_price', '30');            } else if (priceVal === 'over500') {              url.searchParams.append('filter_min_price', '500');            } else if (priceVal.includes('_')) {              const parts = priceVal.split('_');              if (parts[0]) url.searchParams.append('filter_min_price', parts[0]);              if (parts[1]) url.searchParams.append('filter_max_price', parts[1]);            }          }                    if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {            const v = parseInt(this.discountFilter.value);            if (!isNaN(v) && v > 0) {              const ratio = (100 - v) / 100;              url.searchParams.append('min_discount_ratio', ratio.toString());            }          }                    if (this.offerTypeSelect && this.offerTypeSelect.value) {            url.searchParams.append('offer', this.offerTypeSelect.value);          }                    url.searchParams.append('filter_product_types', 'deals');                    url.searchParams.append('rows', this.getRowsLimit().toString());          let response;          try {             response = await fetch(url.toString());          } catch(e) {             if (window.location.protocol === 'file:') {                console.warn("[Tom's Guide Widget] fetch from file:// blocked by local CORS policy, falling back to Adviser mock.");                await this.fetchAdviserDeals(query);                return;             }             console.warn("Hawk fetch failed", e);             this.deals = [];             this.render();             return;          }          if (!response.ok) {            throw new Error('Hawk API Response Error');          }          const rawData = await response.json();          // Safely locate data array from potentially wrapped response          let offers = [];          let modelInfoArray = [];                    let brandFilterData = null;          if (rawData && rawData.widget && rawData.widget.data && Array.isArray(rawData.widget.data.filters)) {             brandFilterData = rawData.widget.data.filters.find(f => f.type === 'label_text_brand');          } else if (rawData && rawData.data && Array.isArray(rawData.data.filters)) {             brandFilterData = rawData.data.filters.find(f => f.type === 'label_text_brand');          }          if (brandFilterData && Array.isArray(brandFilterData.values) && brandFilterData.values.length > 0) {             this.populateBrandDropdown(brandFilterData.values);          } else {             if (this.brandFilterWrapper && this.selectedBrands.length === 0) {                this.brandFilterWrapper.style.display = 'none';             }          }                    if (rawData && rawData.widget && rawData.widget.data) {            if (Array.isArray(rawData.widget.data.offers)) offers = rawData.widget.data.offers;            if (rawData.widget.data.model_info && typeof rawData.widget.data.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.widget.data.model_info) ? rawData.widget.data.model_info : Object.values(rawData.widget.data.model_info);            }          } else if (rawData && rawData.data) {            if (Array.isArray(rawData.data.offers)) offers = rawData.data.offers;            if (rawData.data.model_info && typeof rawData.data.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.data.model_info) ? rawData.data.model_info : Object.values(rawData.data.model_info);            }          } else {            if (Array.isArray(rawData)) offers = rawData;            else if (rawData && Array.isArray(rawData.offers)) offers = rawData.offers;            else if (rawData && rawData.offers && Array.isArray(rawData.offers.offer)) offers = rawData.offers.offer;            else if (rawData && rawData.offers) offers = [].concat(rawData.offers);                        if (rawData && rawData.model_info && typeof rawData.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.model_info) ? rawData.model_info : Object.values(rawData.model_info);            }          }          let modelDetails = {};          modelInfoArray.forEach(m => {            const mId = m.model_id || m.id;            if (mId) {              modelDetails[mId] = {                score: m.score != null ? parseFloat(m.score) : null,                brand: m.brand || null,                parent: (m.parents && Array.isArray(m.parents) && m.parents.length > 0) ? m.parents[0].name : null              };            }          });          offers.forEach(item => {            let data = { ...item };            const mId = data.model_id;            if (mId && modelDetails[mId]) {              data.review_score = modelDetails[mId].score;              data.model_brand = modelDetails[mId].brand;              data.model_parent = modelDetails[mId].parent;            } else {              data.review_score = null;            }                        let itemOffers = [];            if (Array.isArray(item.offers)) itemOffers = item.offers;            else if (Array.isArray(item.offer)) itemOffers = item.offer;            else if (item.offers && typeof item.offers === 'object') itemOffers = [item.offers];            else if (item.offer && typeof item.offer === 'object') itemOffers = [item.offer];            if (itemOffers.length > 0) {              itemOffers.forEach(subItem => {                let subData = { ...item, ...subItem };                const subId = subData.model_id;                if (subId && modelDetails[subId]) {                  subData.review_score = modelDetails[subId].score;                  subData.model_brand = modelDetails[subId].brand;                  subData.model_parent = modelDetails[subId].parent;                } else if (data.review_score != null) {                  subData.review_score = data.review_score;                }                if (subData.merchant && typeof subData.merchant === 'object') {                  subData.merchant_name = subData.merchant.name;                }                this.deals.push(this.extractDealData(subData));              });              return;            }                        if (item.merchant && typeof item.merchant === 'object') {              data.merchant_name = item.merchant.name;            }                        this.deals.push(this.extractDealData(data));          });                    this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.getFilteredDeals().slice(0, this.displayLimit), this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        async fetchAdviserDeals(query) {          // ======================================================================          // TODO: ADVISER API REPLACEMENT          // The code below simulates the Adviser API response using mock data.          // Once the real endpoint is ready, remove getAdviserMockData() and           // perform an actual fetch() request similar to fetchHawkDeals().          // Example:          // const area = this.getAreaCode();          // let apiUrl = `https://your-adviser-api.com/search?q=${query}&area=${area}`;          // if (this.priceFilter && this.priceFilter.value !== 'all') {          //   const val = this.priceFilter.value;          //   if (val === 'under50') apiUrl += '&filter_max_price=50';          //   else if (val === '50_100') apiUrl += '&filter_max_price=100';          //   else if (val === '100_200') apiUrl += '&filter_max_price=200';          //   else if (val === '200_500') apiUrl += '&filter_max_price=500';          // }          // const res = await fetch(apiUrl);          // const rawData = await res.json();          // ======================================================================          // Simulating network latency          await new Promise(resolve => setTimeout(resolve, 400));                    const rawData = this.getAdviserMockData();          let offers = [];                    if (rawData && rawData.data && rawData.data.Get && Array.isArray(rawData.data.Get.Deal)) {            offers = rawData.data.Get.Deal;          }                    // Basic client-side filtering for the mock if we want it to react to the query          const q = query.toLowerCase();          const selectedRetailer = (this.retailerSelect && this.retailerSelect.value) ? this.retailerSelect.value.toLowerCase() : null;                    offers.forEach(item => {            const dataObj = item;                        // Apply retailer filter            const itemRetailer = (dataObj.dataRetailer || '').toLowerCase();            if (selectedRetailer && itemRetailer !== selectedRetailer && !itemRetailer.includes(selectedRetailer)) {              return;            }                        // Apply mock price filter            let price = dataObj.dataDiscountedPrice || 0;            if (typeof price === 'string') {              price = parseFloat(price.replace(/[^0-9.]/g, ''));            }            let priceVal = null;            const min = this.customPriceMin ? this.customPriceMin.value : '';            const max = this.customPriceMax ? this.customPriceMax.value : '';            if (min || max) {               priceVal = `${min}_${max}`;            } else if (this.priceFilter && this.priceFilter.value !== 'all') {               priceVal = this.priceFilter.value;            }            if (priceVal) {              if (priceVal === 'under50' && price >= 50) return;              if (priceVal === 'over50' && price <= 50) return;              if (priceVal === 'over30' && price <= 30) return;              if (priceVal === 'over500' && price <= 500) return;              if (priceVal.includes('_')) {                 const parts = priceVal.split('_');                 if (parts[0] && price < parseFloat(parts[0])) return;                 if (parts[1] && price > parseFloat(parts[1])) return;              }            }                        // Map Adviser schema to our widget's expected schema            const mappedData = {              url: dataObj.linkHREF || dataObj.dataLink || '#',              image: dataObj.imageURL || (dataObj.image && dataObj.image.src) || '',              title: dataObj.dataProduct || (dataObj.product && dataObj.product.name) || 'Product Deal',              merchant: dataObj.dataRetailer || 'Retailer',              price: dataObj.dataDiscountedPrice || 0,              currency: dataObj.dataCurrency === 'USD' ? '$' : (dataObj.dataCurrency || '$'),              msrp: dataObj.dataOriginalPrice || null            };                        const titleLow = mappedData.title.toLowerCase();            const merchLow = mappedData.merchant.toLowerCase();                        // Smarter mock filtering            let isMatch = false;            if (q === '' || this.isBroadQuery(q)) {              isMatch = true;            } else if (titleLow.includes(q) || merchLow.includes(q)) {              isMatch = true;            } else if ((q.includes('laptop') || q.includes('mac') || q.includes('pc')) && (titleLow.includes('macbook') || titleLow.includes('laptop'))) {              isMatch = true;            } else if ((q.includes('tv') || q.includes('television')) && (titleLow.includes('tv') || titleLow.includes('oled') || titleLow.includes('qled'))) {              isMatch = true;            } else if ((q.includes('phone') || q.includes('smartphone')) && (titleLow.includes('galaxy') || titleLow.includes('phone'))) {              isMatch = true;            } else if ((q.match(/watch|fitness|run|shoe/)) && (titleLow.includes('forerunner') || titleLow.includes('saucony') || titleLow.includes('watch'))) {              isMatch = true;            }                        if (isMatch) {               this.deals.push(this.extractDealData(mappedData));            }          });                    let rowLimit = this.getRowsLimit();          // Intentionally omitting the slice here to allow "Load More" to work if the API returns more                    this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.getFilteredDeals().slice(0, this.displayLimit), this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        getAdviserMockData() {          return {            "data": {              "Get": {                "Deal": [                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 300,                    "dataOriginalPrice": 399,                    "dataProduct": "Samsung Galaxy A36",                    "dataRetailer": "Samsung",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/MqDYsukV3JBG54te6dEs7j.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 14,                    "dataOriginalPrice": 24,                    "dataProduct": "Blink Mini",                    "dataRetailer": "Amazon",                    "imageURL": "http://cdn.mos.cms.futurecdn.net/3JurmAjHsDa5tPdaHAwEV8.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 59,                    "dataOriginalPrice": 99,                    "dataProduct": "Ring Video Doorbell",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/rAh4uR7AsAsALCCLTXnLNJ.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 10,                    "dataOriginalPrice": 599,                    "dataProduct": "MacBook Neo",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/Lg4Dvg68j9SbB5CPNrTEpH.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 749,                    "dataOriginalPrice": 849,                    "dataProduct": "65\\\" Fire TV Omni 4K QLED TV",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/SG34ZWodUkLTxJvMTbjPYR.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 71,                    "dataOriginalPrice": 160,                    "dataProduct": "Saucony Hurricane 24",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/vxf7UD5T2Am7guVzFoFcZ4.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 649,                    "dataOriginalPrice": 749,                    "dataProduct": "Garmin Forerunner 970",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/3GKnEu7CdhtxPMfnPCMCiA.png"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 1049,                    "dataOriginalPrice": 1499,                    "dataProduct": "LG 48\\\" C4 4K OLED TV",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/imvwZV9zoMD6fn9Afuge35.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 1499,                    "dataOriginalPrice": 2199,                    "dataProduct": "Samsung 49\\\" Odyssey Neo G9 4K Gaming Monitor",                    "dataRetailer": "Amazon",                    "imageURL": "http://cdn.mos.cms.futurecdn.net/XWDEJ5dUAE2nhK8k3Jk7k7.png"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 299,                    "dataOriginalPrice": 699,                    "dataProduct": "EGOHOME Black Memory Foam Mattress (queen)",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/hMUemtAejNETLVYxNrktzm.jpg"                  }                ]              }            }          };        }        decodeHTML(html) {          if (!html) return '';          const txt = document.createElement("textarea");          txt.innerHTML = String(html);          return txt.value;        }        extractDealData(item) {          const priceRawStr = String(item.price || item.current_price || '0');          const msrpRawStr = String(item.was_price || item.msrp || item.original_price || '0');          const rawPrice = parseFloat(priceRawStr.replace(/[^\d.]/g, '')) || 0;          const rawMsrp = parseFloat(msrpRawStr.replace(/[^\d.]/g, '')) || 0;          const isCheckPrice = rawPrice === 0 || priceRawStr === '0.00' || priceRawStr === '0';                    let originalImageUrl = item.image || item.image_url || item.product_image || '';          let imageUrl = originalImageUrl;          if ((!imageUrl || isCheckPrice) && item.model_image_url) {             imageUrl = item.model_image_url;             originalImageUrl = imageUrl;          } else if ((!imageUrl || isCheckPrice) && item.model_image) {             imageUrl = item.model_image;             originalImageUrl = imageUrl;          }                    if (imageUrl) {            imageUrl = imageUrl.replace(/-(\d+)-(\d+)(\.[a-z.]+)$/i, '$3');          }                    let fallbackImage = '';          if (originalImageUrl && originalImageUrl !== imageUrl) {             fallbackImage = originalImageUrl;          } else if (item.model_image && item.model_image !== imageUrl) {             fallbackImage = item.model_image;          } else if (item.model_image_url && item.model_image_url !== imageUrl) {             fallbackImage = item.model_image_url;          }                    const rawCurrency = item.currency || item.currency_symbol || '$';                    let savingLabel = item.percentage_saving_label || '';          if (!savingLabel && rawMsrp > rawPrice && rawPrice > 0) {            const pct = Math.round(((rawMsrp - rawPrice) / rawMsrp) * 100);            if (pct > 0) {              savingLabel = `${pct}% OFF`;            }          }                    const isPrime = item.shipping && item.shipping.prime === true;                    let scoreRaw = (item.review_score !== undefined && item.review_score !== null && item.review_score > 0) ? parseFloat(item.review_score) : null;          let starRating = 0;          if (scoreRaw !== null) {            starRating = Math.round((scoreRaw > 10 ? scoreRaw / 20 : scoreRaw / 2) * 2) / 2;          }                    return {            id: item.offer_id || item.link || item.url || item.offer_link || Math.random().toString(),            url: item.link || item.url || item.offer_link || '#',            image: imageUrl,            fallbackImage: fallbackImage,            title: this.decodeHTML(item.name || item.title || item.model_name || item.product_name || 'Unknown Product'),            brand: this.decodeHTML(item.brand || ''),            productName: this.decodeHTML(item.model_name || item.product_name || item.name || ''),            merchant: this.decodeHTML(item.merchant_name || item.merchant || item.retailer || 'Retailer'),            price: item.price !== undefined ? String(item.price) : '0.00',            currency: this.decodeHTML(rawCurrency),            msrp: item.was_price || item.msrp || item.original_price || null,            rawPrice: rawPrice,            rawMsrp: rawMsrp,            hasWasPrice: (item.was_price !== undefined && item.was_price !== null),            isCheckPrice: isCheckPrice,            savingLabel: savingLabel,            isPrime: isPrime,            starRating: starRating > 0 ? starRating : null,            modelId: item.model_id || '',            productKey: item.product_key || '',            merchantId: (item.merchant && typeof item.merchant === 'object') ? item.merchant.id || '' : '',            matchId: item.match_id || '',            merchantNetwork: (item.merchant && typeof item.merchant === 'object') ? item.merchant.an || '' : '',            merchantUrl: (item.merchant && typeof item.merchant === 'object') ? item.merchant.url || '' : '',            modelBrand: item.model_brand || item.brand || '',            modelParent: item.model_parent || ''          };        }        sortData() {          const sortVal = this.sortSelect ? this.sortSelect.value : 'date_desc';          if (sortVal === 'price_asc') {            this.deals.sort((a, b) => a.rawPrice - b.rawPrice);          } else if (sortVal === 'price_desc') {            this.deals.sort((a, b) => b.rawPrice - a.rawPrice);          } else if (sortVal === 'discount_desc') {            this.deals.sort((a, b) => {              const aDiscount = a.rawMsrp > a.rawPrice ? (a.rawMsrp - a.rawPrice) : 0;              const bDiscount = b.rawMsrp > b.rawPrice ? (b.rawMsrp - b.rawPrice) : 0;              return bDiscount - aDiscount;            });          } else if (sortVal === 'date_desc') {             this.deals.sort((a, b) => {                let dateA = 0;                let dateB = 0;                if (a && a.modifiedDate) {                   const valA = Array.isArray(a.modifiedDate) ? a.modifiedDate[0] : a.modifiedDate;                   dateA = new Date(valA).getTime();                   if (isNaN(dateA)) dateA = 0;                }                if (b && b.modifiedDate) {                   const valB = Array.isArray(b.modifiedDate) ? b.modifiedDate[0] : b.modifiedDate;                   dateB = new Date(valB).getTime();                   if (isNaN(dateB)) dateB = 0;                }                return dateB - dateA;             });          }        }        getFilteredDeals() {          let filteredDeals = [...this.deals];                    if (this.dealModeToggle && this.dealModeToggle.checked) {            filteredDeals = filteredDeals.filter(d => d.hasWasPrice || (d.msrp && d.rawMsrp > d.rawPrice));          }                    return filteredDeals;        }        showLoading() {          const _div = '<' + '/div>';          const skeletonCardHtml = `            \x3Cdiv class="tg-df-card">              \x3Cdiv class="tg-df-card-image-box">                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-img">${_div}              ${_div}              \x3Cdiv class="tg-df-card-body">                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short">${_div}                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text title">${_div}                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text title">${_div}                \x3Cdiv class="tg-df-card-footer mt-auto">                  \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="height:24px;">${_div}                ${_div}              ${_div}              \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text" style="height:44px; margin:0; border-radius:0;">${_div}            ${_div}`;          this.grid.innerHTML = Array(4).fill(skeletonCardHtml).join('');        }        showError() {          const _div = '<' + '/div>';          this.grid.innerHTML = `\x3Cdiv class="tg-df-message">            An error occurred while finding deals. Please check your connection and try again.          ${_div}`;        }        escapeHTML(str) {          if (!str) return '';          return String(str).replace(/[&<>'"]/g, tag => ({              '&': '&', '<': '<', '>': '>', "'": ''', '"': '"'          }[tag] || tag));        }                bindCouponButtons() {          const btns = this.root.querySelectorAll('.tg-df-tag-coupons');          btns.forEach(btn => {            btn.addEventListener('click', (e) => {              e.preventDefault();              e.stopPropagation();              const merchant = btn.getAttribute('data-merchant');              this.openVouchersModal(merchant);            });          });                    const closeBtn = this.root.querySelector('#tg-df-vouchers-close');          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          if (closeBtn) {            closeBtn.onclick = () => this.closeVouchersModal();          }          if (backdrop) {            backdrop.onclick = (e) => {              if (e.target === backdrop) this.closeVouchersModal();            };          }        }                closeVouchersModal() {          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          if (backdrop) backdrop.classList.remove('active');        }                async checkMerchantsCouponsBulk(merchants) {          if (!merchants || merchants.length === 0) return {};          const controller = new AbortController();          const timeoutId = setTimeout(() => controller.abort(), 4000);          try {            const area = this.getAreaCode();            const url = new URL('https://search-api.fie.future.net.uk/widget.php');            url.searchParams.append('model_name', 'Everything');            url.searchParams.append('language', 'en-GB');            if (area) url.searchParams.append('area', area);            url.searchParams.append('combine_product_types', '1');            url.searchParams.append('filter_merchant_name', merchants.join(','));            url.searchParams.append('all_filters', 'false');            url.searchParams.append('exclude_unlabelled', 'false');            url.searchParams.append('include_specs', 'false');            url.searchParams.append('sort', 'voucher');            url.searchParams.append('distinct_merchants', 'natural');            url.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');            url.searchParams.append('rows', '120');            url.searchParams.append('origin', 'widgets-clientside');                        let res; try { res = await fetch(url.toString(), { signal: controller.signal }); } catch (e) { return {}; }            clearTimeout(timeoutId);            if (!res.ok) return {};            const data = await res.json();                        let offers = [];            if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {              offers = data.widget.data.offers;            } else if (data && data.data && Array.isArray(data.data.offers)) {              offers = data.data.offers;            } else if (Array.isArray(data)) {              offers = data;            } else if (data && Array.isArray(data.offers)) {              offers = data.offers;            } else if (data && data.offers && Array.isArray(data.offers.offer)) {              offers = data.offers.offer;            } else if (data && Array.isArray(data.data)) {              offers = data.data;            }                        const foundMerchants = new Set();            offers.forEach(o => {              let mName = o.merchant_name || o.merchant || o.retailer;              if (mName && typeof mName === 'object') mName = mName.name;              if (mName) foundMerchants.add(String(mName).toLowerCase());            });            const resultMap = {};            merchants.forEach(m => {              if (m) resultMap[m] = foundMerchants.has(String(m).toLowerCase());            });            return resultMap;          } catch (e) {            return {};          }        }                async openVouchersModal(merchantName) {          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          const title = this.root.querySelector('#tg-df-vouchers-title');          const content = this.root.querySelector('#tg-df-vouchers-content');                    if (!backdrop || !content) return;                    // HACK: Hide closing tags          const _div = '<' + '/div>';          const _span = '<' + '/span>';          const _a = '<' + '/a>';          const _h4 = '<' + '/h4>';          const _svg = '<' + '/svg>';          const _circle = '<' + '/circle>';          const _polyline = '<' + '/polyline>';          const _rect = '<' + '/rect>';          const _path = '<' + '/path>';                    title.innerText = `${merchantName} Coupons & Deals`;          content.innerHTML = `\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text">${_div}                               \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text">${_div}`;          backdrop.classList.add('active');                    try {            const area = this.getAreaCode();            const url = new URL('https://search-api.fie.future.net.uk/widget.php');            url.searchParams.append('model_name', 'Everything');            url.searchParams.append('language', 'en-GB');            if (area) url.searchParams.append('area', area);            url.searchParams.append('combine_product_types', '1');            url.searchParams.append('filter_merchant_name', merchantName);            url.searchParams.append('all_filters', 'false');            url.searchParams.append('exclude_unlabelled', 'false');            url.searchParams.append('include_specs', 'false');            url.searchParams.append('sort', 'voucher');            url.searchParams.append('distinct_merchants', 'natural');            url.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');            url.searchParams.append('rows', '50');            url.searchParams.append('origin', 'widgets-clientside');                        const res = await fetch(url.toString());            if (!res.ok) throw new Error('API Error');            const data = await res.json();                        let offers = [];            if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {              offers = data.widget.data.offers;            } else if (data && data.data && Array.isArray(data.data.offers)) {              offers = data.data.offers;            } else if (Array.isArray(data)) {              offers = data;            } else if (data && Array.isArray(data.offers)) {              offers = data.offers;            } else if (data && data.offers && Array.isArray(data.offers.offer)) {              offers = data.offers.offer;            } else if (data && Array.isArray(data.data)) {              offers = data.data;            }                        if (offers.length === 0) {              content.innerHTML = `\x3Cdiv class="tg-df-message">No vouchers currently available for ${this.escapeHTML(merchantName)}.${_div}`;              return;            }                        content.innerHTML = offers.map((v, idx) => {              let offerObj = v;              if (v.offers && v.offers.offer) {                offerObj = Array.isArray(v.offers.offer) ? v.offers.offer[0] : v.offers.offer;              } else if (v.offer) {                offerObj = Array.isArray(v.offer) ? v.offer[0] : v.offer;              }              let logoUrl = v.logo_url || offerObj.logo_url || '';              if (!logoUrl && v.merchant) {                if (Array.isArray(v.merchant) && v.merchant.length > 0) logoUrl = v.merchant[0].logo_url || '';                else logoUrl = v.merchant.logo_url || '';              }                            const offerName = offerObj.name || offerObj.title || v.name || v.title || 'Special Offer';              const endTime = offerObj.end_time || v.end_time || '';              const linkUrl = offerObj.link || offerObj.url || v.link || v.url || '#';                            let foundVoucherCode = '';              const findVoucherCode = (obj) => {                if (!obj || typeof obj !== 'object') return;                if (obj.type === 'voucher_code' && obj.display_value) {                  foundVoucherCode = obj.display_value;                  return;                }                if (Array.isArray(obj)) {                  for (const item of obj) {                    findVoucherCode(item);                    if (foundVoucherCode) return;                  }                } else {                  for (const k in obj) {                    if (Object.prototype.hasOwnProperty.call(obj, k)) {                      findVoucherCode(obj[k]);                      if (foundVoucherCode) return;                    }                  }                }              };              findVoucherCode(offerObj);              if (!foundVoucherCode) findVoucherCode(v);                            const voucherCode = foundVoucherCode || offerObj.voucher_code || v.voucher_code || '';              const codeHtml = voucherCode ? `\x3Cspan class="tg-df-voucher-code" data-action="copy-code" data-code="${this.escapeHTML(voucherCode)}" title="Copy to clipboard">                \x3Cspan class="tg-df-voucher-code-text">${this.escapeHTML(voucherCode)}${_span}                \x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-left:6px;flex-shrink:0;" class="tg-df-voucher-copy-icon">                  \x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2">${_rect}                  \x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1">${_path}                ${_svg}              ${_span}` : '';                            const logoHtml = logoUrl                 ? `\x3Cimg src="${this.escapeHTML(logoUrl)}" alt="${this.escapeHTML(offerName)}" class="tg-df-voucher-logo" />`                 : `\x3Cdiv class="tg-df-voucher-logo" style="background:#e2e8f0;">${_div}`;                            let expiryHtml = '';              if (endTime) {                let dStr = endTime;                if (!isNaN(dStr) && String(dStr).length === 10) dStr = Number(dStr) * 1000;                const d = new Date(dStr);                if (!isNaN(d.getTime())) {                  const options = { year: 'numeric', month: 'short', day: 'numeric' };                  expiryHtml = `                    \x3Cdiv class="tg-df-voucher-expiry">                      \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                        \x3Ccircle cx="12" cy="12" r="10">${_circle}                        \x3Cpolyline points="12 6 12 12 16 14">${_polyline}                      ${_svg}                      Expires ${d.toLocaleDateString(undefined, options)}                    ${_div}`;                }              }              const revenueIdVal = generateRevenueId(linkUrl, offerName, merchantName, null);              const rewrittenLinkUrl = rewriteAffiliateLink(linkUrl, area, revenueIdVal);              return `                \x3Ca href="${this.escapeHTML(rewrittenLinkUrl)}" target="_blank" rel="noopener nofollow" class="tg-df-voucher-item"                  data-action="voucher-click"                  data-product-name="${this.escapeHTML(offerName)}"                  data-merchant-name="${this.escapeHTML(merchantName)}"                  data-analytics-id="${this.escapeHTML(offerObj.offer_id || offerObj.id || v.id || '')}"                  data-price=""                  data-previous-price=""                  data-original-link="${this.escapeHTML(linkUrl)}"                  data-revenue-id="${revenueIdVal}"                  data-index="${idx}"                  data-total="${offers.length}"                  data-in-stock="true"                  data-currency="USD"                  data-model-id="${this.escapeHTML(offerObj.model_id || v.model_id || offerObj.id || v.id || '')}"                  data-merchant-id="${this.escapeHTML(offerObj.merchant_id || offerObj.merchant?.id || '')}"                >                  ${logoHtml}                  \x3Cdiv class="tg-df-voucher-content">                    \x3Ch4 class="tg-df-voucher-title">${this.escapeHTML(offerName)}${_h4}                    ${codeHtml}                    ${expiryHtml}                  ${_div}                ${_a}              `;            }).join('');                        // Attach copy functionality            const copyBtns = content.querySelectorAll('[data-action="copy-code"]');            copyBtns.forEach(btn => {              btn.addEventListener('click', async (e) => {                e.preventDefault();                e.stopPropagation();                                const code = btn.getAttribute('data-code');                if (!code) return;                                try {                  const copyToClipboard = async (text) => {                     if (window.navigator.clipboard && window.isSecureContext) {                        try { await window.navigator.clipboard.writeText(text); return; } catch (e) {}                     }                     const textArea = document.createElement("textarea");                     textArea.value = text;                     textArea.style.position = "fixed";                     document.body.appendChild(textArea);                     textArea.focus();                     textArea.select();                     document.execCommand('copy');                     textArea.remove();                  };                  await copyToClipboard(code);                                    // Visual feedback                  btn.classList.add('copied');                  const textSpan = btn.querySelector('.tg-df-voucher-code-text');                  const iconSvg = btn.querySelector('.tg-df-voucher-copy-icon');                                    const origText = textSpan.innerText;                  const origIcon = iconSvg.innerHTML;                                    textSpan.innerText = 'Copied!';                  iconSvg.innerHTML = `\x3Cpolyline points="20 6 9 17 4 12">${_polyline}`;                                    setTimeout(() => {                    if (btn) {                      btn.classList.remove('copied');                      if (textSpan) textSpan.innerText = origText;                      if (iconSvg) iconSvg.innerHTML = origIcon;                    }                  }, 2000);                                    trackElementInteraction({                    id: 'voucher-code-copy',                    name: 'Copy Voucher Code',                    label: `Copied ${code} for ${merchantName}`                  });                } catch (err) {                  console.warn('Failed to copy text: ', err);                }              });            });            // Attach voucher click tracking            const voucherBtns = content.querySelectorAll('[data-action="voucher-click"]');            voucherBtns.forEach(btn => {              btn.addEventListener('click', (e) => {                if (e.target.closest('[data-action="copy-code"]')) return;                                const productName = btn.getAttribute('data-product-name');                const merchantNameAttr = btn.getAttribute('data-merchant-name');                const productId = btn.getAttribute('data-analytics-id');                const price = parseFloat(btn.getAttribute('data-price')) || null;                const prevPriceStr = btn.getAttribute('data-previous-price');                const previousPrice = prevPriceStr ? parseFloat(prevPriceStr) : null;                const originalLink = btn.getAttribute('data-original-link');                const finalHref = btn.href || btn.getAttribute('href') || '';                let actualRevenueId = btn.getAttribute('data-revenue-id');                const revMatch = finalHref.match(/(?:subId1|xcust|clickref|ascsubtag)=[^&]*?(\d{18,20})(?:&|$)/i);                if (revMatch && revMatch[1]) {                  actualRevenueId = revMatch[1];                }                const rewrittenLink = finalHref;                const revenueId = actualRevenueId;                const index = parseInt(btn.getAttribute('data-index'), 10) || 0;                const inStock = btn.getAttribute('data-in-stock') === 'true';                const totalText = btn.getAttribute('data-total');                const totalDeals = parseInt(totalText, 10) || 0;                const productCategoryName = 'deals';                const trackingParams = {                  widgetId: this.widgetId,                  productCategoryName: productCategoryName,                  product: {                    modelId: btn.getAttribute('data-model-id') || null,                    matchId: btn.getAttribute('data-match-id') || null,                    brand: btn.getAttribute('data-model-brand') || null,                    parent: btn.getAttribute('data-model-parent') || null,                    name: productName,                    price: price,                    previousPrice: previousPrice,                    link: rewrittenLink,                    originalLink: originalLink,                    inStock: inStock                  },                  zeroBasedProductIndexOrNull: index,                  totalDealsOrProducts: totalDeals,                   merchant: {                    id: btn.getAttribute('data-merchant-id') || null,                    network: btn.getAttribute('data-merchant-network') || null,                    url: btn.getAttribute('data-merchant-url') || null,                    name: merchantNameAttr                  },                  revenueId: revenueId,                  widgetTypeName: this.widgetTypeName,                  isoCurrencyCode: btn.getAttribute('data-currency') || 'USD'                };                if (typeof trackDealClick === 'function') {                  trackDealClick(trackingParams);                }              });            });                                  } catch (e) {            console.warn(e);            content.innerHTML = `\x3Cdiv class="tg-df-message">Failed to load vouchers.${_div}`;          }        }        render() {          try {            if (this.getViewMode() === 'savings_squad' && this.airedaleTags.length > 0) {              if (this.categoryFilterWrapper) {                 this.categoryFilterWrapper.style.display = 'flex';              }              if (this.categoryFilter) {                 const _option = '<' + '/option>';                 let optionsHtml = `\x3Coption value="all">All Categories${_option}`;                 this.airedaleTags.forEach(tag => {                    const isSelected = this.activeDealTag === tag ? 'selected' : '';                    optionsHtml += `\x3Coption value="${this.escapeHTML(tag)}" ${isSelected}>${this.escapeHTML(tag)}${_option}`;                 });                 this.categoryFilter.innerHTML = optionsHtml;                 this.categoryFilter.value = this.activeDealTag || 'all';              }            } else {               if (this.categoryFilterWrapper) {                  this.categoryFilterWrapper.style.display = 'none';               }            }            const displayDeals = this.getFilteredDeals();          // HACK: Hide closing tags from the CMS HTML sanitizer so it doesn't strip them during in-page injection          const _div = '<' + '/div>';          const _span = '<' + '/span>';          const _a = '<' + '/a>';          const _h3 = '<' + '/h3>';          const _p = '<' + '/p>';          const _strong = '<' + '/strong>';          const _sup = '<' + '/sup>';          const _button = '<' + '/button>';          if (displayDeals.length === 0) {            if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {              if (this.deals.length > 0) {                 this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                  No deals match your selected filters.                ${_div}`;              } else if (this.getViewMode() === 'savings_squad' && this.currentQuery.length <= 2) {                 // Do not show "no exact matches" if query is empty for savings_squad                 this.grid.innerHTML = '';              } else {                 this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                  No exact matches found for "\x3Cstrong>${this.escapeHTML(this.currentQuery)}${_strong}". Try adjusting your search term.                ${_div}`;              }            } else {              this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                Search product or category names to discover the best deals from across the web.              ${_div}`;            }            return;          }          let dealsHtml = displayDeals.slice(0, this.displayLimit).map((deal, index) => {            try {               const currencySym = this.escapeHTML(deal.currency);               const isoCurrencyCode = normalizeCurrency(currencySym);               const escapedPrice = this.escapeHTML(deal.price);               const escapedMsrp = this.escapeHTML(deal.msrp);               const areaCode = this.getAreaCode();                              const revenueId = generateRevenueId(deal.url, deal.title, deal.merchant, null);               const originalLink = deal.url;               const rewrittenLink = rewriteAffiliateLink(deal.url, areaCode, revenueId);                        const productCategoryName = 'deals';            const dataAttr = `              data-action="${deal.isCheckPrice ? 'view-similar-click' : 'deal-click'}"              data-analytics-id="${this.escapeHTML(deal.externalProductId || deal.id || '')}"              data-product-name="${this.escapeHTML(deal.title)}"              data-merchant-name="${this.escapeHTML(deal.merchant)}"              data-price="${deal.rawPrice || ''}"              data-previous-price="${deal.rawMsrp || ''}"              data-original-link="${this.escapeHTML(originalLink)}"              data-revenue-id="${revenueId}"              data-index="${index}"              data-total="${displayDeals.length}"              data-in-stock="${deal.inStock !== false}"              data-currency="${this.escapeHTML(isoCurrencyCode)}"              data-model-id="${this.escapeHTML(deal.modelId || '')}"              data-product-key="${this.escapeHTML(deal.productKey || '')}"              data-merchant-id="${this.escapeHTML(deal.merchantId || '')}"            `;                        let priceGroupHtml = '';            let isSavingsSquadMode = this.getViewMode() === 'savings_squad';            let ctaText = 'View Deal';            let formattedPrice = '';            let msrpHtml = '';                        if (deal.isCheckPrice) {              ctaText = 'View Deal';              if (isSavingsSquadMode) {                priceGroupHtml = ``;              } else {                priceGroupHtml = `                  \x3Cdiv class="tg-df-card-price-group">                    \x3Cspan class="tg-df-card-price" style="font-size: 15px; font-weight: 500; font-style: italic;">See price at retailer${_span}                  ${_div}                `;              }            } else {              // Format Price              formattedPrice = escapedPrice.includes(currencySym)                 ? escapedPrice                 : `${currencySym}${escapedPrice}`;                              // Format MSRP              msrpHtml = deal.msrp && deal.rawMsrp > deal.rawPrice                ? `\x3Cspan class="tg-df-card-msrp">${escapedMsrp.includes(currencySym) ? escapedMsrp : currencySym + escapedMsrp}${_span}`                : '';                              priceGroupHtml = isSavingsSquadMode ? `` : `                \x3Cdiv class="tg-df-card-price-group">                  \x3Cspan class="tg-df-card-price">${formattedPrice}${_span}                  ${msrpHtml}                ${_div}              `;            }                        const discountBadgeHtml = deal.savingLabel && !deal.isCheckPrice              ? `\x3Cspan class="tg-df-card-discount-badge">${this.escapeHTML(deal.savingLabel)}${_span}`              : '';                          // HACK for CMS            const _button = '<' + '/button>';            const _svg = '<' + '/svg>';            const _path = '<' + '/path>';            const _rect = '<' + '/rect>';            const _circle = '<' + '/circle>';            const _polyline = '<' + '/polyline>';            const _line = '<' + '/line>';                        let badgesHtml = '';            const primeBadge = deal.isPrime ? `              \x3Cspan class="tg-df-tag tg-df-tag-prime">                \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="currentColor">                  \x3Cpath d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z">${_path}                ${_svg} Prime              ${_span}            ` : '';                        const couponsBadge = deal.merchant && deal.merchant.toLowerCase().includes('amazon') ? '' : `              \x3Cdiv class="tg-df-coupon-wrapper" data-merchant="${this.escapeHTML(deal.merchant)}" style="display:inline-flex; align-items:center;">                \x3Cdiv class="tg-df-coupon-spinner">${_div}                \x3Cbutton type="button" class="tg-df-tag tg-df-tag-coupons" data-action="coupons-click" data-merchant="${this.escapeHTML(deal.merchant)}" style="display:none;">                  \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                    \x3Cpath d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z">${_path}                    \x3Cline x1="7" y1="7" x2="7.01" y2="7">${_line}                  ${_svg} Coupons                ${_button}              ${_div}            `;                        // Note: We always add coupons badge if there's a chance, but to allow 3-line titles we check wrapper display state            badgesHtml = `              \x3Cdiv class="tg-df-card-badges">                ${primeBadge}                ${couponsBadge}              ${_div}            `;            const _linearGradient = '<' + '/linearGradient>';            const _polygon = '<' + '/polygon>';            const _stop = '<' + '/stop>';            const _defs = '<' + '/defs>';                        let starHtml = '';            if (deal.starRating) {              let rating = deal.starRating;                            if (rating > 0) {                const fullStars = Math.floor(rating);                const halfStar = (rating - fullStars) >= 0.5 ? 1 : 0;                const emptyStars = Math.max(0, 5 - fullStars - halfStar);                const blue = '#1f69ff'; // Tom's guide brand color from VIEW DEAL button                const gray = '#cbd5e1';                                const starSvgFull = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="${blue}" stroke="${blue}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26">${_polygon}${_svg}`;                                const gradId = 'half_grad_' + Math.floor(Math.random()*1000000);                const starSvgHalf = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" stroke="${blue}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cdefs>\x3ClinearGradient id="${gradId}" x1="0" x2="1" y1="0" y2="0">\x3Cstop offset="50%" stop-color="${blue}">${_stop}\x3Cstop offset="50%" stop-color="transparent">${_stop}${_linearGradient}${_defs}                  \x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26" fill="url(#${gradId})">${_polygon}${_svg}`;                                  const starSvgEmpty = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="${gray}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26">${_polygon}${_svg}`;                                let stars = [];                for (let i=0; i<fullStars; i++) stars.push(starSvgFull);                if (halfStar) stars.push(starSvgHalf);                for (let i=0; i<emptyStars; i++) stars.push(starSvgEmpty);                                starHtml = `\x3Cdiv class="tg-df-card-stars" style="display:flex;align-items:center;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--tg-df-text-muted);">                  \x3Cspan style="margin-right:6px;">Tom's Guide:${_span}                  \x3Cdiv style="display:flex;gap:2px;">                    ${stars.join('')}                  ${_div}                ${_div}`;              }            }            let htmlOutput = '';            if (isSavingsSquadMode) {              htmlOutput += `              \x3Cdiv class="hawk-deal-widget-container tg-df-mobile-only" data-collapsible="true">                ${this.editorMode ? `\x3Cinput type="checkbox" class="tg-df-deal-checkbox" data-id="${this.escapeHTML(deal.id)}" ${this.selectedDeals.has(deal.id) ? 'checked' : ''} style="margin-bottom: 10px;">` : ''}                \x3Cdiv class="hawk-deal-widget-wrap">                  \x3Cdiv class="hawk-deal-widget-image-container">                    \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" rel="sponsored noopener" target="_blank" class="hawk-affiliate-link-deal-widget" ${dataAttr}>                      \x3Cimg ${deal.image ? `src="${this.escapeHTML(deal.image)}"` : ''} alt="${this.escapeHTML(deal.title)}" class="hawk-lazy-image-deal-widget" loading="lazy" width="140" height="160" onerror="${deal.fallbackImage ? `if(!this.dataset.fb) { this.dataset.fb='1'; this.src='${this.escapeHTML(deal.fallbackImage)}'; } else { this.style.opacity='0'; }` : `this.style.opacity='0';`}">                    ${_a}                  ${_div}                  \x3Cdiv class="hawk-deal-widget-text-cta-container">                    \x3Cdiv class="hawk-deal-widget-text-body-container">                      \x3Cdiv class="hawk-deal-widget-text-body-main">                        \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                          ${deal.isCheckPrice ? `                            \x3Cspan class="hawk-deal-widget-title-product-title">${this.escapeHTML(deal.title)}${_span}                          ` : `                            \x3Cspan class="hawk-deal-widget-title-product-title">${deal.brand ? this.escapeHTML(deal.brand) + ' ' : ''}${this.escapeHTML(deal.productName || deal.title || '')}:${_span}                          `}                        ${_a}                        ${!deal.isCheckPrice && deal.rawMsrp && deal.rawMsrp > deal.rawPrice ? `                          \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                            \x3Cspan class="hawk-deal-widget-title-was-price">was ${currencySym}${escapedMsrp}${_span}                          ${_a}                        ` : ''}                        \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                          \x3Cspan class="hawk-deal-widget-title-retailer-price">                            ${!deal.isCheckPrice ? `                              \x3Cspan class="hawk-deal-widget-title-price">now ${formattedPrice}${_span}                              \x3Cspan class="hawk-deal-widget-title-retailer"> at ${this.escapeHTML(deal.merchant)}${_span}                            ` : `                              \x3Cspan class="hawk-deal-widget-title-price">See price at ${this.escapeHTML(deal.merchant)}${_span}                            `}                          ${_span}                        ${_a}                        ${deal.description ? `\x3Cdiv class="hawk-deal-widget-text-body-description tg-df-card-desc-container" style="margin-bottom: 12px; position: relative;">                          \x3Cp class="tg-df-card-desc-content" style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">${this.escapeHTML(deal.description)}${_p}                          \x3Cbutton type="button" class="tg-df-card-desc-btn" style="display: none; appearance: none; border: none; color: #000000; font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0; background: linear-gradient(to right, transparent, #fff 20%, #fff); padding: 0 0 0 16px;" onclick="                            var c = this.parentNode;                            if (this.dataset.expanded === 'true') {                              var pd = (c.tagName === 'P') ? c : this.previousElementSibling;                              if (c.tagName === 'P') { c.parentNode.appendChild(this); pd = c; }                              pd.style.display = '-webkit-box';                              pd.style.webkitLineClamp = '3';                              this.textContent = 'READ MORE';                              this.style.position = 'absolute';                              this.style.background = 'linear-gradient(to right, transparent, #fff 20%, #fff)';                              this.style.paddingLeft = '16px';                              this.dataset.expanded = 'false';                            } else {                              var pd = this.previousElementSibling;                              pd.style.display = 'inline';                              pd.style.webkitLineClamp = 'unset';                              this.textContent = 'READ LESS';                              this.style.position = 'static';                              this.style.background = 'transparent';                              this.style.paddingLeft = '4px';                              this.dataset.expanded = 'true';                              pd.appendChild(this);                            }                          ">READ MORE${_button}                        \x3C/div>` : ''}                      ${_div}                    ${_div}                    ${deal.authorName ? `                      \x3Cdiv class="tg-df-author-line-mobile" style="padding: 0 0 12px 0; background: transparent;">                         \x3Cdiv style="display: flex; align-items: center; gap: 12px;">                            ${deal.authorImage ? `\x3Cimg src="${this.escapeHTML(deal.authorImage)}" alt="${this.escapeHTML(deal.authorName)}" class="tg-df-author-img" width="40" height="40" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 40px; min-height: 40px;">` : ''}                            \x3Cdiv style="display: flex; flex-direction: column;">                               \x3Cdiv style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;">\x3Cspan style="color: #FF6600;">${this.escapeHTML(deal.merchant)}${_span} deal recommended by:${_div}                               \x3Cdiv style="font-size: 11px; color: var(--tg-df-text); line-height: 1.3;">                                  \x3Cstrong>\x3Ca href="https://www.tomsguide.com/${this.escapeHTML(deal.documentUrl || '').replace(/^\/+/, '')}" target="_blank" rel="noopener nofollow" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">${this.escapeHTML(deal.authorName)}${_a}${_strong}                                  ${deal.authorRole && !['null', 'nul', 'undefined'].includes(String(deal.authorRole).toLowerCase()) ? ` • ${this.escapeHTML(deal.authorRole)}` : ''}                                  ${deal.modifiedDate ? `\x3Cdiv style="color: var(--tg-df-text-muted); margin-top: 2px;">${getTimeAgo(deal.modifiedDate)}${_div}` : ''}                               ${_div}                            ${_div}                         ${_div}                      ${_div}                    ` : ''}                    \x3Cdiv class="hawk-deal-widget-footer">                      \x3Cdiv class="hawk-deal-widget-button-wrapper">                        \x3Cdiv class="hawk-deal-widget-preferred-partner-wrapper">                          \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-deal-button" rel="sponsored noopener" target="_blank" ${dataAttr}>                            \x3Cspan>View Deal${_span}                          ${_a}                        ${_div}                      ${_div}                    ${_div}                  ${_div}                ${_div}              ${_div}              `;            }            htmlOutput += `              \x3Cdiv class="tg-df-card ${isSavingsSquadMode ? 'tg-df-desktop-only' : ''}">                ${this.editorMode ? `\x3Cinput type="checkbox" class="tg-df-deal-checkbox" data-id="${this.escapeHTML(deal.id)}" ${this.selectedDeals.has(deal.id) ? 'checked' : ''}>` : ''}                \x3Cdiv class="tg-df-card-image-box">                  ${discountBadgeHtml}                  \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;">                    \x3Cimg ${deal.image ? `src="${this.escapeHTML(deal.image)}"` : ''} alt="${this.escapeHTML(deal.title)}" class="tg-df-card-image" loading="lazy" onerror="${deal.fallbackImage ? `if(!this.dataset.fb) { this.dataset.fb='1'; this.src='${this.escapeHTML(deal.fallbackImage)}'; } else { this.style.opacity='0'; }` : `this.style.opacity='0';`}">                  ${_a}                  \x3Cdiv class="tg-df-card-merchant-wrapper" style="position: absolute; bottom: 0; right: 0; background: transparent; padding: 8px 12px; z-index: 10;">                     \x3Cspan class="tg-df-card-merchant-pill" style="text-align: right; margin-bottom: 0;" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                  ${_div}                ${_div}                \x3Cdiv class="tg-df-card-body">                  ${starHtml}                  ${badgesHtml}                  \x3Ch3 class="tg-df-card-title tg-df-custom-savings-squad-title" title="${this.escapeHTML(deal.title)}">                    \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" style="text-decoration: none; color: inherit;">                      ${isSavingsSquadMode                         ? (deal.isCheckPrice                             ? (deal.title && deal.title.includes(':')                                 ? `\x3Cstrong>${this.escapeHTML(deal.title.substring(0, deal.title.indexOf(':') + 1))}${_strong}\x3Cspan style="color: #1f69ff; font-weight: normal;">${this.escapeHTML(deal.title.substring(deal.title.indexOf(':') + 1))}${_span}`                                : this.escapeHTML(deal.title)                              )                             : `\x3Cstrong>${deal.brand ? this.escapeHTML(deal.brand) + ' ' : ''}${this.escapeHTML(deal.productName || deal.title || '')}:${_strong} ${deal.rawMsrp && deal.rawMsrp > deal.rawPrice ? `\x3Cspan style="color: #d0021b; text-decoration: line-through; font-weight: normal; margin-right: 4px;">was ${currencySym}${escapedMsrp}${_span} ` : ''}\x3Cspan style="color: #1f69ff; font-weight: normal;">now ${formattedPrice} at ${this.escapeHTML(deal.merchant)}${_span}`                          )                        : this.escapeHTML(deal.title)                      }                    ${_a}                  ${_h3}                  ${deal.description ? `\x3Cdiv class="tg-df-card-desc-container" style="margin-bottom: 12px; position: relative;">                    \x3Cp class="tg-df-card-desc-content" style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 0; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;">${this.escapeHTML(deal.description)}${_p}                    \x3Cbutton type="button" class="tg-df-card-desc-btn" style="display: none; appearance: none; border: none; color: #000000; font-size: 11px; font-weight: 700; text-transform: uppercase; cursor: pointer; font-family: inherit; position: absolute; bottom: 2px; right: 0; background: linear-gradient(to right, transparent, #fff 20%, #fff); padding: 0 0 0 16px;" onclick="                      var c = this.parentNode;                      if (this.dataset.expanded === 'true') {                        var pd = (c.tagName === 'P') ? c : this.previousElementSibling;                        if (c.tagName === 'P') { c.parentNode.appendChild(this); pd = c; }                        pd.style.display = '-webkit-box';                        pd.style.webkitLineClamp = '3';                        this.textContent = 'READ MORE';                        this.style.position = 'absolute';                        this.style.background = 'linear-gradient(to right, transparent, #fff 20%, #fff)';                        this.style.paddingLeft = '16px';                        this.dataset.expanded = 'false';                      } else {                        var pd = this.previousElementSibling;                        pd.style.display = 'inline';                        pd.style.webkitLineClamp = 'unset';                        this.textContent = 'READ LESS';                        this.style.position = 'static';                        this.style.background = 'transparent';                        this.style.paddingLeft = '4px';                        this.dataset.expanded = 'true';                        pd.appendChild(this);                      }                    ">READ MORE${_button}                  \x3C/div>` : ''}                  \x3Cdiv class="tg-df-card-footer">                    ${deal.authorName ? `                    \x3Cdiv class="tg-df-author-line-desktop" style="padding: 0 0 ${isSavingsSquadMode ? 0 : 12}px 0;">                       \x3Cdiv style="display: flex; align-items: center; gap: 10px;">                          ${deal.authorImage ? `\x3Cimg src="${this.escapeHTML(deal.authorImage)}" alt="${this.escapeHTML(deal.authorName)}" class="tg-df-author-img" width="36" height="36" style="border-radius: 50%; object-fit: cover; flex-shrink: 0; aspect-ratio: 1 / 1; min-width: 36px; min-height: 36px;">` : ''}                          \x3Cdiv style="display: flex; flex-direction: column;">                             \x3Cdiv style="font-size: 10px; color: var(--tg-df-text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; font-weight: 600;">Recommended by:${_div}                             \x3Cdiv style="font-size: 11px; color: var(--tg-df-text); line-height: 1.2;">                                \x3Cstrong>\x3Ca href="https://www.tomsguide.com/${this.escapeHTML(deal.documentUrl || '').replace(/^\/+/, '')}" target="_blank" rel="noopener nofollow" style="text-decoration: none; color: inherit; border-bottom: 1px dotted var(--tg-df-text-muted);">${this.escapeHTML(deal.authorName)}${_a}${_strong}                                ${deal.authorRole && !['null', 'nul', 'undefined'].includes(String(deal.authorRole).toLowerCase()) ? ` • ${this.escapeHTML(deal.authorRole)}` : ''}                                ${deal.modifiedDate ? `\x3Cspan style="color: var(--tg-df-text-muted);"> • ${getTimeAgo(deal.modifiedDate)}${_span}` : ''}                             ${_div}                          ${_div}                       ${_div}                    ${_div}                    ` : ''}                    ${priceGroupHtml}                  ${_div}                ${_div}                \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" class="tg-df-card-cta" style="text-decoration: none; border-radius: 0;">${ctaText}${_a}              ${_div}            `;                        return htmlOutput;            } catch (e) {               console.log("Error rendering deal in map for index", index, typeof deal === 'object' ? JSON.stringify(deal) : deal, "MSG:", e.message);               return '';            }          }).join('');                    if (displayDeals.length > this.displayLimit) {            dealsHtml += `              \x3Cdiv style="width: 100%; display: flex; justify-content: center; margin-top: 16px; grid-column: 1 / -1;">                \x3Cbutton type="button" class="tg-df-tag-outline tg-df-load-more" style="padding: 8px 24px; border-radius: 100px; font-weight: 600; font-size: 14px; cursor: pointer;">Load More${_button}              ${_div}            `;          }                    this.grid.innerHTML = dealsHtml;          // Inject JSON-LD          try {            let targetNode = this.hostContainer || document.head;            let jsonLdScript = targetNode.querySelector('#tg-df-json-ld-' + this.widgetId);            if (!jsonLdScript) {                jsonLdScript = document.createElement('script');                jsonLdScript.type = 'application/ld+json';                jsonLdScript.id = 'tg-df-json-ld-' + this.widgetId;                targetNode.appendChild(jsonLdScript);            }            const jsonLdData = {              "@context": "https://schema.org",              "@type": "ItemList",              "itemListElement": displayDeals.slice(0, this.displayLimit).map((deal, index) => {                 let isoCurrency = "USD";                 if (deal.currency === '£') isoCurrency = "GBP";                 else if (deal.currency === '€') isoCurrency = "EUR";                 else if (deal.currency === 'A$') isoCurrency = "AUD";                 else if (deal.currency === 'CA$') isoCurrency = "CAD";                 const areaCode = typeof this.getAreaCode === 'function' ? this.getAreaCode() : 'US';                 const revenueId = typeof generateRevenueId === 'function' ? generateRevenueId(deal.url, deal.title, deal.merchant, null) : '';                 const rewrittenLink = typeof rewriteAffiliateLink === 'function' ? rewriteAffiliateLink(deal.url, areaCode, revenueId) : deal.url;                 return {                   "@type": "ListItem",                   "position": index + 1,                   "item": {                     "@type": "Product",                     "name": deal.title,                     "image": deal.image || "",                     "description": deal.description || "",                     "brand": {                       "@type": "Brand",                       "name": deal.brand || ""                     },                     "offers": {                       "@type": "Offer",                       "priceCurrency": isoCurrency,                       "price": deal.rawPrice || 0,                       "url": rewrittenLink,                       "seller": {                         "@type": "Organization",                         "name": deal.merchant || ""                       }                     }                   }                 };              }).filter(item => item.item.name)            };            jsonLdScript.textContent = JSON.stringify(jsonLdData);          } catch(e) { console.warn("JSON-LD generation failed", e); }          setTimeout(() => {            const contents = this.root.querySelectorAll('.tg-df-card-desc-content');            contents.forEach(p => {              if (p.scrollHeight > p.clientHeight || p.scrollHeight > 60) {                if (p.nextElementSibling) {                  p.nextElementSibling.style.display = 'block';                }              }            });                        // Allow hawklinks.js to discover and rewrite our widget links             // by appending the .article-body class and manually triggering processArticle.            let container = this.root.classList.contains('tg-df-container') ? this.root : this.root.querySelector('.tg-df-container');            if (container && !container.classList.contains('article-body')) {               container.classList.add('article-body');            }            if (this.grid && !this.grid.classList.contains('article-body')) this.grid.classList.add('article-body');            document.dispatchEvent(new CustomEvent('processArticle', { detail: { element: this.root } }));          }, 50);          const loadMoreBtn = this.grid.querySelector('.tg-df-load-more');          if (loadMoreBtn) {            loadMoreBtn.addEventListener('click', () => {              if (typeof trackElementInteraction === 'function') {                trackElementInteraction({ id: 'load-more', name: 'Load more', label: 'Load More Results' });              }              this.displayLimit += this.getRowsLimit();              this.render();            });          }                      this.bindCouponButtons();            this.checkAndUpdateCoupons();          } catch(e) {            console.warn("Widget render error", e);          }        }                async checkAndUpdateCoupons() {          const wrappers = Array.from(this.root.querySelectorAll('.tg-df-coupon-wrapper'));          if (wrappers.length === 0) return;                    const merchants = [...new Set(wrappers.map(w => w.getAttribute('data-merchant')).filter(Boolean))];          if (merchants.length === 0) return;          const couponResultsMap = await this.checkMerchantsCouponsBulk(merchants);                    for (const merchant of merchants) {            const hasCoupons = !!couponResultsMap[merchant];            const merchantWrappers = wrappers.filter(w => w.getAttribute('data-merchant') === merchant);            merchantWrappers.forEach(wrapper => {              const spinner = wrapper.querySelector('.tg-df-coupon-spinner');              const btn = wrapper.querySelector('.tg-df-tag-coupons');                            if (spinner) spinner.style.display = 'none';                            if (hasCoupons && btn) {                btn.style.display = 'inline-flex';              } else if (!hasCoupons) {                wrapper.style.display = 'none';              }            });          }        }        updateFloatingCopyBar() {          if (!this.editorBar || !this.editorSelectedCount) return;          if (this.editorMode && this.selectedDeals.size > 0) {            this.editorBar.style.display = 'flex';            this.editorSelectedCount.innerText = this.selectedDeals.size;          } else {            this.editorBar.style.display = 'none';          }        }        async copySelectedDealsToCMS() {           function htmlToSlate(htmlString) {              if (!htmlString) return [{ type: 'paragraph', children: [{ text: '' }] }];              let doc;              if (typeof window !== 'undefined' && window.DOMParser) {                 doc = new DOMParser().parseFromString(htmlString, 'text/html');              } else {                 doc = document.implementation.createHTMLDocument('');                 doc.body.innerHTML = htmlString;              }                            function parseNode(node, marks = {}) {                  if (node.nodeType === 3) {                      const text = node.textContent;                      if (!text) return null;                      return { text: text, ...marks };                  }                  if (node.nodeType === 1) {                      const tagName = node.tagName.toLowerCase();                      if (tagName === 'br') {                          return { type: 'line-break', children: [{ text: '' }] };                      }                      if (tagName === 'p') {                          let children = Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                          if (children.length === 0) children.push({ text: "" });                          return { type: 'paragraph', children };                      }                      if (tagName === 'strong' || tagName === 'b') {                          const newMarks = { ...marks, bold: true };                          return Array.from(node.childNodes).map(child => parseNode(child, newMarks)).flat().filter(Boolean);                      }                      if (tagName === 'em' || tagName === 'i') {                          const newMarks = { ...marks, italic: true };                          return Array.from(node.childNodes).map(child => parseNode(child, newMarks)).flat().filter(Boolean);                      }                      if (tagName === 'a') {                          const href = node.getAttribute('href') || '';                          let children = Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                          if (children.length === 0) children.push({ text: "" });                          return {                              type: 'link',                              url: href,                              isNoFollow: (node.getAttribute('rel') || '').includes('nofollow'),                              isSponsored: (node.getAttribute('rel') || '').includes('sponsored'),                              isOpenNewTab: node.getAttribute('target') === '_blank',                              isPreventDataRewrite: false,                              children: children                          };                      }                      return Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                  }                  return null;              }                            let blocksArray = [];              let currentParagraphChildren = [];              function flushParagraph() {                  if (currentParagraphChildren.length > 0) {                      blocksArray.push({ type: 'paragraph', children: currentParagraphChildren });                      currentParagraphChildren = [];                  }              }              Array.from(doc.body.childNodes).forEach(node => {                  const parsed = parseNode(node, {});                  const parsedItems = Array.isArray(parsed) ? parsed : (parsed ? [parsed] : []);                  parsedItems.forEach(item => {                      if (item.type === 'paragraph') {                          flushParagraph();                          blocksArray.push(item);                      } else {                          currentParagraphChildren.push(item);                      }                  });              });              flushParagraph();              if (blocksArray.length === 0) {                  blocksArray = [{ type: 'paragraph', children: [{ text: '' }] }];              }              return blocksArray;           }           const blocks = [];                      this.editorCopyBtn.innerHTML = '\x3Cspan class="tg-df-coupon-spinner" style="display:inline-block; margin-right:8px; border-top-color:#fff;">' + '<' + '/span> Copying...';           for (const deal of Array.from(this.selectedDeals.values())) {              const url = deal.url;              const merchant = deal.merchant;              const title = deal.title;              const image = deal.image;              const currentPrice = deal.currency + deal.rawPrice;              const wasPrice = deal.hasWasPrice && deal.rawMsrp > deal.rawPrice ? deal.currency + deal.rawMsrp : '';                            let couponsChildren = [];              try {                  const area = this.getAreaCode();                  const apiUrl = new URL('https://search-api.fie.future.net.uk/widget.php');                  apiUrl.searchParams.append('model_name', 'Everything');                  apiUrl.searchParams.append('language', 'en-GB');                  apiUrl.searchParams.append('area', area);                  apiUrl.searchParams.append('combine_product_types', '1');                  apiUrl.searchParams.append('filter_merchant_name', merchant);                  apiUrl.searchParams.append('all_filters', 'false');                  apiUrl.searchParams.append('exclude_unlabelled', 'false');                  apiUrl.searchParams.append('include_specs', 'false');                  apiUrl.searchParams.append('sort', 'voucher');                  apiUrl.searchParams.append('distinct_merchants', 'natural');                  apiUrl.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');                  apiUrl.searchParams.append('rows', '3');                  apiUrl.searchParams.append('origin', 'widgets-clientside');                                    let res; try { res = await fetch(apiUrl.toString()); } catch (e) { return; }                  if (res.ok) {                      const data = await res.json();                      let offers = [];                      if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {                        offers = data.widget.data.offers;                      } else if (data && data.data && Array.isArray(data.data.offers)) {                        offers = data.data.offers;                      }                                            if (offers.length > 0) {                          couponsChildren.push({ text: "Also check out these coupons: ", bold: true });                          offers.slice(0, 3).forEach((offer, idx) => {                              const actualOffer = offer.offer || offer;                              const offerName = actualOffer.name || actualOffer.title || offer.model_name || offer.title || offer.name || 'Coupon';                              const linkUrl = actualOffer.link || actualOffer.url || actualOffer.offer_link || '#';                              couponsChildren.push({ type: "line-break", children: [{ text: "" }] });                              couponsChildren.push({ text: "🎟️ " });                              couponsChildren.push({                                  type: "link",                                  url: linkUrl,                                  isNoFollow: true,                                  isSponsored: false,                                  isOpenNewTab: true,                                  isPreventDataRewrite: false,                                  children: [{ text: offerName, bold: true }]                              });                          });                      }                  }              } catch (err) {                  console.warn('Failed to fetch coupons for', merchant, err);              }              let descriptionValue = [];              if (deal.text) {                 descriptionValue = htmlToSlate(deal.text);              } else {                 const dealDescriptions = [                   `Don't miss out on this fantastic deal for the ${title}. It is currently available at ${merchant} for a highly competitive price.`,                   `We've spotted an excellent price drop on the ${title}. Grab it now at ${merchant} before it's gone.`,                   `The ${title} is currently seeing a generous discount over at ${merchant}. This is a perfect time to buy if you've been holding out.`,                   `If you're in the market for the ${title}, ${merchant} has just the deal for you.`,                   `Score the ${title} for less at ${merchant} right now. This is a rare chance to save big.`,                   `Upgrade your setup with the ${title}, now available at a stellar price via ${merchant}.`                 ];                 const randomDescription = dealDescriptions[Math.floor(Math.random() * dealDescriptions.length)];                 descriptionValue = [                    { type: "paragraph", children: [{ text: randomDescription }] }                 ];              }                            if (couponsChildren.length > 0) {                 let lastBlock = descriptionValue[descriptionValue.length - 1];                 if (lastBlock && lastBlock.type === 'paragraph') {                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children.push({ text: "Also check out these coupons: ", bold: true });                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children = lastBlock.children.concat(couponsChildren);                 } else {                     descriptionValue.push({                         type: "paragraph",                         children: [                             { type: "line-break", children: [{ text: "" }] },                             { type: "line-break", children: [{ text: "" }] },                             { text: "Also check out these coupons: ", bold: true },                             { type: "line-break", children: [{ text: "" }] },                             ...couponsChildren                         ]                     });                 }              }              function normalizeCurrencyToISO(symbol) {                const map = { '£': 'GBP', '$': 'USD', 'A$': 'AUD', 'CA$': 'CAD', '€': 'EUR' };                return map[symbol] || symbol;              }              const isoCurrency = normalizeCurrencyToISO(deal.currency);              blocks.push({                 id: (window.crypto && window.crypto.randomUUID) ? window.crypto.randomUUID() : 'cms-' + Date.now() + Math.random(),                 blockTypeName: "deal",                 excludeFrom: [],                 collapsible: false,                 props: {                    description: {                       value: descriptionValue,                       touched: false,                       validationMessage: ""                    },                    image: {                       value: {                          credit: [{ type: "paragraph", children: [{ text: merchant }] }],                          dateCreated: Date.now(),                          dateModified: Date.now(),                          distribution: [],                          fileSize: 0,                          height: 1000,                          id: deal.id,                          imageRights: "",                          src: image,                          name: title + ".jpg",                          tags: [],                          width: 1000                       },                       touched: false,                       validationMessage: ""                    },                    showDealButton: { value: true, touched: false, validationMessage: "" },                    isPreferredPartner: { value: false, touched: false, validationMessage: "" },                    linkHref: { value: url, touched: false, validationMessage: "" },                    linkLabel: { value: "", touched: false, validationMessage: "" },                    linkIsNoFollow: { value: true, touched: false, validationMessage: "" },                    linkIsSponsored: { value: false, touched: false, validationMessage: "" },                    linkIsOpenNewWindow: { value: true, touched: false, validationMessage: "" },                    customPromoFlags: { value: [], touched: false, validationMessage: "" },                    showStarDeal: { value: false, touched: false, validationMessage: "" },                    savingType: { value: "none", touched: false, validationMessage: "" },                    starDealPromoFlag: { value: "", touched: false, validationMessage: "" },                    showEditorsChoice: { value: false, touched: false, validationMessage: "" },                    editorsChoiceTitle: { value: "", touched: false, validationMessage: "" },                    hawkPriceCurrency: { value: { value: isoCurrency, label: isoCurrency }, touched: false, validationMessage: "" },                    hawkPrice: { value: deal.hasWasPrice ? String(deal.rawMsrp) : String(deal.rawPrice), touched: false, validationMessage: "" },                    hawkSalePrice: { value: String(deal.rawPrice), touched: false, validationMessage: "" },                    lastCheckedPriceDate: { value: "", touched: false, validationMessage: "" },                    hawkModel: { touched: false, validationMessage: "" },                    productId: { value: "", touched: false, validationMessage: "" },                    voucherId: { value: "", touched: false, validationMessage: "" },                    brand: { value: deal.brand || merchant, touched: false, validationMessage: "" },                    productName: { value: title, touched: false, validationMessage: "" },                    label: { value: "", touched: false, validationMessage: "" },                    retailer: { value: merchant, touched: false, validationMessage: "" },                    priceCheckError: false                 },                 failedFetchError: ""              });           }           const payload = {              type: "articleBuilderPages",              data: blocks           };           const jsonStr = JSON.stringify(payload);                      if (navigator.clipboard && navigator.clipboard.writeText) {              navigator.clipboard.writeText(jsonStr).then(() => {                 this.editorCopyBtn.innerHTML = 'Copied!';                 setTimeout(() => {                    this.editorCopyBtn.innerHTML = '\x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2"><' + '/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"><' + '/path><' + '/svg> Copy to CMS';                 }, 2000);              }).catch(err => {                 console.warn('Failed to copy text: ', err);                 alert('Failed to copy deals to clipboard. See console.');              });           } else {              // Fallback              const textArea = document.createElement("textarea");              textArea.value = jsonStr;              document.body.appendChild(textArea);              textArea.focus();              textArea.select();              try {                 document.execCommand('copy');                 this.editorCopyBtn.innerHTML = 'Copied!';                 setTimeout(() => {                    this.editorCopyBtn.innerHTML = '\x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2"><' + '/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"><' + '/path><' + '/svg> Copy to CMS';                 }, 2000);              } catch (err) {                 console.warn('Fallback: Oops, unable to copy', err);                 alert('Fallback: Failed to copy deals to clipboard.');              }              document.body.removeChild(textArea);           }        }      }      // Initialize the Widget      if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', () => new DealsFinderWidget({ rootId: 'signal-deals-finder-root', rootNode: shadowRoot, hostContainer: hostContainer }));      } else {        new DealsFinderWidget({ rootId: 'signal-deals-finder-root', rootNode: shadowRoot, hostContainer: hostContainer });      }    })();  </script></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Apple Watch Series 12 vs 11: Here are the 6 biggest differences ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-series-12">Apple Watch Series 12</a> just dropped, and you might be wondering whether to buy an <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-series-11-review" target="_blank">Apple Watch Series 11 </a>on sale or wait and <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-12-and-apple-watch-ultra-4-preorders-are-live-save-up-to-usd430">pre-order the new watch</a>. Both watches will run the new watchOS 27 software, both have the same battery life, and both look pretty much identical, but there are some key differences. We’ll dive into them below, so read this before adding either watch to your cart. </p>        <div class="featured_product_block featured_block_versus" data-id="8aacd1c8-ad60-11f1-9dbd-b9abbf6c6dad">            <a href="https://www.amazon.com/dp/B0HJ9ZXCSD/" data-model-name="Apple Watch Series 12" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:115.56%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/wWMW9gAfQecJBZLTmuhoEe.jpg" alt="a photo of the Apple Watch 12"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                            <div class='featured__brand'>Apple</div>                    <div class="featured__title">Watch Series 12</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>The Apple Watch Series 12 is Apple's newest smartwatch, available to pre-order now. It has a new heart rate monitor and a helpful daily readiness score.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_versus" data-id="8aacd268-ad60-11f1-90d0-015f4bb6c01c">            <a href="https://www.amazon.com/Apple-Watch-Smartwatch-Aluminum-Always/dp/B0FQF5BZ8Z/" data-model-name="Apple Watch 11" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/yxyXAq6w2EyXjcWeLctWaW.jpg" alt="Apple Watch 11"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                            <div class='featured__brand'>Apple</div>                    <div class="featured__title">Watch 11</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>The Apple Watch Series 11 is now Apple's older flagship watch. It won't get some of Apple's new longevity features or Audio Intelligence, but it's still a fantastic smartwatch. </p></p>                </div>                            </div>        </div><h2 id="apple-watch-series-12-vs-apple-watch-series-11-6-biggest-differences">Apple Watch Series 12 vs Apple Watch Series 11: 6 biggest differences </h2><h3 class="article-body__section" id="section-heart-rate-monitor"><span>Heart rate monitor </span></h3><p>They might look the same, but flip the watches over and you’ll spot the biggest difference from a health and fitness-tracking perspective: the newer watch has a completely redesigned heart rate monitor. Apple says it’s the most accurate heart rate sensor in a wearable, with larger, more power-efficient green LEDs that measure your heart rate every five seconds, compared to every five minutes in the Apple Watch Series 11. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="K8NYBa9eZYZYr94Vnmnqr4" name="Apple Watch Series 12" alt="Apple Watch Series 12" src="https://cdn.mos.cms.futurecdn.net/K8NYBa9eZYZYr94Vnmnqr4.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>But why does this even matter? Continuous heart rate monitoring lets the watch provide more accurate heart rate variability (HRV) data. On the Apple Watch Series 12, you’ll be able to see your Recovery HRV score, which shows signs of stress and recovery, as well as your overall HRV, which offers insights into your overall health.  </p><p>The new heart rate monitor also allows you to use Apple’s new Readiness score. More on that below. </p><h3 class="article-body__section" id="section-daily-readiness-score"><span>Daily Readiness score</span></h3><p>Readiness provides a single score out of ten with one of four different recommendations: Recover, Pace Yourself, Ready, or Go For It. Readiness updates throughout the day as new data comes in, and is based on your overnight vitals, sleep score, recent physical activity, and training load. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="oT6oCzSHKMc5NiqrCAVtt4" name="Apple Watch Series 12" alt="Apple Watch Series 12" src="https://cdn.mos.cms.futurecdn.net/oT6oCzSHKMc5NiqrCAVtt4.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h3 class="article-body__section" id="section-charging-speed"><span>Charging speed </span></h3><p>Even with continuous heart rate monitoring, both watches have the same 24-hour battery life in smartwatch mode. That said, the Apple Watch Series 12 offers faster charging and slightly longer GPS-mode battery life — 10 hours instead of 8 on the Series 11. </p><p>With the Series 12, <strong>15 minutes of charging gives you 12 hours of battery life</strong>, making it easier to ensure you don’t miss any sleep-tracking data.</p><h3 class="article-body__section" id="section-audio-intelligence-features"><span>Audio Intelligence features </span></h3><p>The third huge difference between the two devices is that the Apple Watch Series 12 has Apple’s Audio Intelligence features on board. This uses Apple Intelligence to tell you what song is playing in the background in real time, detect important sounds you might have missed, get a transcript of the last 15 seconds of conversation with Live Rewind, and take notes of your conversations throughout the day with Siri Recap. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="W5QaBdWA6ZqoxGfUz3gDu4" name="Apple Watch Series 12" alt="Apple Watch Series 12" src="https://cdn.mos.cms.futurecdn.net/W5QaBdWA6ZqoxGfUz3gDu4.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>These features will drop later in the year, and you can read more about the <a href="https://www.tomsguide.com/wellness/smartwatches/all-the-new-audio-features-on-apple-watch-explained">Audio Intelligence features on the Apple Watch</a> here. </p><h3 class="article-body__section" id="section-processor"><span>Processor</span></h3><p>The Apple Watch Series 12 has the new S11 chip. As well as the features above, Apple says this chip has redesigned algorithms to improve the distance accuracy of indoor walk or run workouts, as well as a more accurate pedometer. With the Apple Watch Series 12, you’ll also be able to see how many steps you’ve taken each day from your home screen. </p><h3 class="article-body__section" id="section-durability-and-cases"><span>Durability and cases</span></h3><p>While the two watches look pretty much identical, the Apple Watch Series 12 watches with aluminum cases have a tougher screen. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="h9pUCaivgXc2tpjF4BPEu4" name="Apple Watch Series 12" alt="Apple Watch Series 12" src="https://cdn.mos.cms.futurecdn.net/h9pUCaivgXc2tpjF4BPEu4.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Finally, you’ll also get new finishes with the Series 12 — there’s a new radiant gold titanium casing, as well as two new ceramic casings in pearl white and night blue. </p><h2 id="which-should-you-pick">Which should you pick? </h2><p>So, should you pre-order the Apple Watch Series 12, or save your money and buy the Series 11 when it goes on sale? We’re yet to fully test the Series 12, so stay tuned for our full review dropping later this month, but from the heart rate sensor alone, this seems like a worthy upgrade from a health and fitness tracking standpoint. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-OaLdGW"></div>                            </div>                            <script src="https://kwizly.com/embed/OaLdGW.js" async></script><h2 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h2><ul><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/we-asked-368-people-what-they-want-from-the-apple-watch-ultra-4-heres-the-resounding-answer-and-its-not-ai">We asked 368 people what they want from the Apple Watch Ultra 4. Here’s the resounding answer (and it’s not AI)</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-series-12">Apple Watch Series 12 hands-on: A new heart rate sensor and a readiness score (at last)</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-4-is-official-all-the-upgrades-explained">Apple Watch Ultra 4 is official: All the upgrades explained</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/wellness/smartwatches/apple-watch-series-12-vs-11-here-are-the-6-biggest-differences</link>
                                                                            <description>
                            <![CDATA[ Should you buy the Apple Watch Series 12 or Series 11? Read this before making your pick. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">pwEwATcv8gMmdxxcrXWVgS</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/oT6oCzSHKMc5NiqrCAVtt4-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 12 Sep 2026 06:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Smartwatches]]></category>
                                                    <category><![CDATA[Wellness]]></category>
                                                                                                <author><![CDATA[ jane.mcguire@futurenet.com (Jane McGuire) ]]></author>                    <dc:creator><![CDATA[ Jane McGuire ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/vV4Uj3e5TZvBqmmsjT2EU6.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jane McGuire is Tom&#039;s Guide&#039;s Fitness Managing Editor, which means she looks after everything fitness-related — from running gear and fitness trackers to yoga mats and sports bras. An avid runner, Jane has tested and reviewed fitness products for the past five years, so she knows what to look for when finding a good running watch or a pair of shorts with pockets big enough for your smartphone, running gels, and house keys. &lt;/p&gt;&lt;p&gt;Jane has run six marathons — the London Marathon five times, and the Berlin Marathon once -and is still on a quest to tick off all of the marathon majors. Her marathon PR is 3:30, which she ran in the New Balance Supercomp Elite V5&#039;s, but she also spends a lot of time talking about her  ‘joy plan’, where she runs for happiness, not for PR’s. &lt;/p&gt;&lt;p&gt;Previous to Tom’s Guide, Jane worked for Runner’s World, where she co-hosted the Runner’s World podcast. She also presents on a YouTube channel called the Run Testers, alongside other running-mad journalists, where they review the latest shoes, kit, and tech. Her work has also appeared in Coach, Get Sweat Go, and Women’s Health. &lt;/p&gt;&lt;p&gt;When she&#039;s not pounding the pavements, you&#039;ll find Jane striding round the Surrey Hills, taking far too many photos of her spaniel, Toby. &lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/oT6oCzSHKMc5NiqrCAVtt4-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Apple Watch Series 12]]></media:description>                                                            <media:text><![CDATA[Apple Watch Series 12]]></media:text>
                                <media:title type="plain"><![CDATA[Apple Watch Series 12]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/oT6oCzSHKMc5NiqrCAVtt4-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-series-12">Apple Watch Series 12</a> just dropped, and you might be wondering whether to buy an <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-series-11-review" target="_blank">Apple Watch Series 11 </a>on sale or wait and <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-12-and-apple-watch-ultra-4-preorders-are-live-save-up-to-usd430">pre-order the new watch</a>. Both watches will run the new watchOS 27 software, both have the same battery life, and both look pretty much identical, but there are some key differences. We’ll dive into them below, so read this before adding either watch to your cart. </p>        <div class="featured_product_block featured_block_versus" data-id="8aacd1c8-ad60-11f1-9dbd-b9abbf6c6dad">            <a href="https://www.amazon.com/dp/B0HJ9ZXCSD/" data-model-name="Apple Watch Series 12" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:115.56%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/wWMW9gAfQecJBZLTmuhoEe.jpg" alt="a photo of the Apple Watch 12"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                            <div class='featured__brand'>Apple</div>                    <div class="featured__title">Watch Series 12</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>The Apple Watch Series 12 is Apple's newest smartwatch, available to pre-order now. It has a new heart rate monitor and a helpful daily readiness score.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_versus" data-id="8aacd268-ad60-11f1-90d0-015f4bb6c01c">            <a href="https://www.amazon.com/Apple-Watch-Smartwatch-Aluminum-Always/dp/B0FQF5BZ8Z/" data-model-name="Apple Watch 11" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/yxyXAq6w2EyXjcWeLctWaW.jpg" alt="Apple Watch 11"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                            <div class='featured__brand'>Apple</div>                    <div class="featured__title">Watch 11</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>The Apple Watch Series 11 is now Apple's older flagship watch. It won't get some of Apple's new longevity features or Audio Intelligence, but it's still a fantastic smartwatch. </p></p>                </div>                            </div>        </div><h2 id="apple-watch-series-12-vs-apple-watch-series-11-6-biggest-differences">Apple Watch Series 12 vs Apple Watch Series 11: 6 biggest differences </h2><h3 class="article-body__section" id="section-heart-rate-monitor"><span>Heart rate monitor </span></h3><p>They might look the same, but flip the watches over and you’ll spot the biggest difference from a health and fitness-tracking perspective: the newer watch has a completely redesigned heart rate monitor. Apple says it’s the most accurate heart rate sensor in a wearable, with larger, more power-efficient green LEDs that measure your heart rate every five seconds, compared to every five minutes in the Apple Watch Series 11. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="K8NYBa9eZYZYr94Vnmnqr4" name="Apple Watch Series 12" alt="Apple Watch Series 12" src="https://cdn.mos.cms.futurecdn.net/K8NYBa9eZYZYr94Vnmnqr4.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>But why does this even matter? Continuous heart rate monitoring lets the watch provide more accurate heart rate variability (HRV) data. On the Apple Watch Series 12, you’ll be able to see your Recovery HRV score, which shows signs of stress and recovery, as well as your overall HRV, which offers insights into your overall health.  </p><p>The new heart rate monitor also allows you to use Apple’s new Readiness score. More on that below. </p><h3 class="article-body__section" id="section-daily-readiness-score"><span>Daily Readiness score</span></h3><p>Readiness provides a single score out of ten with one of four different recommendations: Recover, Pace Yourself, Ready, or Go For It. Readiness updates throughout the day as new data comes in, and is based on your overnight vitals, sleep score, recent physical activity, and training load. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="oT6oCzSHKMc5NiqrCAVtt4" name="Apple Watch Series 12" alt="Apple Watch Series 12" src="https://cdn.mos.cms.futurecdn.net/oT6oCzSHKMc5NiqrCAVtt4.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h3 class="article-body__section" id="section-charging-speed"><span>Charging speed </span></h3><p>Even with continuous heart rate monitoring, both watches have the same 24-hour battery life in smartwatch mode. That said, the Apple Watch Series 12 offers faster charging and slightly longer GPS-mode battery life — 10 hours instead of 8 on the Series 11. </p><p>With the Series 12, <strong>15 minutes of charging gives you 12 hours of battery life</strong>, making it easier to ensure you don’t miss any sleep-tracking data.</p><h3 class="article-body__section" id="section-audio-intelligence-features"><span>Audio Intelligence features </span></h3><p>The third huge difference between the two devices is that the Apple Watch Series 12 has Apple’s Audio Intelligence features on board. This uses Apple Intelligence to tell you what song is playing in the background in real time, detect important sounds you might have missed, get a transcript of the last 15 seconds of conversation with Live Rewind, and take notes of your conversations throughout the day with Siri Recap. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="W5QaBdWA6ZqoxGfUz3gDu4" name="Apple Watch Series 12" alt="Apple Watch Series 12" src="https://cdn.mos.cms.futurecdn.net/W5QaBdWA6ZqoxGfUz3gDu4.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>These features will drop later in the year, and you can read more about the <a href="https://www.tomsguide.com/wellness/smartwatches/all-the-new-audio-features-on-apple-watch-explained">Audio Intelligence features on the Apple Watch</a> here. </p><h3 class="article-body__section" id="section-processor"><span>Processor</span></h3><p>The Apple Watch Series 12 has the new S11 chip. As well as the features above, Apple says this chip has redesigned algorithms to improve the distance accuracy of indoor walk or run workouts, as well as a more accurate pedometer. With the Apple Watch Series 12, you’ll also be able to see how many steps you’ve taken each day from your home screen. </p><h3 class="article-body__section" id="section-durability-and-cases"><span>Durability and cases</span></h3><p>While the two watches look pretty much identical, the Apple Watch Series 12 watches with aluminum cases have a tougher screen. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="h9pUCaivgXc2tpjF4BPEu4" name="Apple Watch Series 12" alt="Apple Watch Series 12" src="https://cdn.mos.cms.futurecdn.net/h9pUCaivgXc2tpjF4BPEu4.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Finally, you’ll also get new finishes with the Series 12 — there’s a new radiant gold titanium casing, as well as two new ceramic casings in pearl white and night blue. </p><h2 id="which-should-you-pick">Which should you pick? </h2><p>So, should you pre-order the Apple Watch Series 12, or save your money and buy the Series 11 when it goes on sale? We’re yet to fully test the Series 12, so stay tuned for our full review dropping later this month, but from the heart rate sensor alone, this seems like a worthy upgrade from a health and fitness tracking standpoint. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-OaLdGW"></div>                            </div>                            <script src="https://kwizly.com/embed/OaLdGW.js" async></script><h2 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h2><ul><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/we-asked-368-people-what-they-want-from-the-apple-watch-ultra-4-heres-the-resounding-answer-and-its-not-ai">We asked 368 people what they want from the Apple Watch Ultra 4. Here’s the resounding answer (and it’s not AI)</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-series-12">Apple Watch Series 12 hands-on: A new heart rate sensor and a readiness score (at last)</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-4-is-official-all-the-upgrades-explained">Apple Watch Ultra 4 is official: All the upgrades explained</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ AirPods 5 vs AirPods 4: All the key differences ]]></title>
                                                                                                <dc:content><![CDATA[ <p>After weeks of rumors, Apple finally announced the <a href="https://www.tomsguide.com/audio/airpods/apple-airpods-5-officially-announced-here-are-the-upgrades">AirPods 5</a> on September 9 at its "Surprise and Shine" <a href="https://www.tomsguide.com/phones/iphones/iphone-duo-hands-on-apple-nailed-it-and-just-put-everyone-else-on-notice">iPhone Duo</a> event. </p><p>Like the AirPods 4 before them, the AirPods 5 will come in two distinct flavors: a base model with ANC and a higher-end model with a wireless charging case and a volume slider on the stem.</p><p>Both versions of the AirPods 5 will be powered by the H2 Wireless Chip that offers personalized spatial audio and live translation, but is all that reason enough to upgrade from the now two-year-old AirPods 4? The answer isn't exactly clear cut.</p><div class="product"><a data-dimension112="cfca91f8-ae20-11f1-b9ba-e95f4b5bdff3" data-action="Deal Block" data-label="AirPods 5" data-dimension48="AirPods 5" data-dimension25="$129" href="https://www.apple.com/shop/buy-airpods/airpods-5/without-wireless-charging-case" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:94.40%;"><img id="mJGKbeqw2FwvrHngHh7KUc" name="Apple AirPods 5 deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/mJGKbeqw2FwvrHngHh7KUc.jpg" mos="" align="middle" fullscreen="" width="1500" height="1416" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The AirPods 5 are available for pre-order at Apple today. They offer live translation, full support for Siri AI, and 50% more noise reduction than the previous generation. They're also slightly cheaper than their predecessor with the ANC model selling for $129 and the AirPods 5 with Wireless Charging Case for $149. You can get your AirPods 5 engraved and personalized for free when you preorder them. Plus, Apple is also giving you three months of Apple Music with your purchase. <a class="view-deal button" href="https://www.apple.com/shop/buy-airpods/airpods-5/without-wireless-charging-case" target="_blank" rel="nofollow" data-dimension112="cfca91f8-ae20-11f1-b9ba-e95f4b5bdff3" data-action="Deal Block" data-label="AirPods 5" data-dimension48="AirPods 5" data-dimension25="$129">View Deal</a></p></div><h3 class="article-body__section" id="section-airpods-5-vs-airpods-4-price-and-availability"><span>AirPods 5 vs AirPods 4: Price and availability</span></h3><p>Because there are two AirPods 5 models, there are two prices: $129 / AU$219 for the base model and $149 / AU$249 for the higher-end model. </p><p>The AirPods 4, now a few years old, are obviously less expensive. They start at just $99 for the base model. Interestingly, however, the more advanced AirPods 4 with ANC is still sitting at $149. That's going to make the decision pretty easy if you need ANC. </p><p>My favorite Apple earbuds are the <a href="https://www.tomsguide.com/audio/airpods/apple-airpods-pro-3-review">AirPods Pro 3</a>, and those start at $249. It's a pretty big leap in price, but I think they're all-around a better option, especially when compared to the AirPods 4. </p><h3 class="article-body__section" id="section-airpods-5-vs-airpods-4-design"><span>AirPods 5 vs AirPods 4: Design</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3667px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="UMXRo3jZ6wo7vr4PP9HA8Z" name="IMG_7864.jpg" alt="AirPods 4" src="https://cdn.mos.cms.futurecdn.net/UMXRo3jZ6wo7vr4PP9HA8Z.jpg" mos="" align="middle" fullscreen="" width="3667" height="2063" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Admittedly, there's not a lot of difference on the design front. Apple claims the AirPods 5 offer "an all-new multiport acoustic architecture" but you certainly wouldn't know it just by looking at them. </p><p>The major design difference between the AirPods 5 and AirPods 4 can be found on the stems of the newer model. It's so small you'll likely miss it, but if you look close you'll see a touch-capacitive divot that acts as a volume slider. It's a very minor detail that the AirPods 5 take from the more-expensive AirPods Pro 3. </p><p>Speaking of nice-to-have features, the AirPods 5 with Wireless Charging Case (the proper name of the more-advanced AirPods 5 model) do offer wireless charging (duh). You can use the same charger as the Apple Watch, Qi-compatible chargers or plain old USB-C if you don't already own a wireless charging mat.</p><h3 class="article-body__section" id="section-airpods-5-vs-airpods-4-controls"><span>AirPods 5 vs AirPods 4: Controls</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4096px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="rHV7NoWYrNE2zRY52gLYvS" name="AirPods 4" alt="The AirPods 4 being displayed in hand" src="https://cdn.mos.cms.futurecdn.net/rHV7NoWYrNE2zRY52gLYvS.jpg" mos="" align="middle" fullscreen="" width="4096" height="2304" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alex Bracetti/Future)</span></figcaption></figure><p>Besides the aforementioned volume slider functionality, both the AirPods 5 and AirPods 4 use touch sensitive stems to control your music. </p><p>Both pairs of true wireless earbuds can differentiate between squeezes and taps, but it's up to you to learn which one does what. </p><p>I've never been a huge fan of touch technology in earbuds and prefer to use my voice or my phone to control playback, but it's nice to have the option in a pinch.</p><h3 class="article-body__section" id="section-airpods-5-vs-airpods-4-sound-quality"><span>AirPods 5 vs AirPods 4: Sound quality</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2679px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qTWTqkcso8N3vy8W3VCoCV" name="IMG_7868.jpg" alt="AirPods 4" src="https://cdn.mos.cms.futurecdn.net/qTWTqkcso8N3vy8W3VCoCV.jpg" mos="" align="middle" fullscreen="" width="2679" height="1507" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Here's where things are going to get a bit murky. Apple claims that, due to its improved sonic architecture, the AirPods 5 are going to sound better than the AirPods 4. Sound, as we all know, is subjective, and I can't really comment on their sound quality until I've heard them myself. </p><p>So until then, let's hear from someone who's listened to both. </p><p>Kate Kozuch, the Head of Video here at Tom's Guide was in Cupertino this week to check them out. According to her, the "bass was a noticeable improvement" on the AirPods 5. That counts for a lot in a pair of open earbuds like the AirPods. </p><p>Still, Kate didn't feel like there was a big enough difference between the two to warrant an upgrade. "This is coming from an AirPods 4 user: I don't think anyone needs to upgrade from AirPods 4." </p><p>If you want the best sound quality in a pair of wireless earbuds, then, your best bet is still going to be the pricier AirPods Pro series. </p><h3 class="article-body__section" id="section-airpods-5-vs-airpods-4-features"><span>AirPods 5 vs AirPods 4: Features</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4096px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AfpNLN9gCw8bQsGWjQyLaf" name="Apple AirPods 4" alt="The AirPods 4 connected to an iPhone 12" src="https://cdn.mos.cms.futurecdn.net/AfpNLN9gCw8bQsGWjQyLaf.jpg" mos="" align="middle" fullscreen="" width="4096" height="2304" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The AirPods 5 take some of the best features of the AirPods Pro (besides sound quality, obviously) and bring them down to a more affordable price. </p><p>Like the Pro, the AirPods 5 offer Spatial Audio support, live translation and "significantly improved" ANC. How significant? According to Apple, the AirPods 5 cancel out "50 percent more external noise compared to AirPods 4 with Active Noise Cancellation." So pretty big.</p><p>Now, keep in mind that these are open earbuds, so the ANC isn't going to be world-class here. I'd still expect a pair of Bose over-ears to do a better job than the AirPods 5, but hey, I'll take any improvement we can get.</p><h3 class="article-body__section" id="section-airpods-5-vs-airpods-4-battery-life"><span>AirPods 5 vs AirPods 4: Battery life</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Jqh9spPaAZV8jiAkZ89XzK" name="AirPods 4 Tips - Lede (2)" alt="AirPods 4" src="https://cdn.mos.cms.futurecdn.net/Jqh9spPaAZV8jiAkZ89XzK.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future/ Alex Bracetti)</span></figcaption></figure><p>One of our biggest complaints against the AirPods 4 was that their battery life was a little lacking. You could get around 5 hours of listening with ANC off, and 4 hours when you turn it on. That's a lot less than the competition and it means having to constantly reach for a charger.</p><p>The base AirPods 5 don't seem to offer much of an improvement here, but the AirPods 5 with Wireless Charging Case offer an additional hour with ANC turned on thanks to a redesigned battery.</p><p>Will an extra hour make or break the experience? Probably not, especially when rival earbuds like the <a href="https://www.tomsguide.com/audio/earbuds/sony-wf-1000xm6-review">Sony WF-1000XM6</a> offer around 8 hours with ANC turned on. </p><h3 class="article-body__section" id="section-airpods-5-vs-airpods-4-early-outlook"><span>AirPods 5 vs AirPods 4: Early outlook</span></h3><p>If you're just getting AirPods for the first time, the AirPods 5 seem to be worth the extra $30 to get the ones with wireless charging. </p><p>If you're someone who already owns a pair of AirPods 4, however, it's not so cut and dry. Spatial audio, the audio slider and live translation are all great, don't get me wrong, but I'm not sure I'd toss out my old earbuds just to tap into them, especially when key areas like battery life haven't been improved all that much.</p><p>There are also some really great AirPods alternatives out there and, if you don't mind spending more for them, the award-winning AirPods Pro Series that I use every single day are some of the <a href="https://www.tomsguide.com/us/best-wireless-earbuds,review-6160.html">best wireless earbuds</a> on the market. If you can, skip the AirPods and go straight for the AirPods Pro, but if the budget is tight, the base AirPods 5 will get you half the performance for around $100.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/iphones/interview-apple-ceo-john-ternus-on-his-defining-moment-for-the-iphone-duo">I interviewed Apple CEO John Ternus on the making of the iPhone Duo — here's what made him say 'yes, that's it'</a></li><li><a href="https://www.tomsguide.com/ai/apple-intelligence/people-are-freaking-out-about-the-new-always-listening-apple-watches-heres-what-apple-ceo-john-ternus-told-us">People are freaking out about the new 'always-listening' Apple Watches — here's what Apple CEO John Ternus told us</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-4-vs-garmin-fenix-9-pro-price-specs-and-features-compared">Apple Watch Ultra 4 vs Garmin Fenix 9 Pro: price, specs and features compared</a></li></ul><div data-widget-type="multimodelreview" data-model-name="Apple AirPods 4,Apple AirPods Gen 5,Apple AirPods Gen 5 with Wireless Charging" data-widget-title="Today's best AirPods deals"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/airpods/airpods-5-vs-airpods-4-all-the-key-differences</link>
                                                                            <description>
                            <![CDATA[ The next Apple AirPods offers personalized spatial audio, a more comfortable fit and live translation, but other changes are harder to spot. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">s2kG6iXkaDKygtWfwUmZne</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/TWz5p3f2A62hD4eWjBgvBa-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 12 Sep 2026 04:45:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Airpods]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                <author><![CDATA[ Nick.Pino@futurenet.com (Nick Pino) ]]></author>                    <dc:creator><![CDATA[ Nick Pino ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/7xnnEdyK5eEbDVbS5pYB54.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nick Pino heads up the TV and AV verticals at Tom&#039;s Guide and covers everything from OLED TVs to the latest wireless headphones. He&#039;s a Level 1 Certified THX Home Theater Professional, and has attended classes on TV and audio calibration. On Tom&#039;s Guide, he looks after some of the site&#039;s important buying guides like the best TVs, best OLED TVs, best 4K TVs, so most of his day is spent watching and evaluating new screens from LG, Samsung, Sony, Hisense, TCL and Vizio. (And yes, he knows how lucky he is to say that.) He was formerly the Senior Editor, TV and AV at TechRadar (Tom&#039;s Guide&#039;s sister site) and has previously written for GamesRadar, Official Xbox Magazine, PC Gamer and other outlets over the last decade. He got his start on Best Buy&#039;s official video game magazine, @GAMER, for whom he attended his first E3 in 2013. He&#039;s served as a judge for CES&#039; prestigious Innovation Awards and has attended the tech conference in Las Vegas since 2014. He has a computer science degree from the University at Buffalo and still resides in the Buffalo area. (Go Bills!) Not sure which TV you should buy? Drop him an email or tweet him on Twitter and he can help you out.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/TWz5p3f2A62hD4eWjBgvBa-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&amp;#39;s Guide / Apple]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The AirPods 5 (on left) vs the AirPods 4 (on right).]]></media:description>                                                            <media:text><![CDATA[The AirPods 5 (on left) vs the AirPods 4 (on right).]]></media:text>
                                <media:title type="plain"><![CDATA[The AirPods 5 (on left) vs the AirPods 4 (on right).]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/TWz5p3f2A62hD4eWjBgvBa-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>After weeks of rumors, Apple finally announced the <a href="https://www.tomsguide.com/audio/airpods/apple-airpods-5-officially-announced-here-are-the-upgrades">AirPods 5</a> on September 9 at its "Surprise and Shine" <a href="https://www.tomsguide.com/phones/iphones/iphone-duo-hands-on-apple-nailed-it-and-just-put-everyone-else-on-notice">iPhone Duo</a> event. </p><p>Like the AirPods 4 before them, the AirPods 5 will come in two distinct flavors: a base model with ANC and a higher-end model with a wireless charging case and a volume slider on the stem.</p><p>Both versions of the AirPods 5 will be powered by the H2 Wireless Chip that offers personalized spatial audio and live translation, but is all that reason enough to upgrade from the now two-year-old AirPods 4? The answer isn't exactly clear cut.</p><div class="product"><a data-dimension112="cfca91f8-ae20-11f1-b9ba-e95f4b5bdff3" data-action="Deal Block" data-label="AirPods 5" data-dimension48="AirPods 5" data-dimension25="$129" href="https://www.apple.com/shop/buy-airpods/airpods-5/without-wireless-charging-case" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:94.40%;"><img id="mJGKbeqw2FwvrHngHh7KUc" name="Apple AirPods 5 deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/mJGKbeqw2FwvrHngHh7KUc.jpg" mos="" align="middle" fullscreen="" width="1500" height="1416" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The AirPods 5 are available for pre-order at Apple today. They offer live translation, full support for Siri AI, and 50% more noise reduction than the previous generation. They're also slightly cheaper than their predecessor with the ANC model selling for $129 and the AirPods 5 with Wireless Charging Case for $149. You can get your AirPods 5 engraved and personalized for free when you preorder them. Plus, Apple is also giving you three months of Apple Music with your purchase. <a class="view-deal button" href="https://www.apple.com/shop/buy-airpods/airpods-5/without-wireless-charging-case" target="_blank" rel="nofollow" data-dimension112="cfca91f8-ae20-11f1-b9ba-e95f4b5bdff3" data-action="Deal Block" data-label="AirPods 5" data-dimension48="AirPods 5" data-dimension25="$129">View Deal</a></p></div><h3 class="article-body__section" id="section-airpods-5-vs-airpods-4-price-and-availability"><span>AirPods 5 vs AirPods 4: Price and availability</span></h3><p>Because there are two AirPods 5 models, there are two prices: $129 / AU$219 for the base model and $149 / AU$249 for the higher-end model. </p><p>The AirPods 4, now a few years old, are obviously less expensive. They start at just $99 for the base model. Interestingly, however, the more advanced AirPods 4 with ANC is still sitting at $149. That's going to make the decision pretty easy if you need ANC. </p><p>My favorite Apple earbuds are the <a href="https://www.tomsguide.com/audio/airpods/apple-airpods-pro-3-review">AirPods Pro 3</a>, and those start at $249. It's a pretty big leap in price, but I think they're all-around a better option, especially when compared to the AirPods 4. </p><h3 class="article-body__section" id="section-airpods-5-vs-airpods-4-design"><span>AirPods 5 vs AirPods 4: Design</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3667px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="UMXRo3jZ6wo7vr4PP9HA8Z" name="IMG_7864.jpg" alt="AirPods 4" src="https://cdn.mos.cms.futurecdn.net/UMXRo3jZ6wo7vr4PP9HA8Z.jpg" mos="" align="middle" fullscreen="" width="3667" height="2063" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Admittedly, there's not a lot of difference on the design front. Apple claims the AirPods 5 offer "an all-new multiport acoustic architecture" but you certainly wouldn't know it just by looking at them. </p><p>The major design difference between the AirPods 5 and AirPods 4 can be found on the stems of the newer model. It's so small you'll likely miss it, but if you look close you'll see a touch-capacitive divot that acts as a volume slider. It's a very minor detail that the AirPods 5 take from the more-expensive AirPods Pro 3. </p><p>Speaking of nice-to-have features, the AirPods 5 with Wireless Charging Case (the proper name of the more-advanced AirPods 5 model) do offer wireless charging (duh). You can use the same charger as the Apple Watch, Qi-compatible chargers or plain old USB-C if you don't already own a wireless charging mat.</p><h3 class="article-body__section" id="section-airpods-5-vs-airpods-4-controls"><span>AirPods 5 vs AirPods 4: Controls</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4096px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="rHV7NoWYrNE2zRY52gLYvS" name="AirPods 4" alt="The AirPods 4 being displayed in hand" src="https://cdn.mos.cms.futurecdn.net/rHV7NoWYrNE2zRY52gLYvS.jpg" mos="" align="middle" fullscreen="" width="4096" height="2304" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alex Bracetti/Future)</span></figcaption></figure><p>Besides the aforementioned volume slider functionality, both the AirPods 5 and AirPods 4 use touch sensitive stems to control your music. </p><p>Both pairs of true wireless earbuds can differentiate between squeezes and taps, but it's up to you to learn which one does what. </p><p>I've never been a huge fan of touch technology in earbuds and prefer to use my voice or my phone to control playback, but it's nice to have the option in a pinch.</p><h3 class="article-body__section" id="section-airpods-5-vs-airpods-4-sound-quality"><span>AirPods 5 vs AirPods 4: Sound quality</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2679px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qTWTqkcso8N3vy8W3VCoCV" name="IMG_7868.jpg" alt="AirPods 4" src="https://cdn.mos.cms.futurecdn.net/qTWTqkcso8N3vy8W3VCoCV.jpg" mos="" align="middle" fullscreen="" width="2679" height="1507" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Here's where things are going to get a bit murky. Apple claims that, due to its improved sonic architecture, the AirPods 5 are going to sound better than the AirPods 4. Sound, as we all know, is subjective, and I can't really comment on their sound quality until I've heard them myself. </p><p>So until then, let's hear from someone who's listened to both. </p><p>Kate Kozuch, the Head of Video here at Tom's Guide was in Cupertino this week to check them out. According to her, the "bass was a noticeable improvement" on the AirPods 5. That counts for a lot in a pair of open earbuds like the AirPods. </p><p>Still, Kate didn't feel like there was a big enough difference between the two to warrant an upgrade. "This is coming from an AirPods 4 user: I don't think anyone needs to upgrade from AirPods 4." </p><p>If you want the best sound quality in a pair of wireless earbuds, then, your best bet is still going to be the pricier AirPods Pro series. </p><h3 class="article-body__section" id="section-airpods-5-vs-airpods-4-features"><span>AirPods 5 vs AirPods 4: Features</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4096px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AfpNLN9gCw8bQsGWjQyLaf" name="Apple AirPods 4" alt="The AirPods 4 connected to an iPhone 12" src="https://cdn.mos.cms.futurecdn.net/AfpNLN9gCw8bQsGWjQyLaf.jpg" mos="" align="middle" fullscreen="" width="4096" height="2304" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The AirPods 5 take some of the best features of the AirPods Pro (besides sound quality, obviously) and bring them down to a more affordable price. </p><p>Like the Pro, the AirPods 5 offer Spatial Audio support, live translation and "significantly improved" ANC. How significant? According to Apple, the AirPods 5 cancel out "50 percent more external noise compared to AirPods 4 with Active Noise Cancellation." So pretty big.</p><p>Now, keep in mind that these are open earbuds, so the ANC isn't going to be world-class here. I'd still expect a pair of Bose over-ears to do a better job than the AirPods 5, but hey, I'll take any improvement we can get.</p><h3 class="article-body__section" id="section-airpods-5-vs-airpods-4-battery-life"><span>AirPods 5 vs AirPods 4: Battery life</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Jqh9spPaAZV8jiAkZ89XzK" name="AirPods 4 Tips - Lede (2)" alt="AirPods 4" src="https://cdn.mos.cms.futurecdn.net/Jqh9spPaAZV8jiAkZ89XzK.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future/ Alex Bracetti)</span></figcaption></figure><p>One of our biggest complaints against the AirPods 4 was that their battery life was a little lacking. You could get around 5 hours of listening with ANC off, and 4 hours when you turn it on. That's a lot less than the competition and it means having to constantly reach for a charger.</p><p>The base AirPods 5 don't seem to offer much of an improvement here, but the AirPods 5 with Wireless Charging Case offer an additional hour with ANC turned on thanks to a redesigned battery.</p><p>Will an extra hour make or break the experience? Probably not, especially when rival earbuds like the <a href="https://www.tomsguide.com/audio/earbuds/sony-wf-1000xm6-review">Sony WF-1000XM6</a> offer around 8 hours with ANC turned on. </p><h3 class="article-body__section" id="section-airpods-5-vs-airpods-4-early-outlook"><span>AirPods 5 vs AirPods 4: Early outlook</span></h3><p>If you're just getting AirPods for the first time, the AirPods 5 seem to be worth the extra $30 to get the ones with wireless charging. </p><p>If you're someone who already owns a pair of AirPods 4, however, it's not so cut and dry. Spatial audio, the audio slider and live translation are all great, don't get me wrong, but I'm not sure I'd toss out my old earbuds just to tap into them, especially when key areas like battery life haven't been improved all that much.</p><p>There are also some really great AirPods alternatives out there and, if you don't mind spending more for them, the award-winning AirPods Pro Series that I use every single day are some of the <a href="https://www.tomsguide.com/us/best-wireless-earbuds,review-6160.html">best wireless earbuds</a> on the market. If you can, skip the AirPods and go straight for the AirPods Pro, but if the budget is tight, the base AirPods 5 will get you half the performance for around $100.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/iphones/interview-apple-ceo-john-ternus-on-his-defining-moment-for-the-iphone-duo">I interviewed Apple CEO John Ternus on the making of the iPhone Duo — here's what made him say 'yes, that's it'</a></li><li><a href="https://www.tomsguide.com/ai/apple-intelligence/people-are-freaking-out-about-the-new-always-listening-apple-watches-heres-what-apple-ceo-john-ternus-told-us">People are freaking out about the new 'always-listening' Apple Watches — here's what Apple CEO John Ternus told us</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-4-vs-garmin-fenix-9-pro-price-specs-and-features-compared">Apple Watch Ultra 4 vs Garmin Fenix 9 Pro: price, specs and features compared</a></li></ul><div data-widget-type="multimodelreview" data-model-name="Apple AirPods 4,Apple AirPods Gen 5,Apple AirPods Gen 5 with Wireless Charging" data-widget-title="Today's best AirPods deals"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Apple Watch Ultra 4 vs Garmin Fenix 9 Pro: price, specs and features compared ]]></title>
                                                                                                <dc:content><![CDATA[ <p>If you’re a fan of the <a href="https://www.tomsguide.com/wellness/smartwatches/best-smartwatch">best smartwatches</a>, you’ve been treated in recent weeks with the launch of the latest models of the Garmin Fenix and Apple Watch Ultra.</p><p>The <a href="https://www.tomsguide.com/wellness/smartwatches/garmin-fenix-9-is-here-and-its-brighter-and-thinner-than-its-predecessor">Garmin Fenix 9</a> line-up launched in late August, with the top-of-the-range Fenix 9 Pro being Garmin’s most advanced sports watch yet. </p><p>A couple of weeks later the <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-4-first-impressions-5-reasons-to-buy-and-2-reasons-to-skip-apples-new-rugged-model">Apple Watch Ultra 4</a> was announced at Apple’s September event, boasting new features like continuous heart rate tracking and a readiness score.</p><p>We’ll thoroughly test both watches and compare them in our full reviews, but for now here’s a breakdown of how the pair stack up with regards to their key specs, features and price.</p><h2 class="article-body__section" id="section-apple-watch-ultra-4-vs-garmin-fenix-9-pro-specs-compared"><span>Apple Watch Ultra 4 vs Garmin Fenix 9 Pro: Specs compared</span></h2><div ><table><caption>Apple Watch Ultra 4 vs Garmin Fenix 9 Pro AMOLED </caption><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Apple Watch Ultra 3</strong></p></td><td  ><p><strong>Garmin Fenix 8 Pro AMOLED </strong></p></td></tr><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>$799</p></td><td  ><p>From $1,199 (with inReach)</p></td></tr><tr><td class="firstcol " ><p><strong>Size</strong></p></td><td  ><p>49mm</p></td><td  ><p>43mm, 47mm or 51mm</p></td></tr><tr><td class="firstcol " ><p><strong>Thickness</strong></p></td><td  ><p>12mm</p></td><td  ><p>13.3mm (43mm),<br>13.8mm (47mm), 15.8mm (51mm)</p></td></tr><tr><td class="firstcol " ><p><strong>Case weight</strong></p></td><td  ><p>62g</p></td><td  ><p>45g (43mm), 56g (47mm), 73g (51mm)</p></td></tr><tr><td class="firstcol " ><p><strong>Display</strong></p></td><td  ><p>Sapphire crystal</p></td><td  ><p>Sapphire crystal</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>LTE & satellite</p></td><td  ><p>LTE & satellite</p></td></tr><tr><td class="firstcol " ><p><strong>Smartwatch battery life </strong></p></td><td  ><p>50 hours</p></td><td  ><p>10 days (43 mm), 18 days (47mm), 31 days (51mm)</p></td></tr><tr><td class="firstcol " ><p><strong>GPS battery life (multi-band)</strong></p></td><td  ><p>18 hours</p></td><td  ><p>18 hours (43mm), 32 hours (47mm), 56 hours (51mm)</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-apple-watch-ultra-4-vs-garmin-fenix-9-pro-price"><span>Apple Watch Ultra 4 vs Garmin Fenix 9 Pro: Price</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AYP57Su3Eno7XWdwUbPfJj" name="Apple Watch Ultra 4" alt="Apple Watch Ultra 4" src="https://cdn.mos.cms.futurecdn.net/AYP57Su3Eno7XWdwUbPfJj.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The price is simple when it comes to the Apple Watch Ultra 4; it will set you back $799, the same price as its predecessor. There’s also only one model of the watch, which comes in either black or natural titanium,</p><p>Things are a lot more complicated with the Garmin Fenix 9 line-up, with three sizes, two display options and standard and Pro models to consider.</p><p>The standard Garmin Fenix 9 costs from $999, whereas the Fenix 9 Pro costs from $1099 and has a full titanium case and the option to add inReach connectivity as its key upgrades. I’m going to focus on the Fenix 9 Pro for this comparison, because it’s the top model in Garmin’s line-up.</p><p>Whatever Fenix you opt for, however, the Apple Watch Ultra 4 is going to be the more affordable option, and it’s $400 cheaper than a Garmin Fenix 9 Pro with inReach.</p><h2 class="article-body__section" id="section-apple-watch-ultra-4-vs-garmin-fenix-9-pro-design-and-display"><span>Apple Watch Ultra 4 vs Garmin Fenix 9 Pro: Design and display</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ksjEAsDzPnVz4PFiyS54Rj" name="Apple Watch Ultra 4" alt="Apple Watch Ultra 4" src="https://cdn.mos.cms.futurecdn.net/ksjEAsDzPnVz4PFiyS54Rj.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Both watches have rugged, durable designs with full titanium cases and sapphire crystal displays. The Apple Watch Ultra has a square 49mm case, whereas with the Fenix 9 Pro you can choose between circular 43mm, 47mm and 51mm case sizes.</p><p>Another choice you get with the Fenix 9 Pro is the display type, because there is a memory-in-pixel Fenix 9 Pro Solar with solar panels on its face to boost battery life. </p><p>The standard Fenix 9 Pro has a 3,000 nit AMOLED display, matching the brightness of the Apple Watch Ultra 4’s Retina display.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="HsEvn6zkCC3qyFB7uE4uB7" name="Garmin Fenix 9 Pro flashlight" alt="Garmin Fenix 9 Pro flashlight" src="https://cdn.mos.cms.futurecdn.net/HsEvn6zkCC3qyFB7uE4uB7.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Both watches stick with their classic button layouts — the Ultra 4 has three buttons, one of which is a digital dial, while the Fenix 9 Pro has five buttons.</p><p>They have equivalent waterproof ratings and both can be used for diving to depths of 40m.</p><p>A big design advantage for the Fenix 9 Pro is its built-in flashlight, which has white, red and green modes and is brighter and more useful than the flashlight option on the Ultra 4, which uses the watch face itself to light the way.</p><h2 class="article-body__section" id="section-apple-watch-ultra-4-vs-garmin-fenix-9-pro-health-and-fitness-features"><span>Apple Watch Ultra 4 vs Garmin Fenix 9 Pro: Health and fitness features</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wJzr9bqD5grXgaeqP9hXPj" name="Apple Watch Ultra 4" alt="Apple Watch Ultra 4" src="https://cdn.mos.cms.futurecdn.net/wJzr9bqD5grXgaeqP9hXPj.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Both watches are packed with useful sports and activity tracking features, and the Apple Watch Ultra 4’s new continuous heart rate monitor and readiness feature are two big improvements that bring it into line with features that have been available on Garmin watches for some time.</p><p>We’ll be testing Apple’s claims that the new heart rate monitor on the Ultra 4 and Apple Watch Series 12 is the most accurate on the market, but I have been impressed by the heart rate accuracy on the Fenix 9 Pro so far in testing, and on past Apple Watch models.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.29%;"><img id="VzUcM6wtvXKraohPwDUeaH" name="Garmin Fenix 9 Pro Readiness" alt="Garmin Fenix 9 Pro Readiness" src="https://cdn.mos.cms.futurecdn.net/VzUcM6wtvXKraohPwDUeaH.jpg" mos="" align="middle" fullscreen="" width="2560" height="1441" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Apple Watch Ultra 4 has more health tracking features, like alerts for signs of an irregular heart beat and hypertension, whereas the Garmin’s strengths are in more extensive training analysis, with additional metrics rating your overall endurance and predicted race times.</p><p>Both watches have all the sports modes and stats you need to track workouts, and are also comprehensive daily activity and sleep trackers. </p><h2 class="article-body__section" id="section-apple-watch-ultra-4-vs-garmin-fenix-9-pro-smart-features-and-connectivity"><span>Apple Watch Ultra 4 vs Garmin Fenix 9 Pro: Smart features and connectivity</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="JzL85TmsbDndusgcZgihgG" name="Garmin Fenix 9 Pro" alt="Garmin Fenix 9 Pro" src="https://cdn.mos.cms.futurecdn.net/JzL85TmsbDndusgcZgihgG.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Apple Watch Ultra 4 is a true smartwatch and offers more useful day-to-day features than the Fenix 9 Pro, especially with its new Siri AI-based features, like Live Rewind, Sound Recognition and Siri Recap.</p><p>There’s also a wealth of useful third-party apps available for the Apple Watch, whereas Garmin’s Connect IQ app store is much more limited, and Apple Pay is easier to set up and use than Garmin Pay.</p><p>The Fenix 9 Pro’s smart features do include music storage and the ability to link up with streaming services including Spotify, but the Apple Watch Ultra 4 is certainly smarter all round.</p><p>Both watches offer LTE and satellite connectivity though, which can be useful for staying in touch with others when you don’t have your phone, or to send SOS alerts if you get into trouble when adventuring off-the-grid. </p><p>This feature is only available on the more expensive Fenix 9 Pro model with inReach connectivity, and you will need a subscription with both watches to use these services, except for SOS alerts, which are free on both (for one year with the Fenix 9 Pro, for two years on the Apple Watch Ultra 4).</p><h2 class="article-body__section" id="section-apple-watch-ultra-4-vs-garmin-fenix-9-pro-navigation"><span>Apple Watch Ultra 4 vs Garmin Fenix 9 Pro: navigation</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="eZHBCPefduMUnbd4Z2jNq5" name="Garmin Fenix 9 Pro maps" alt="Garmin Fenix 9 Pro maps" src="https://cdn.mos.cms.futurecdn.net/eZHBCPefduMUnbd4Z2jNq5.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Garmin’s on-watch navigation tools are the best in the business, and you can quickly create and follow routes on the Fenix 9 Pro thanks to its routable maps, as well as getting specific info on what’s ahead of you when tackling long climbs or descents.</p><p>You can also view and use these maps with your sports modes, so you can see your activity stats and a map at the same time, unlike on the Apple Watch Ultra 4, which has its maps and routing features in a separate app to Workouts (though you can use third-party apps to shows maps during an activity).</p><h2 class="article-body__section" id="section-apple-watch-ultra-4-vs-garmin-fenix-9-pro-battery-life"><span>Apple Watch Ultra 4 vs Garmin Fenix 9 Pro: Battery life</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="q6RPuprHDQb5uHVE6hD8Cj" name="Apple Watch Ultra 4" alt="Apple Watch Ultra 4" src="https://cdn.mos.cms.futurecdn.net/q6RPuprHDQb5uHVE6hD8Cj.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Apple Watch Ultra 4 got a battery life bump that means it now offers up to 50 hours on a charge with the always-on display enabled, and 18 hours of GPS tracking in its most accurate mode.</p><p>However, this is an area where the Garmin Fenix 9 Pro certainly has the edge, no matter what size of the watch you opt for.</p><p>The Fenix 9 Pro 43mm lasts up to 10 days in watch mode and has 18 hours of GPS tracking. The 47mm watch lasts up to 18 days in watch mode and has 32 hours of GPS tracking, and the biggest 51mm watch I’m testing can last a whopping 31 days in watch mode and has 56 hours of GPS tracking.</p><p>Both watches can extend these ratings by using various low-power modes during activities, but if it’s battery life you want, the Fenix is the watch to go for.</p><h2 class="article-body__section" id="section-apple-watch-ultra-4-vs-garmin-fenix-9-pro-which-should-you-buy"><span>Apple Watch Ultra 4 vs Garmin Fenix 9 Pro: Which should you buy?</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1800px;"><p class="vanilla-image-block" style="padding-top:56.28%;"><img id="5JW8CVGH2XjNK8smMG6vjG" name="Garmin Fenix 9 Pro" alt="Garmin Fenix 9 Pro" src="https://cdn.mos.cms.futurecdn.net/v2/t:184,l:340,cw:1800,ch:1013,q:80/5JW8CVGH2XjNK8smMG6vjG.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Garmin Fenix 9 Pro is built to be the ultimate adventure and sports watch and focuses more on battery life and training features than the Apple Watch Ultra 4, and it also offers more design choices and the flashlight, which I find invaluable.</p><p>For its part the Apple Watch Ultra 4 looks to be a very capable sports watch with more smarts and health features than the Fenix 9 Pro, and it also comes in a lot cheaper.</p><p>Both are among the best options in their category, but which suits you better will largely depend if you’re mainly looking for a sports watch, or a smartwatch.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-Xj2xlX"></div>                            </div>                            <script src="https://kwizly.com/embed/Xj2xlX.js" async></script><h2 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h2><ul><li><a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-4-first-impressions-5-reasons-to-buy-and-2-reasons-to-skip-apples-new-rugged-model">Apple Watch Ultra 4 first impressions: 5 reasons to buy and 2 reasons to skip Apple’s new rugged model</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-11-vs-apple-watch-ultra-3-which-one-should-you-buy">Apple Watch 11 vs Apple Watch Ultra 3 — which one should you buy?</a></li><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/we-asked-368-people-what-they-want-from-the-apple-watch-ultra-4-heres-the-resounding-answer-and-its-not-ai">We asked 368 people what they want from the Apple Watch Ultra 4. Here’s the resounding answer (and it’s not AI)</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-4-vs-garmin-fenix-9-pro-price-specs-and-features-compared</link>
                                                                            <description>
                            <![CDATA[ Garmin and Apple have just launched the latest models of their flagship smartwatch, but how do the Apple Watch Ultra 4 and Garmin Fenix 9 Pro compare? ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">gHEbV3YQUA8F8k82KHQC73</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/2tRBKcpvgdKbcbzzinxkgW-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 11 Sep 2026 11:57:09 +0000</pubDate>                                                                                                                                <updated>Fri, 11 Sep 2026 11:58:24 +0000</updated>
                                                                                                                                            <category><![CDATA[Smartwatches]]></category>
                                                    <category><![CDATA[Wellness]]></category>
                                                                                                                    <dc:creator><![CDATA[ Nick Harris-Fry ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/J5Jjp49GUVjLZEbjEkTex.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nick has been a journalist since 2012 and has spent most of that time writing about health and fitness for a variety of publications. Nick spent nine years working on the Coach magazine and website before moving to the fitness team at Tom’s Guide in 2024. Nick is a keen runner and also the founder of YouTube channel &lt;a href=&quot;https://www.youtube.com/channel/UCOBM9FasII4dKbyE_HKkbjw&quot;&gt;The Run Testers&lt;/a&gt;, which specialises in reviewing running shoes, watches, headphones and other gear.&lt;/p&gt;&lt;p&gt;Nick has covered all aspects of health and fitness throughout his career, interviewing experts and celebrities, trying fitness classes and running marathons, all in the name of providing readers with the information they need to get the most out of an active lifestyle.&lt;/p&gt;&lt;p&gt;Nick ran his first marathon in 2016 after six weeks of training for a magazine feature and subsequently became obsessed with the sport. He now has PBs of 2hr 25min for the marathon and 15min 30sec for 5K, and has run 16 marathons in total, as well as a 50-mile ultramarathon.&lt;/p&gt;&lt;p&gt;Nick runs 60-90 miles a week and races regularly with his club, which gives him a lot of opportunity to test out running gear: he has tested and reviewed hundreds of pairs of running shoes, as well as fitness trackers, running watches, sports headphones, treadmills, and all manner of other kit. Nick is also a qualified Run Leader in the UK.&lt;/p&gt;&lt;p&gt;Nick is an established expert in the health and fitness area and along with writing for several publications, including &lt;a href=&quot;https://www.livescience.com/author/nick-harris-fry&quot;&gt;Live Science&lt;/a&gt;, &lt;a href=&quot;https://www.expertreviews.co.uk/authors/nick-harris-fry&quot;&gt;Expert Reviews&lt;/a&gt;, &lt;a href=&quot;https://www.wareable.com/author/n.harris-fry&quot;&gt;Wareable&lt;/a&gt;, &lt;a href=&quot;https://www.coachweb.com/author/nick-harris-fry&quot;&gt;Coach&lt;/a&gt; and &lt;a href=&quot;https://www.getsweatgo.com/author/n.harrisfry&quot;&gt;Get Sweat Go&lt;/a&gt;, he has been quoted on &lt;a href=&quot;https://www.theguardian.com/thefilter/2024/oct/20/if-you-pay-more-than-4-youre-being-ripped-off-the-fair-price-for-14-everyday-items-from-cleaning-spray-to-olive-oil&quot;&gt;The Guardian&lt;/a&gt; and &lt;a href=&quot;https://www.independent.co.uk/life-style/health-and-families/london-marathon-2021-date-training-tips-summer-running-a9482486.html&quot;&gt;The Independent&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Nick graduated from the University of York in 2010 with a degree in Politics, Philosophy and Economics and worked in the NHS for three years, during which time he completed his NCTJ Diploma in Journalism at News Associates in London. Before starting on Coach and moving into health and fitness, Nick worked as a football journalist and lived in Kathmandu, Nepal for two years.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/2tRBKcpvgdKbcbzzinxkgW-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Apple Watch Ultra 4 vs Garmin Fenix 9 Pro]]></media:description>                                                            <media:text><![CDATA[Apple Watch Ultra 4 vs Garmin Fenix 9 Pro]]></media:text>
                                <media:title type="plain"><![CDATA[Apple Watch Ultra 4 vs Garmin Fenix 9 Pro]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/2tRBKcpvgdKbcbzzinxkgW-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>If you’re a fan of the <a href="https://www.tomsguide.com/wellness/smartwatches/best-smartwatch">best smartwatches</a>, you’ve been treated in recent weeks with the launch of the latest models of the Garmin Fenix and Apple Watch Ultra.</p><p>The <a href="https://www.tomsguide.com/wellness/smartwatches/garmin-fenix-9-is-here-and-its-brighter-and-thinner-than-its-predecessor">Garmin Fenix 9</a> line-up launched in late August, with the top-of-the-range Fenix 9 Pro being Garmin’s most advanced sports watch yet. </p><p>A couple of weeks later the <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-4-first-impressions-5-reasons-to-buy-and-2-reasons-to-skip-apples-new-rugged-model">Apple Watch Ultra 4</a> was announced at Apple’s September event, boasting new features like continuous heart rate tracking and a readiness score.</p><p>We’ll thoroughly test both watches and compare them in our full reviews, but for now here’s a breakdown of how the pair stack up with regards to their key specs, features and price.</p><h2 class="article-body__section" id="section-apple-watch-ultra-4-vs-garmin-fenix-9-pro-specs-compared"><span>Apple Watch Ultra 4 vs Garmin Fenix 9 Pro: Specs compared</span></h2><div ><table><caption>Apple Watch Ultra 4 vs Garmin Fenix 9 Pro AMOLED </caption><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Apple Watch Ultra 3</strong></p></td><td  ><p><strong>Garmin Fenix 8 Pro AMOLED </strong></p></td></tr><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>$799</p></td><td  ><p>From $1,199 (with inReach)</p></td></tr><tr><td class="firstcol " ><p><strong>Size</strong></p></td><td  ><p>49mm</p></td><td  ><p>43mm, 47mm or 51mm</p></td></tr><tr><td class="firstcol " ><p><strong>Thickness</strong></p></td><td  ><p>12mm</p></td><td  ><p>13.3mm (43mm),<br>13.8mm (47mm), 15.8mm (51mm)</p></td></tr><tr><td class="firstcol " ><p><strong>Case weight</strong></p></td><td  ><p>62g</p></td><td  ><p>45g (43mm), 56g (47mm), 73g (51mm)</p></td></tr><tr><td class="firstcol " ><p><strong>Display</strong></p></td><td  ><p>Sapphire crystal</p></td><td  ><p>Sapphire crystal</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>LTE & satellite</p></td><td  ><p>LTE & satellite</p></td></tr><tr><td class="firstcol " ><p><strong>Smartwatch battery life </strong></p></td><td  ><p>50 hours</p></td><td  ><p>10 days (43 mm), 18 days (47mm), 31 days (51mm)</p></td></tr><tr><td class="firstcol " ><p><strong>GPS battery life (multi-band)</strong></p></td><td  ><p>18 hours</p></td><td  ><p>18 hours (43mm), 32 hours (47mm), 56 hours (51mm)</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-apple-watch-ultra-4-vs-garmin-fenix-9-pro-price"><span>Apple Watch Ultra 4 vs Garmin Fenix 9 Pro: Price</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AYP57Su3Eno7XWdwUbPfJj" name="Apple Watch Ultra 4" alt="Apple Watch Ultra 4" src="https://cdn.mos.cms.futurecdn.net/AYP57Su3Eno7XWdwUbPfJj.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The price is simple when it comes to the Apple Watch Ultra 4; it will set you back $799, the same price as its predecessor. There’s also only one model of the watch, which comes in either black or natural titanium,</p><p>Things are a lot more complicated with the Garmin Fenix 9 line-up, with three sizes, two display options and standard and Pro models to consider.</p><p>The standard Garmin Fenix 9 costs from $999, whereas the Fenix 9 Pro costs from $1099 and has a full titanium case and the option to add inReach connectivity as its key upgrades. I’m going to focus on the Fenix 9 Pro for this comparison, because it’s the top model in Garmin’s line-up.</p><p>Whatever Fenix you opt for, however, the Apple Watch Ultra 4 is going to be the more affordable option, and it’s $400 cheaper than a Garmin Fenix 9 Pro with inReach.</p><h2 class="article-body__section" id="section-apple-watch-ultra-4-vs-garmin-fenix-9-pro-design-and-display"><span>Apple Watch Ultra 4 vs Garmin Fenix 9 Pro: Design and display</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ksjEAsDzPnVz4PFiyS54Rj" name="Apple Watch Ultra 4" alt="Apple Watch Ultra 4" src="https://cdn.mos.cms.futurecdn.net/ksjEAsDzPnVz4PFiyS54Rj.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Both watches have rugged, durable designs with full titanium cases and sapphire crystal displays. The Apple Watch Ultra has a square 49mm case, whereas with the Fenix 9 Pro you can choose between circular 43mm, 47mm and 51mm case sizes.</p><p>Another choice you get with the Fenix 9 Pro is the display type, because there is a memory-in-pixel Fenix 9 Pro Solar with solar panels on its face to boost battery life. </p><p>The standard Fenix 9 Pro has a 3,000 nit AMOLED display, matching the brightness of the Apple Watch Ultra 4’s Retina display.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="HsEvn6zkCC3qyFB7uE4uB7" name="Garmin Fenix 9 Pro flashlight" alt="Garmin Fenix 9 Pro flashlight" src="https://cdn.mos.cms.futurecdn.net/HsEvn6zkCC3qyFB7uE4uB7.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Both watches stick with their classic button layouts — the Ultra 4 has three buttons, one of which is a digital dial, while the Fenix 9 Pro has five buttons.</p><p>They have equivalent waterproof ratings and both can be used for diving to depths of 40m.</p><p>A big design advantage for the Fenix 9 Pro is its built-in flashlight, which has white, red and green modes and is brighter and more useful than the flashlight option on the Ultra 4, which uses the watch face itself to light the way.</p><h2 class="article-body__section" id="section-apple-watch-ultra-4-vs-garmin-fenix-9-pro-health-and-fitness-features"><span>Apple Watch Ultra 4 vs Garmin Fenix 9 Pro: Health and fitness features</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wJzr9bqD5grXgaeqP9hXPj" name="Apple Watch Ultra 4" alt="Apple Watch Ultra 4" src="https://cdn.mos.cms.futurecdn.net/wJzr9bqD5grXgaeqP9hXPj.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Both watches are packed with useful sports and activity tracking features, and the Apple Watch Ultra 4’s new continuous heart rate monitor and readiness feature are two big improvements that bring it into line with features that have been available on Garmin watches for some time.</p><p>We’ll be testing Apple’s claims that the new heart rate monitor on the Ultra 4 and Apple Watch Series 12 is the most accurate on the market, but I have been impressed by the heart rate accuracy on the Fenix 9 Pro so far in testing, and on past Apple Watch models.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.29%;"><img id="VzUcM6wtvXKraohPwDUeaH" name="Garmin Fenix 9 Pro Readiness" alt="Garmin Fenix 9 Pro Readiness" src="https://cdn.mos.cms.futurecdn.net/VzUcM6wtvXKraohPwDUeaH.jpg" mos="" align="middle" fullscreen="" width="2560" height="1441" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Apple Watch Ultra 4 has more health tracking features, like alerts for signs of an irregular heart beat and hypertension, whereas the Garmin’s strengths are in more extensive training analysis, with additional metrics rating your overall endurance and predicted race times.</p><p>Both watches have all the sports modes and stats you need to track workouts, and are also comprehensive daily activity and sleep trackers. </p><h2 class="article-body__section" id="section-apple-watch-ultra-4-vs-garmin-fenix-9-pro-smart-features-and-connectivity"><span>Apple Watch Ultra 4 vs Garmin Fenix 9 Pro: Smart features and connectivity</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="JzL85TmsbDndusgcZgihgG" name="Garmin Fenix 9 Pro" alt="Garmin Fenix 9 Pro" src="https://cdn.mos.cms.futurecdn.net/JzL85TmsbDndusgcZgihgG.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Apple Watch Ultra 4 is a true smartwatch and offers more useful day-to-day features than the Fenix 9 Pro, especially with its new Siri AI-based features, like Live Rewind, Sound Recognition and Siri Recap.</p><p>There’s also a wealth of useful third-party apps available for the Apple Watch, whereas Garmin’s Connect IQ app store is much more limited, and Apple Pay is easier to set up and use than Garmin Pay.</p><p>The Fenix 9 Pro’s smart features do include music storage and the ability to link up with streaming services including Spotify, but the Apple Watch Ultra 4 is certainly smarter all round.</p><p>Both watches offer LTE and satellite connectivity though, which can be useful for staying in touch with others when you don’t have your phone, or to send SOS alerts if you get into trouble when adventuring off-the-grid. </p><p>This feature is only available on the more expensive Fenix 9 Pro model with inReach connectivity, and you will need a subscription with both watches to use these services, except for SOS alerts, which are free on both (for one year with the Fenix 9 Pro, for two years on the Apple Watch Ultra 4).</p><h2 class="article-body__section" id="section-apple-watch-ultra-4-vs-garmin-fenix-9-pro-navigation"><span>Apple Watch Ultra 4 vs Garmin Fenix 9 Pro: navigation</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="eZHBCPefduMUnbd4Z2jNq5" name="Garmin Fenix 9 Pro maps" alt="Garmin Fenix 9 Pro maps" src="https://cdn.mos.cms.futurecdn.net/eZHBCPefduMUnbd4Z2jNq5.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Garmin’s on-watch navigation tools are the best in the business, and you can quickly create and follow routes on the Fenix 9 Pro thanks to its routable maps, as well as getting specific info on what’s ahead of you when tackling long climbs or descents.</p><p>You can also view and use these maps with your sports modes, so you can see your activity stats and a map at the same time, unlike on the Apple Watch Ultra 4, which has its maps and routing features in a separate app to Workouts (though you can use third-party apps to shows maps during an activity).</p><h2 class="article-body__section" id="section-apple-watch-ultra-4-vs-garmin-fenix-9-pro-battery-life"><span>Apple Watch Ultra 4 vs Garmin Fenix 9 Pro: Battery life</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="q6RPuprHDQb5uHVE6hD8Cj" name="Apple Watch Ultra 4" alt="Apple Watch Ultra 4" src="https://cdn.mos.cms.futurecdn.net/q6RPuprHDQb5uHVE6hD8Cj.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Apple Watch Ultra 4 got a battery life bump that means it now offers up to 50 hours on a charge with the always-on display enabled, and 18 hours of GPS tracking in its most accurate mode.</p><p>However, this is an area where the Garmin Fenix 9 Pro certainly has the edge, no matter what size of the watch you opt for.</p><p>The Fenix 9 Pro 43mm lasts up to 10 days in watch mode and has 18 hours of GPS tracking. The 47mm watch lasts up to 18 days in watch mode and has 32 hours of GPS tracking, and the biggest 51mm watch I’m testing can last a whopping 31 days in watch mode and has 56 hours of GPS tracking.</p><p>Both watches can extend these ratings by using various low-power modes during activities, but if it’s battery life you want, the Fenix is the watch to go for.</p><h2 class="article-body__section" id="section-apple-watch-ultra-4-vs-garmin-fenix-9-pro-which-should-you-buy"><span>Apple Watch Ultra 4 vs Garmin Fenix 9 Pro: Which should you buy?</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1800px;"><p class="vanilla-image-block" style="padding-top:56.28%;"><img id="5JW8CVGH2XjNK8smMG6vjG" name="Garmin Fenix 9 Pro" alt="Garmin Fenix 9 Pro" src="https://cdn.mos.cms.futurecdn.net/v2/t:184,l:340,cw:1800,ch:1013,q:80/5JW8CVGH2XjNK8smMG6vjG.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Garmin Fenix 9 Pro is built to be the ultimate adventure and sports watch and focuses more on battery life and training features than the Apple Watch Ultra 4, and it also offers more design choices and the flashlight, which I find invaluable.</p><p>For its part the Apple Watch Ultra 4 looks to be a very capable sports watch with more smarts and health features than the Fenix 9 Pro, and it also comes in a lot cheaper.</p><p>Both are among the best options in their category, but which suits you better will largely depend if you’re mainly looking for a sports watch, or a smartwatch.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-Xj2xlX"></div>                            </div>                            <script src="https://kwizly.com/embed/Xj2xlX.js" async></script><h2 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h2><ul><li><a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-4-first-impressions-5-reasons-to-buy-and-2-reasons-to-skip-apples-new-rugged-model">Apple Watch Ultra 4 first impressions: 5 reasons to buy and 2 reasons to skip Apple’s new rugged model</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-11-vs-apple-watch-ultra-3-which-one-should-you-buy">Apple Watch 11 vs Apple Watch Ultra 3 — which one should you buy?</a></li><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/we-asked-368-people-what-they-want-from-the-apple-watch-ultra-4-heres-the-resounding-answer-and-its-not-ai">We asked 368 people what they want from the Apple Watch Ultra 4. Here’s the resounding answer (and it’s not AI)</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Apple Watch Series 12 vs Apple Watch Ultra 4: Which new Apple Watch should you buy? ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Apple has once again launched new Apple Watches, including the flagship <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-series-12-announced-everything-you-need-to-know-about-the-new-flagship-apple-watchhttps://www.tomsguide.com/wellness/smartwatches/apple-watch-series-12">Apple Watch Series 12</a> and premium <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-4-is-official-all-the-upgrades-explainedhttps://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-4">Apple Watch Ultra 4</a>. The question is, which one is right for you?</p><p>I'm here to help you answer that. Below, I've compared the Apple Watch Series 12 vs. Apple Watch Ultra 4 across seven categories, including cost, design, display, health and fitness, safety, AI, and battery life. Here's everything you need to know before you buy.</p><h3 class="article-body__section" id="section-apple-watch-12-vs-apple-watch-ultra-4-specs-compared"><span>Apple Watch 12 vs Apple Watch Ultra 4: Specs compared</span></h3><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Apple Watch Series 12</p></th><th  ><p>Apple Watch Ultra 4</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Starting price</strong></p></td><td  ><p>$399</p></td><td  ><p>$799</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions </strong></p></td><td  ><p>46mm: 46 x 40 x 9.7mm / 42mm: 42 x 37 x 9.7mm</p></td><td  ><p>49 x 44 x 12 mm</p></td></tr><tr><td class="firstcol " ><p><strong>Case colors</strong></p></td><td  ><p>Aluminum: Dark Bronze, Light Gold, Black, Space Gray / Titanium: Radiant Gold, Natural / Ceramic: Pearl White, Night Blue</p><p></p></td><td  ><p>Titanium: Natural, Black</p></td></tr><tr><td class="firstcol " ><p><strong>Display</strong></p></td><td  ><p>46mm:  416 x 496 pixels / 44mm: 374 x 446 pixels (Always-On LTPO3 Wide-Angle OLED)</p><p></p></td><td  ><p>422 x 514 pixels (Always-On LTPO3 Wide-Angle OLED)</p></td></tr><tr><td class="firstcol " ><p><strong>Display brightness</strong></p><p></p><p></p><p></p></td><td  ><p>2,000 nits</p></td><td  ><p>3,000 nits</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>46mm: ~ 39 g / 44mm: ~32 g</p></td><td  ><p>~63 g</p></td></tr><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>S11</p></td><td  ><p>S11</p></td></tr><tr><td class="firstcol " ><p><strong>Cellular </strong></p></td><td  ><p>5G</p></td><td  ><p>5G</p></td></tr><tr><td class="firstcol " ><p><strong>Water resistance </strong></p></td><td  ><p>50 meters</p></td><td  ><p>100 meters</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life with always-on display (rated)</strong></p></td><td  ><p>24 hours</p></td><td  ><p>50 hours</p></td></tr><tr><td class="firstcol " ><p><strong>Compatibility</strong></p></td><td  ><p>iOS 27 or later</p></td><td  ><p>iOS 27 or later</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-apple-watch-12-vs-apple-watch-ultra-4-price"><span>Apple Watch 12 vs Apple Watch Ultra 4: Price</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="h9pUCaivgXc2tpjF4BPEu4" name="Apple Watch Series 12" alt="Apple Watch Series 12" src="https://cdn.mos.cms.futurecdn.net/h9pUCaivgXc2tpjF4BPEu4.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>This is an easy one; the Apple Watch Series 12 <a href="https://www.apple.com/shop/buy-watch/apple-watch" target="_blank" rel="nofollow">starts at $399</a>, half the $799 cost of the Apple Watch Ultra 4. Even the priciest Series 12 configuration, 46mm with 5G+GPS, is $250 less than the latest Ultra model.</p><p>That said, if you opt for the Series 12 with an upgraded ceramic case (vs standard aluminum), it surpasses the Ultra 4 in cost: $899 for the 42mm and $949 for the 46mm. Note: there is no ceramic Apple Watch Ultra 4.</p><p>Both the Apple Watch Ultra 4 and Apple Watch Series 12 are available for preorder from September 9 with a September 18 ship date.</p><h3 class="article-body__section" id="section-apple-watch-12-vs-apple-watch-ultra-4-design-and-durability"><span>Apple Watch 12 vs Apple Watch Ultra 4: Design and durability</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="q6RPuprHDQb5uHVE6hD8Cj" name="Apple Watch Ultra 4" alt="Apple Watch Ultra 4" src="https://cdn.mos.cms.futurecdn.net/q6RPuprHDQb5uHVE6hD8Cj.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Even though the Apple Watch Series 12 features an upgraded Ceramic Shield 2 screen coating — which is 60% tougher than the Ion-X glass used on the <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-series-11-review">Series 11</a> — the Apple Watch Ultra 4 is hands-down the more rugged model.</p><p>The Ultra 4, like those before it, boasts 100 meters of water resistance, enough for scuba diving and double that of the Series 12. Additionally, the Ultra 4 sports a sapphire crystal display, which is more scratch-resistant than even Ion-X glass.</p><p>From a usability standpoint, the Ultra 4's design includes an additional, customizable "Action" button on the side of the case opposite the digital crown and side button. </p><h3 class="article-body__section" id="section-apple-watch-12-vs-apple-watch-ultra-4-display"><span>Apple Watch 12 vs Apple Watch Ultra 4: Display</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="xv7TVM8BxL5mYTJonKP7Rj" name="Apple Watch Ultra 4" alt="Apple Watch Ultra 4" src="https://cdn.mos.cms.futurecdn.net/xv7TVM8BxL5mYTJonKP7Rj.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Apple Watch Ultra 4 and Apple Watch Series 12 each use the same display as their respective predecessors. Ultimately, the Ultra 4's display offers slightly more real estate than the 46mm Apple Watch Series 12, and a noticeable amount more than the 42mm model.</p><p>You'll find LTPO3 wide-angle OLED panels with 326 pixels per inch of resolution in both the latest flagship and Ultra models, but the latter's display is more powerful than the former's.</p><p>While the Series 12 maxes out at a respectable 2,000 nits, which is generally bright enough for viewing in bright sunlight, the Ultra 4 reaches 3,000 nits of max brightness. In my experience, that's bright enough to read the screen in even direct sunlight.</p><h3 class="article-body__section" id="section-apple-watch-12-vs-apple-watch-ultra-4-health-and-fitness-features"><span>Apple Watch 12 vs Apple Watch Ultra 4: Health and fitness features</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="K8NYBa9eZYZYr94Vnmnqr4" name="Apple Watch Series 12" alt="Apple Watch Series 12" src="https://cdn.mos.cms.futurecdn.net/K8NYBa9eZYZYr94Vnmnqr4.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>When it comes to onboard health and fitness tech and features, the Apple Watch Series 12 and Apple Watch Ultra 4 are essentially a match. They both have Apple's new, redesigned holistic sensor array, which promises far more accurate heart rate tracking, ECGs, and heart rate variability insights compared to prior Apple Watches.</p><p>Both watches support a wide range of trackable workout types, along with onboard GPS for logging outdoor activities without a paired phone, but the Ultra 4 has a more advanced dual-band antenna compared to a single-band GPS on the Series 12. </p><p>Translation: In settings with obstructed skies, like cities or forests, the Ultra 4 will likely generate slightly more accurate location-based data than the Series 12.</p><h3 class="article-body__section" id="section-apple-watch-12-vs-apple-watch-ultra-4-safety-features"><span>Apple Watch 12 vs Apple Watch Ultra 4: Safety features</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:870px;"><p class="vanilla-image-block" style="padding-top:56.21%;"><img id="HuR9pqp3Cwh6SZFZi9tMBE" name="AW12-ECG" alt="Close-up of an ECG reading being performed using the Apple Watch Series 12" src="https://cdn.mos.cms.futurecdn.net/HuR9pqp3Cwh6SZFZi9tMBE.jpg" mos="" align="middle" fullscreen="" width="870" height="489" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Apple)</span></figcaption></figure><p>Apple's latest smartwatches are each jam-packed with useful safety features, including fall and crash detection, high/low heart rate alerts, Hypertension Alerts, and sleep apnea notifications. However, the Ultra 4 (and Ultra 3) have one unique safety tool not found on any other Apple Watch: Emergency SOS via satellite.</p><p>This feature allows users to connect to a satellite, even without a paired smartphone and/or a cellular signal, and send a message to friends and/or emergency responders with location and other details.</p><h3 class="article-body__section" id="section-apple-watch-12-vs-apple-watch-ultra-4-ai-features"><span>Apple Watch 12 vs Apple Watch Ultra 4: AI features</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="8bcbHKT8rtMP46JqtdXmRN" name="Apple Event — September 9 47-49 screenshot" alt="Live Rewind on Apple Watch 12" src="https://cdn.mos.cms.futurecdn.net/8bcbHKT8rtMP46JqtdXmRN.png" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Apple)</span></figcaption></figure><p>The Apple Watch 12 and Ultra 4 support the latest, greatest Siri AI-based features, including the onboard voice assistant itself, along with Live Rewind (lets you ‘go back in time’ up to 15 seconds), Sound Recognition(alerts users to sounds like sirens and alarms), and Siri Recap (takes high-level notes of conversations and generates summaries).</p><p>Some are concerned about potential privacy issues, but Apple stresses that Live Rewind only activates when you deliberately double-press the Digital Crown. In addition, audio is not recorded or stored for either feature and Siri Recap offers only AI summaries and not transcripts or speaker names.</p><h3 class="article-body__section" id="section-apple-watch-12-vs-apple-watch-ultra-4-battery-life"><span>Apple Watch 12 vs Apple Watch Ultra 4: Battery life</span></h3><p>If you want the best battery life in an Apple Watch, your best bet is the Apple Watch Ultra 4, which is rated to last up to 50 hours per charge, more than double the 24-hour rating of the Apple Watch Series 12. </p><h3 class="article-body__section" id="section-apple-watch-12-vs-apple-watch-ultra-4-which-should-you-buy"><span>Apple Watch 12 vs Apple Watch Ultra 4: Which should you buy?</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AYP57Su3Eno7XWdwUbPfJj" name="Apple Watch Ultra 4" alt="Apple Watch Ultra 4" src="https://cdn.mos.cms.futurecdn.net/AYP57Su3Eno7XWdwUbPfJj.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Apple has long been careful to differentiate the flagship Apple Watch series from the pricier Ultra series, and that's still the case in 2026. The Apple Watch Ultra 4 is tougher-built with double the water resistance, twice the battery life, a brighter screen, better GPS, and more impressive safety tools. </p><p>On the flip side, the Apple Watch Series 12 is much more affordable than the Ultra 4, with all the same cutting-edge health and fitness tools, AI features, and nearly the same-size screen (in the 46mm model). Oh, and it's also more comfortable on the wrist thanks to a slimmer case.</p><p>For most of us, the Apple Watch Series 12 is going to be the more sensible option. But if you fancy yourself to be a rugged, outdoor adventurer or hardcore athlete, then the extra cost of the Apple Watch Ultra 4 may be worth it.</p><p>Which new Apple Watch would you rather rock? Let me know in the comments.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-Xj2xlX"></div>                            </div>                            <script src="https://kwizly.com/embed/Xj2xlX.js" async></script><h2 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h2><ul><li><a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-4-first-impressions-5-reasons-to-buy-and-2-reasons-to-skip-apples-new-rugged-model">Apple Watch Ultra 4 first impressions: 5 reasons to buy and 2 reasons to skip Apple’s new rugged model</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-11-vs-apple-watch-ultra-3-which-one-should-you-buy">Apple Watch 11 vs Apple Watch Ultra 3 — which one should you buy?</a></li><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/we-asked-368-people-what-they-want-from-the-apple-watch-ultra-4-heres-the-resounding-answer-and-its-not-ai">We asked 368 people what they want from the Apple Watch Ultra 4. Here’s the resounding answer (and it’s not AI)</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/wellness/smartwatches/apple-watch-series-12-vs-apple-watch-ultra-4-which-new-apple-watch-should-you-buy</link>
                                                                            <description>
                            <![CDATA[ Here's how the Apple Watch Series 12 and Apple Watch Ultra 4 compare across seven categories, including price, design, battery, AI features, and onboard health tech. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">bCvk38DAhGNR6jSHuAHMXD</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/gEo2Mdaja5cREBSCs9qh6S-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 11 Sep 2026 10:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Smartwatches]]></category>
                                                    <category><![CDATA[Wellness]]></category>
                                                                                                <author><![CDATA[ dan.bracaglia@futurenet.com (Dan Bracaglia) ]]></author>                    <dc:creator><![CDATA[ Dan Bracaglia ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/3Ev8EFrheNxPemMWSBaKcK.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;&lt;br&gt;&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/gEo2Mdaja5cREBSCs9qh6S-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Apple Watch Series 12 vs Apple Watch Ultra 4]]></media:description>                                                            <media:text><![CDATA[Apple Watch Series 12 vs Apple Watch Ultra 4]]></media:text>
                                <media:title type="plain"><![CDATA[Apple Watch Series 12 vs Apple Watch Ultra 4]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/gEo2Mdaja5cREBSCs9qh6S-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Apple has once again launched new Apple Watches, including the flagship <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-series-12-announced-everything-you-need-to-know-about-the-new-flagship-apple-watchhttps://www.tomsguide.com/wellness/smartwatches/apple-watch-series-12">Apple Watch Series 12</a> and premium <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-4-is-official-all-the-upgrades-explainedhttps://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-4">Apple Watch Ultra 4</a>. The question is, which one is right for you?</p><p>I'm here to help you answer that. Below, I've compared the Apple Watch Series 12 vs. Apple Watch Ultra 4 across seven categories, including cost, design, display, health and fitness, safety, AI, and battery life. Here's everything you need to know before you buy.</p><h3 class="article-body__section" id="section-apple-watch-12-vs-apple-watch-ultra-4-specs-compared"><span>Apple Watch 12 vs Apple Watch Ultra 4: Specs compared</span></h3><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Apple Watch Series 12</p></th><th  ><p>Apple Watch Ultra 4</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Starting price</strong></p></td><td  ><p>$399</p></td><td  ><p>$799</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions </strong></p></td><td  ><p>46mm: 46 x 40 x 9.7mm / 42mm: 42 x 37 x 9.7mm</p></td><td  ><p>49 x 44 x 12 mm</p></td></tr><tr><td class="firstcol " ><p><strong>Case colors</strong></p></td><td  ><p>Aluminum: Dark Bronze, Light Gold, Black, Space Gray / Titanium: Radiant Gold, Natural / Ceramic: Pearl White, Night Blue</p><p></p></td><td  ><p>Titanium: Natural, Black</p></td></tr><tr><td class="firstcol " ><p><strong>Display</strong></p></td><td  ><p>46mm:  416 x 496 pixels / 44mm: 374 x 446 pixels (Always-On LTPO3 Wide-Angle OLED)</p><p></p></td><td  ><p>422 x 514 pixels (Always-On LTPO3 Wide-Angle OLED)</p></td></tr><tr><td class="firstcol " ><p><strong>Display brightness</strong></p><p></p><p></p><p></p></td><td  ><p>2,000 nits</p></td><td  ><p>3,000 nits</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>46mm: ~ 39 g / 44mm: ~32 g</p></td><td  ><p>~63 g</p></td></tr><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>S11</p></td><td  ><p>S11</p></td></tr><tr><td class="firstcol " ><p><strong>Cellular </strong></p></td><td  ><p>5G</p></td><td  ><p>5G</p></td></tr><tr><td class="firstcol " ><p><strong>Water resistance </strong></p></td><td  ><p>50 meters</p></td><td  ><p>100 meters</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life with always-on display (rated)</strong></p></td><td  ><p>24 hours</p></td><td  ><p>50 hours</p></td></tr><tr><td class="firstcol " ><p><strong>Compatibility</strong></p></td><td  ><p>iOS 27 or later</p></td><td  ><p>iOS 27 or later</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-apple-watch-12-vs-apple-watch-ultra-4-price"><span>Apple Watch 12 vs Apple Watch Ultra 4: Price</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="h9pUCaivgXc2tpjF4BPEu4" name="Apple Watch Series 12" alt="Apple Watch Series 12" src="https://cdn.mos.cms.futurecdn.net/h9pUCaivgXc2tpjF4BPEu4.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>This is an easy one; the Apple Watch Series 12 <a href="https://www.apple.com/shop/buy-watch/apple-watch" target="_blank" rel="nofollow">starts at $399</a>, half the $799 cost of the Apple Watch Ultra 4. Even the priciest Series 12 configuration, 46mm with 5G+GPS, is $250 less than the latest Ultra model.</p><p>That said, if you opt for the Series 12 with an upgraded ceramic case (vs standard aluminum), it surpasses the Ultra 4 in cost: $899 for the 42mm and $949 for the 46mm. Note: there is no ceramic Apple Watch Ultra 4.</p><p>Both the Apple Watch Ultra 4 and Apple Watch Series 12 are available for preorder from September 9 with a September 18 ship date.</p><h3 class="article-body__section" id="section-apple-watch-12-vs-apple-watch-ultra-4-design-and-durability"><span>Apple Watch 12 vs Apple Watch Ultra 4: Design and durability</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="q6RPuprHDQb5uHVE6hD8Cj" name="Apple Watch Ultra 4" alt="Apple Watch Ultra 4" src="https://cdn.mos.cms.futurecdn.net/q6RPuprHDQb5uHVE6hD8Cj.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Even though the Apple Watch Series 12 features an upgraded Ceramic Shield 2 screen coating — which is 60% tougher than the Ion-X glass used on the <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-series-11-review">Series 11</a> — the Apple Watch Ultra 4 is hands-down the more rugged model.</p><p>The Ultra 4, like those before it, boasts 100 meters of water resistance, enough for scuba diving and double that of the Series 12. Additionally, the Ultra 4 sports a sapphire crystal display, which is more scratch-resistant than even Ion-X glass.</p><p>From a usability standpoint, the Ultra 4's design includes an additional, customizable "Action" button on the side of the case opposite the digital crown and side button. </p><h3 class="article-body__section" id="section-apple-watch-12-vs-apple-watch-ultra-4-display"><span>Apple Watch 12 vs Apple Watch Ultra 4: Display</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="xv7TVM8BxL5mYTJonKP7Rj" name="Apple Watch Ultra 4" alt="Apple Watch Ultra 4" src="https://cdn.mos.cms.futurecdn.net/xv7TVM8BxL5mYTJonKP7Rj.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Apple Watch Ultra 4 and Apple Watch Series 12 each use the same display as their respective predecessors. Ultimately, the Ultra 4's display offers slightly more real estate than the 46mm Apple Watch Series 12, and a noticeable amount more than the 42mm model.</p><p>You'll find LTPO3 wide-angle OLED panels with 326 pixels per inch of resolution in both the latest flagship and Ultra models, but the latter's display is more powerful than the former's.</p><p>While the Series 12 maxes out at a respectable 2,000 nits, which is generally bright enough for viewing in bright sunlight, the Ultra 4 reaches 3,000 nits of max brightness. In my experience, that's bright enough to read the screen in even direct sunlight.</p><h3 class="article-body__section" id="section-apple-watch-12-vs-apple-watch-ultra-4-health-and-fitness-features"><span>Apple Watch 12 vs Apple Watch Ultra 4: Health and fitness features</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="K8NYBa9eZYZYr94Vnmnqr4" name="Apple Watch Series 12" alt="Apple Watch Series 12" src="https://cdn.mos.cms.futurecdn.net/K8NYBa9eZYZYr94Vnmnqr4.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>When it comes to onboard health and fitness tech and features, the Apple Watch Series 12 and Apple Watch Ultra 4 are essentially a match. They both have Apple's new, redesigned holistic sensor array, which promises far more accurate heart rate tracking, ECGs, and heart rate variability insights compared to prior Apple Watches.</p><p>Both watches support a wide range of trackable workout types, along with onboard GPS for logging outdoor activities without a paired phone, but the Ultra 4 has a more advanced dual-band antenna compared to a single-band GPS on the Series 12. </p><p>Translation: In settings with obstructed skies, like cities or forests, the Ultra 4 will likely generate slightly more accurate location-based data than the Series 12.</p><h3 class="article-body__section" id="section-apple-watch-12-vs-apple-watch-ultra-4-safety-features"><span>Apple Watch 12 vs Apple Watch Ultra 4: Safety features</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:870px;"><p class="vanilla-image-block" style="padding-top:56.21%;"><img id="HuR9pqp3Cwh6SZFZi9tMBE" name="AW12-ECG" alt="Close-up of an ECG reading being performed using the Apple Watch Series 12" src="https://cdn.mos.cms.futurecdn.net/HuR9pqp3Cwh6SZFZi9tMBE.jpg" mos="" align="middle" fullscreen="" width="870" height="489" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Apple)</span></figcaption></figure><p>Apple's latest smartwatches are each jam-packed with useful safety features, including fall and crash detection, high/low heart rate alerts, Hypertension Alerts, and sleep apnea notifications. However, the Ultra 4 (and Ultra 3) have one unique safety tool not found on any other Apple Watch: Emergency SOS via satellite.</p><p>This feature allows users to connect to a satellite, even without a paired smartphone and/or a cellular signal, and send a message to friends and/or emergency responders with location and other details.</p><h3 class="article-body__section" id="section-apple-watch-12-vs-apple-watch-ultra-4-ai-features"><span>Apple Watch 12 vs Apple Watch Ultra 4: AI features</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="8bcbHKT8rtMP46JqtdXmRN" name="Apple Event — September 9 47-49 screenshot" alt="Live Rewind on Apple Watch 12" src="https://cdn.mos.cms.futurecdn.net/8bcbHKT8rtMP46JqtdXmRN.png" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Apple)</span></figcaption></figure><p>The Apple Watch 12 and Ultra 4 support the latest, greatest Siri AI-based features, including the onboard voice assistant itself, along with Live Rewind (lets you ‘go back in time’ up to 15 seconds), Sound Recognition(alerts users to sounds like sirens and alarms), and Siri Recap (takes high-level notes of conversations and generates summaries).</p><p>Some are concerned about potential privacy issues, but Apple stresses that Live Rewind only activates when you deliberately double-press the Digital Crown. In addition, audio is not recorded or stored for either feature and Siri Recap offers only AI summaries and not transcripts or speaker names.</p><h3 class="article-body__section" id="section-apple-watch-12-vs-apple-watch-ultra-4-battery-life"><span>Apple Watch 12 vs Apple Watch Ultra 4: Battery life</span></h3><p>If you want the best battery life in an Apple Watch, your best bet is the Apple Watch Ultra 4, which is rated to last up to 50 hours per charge, more than double the 24-hour rating of the Apple Watch Series 12. </p><h3 class="article-body__section" id="section-apple-watch-12-vs-apple-watch-ultra-4-which-should-you-buy"><span>Apple Watch 12 vs Apple Watch Ultra 4: Which should you buy?</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AYP57Su3Eno7XWdwUbPfJj" name="Apple Watch Ultra 4" alt="Apple Watch Ultra 4" src="https://cdn.mos.cms.futurecdn.net/AYP57Su3Eno7XWdwUbPfJj.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Apple has long been careful to differentiate the flagship Apple Watch series from the pricier Ultra series, and that's still the case in 2026. The Apple Watch Ultra 4 is tougher-built with double the water resistance, twice the battery life, a brighter screen, better GPS, and more impressive safety tools. </p><p>On the flip side, the Apple Watch Series 12 is much more affordable than the Ultra 4, with all the same cutting-edge health and fitness tools, AI features, and nearly the same-size screen (in the 46mm model). Oh, and it's also more comfortable on the wrist thanks to a slimmer case.</p><p>For most of us, the Apple Watch Series 12 is going to be the more sensible option. But if you fancy yourself to be a rugged, outdoor adventurer or hardcore athlete, then the extra cost of the Apple Watch Ultra 4 may be worth it.</p><p>Which new Apple Watch would you rather rock? Let me know in the comments.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-Xj2xlX"></div>                            </div>                            <script src="https://kwizly.com/embed/Xj2xlX.js" async></script><h2 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h2><ul><li><a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-4-first-impressions-5-reasons-to-buy-and-2-reasons-to-skip-apples-new-rugged-model">Apple Watch Ultra 4 first impressions: 5 reasons to buy and 2 reasons to skip Apple’s new rugged model</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-11-vs-apple-watch-ultra-3-which-one-should-you-buy">Apple Watch 11 vs Apple Watch Ultra 3 — which one should you buy?</a></li><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/we-asked-368-people-what-they-want-from-the-apple-watch-ultra-4-heres-the-resounding-answer-and-its-not-ai">We asked 368 people what they want from the Apple Watch Ultra 4. Here’s the resounding answer (and it’s not AI)</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ iPhone 18 Pro vs. iPhone 17 Pro: Should you upgrade this year? ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Choosing whether or not to upgrade from the excellent <a href="https://www.tomsguide.com/phones/iphones/apple-iphone-17-pro-review">iPhone 17 Pro</a> to the forthcoming <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-rumors-everything-we-know-so-far">iPhone 18 Pro</a> may give some Apple fans pause for thought this year. Why? Because Apple is heavily expected to debut the brand-new <a href="https://www.tomsguide.com/phones/iphones/iphone-ultra-rumors-everything-you-need-to-know-about-the-foldable-iphone">iPhone Ultra</a> at its <a href="https://www.tomsguide.com/phones/iphones/apple-iphone-18-event-all-the-new-products-expected-to-launch-in-september">'Surprise and shine' event</a> next week.</p><p>The decision becomes whether or not to remain with what's tried and tested, or jump ship to a new form factor that could result in greater productivity and a host of other benefits the <a href="https://www.tomsguide.com/best-picks/best-foldable-phones">best foldable phones</a> have to offer. On the other hand, you're likely going to sacrifice camera performance, which is typically something Pro users value highly.</p><p>In fact, the photography improvements Apple is allegedly making could be your biggest incentive to switch up from last-year's iPhone 17 Pro to iPhone 18 Pro. And even though the Pro phones aren't cheap, you're still going to save money based on what the Ultra is rumored to cost.</p><p>Although we now have a fixed date for the iPhone 18 Pro event, Apple's phones are still a while away from hitting shelves. Thankfully, we've got a pretty good idea of what's coming and I'm here to provide your iPhone 17 Pro vs iPhone 18 Pro comparison so if you do decide to skip the Ultra, you can see what improvements you'll get by staying with the Pro model.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ODm7mX"></div>                            </div>                            <script src="https://kwizly.com/embed/ODm7mX.js" async></script><h2 class="article-body__section" id="section-iphone-17-pro-vs-iphone-18-pro-specifications"><span>iPhone 17 Pro vs. iPhone 18 Pro: specifications</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>iPhone 17 Pro</strong></p></th><th  ><p><strong>iPhone 18 Pro (rumored)</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Display size</strong></p></td><td  ><p>6.3 inches</p></td><td  ><p>6.3 inches</p></td></tr><tr><td class="firstcol " ><p><strong>Refresh rate</strong></p></td><td  ><p>120Hz</p></td><td  ><p>120Hz</p></td></tr><tr><td class="firstcol " ><p><strong>CPU</strong></p></td><td  ><p>A19 Pro</p></td><td  ><p>A20 Pro</p></td></tr><tr><td class="firstcol " ><p><strong>Memory</strong></p></td><td  ><p>12GB</p></td><td  ><p>12GB</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>256GB, 512GB, 1TB,</p></td><td  ><p>256GB, 512GB, 1TB</p></td></tr><tr><td class="firstcol " ><p><strong>Cameras</strong></p></td><td  ><p>48MP main (f/1.78), 48MP ultrawide (f/2.2), 48MP telephoto with 4x optical zoom (f/2.8)</p></td><td  ><p>48MP main with variable aperture, 48MP ultrawide, 48MP telephoto with 5x optical zoom</p></td></tr><tr><td class="firstcol " ><p><strong>Battery Size</strong></p></td><td  ><p>4,252 mAh</p></td><td  ><p>4,288 mAh</p></td></tr><tr><td class="firstcol " ><p><strong>Software</strong></p></td><td  ><p>iOS 27</p></td><td  ><p>iOS 27</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>5.91 x 2.83 x 0.34 inches (150 x 71 x 8.75 mm)</p></td><td  ><p>5.91 × 2.83 × 0.34 inches (150 x 71.9 x 8.75 mm)</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>7.20 ounces (204 grams)</p></td><td  ><p>7.26 ounces (206 grams)</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-iphone-17-pro-vs-iphone-18-pro-price"><span>iPhone 17 Pro vs. iPhone 18 Pro: Price</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="rU7TbT6sxLh7AYrw6yRmoi" name="iPhone 17 Pro and Max-16" alt="iPhone 17 Pro and Pro Max held in the hand/" src="https://cdn.mos.cms.futurecdn.net/rU7TbT6sxLh7AYrw6yRmoi.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Let's start with release dates first. Apple's "Surprise and shine" event is on September 9 and pre-orders typically open on the Friday after the event. However, Apple's iPhone 18 Pro event is on a Wednesday this year, rather than a Tuesday. The latest rumors claim pre-orders will open on September 12 with sales beginning September 18.</p><p>Pricing is less certain but it's almost universally accepted that Apple <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-and-iphone-18-pro-max-price-rumors-heres-how-much-more-you-could-pay-this-year">is going to raise prices this year</a>. The iPhone 17 Pro held the line nicely at $999 for its base configuration, but reports suggest Apple may increase the price of its Pro models this year due to rising memory and component costs.</p><p>Globally, some analysts have predicted increases of up to $100 or even $200 depending on the model and storage configuration. If you're on a strict budget, the slightly older 17 Pro might soon see some excellent carrier discounts.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/rQHEN3kngZo" allowfullscreen></iframe></div></div><h2 class="article-body__section" id="section-iphone-17-pro-vs-iphone-18-pro-design-and-display"><span>iPhone 17 Pro vs. iPhone 18 Pro: Design and display</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="EPuTcyWZVdJGZNc54Ww6E9" name="iPhone 17 Pro review" alt="iPhone 17 Pro review." src="https://cdn.mos.cms.futurecdn.net/EPuTcyWZVdJGZNc54Ww6E9.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide / John Velasco)</span></figcaption></figure><p>At a glance, you might have trouble telling the iPhone 18 Pro apart from the iPhone 17 Pro. Both phones are tipped to retain the ergonomic 6.3-inch form factor, a size that nicely balances usability and screen real estate. The iPhone 17 Pro made waves with its aluminum unibody design and Ceramic Shield 2 back, and the 18 Pro is expected to maintain that unified look.</p><p>The most notable design shift could be on the front. Apple is reportedly working on a smaller Dynamic Island for the 18 Pro, finally freeing up a bit more display space. </p><p>Furthermore, the 18 Pro's screen is rumored to receive an efficiency upgrade through newer LTPO+ technology, delivering improved outdoor brightness and better energy efficiency compared to the standard LTPO XDR OLED panel on the iPhone 17 Pro.</p><p>Where you're of course going to see a change is in the color scheme. The iPhone 17 Pro is hard to miss thanks to its Cosmic Orange finish but the rumor is the iPhone 18 Pro will be a little more elegant.</p><p>The iPhone 18 Pro (and 18 Pro Max) are likely to feature the rumored <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-leaked-colors-include-a-stunning-new-dark-cherry-option">Dark Cherry and Light Blue</a> options tipped for this year's lineup. Other color options will very likely include silver and dark gray.</p><h2 class="article-body__section" id="section-iphone-17-pro-vs-iphone-18-pro-cameras"><span>iPhone 17 Pro vs. iPhone 18 Pro: Cameras</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="7iBdM6RkBx9vY5PWZDt6ef" name="iPhone 18 pro edit" alt="iPhone 18 Pro mockup" src="https://cdn.mos.cms.futurecdn.net/7iBdM6RkBx9vY5PWZDt6ef.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Aptenod / YouTube)</span></figcaption></figure><p>The camera system could be the <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-camera-upgrades-everything-we-know-about-the-new-sensor">single biggest upgrade on the iPhone 18 Pro</a> and your main reason for switching up from last year's model. While the iPhone 17 Pro boasts a phenomenal 48MP main lens with a fixed f/1.78 aperture alongside a 48MP ultrawide and 48MP telephoto, the iPhone 18 Pro is set to take mobile photography to the next level.</p><p>Apple is reportedly outfitting the iPhone 18 Pro with a variable-aperture main camera. This would give users true hardware-level control over depth of field and how much light reaches the sensor, heavily outclassing the digital portrait blur we've relied on for years. Add in a new stacked image sensor that improves dynamic range and low-light noise performance, and the 18 Pro could be the undisputed champion for smartphone photographers.</p><p>The only sticking point in that is there have been some rumors that variable aperture could be <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-camera-may-get-this-major-upgrade-but-why-isnt-iphone-18-pro-getting-it-too">exclusive to the Pro Max</a>. The hypothesis is the mechanics required for a variable lens will only fit in a larger phone, ruling out the smaller Pro. This would undoubtedly be a huge blow for those of us that prefer Apple's smaller phones and could be a big reason why you choose to remain with the iPhone 17 Pro over its successor.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="EHpBdnKc9CNvu4GiNaPbH9" name="iPhone 17 Pro review" alt="iPhone 17 Pro taking a photo." src="https://cdn.mos.cms.futurecdn.net/EHpBdnKc9CNvu4GiNaPbH9.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide / John Velasco)</span></figcaption></figure><p>One more thing to mention is that there have been claims Apple will remove the capacitive capabilities of the Camera Control button for the iPhone 18 Pro. This is due to some users accidentally launching the camera app inadvertently and could be very helpful if you use your iPhone as your main camera.</p><p>Bottom line is that variable aperture on the iPhone 18 Pro could make or break whether or not a lot of people decide to upgrade from the 17 Pro.</p><h2 class="article-body__section" id="section-iphone-17-pro-vs-iphone-18-pro-performance-and-battery"><span>iPhone 17 Pro vs. iPhone 18 Pro: performance and battery</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2p68W9mHAAZd9qESYGbtvV" name="iPhone 17 Pro Max-22" alt="iPhone 17 Pro Max gaming." src="https://cdn.mos.cms.futurecdn.net/2p68W9mHAAZd9qESYGbtvV.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The iPhone 17 Pro is no slouch, thanks to the A19 Pro chip built on a 3-nanometer process. However, the iPhone 18 Pro is expected to be powered by Apple's next-generation A20 Pro chip, manufactured using TSMC's cutting-edge 2nm process. </p><p>This move to a smaller manufacturing process should allow Apple to significantly improve both raw performance and power efficiency.</p><p>Because of this newfound efficiency — and a slight physical battery increase from the 17 Pro's 4,252 mAh up to roughly 4,288 mAh on the 18 Pro — battery life could take a leap forward. </p><p>You can expect the iPhone 18 Pro to easily outlast its predecessor, when it comes to both longevity and overall performance. As always, anyone who wants the fastest possible speed and the most power will always benefit from upgrading to the newest model.</p><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-18-pro-software-and-apple-intelligence"><span>iPhone 18 Pro Max vs. iPhone 18 Pro: Software and Apple Intelligence</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3490px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qdS9MAp79UU3D85qwZjEV6" name="iOS 27 Siri AI" alt="iOS 27 Siri AI running on iPhone 17 Pro." src="https://cdn.mos.cms.futurecdn.net/qdS9MAp79UU3D85qwZjEV6.jpg" mos="" align="middle" fullscreen="" width="3490" height="1963" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: John Velasco / Tom's Guide)</span></figcaption></figure><p>Both the iPhone 17 Pro and the iPhone 18 Pro will have access to Apple's latest software tricks, but this year's model will run <a href="https://www.tomsguide.com/phones/iphones/ios-27-public-beta-hands-on-preview-the-new-siri-and-apple-intelligence-features-completely-changed-how-i-use-my-iphone">iOS 27</a> out of the box. The 17 Pro, meanwhile, launched with <a href="https://www.tomsguide.com/phones/iphones/ios-26-review-new-features-liquid-glass">iOS 26</a> but will be eligible for the update in the coming weeks.</p><p>The real difference lies in hardware integration for Apple Intelligence. With 12GB of RAM on both devices, the AI playing field looks level on paper. However, leaks suggest the A20 Pro mentioned earlier features advanced packaging that integrates RAM more closely with the processor, freeing up bandwidth for lightning-fast on-device AI tasks. </p><p>The 18 Pro will simply handle complex generative prompts and on-the-fly photo editing faster than the 17 Pro.</p><p>We'll have to wait to find out if there are any iPhone 18 Pro-specific software or AI features (perhaps around the variable aperture) but for the most part, the 17 Pro will remain able to use almost all the software features Apple has to offer for at least a few more years yet.</p><h2 class="article-body__section" id="section-iphone-17-pro-vs-iphone-18-pro-final-thoughts"><span>iPhone 17 Pro vs. iPhone 18 Pro: Final thoughts</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:55.78%;"><img id="WNJZg5wpSg4yem6kzvAjLN" name="iPhone 18 Pro and Max LIST Large" alt="iPhone 18 Pro vs iPhone 18 Pro Max." src="https://cdn.mos.cms.futurecdn.net/WNJZg5wpSg4yem6kzvAjLN.jpg" mos="" align="middle" fullscreen="" width="1280" height="714" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: John Velasco / Tom's Guide)</span></figcaption></figure><p>If you're already rocking an iPhone 17 Pro, I feel it's going to be tough to justify an upgrade based on what's already at your disposal. Apple's 2025 effort has a gorgeous 6.3-inch display, a triple 48MP camera setup, and 12GB of RAM to power Apple Intelligence. It’s an incredibly capable device that still has years of top-tier life left in it.</p><p>That said, if you’re a power user or a serious smartphone photographer, the iPhone 18 Pro’s rumored variable aperture, highly efficient 2nm A20 Pro chip, and significantly larger battery might just be too tempting to pass up. Just keep in mind that the variable aperture and longer zoom could be limited to the iPhone 18 Pro Max.</p><p>We'll find out for sure once new Apple CEO John Ternus takes the stage to make these phones official and reveal what the final prices are going to be. In the meantime, let me know in the comments below whether you think an iPhone 18 Pro upgrade is a must-have or if you're content to hold on to the iPhone 17 Pro for a few more years.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/iphones/iphone-ultra-exclusive-gurman-on-price-release-date-and-secret-weapon-versus-android">iPhone Ultra exclusive: Gurman on price, release date rumors and 'day one' weapon against Android</a></li><li><a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-camera-upgrades-everything-we-know-about-the-new-sensor">iPhone 18 Pro camera upgrades — everything we know about the new sensor</a></li><li><a href="https://www.tomsguide.com/phones/iphones/iphone-ultra-and-18-pro-max-unboxed-ahead-of-apple-event-these-could-be-the-final-designs">iPhone Ultra and 18 Pro Max unboxed ahead of Apple event — these could be the final designs</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/phones/iphones/iphone-18-pro-vs-iphone-17-pro-should-you-upgrade-this-year</link>
                                                                            <description>
                            <![CDATA[ Apple is weeks away from unveiling the iPhone 18 Pro with some major changes in store, but is it enough to tempt you to upgrade? ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">AkyahUpUR3bfVwQR7oueoC</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/zCyBevGh6S2Dj9C2BFrhtn-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 02 Sep 2026 07:30:00 +0000</pubDate>                                                                                                                                <updated>Wed, 02 Sep 2026 08:33:21 +0000</updated>
                                                                                                                                            <category><![CDATA[iPhones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                                                                <author><![CDATA[ jeff.parsons@futurenet.com (Jeff Parsons) ]]></author>                    <dc:creator><![CDATA[ Jeff Parsons ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/7z3UTGGrmSokMKxTWHmhjX.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jeff is U.K. Editor-in-Chief for Tom’s Guide looking after the day-to-day output of the site’s British contingent. &lt;/p&gt;&lt;p&gt;Rising early and heading straight for the coffee machine, Jeff loves nothing more than dialling into the zeitgeist of the day’s tech news. A journalist for over a decade, he&#039;s travelled around the world testing and reviewing any gadget he can get his hands on.&lt;/p&gt;&lt;p&gt;Before joining the team at Tom’s Guide, Jeff covered technology and science for two of the U.K.’s biggest national news sites: Metro.co.uk and the Daily Mirror. Memorable moments include getting lost in Vienna in an electric Audi, touring Lockheed Martin’s mile-long jet factory in Fort Worth and filming a Netflix documentary about Elon Musk in West London.&lt;/p&gt;&lt;p&gt;When not plugged into the current news agenda, editing or commissioning a series of articles or debating the merits of Apple vs Android, Jeff can usually be found out for a run trying to shave precious seconds off his PB. Or lifting weights in a vain attempt to offset the ageing process.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/zCyBevGh6S2Dj9C2BFrhtn-1280-80.jpg">
                                                            <media:credit><![CDATA[Unbox Therapy / Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[iPhone 18 Pro vs iPhone 17 Pro.]]></media:description>                                                            <media:text><![CDATA[iPhone 18 Pro vs iPhone 17 Pro.]]></media:text>
                                <media:title type="plain"><![CDATA[iPhone 18 Pro vs iPhone 17 Pro.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/zCyBevGh6S2Dj9C2BFrhtn-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Choosing whether or not to upgrade from the excellent <a href="https://www.tomsguide.com/phones/iphones/apple-iphone-17-pro-review">iPhone 17 Pro</a> to the forthcoming <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-rumors-everything-we-know-so-far">iPhone 18 Pro</a> may give some Apple fans pause for thought this year. Why? Because Apple is heavily expected to debut the brand-new <a href="https://www.tomsguide.com/phones/iphones/iphone-ultra-rumors-everything-you-need-to-know-about-the-foldable-iphone">iPhone Ultra</a> at its <a href="https://www.tomsguide.com/phones/iphones/apple-iphone-18-event-all-the-new-products-expected-to-launch-in-september">'Surprise and shine' event</a> next week.</p><p>The decision becomes whether or not to remain with what's tried and tested, or jump ship to a new form factor that could result in greater productivity and a host of other benefits the <a href="https://www.tomsguide.com/best-picks/best-foldable-phones">best foldable phones</a> have to offer. On the other hand, you're likely going to sacrifice camera performance, which is typically something Pro users value highly.</p><p>In fact, the photography improvements Apple is allegedly making could be your biggest incentive to switch up from last-year's iPhone 17 Pro to iPhone 18 Pro. And even though the Pro phones aren't cheap, you're still going to save money based on what the Ultra is rumored to cost.</p><p>Although we now have a fixed date for the iPhone 18 Pro event, Apple's phones are still a while away from hitting shelves. Thankfully, we've got a pretty good idea of what's coming and I'm here to provide your iPhone 17 Pro vs iPhone 18 Pro comparison so if you do decide to skip the Ultra, you can see what improvements you'll get by staying with the Pro model.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ODm7mX"></div>                            </div>                            <script src="https://kwizly.com/embed/ODm7mX.js" async></script><h2 class="article-body__section" id="section-iphone-17-pro-vs-iphone-18-pro-specifications"><span>iPhone 17 Pro vs. iPhone 18 Pro: specifications</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>iPhone 17 Pro</strong></p></th><th  ><p><strong>iPhone 18 Pro (rumored)</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Display size</strong></p></td><td  ><p>6.3 inches</p></td><td  ><p>6.3 inches</p></td></tr><tr><td class="firstcol " ><p><strong>Refresh rate</strong></p></td><td  ><p>120Hz</p></td><td  ><p>120Hz</p></td></tr><tr><td class="firstcol " ><p><strong>CPU</strong></p></td><td  ><p>A19 Pro</p></td><td  ><p>A20 Pro</p></td></tr><tr><td class="firstcol " ><p><strong>Memory</strong></p></td><td  ><p>12GB</p></td><td  ><p>12GB</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>256GB, 512GB, 1TB,</p></td><td  ><p>256GB, 512GB, 1TB</p></td></tr><tr><td class="firstcol " ><p><strong>Cameras</strong></p></td><td  ><p>48MP main (f/1.78), 48MP ultrawide (f/2.2), 48MP telephoto with 4x optical zoom (f/2.8)</p></td><td  ><p>48MP main with variable aperture, 48MP ultrawide, 48MP telephoto with 5x optical zoom</p></td></tr><tr><td class="firstcol " ><p><strong>Battery Size</strong></p></td><td  ><p>4,252 mAh</p></td><td  ><p>4,288 mAh</p></td></tr><tr><td class="firstcol " ><p><strong>Software</strong></p></td><td  ><p>iOS 27</p></td><td  ><p>iOS 27</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>5.91 x 2.83 x 0.34 inches (150 x 71 x 8.75 mm)</p></td><td  ><p>5.91 × 2.83 × 0.34 inches (150 x 71.9 x 8.75 mm)</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>7.20 ounces (204 grams)</p></td><td  ><p>7.26 ounces (206 grams)</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-iphone-17-pro-vs-iphone-18-pro-price"><span>iPhone 17 Pro vs. iPhone 18 Pro: Price</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="rU7TbT6sxLh7AYrw6yRmoi" name="iPhone 17 Pro and Max-16" alt="iPhone 17 Pro and Pro Max held in the hand/" src="https://cdn.mos.cms.futurecdn.net/rU7TbT6sxLh7AYrw6yRmoi.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Let's start with release dates first. Apple's "Surprise and shine" event is on September 9 and pre-orders typically open on the Friday after the event. However, Apple's iPhone 18 Pro event is on a Wednesday this year, rather than a Tuesday. The latest rumors claim pre-orders will open on September 12 with sales beginning September 18.</p><p>Pricing is less certain but it's almost universally accepted that Apple <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-and-iphone-18-pro-max-price-rumors-heres-how-much-more-you-could-pay-this-year">is going to raise prices this year</a>. The iPhone 17 Pro held the line nicely at $999 for its base configuration, but reports suggest Apple may increase the price of its Pro models this year due to rising memory and component costs.</p><p>Globally, some analysts have predicted increases of up to $100 or even $200 depending on the model and storage configuration. If you're on a strict budget, the slightly older 17 Pro might soon see some excellent carrier discounts.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/rQHEN3kngZo" allowfullscreen></iframe></div></div><h2 class="article-body__section" id="section-iphone-17-pro-vs-iphone-18-pro-design-and-display"><span>iPhone 17 Pro vs. iPhone 18 Pro: Design and display</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="EPuTcyWZVdJGZNc54Ww6E9" name="iPhone 17 Pro review" alt="iPhone 17 Pro review." src="https://cdn.mos.cms.futurecdn.net/EPuTcyWZVdJGZNc54Ww6E9.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide / John Velasco)</span></figcaption></figure><p>At a glance, you might have trouble telling the iPhone 18 Pro apart from the iPhone 17 Pro. Both phones are tipped to retain the ergonomic 6.3-inch form factor, a size that nicely balances usability and screen real estate. The iPhone 17 Pro made waves with its aluminum unibody design and Ceramic Shield 2 back, and the 18 Pro is expected to maintain that unified look.</p><p>The most notable design shift could be on the front. Apple is reportedly working on a smaller Dynamic Island for the 18 Pro, finally freeing up a bit more display space. </p><p>Furthermore, the 18 Pro's screen is rumored to receive an efficiency upgrade through newer LTPO+ technology, delivering improved outdoor brightness and better energy efficiency compared to the standard LTPO XDR OLED panel on the iPhone 17 Pro.</p><p>Where you're of course going to see a change is in the color scheme. The iPhone 17 Pro is hard to miss thanks to its Cosmic Orange finish but the rumor is the iPhone 18 Pro will be a little more elegant.</p><p>The iPhone 18 Pro (and 18 Pro Max) are likely to feature the rumored <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-leaked-colors-include-a-stunning-new-dark-cherry-option">Dark Cherry and Light Blue</a> options tipped for this year's lineup. Other color options will very likely include silver and dark gray.</p><h2 class="article-body__section" id="section-iphone-17-pro-vs-iphone-18-pro-cameras"><span>iPhone 17 Pro vs. iPhone 18 Pro: Cameras</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="7iBdM6RkBx9vY5PWZDt6ef" name="iPhone 18 pro edit" alt="iPhone 18 Pro mockup" src="https://cdn.mos.cms.futurecdn.net/7iBdM6RkBx9vY5PWZDt6ef.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Aptenod / YouTube)</span></figcaption></figure><p>The camera system could be the <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-camera-upgrades-everything-we-know-about-the-new-sensor">single biggest upgrade on the iPhone 18 Pro</a> and your main reason for switching up from last year's model. While the iPhone 17 Pro boasts a phenomenal 48MP main lens with a fixed f/1.78 aperture alongside a 48MP ultrawide and 48MP telephoto, the iPhone 18 Pro is set to take mobile photography to the next level.</p><p>Apple is reportedly outfitting the iPhone 18 Pro with a variable-aperture main camera. This would give users true hardware-level control over depth of field and how much light reaches the sensor, heavily outclassing the digital portrait blur we've relied on for years. Add in a new stacked image sensor that improves dynamic range and low-light noise performance, and the 18 Pro could be the undisputed champion for smartphone photographers.</p><p>The only sticking point in that is there have been some rumors that variable aperture could be <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-camera-may-get-this-major-upgrade-but-why-isnt-iphone-18-pro-getting-it-too">exclusive to the Pro Max</a>. The hypothesis is the mechanics required for a variable lens will only fit in a larger phone, ruling out the smaller Pro. This would undoubtedly be a huge blow for those of us that prefer Apple's smaller phones and could be a big reason why you choose to remain with the iPhone 17 Pro over its successor.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="EHpBdnKc9CNvu4GiNaPbH9" name="iPhone 17 Pro review" alt="iPhone 17 Pro taking a photo." src="https://cdn.mos.cms.futurecdn.net/EHpBdnKc9CNvu4GiNaPbH9.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide / John Velasco)</span></figcaption></figure><p>One more thing to mention is that there have been claims Apple will remove the capacitive capabilities of the Camera Control button for the iPhone 18 Pro. This is due to some users accidentally launching the camera app inadvertently and could be very helpful if you use your iPhone as your main camera.</p><p>Bottom line is that variable aperture on the iPhone 18 Pro could make or break whether or not a lot of people decide to upgrade from the 17 Pro.</p><h2 class="article-body__section" id="section-iphone-17-pro-vs-iphone-18-pro-performance-and-battery"><span>iPhone 17 Pro vs. iPhone 18 Pro: performance and battery</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2p68W9mHAAZd9qESYGbtvV" name="iPhone 17 Pro Max-22" alt="iPhone 17 Pro Max gaming." src="https://cdn.mos.cms.futurecdn.net/2p68W9mHAAZd9qESYGbtvV.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The iPhone 17 Pro is no slouch, thanks to the A19 Pro chip built on a 3-nanometer process. However, the iPhone 18 Pro is expected to be powered by Apple's next-generation A20 Pro chip, manufactured using TSMC's cutting-edge 2nm process. </p><p>This move to a smaller manufacturing process should allow Apple to significantly improve both raw performance and power efficiency.</p><p>Because of this newfound efficiency — and a slight physical battery increase from the 17 Pro's 4,252 mAh up to roughly 4,288 mAh on the 18 Pro — battery life could take a leap forward. </p><p>You can expect the iPhone 18 Pro to easily outlast its predecessor, when it comes to both longevity and overall performance. As always, anyone who wants the fastest possible speed and the most power will always benefit from upgrading to the newest model.</p><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-18-pro-software-and-apple-intelligence"><span>iPhone 18 Pro Max vs. iPhone 18 Pro: Software and Apple Intelligence</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3490px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qdS9MAp79UU3D85qwZjEV6" name="iOS 27 Siri AI" alt="iOS 27 Siri AI running on iPhone 17 Pro." src="https://cdn.mos.cms.futurecdn.net/qdS9MAp79UU3D85qwZjEV6.jpg" mos="" align="middle" fullscreen="" width="3490" height="1963" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: John Velasco / Tom's Guide)</span></figcaption></figure><p>Both the iPhone 17 Pro and the iPhone 18 Pro will have access to Apple's latest software tricks, but this year's model will run <a href="https://www.tomsguide.com/phones/iphones/ios-27-public-beta-hands-on-preview-the-new-siri-and-apple-intelligence-features-completely-changed-how-i-use-my-iphone">iOS 27</a> out of the box. The 17 Pro, meanwhile, launched with <a href="https://www.tomsguide.com/phones/iphones/ios-26-review-new-features-liquid-glass">iOS 26</a> but will be eligible for the update in the coming weeks.</p><p>The real difference lies in hardware integration for Apple Intelligence. With 12GB of RAM on both devices, the AI playing field looks level on paper. However, leaks suggest the A20 Pro mentioned earlier features advanced packaging that integrates RAM more closely with the processor, freeing up bandwidth for lightning-fast on-device AI tasks. </p><p>The 18 Pro will simply handle complex generative prompts and on-the-fly photo editing faster than the 17 Pro.</p><p>We'll have to wait to find out if there are any iPhone 18 Pro-specific software or AI features (perhaps around the variable aperture) but for the most part, the 17 Pro will remain able to use almost all the software features Apple has to offer for at least a few more years yet.</p><h2 class="article-body__section" id="section-iphone-17-pro-vs-iphone-18-pro-final-thoughts"><span>iPhone 17 Pro vs. iPhone 18 Pro: Final thoughts</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:55.78%;"><img id="WNJZg5wpSg4yem6kzvAjLN" name="iPhone 18 Pro and Max LIST Large" alt="iPhone 18 Pro vs iPhone 18 Pro Max." src="https://cdn.mos.cms.futurecdn.net/WNJZg5wpSg4yem6kzvAjLN.jpg" mos="" align="middle" fullscreen="" width="1280" height="714" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: John Velasco / Tom's Guide)</span></figcaption></figure><p>If you're already rocking an iPhone 17 Pro, I feel it's going to be tough to justify an upgrade based on what's already at your disposal. Apple's 2025 effort has a gorgeous 6.3-inch display, a triple 48MP camera setup, and 12GB of RAM to power Apple Intelligence. It’s an incredibly capable device that still has years of top-tier life left in it.</p><p>That said, if you’re a power user or a serious smartphone photographer, the iPhone 18 Pro’s rumored variable aperture, highly efficient 2nm A20 Pro chip, and significantly larger battery might just be too tempting to pass up. Just keep in mind that the variable aperture and longer zoom could be limited to the iPhone 18 Pro Max.</p><p>We'll find out for sure once new Apple CEO John Ternus takes the stage to make these phones official and reveal what the final prices are going to be. In the meantime, let me know in the comments below whether you think an iPhone 18 Pro upgrade is a must-have or if you're content to hold on to the iPhone 17 Pro for a few more years.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/iphones/iphone-ultra-exclusive-gurman-on-price-release-date-and-secret-weapon-versus-android">iPhone Ultra exclusive: Gurman on price, release date rumors and 'day one' weapon against Android</a></li><li><a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-camera-upgrades-everything-we-know-about-the-new-sensor">iPhone 18 Pro camera upgrades — everything we know about the new sensor</a></li><li><a href="https://www.tomsguide.com/phones/iphones/iphone-ultra-and-18-pro-max-unboxed-ahead-of-apple-event-these-could-be-the-final-designs">iPhone Ultra and 18 Pro Max unboxed ahead of Apple event — these could be the final designs</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ iPhone 18 Pro Max vs. Samsung Galaxy S26 Ultra — Here's how Apple's and Samsung's flagships could compare ]]></title>
                                                                                                <dc:content><![CDATA[ <p>September is just around the corner, and that can only mean one thing: It’s time for Apple to reveal its latest iPhones.</p><p>For the past seven years, the Pro Max has been Apple’s most expensive (and arguably desirable) model, but in 2026 we’re expecting the company’s first foldable to eclipse it in terms of media coverage.</p><p>You can see how the <a href="https://www.tomsguide.com/phones/samsung-phones/3-big-ways-the-iphone-ultra-could-beat-the-galaxy-z-fold-8">iPhone Ultra is lining up against the Samsung Galaxy Z Fold 8 in the battle of the foldables here</a>, but what about the non-folding flagships? Both remain big hitters, so here’s how the <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-rumors-and-leaks-everything-we-know-so-far">iPhone 18 Pro Max</a> is set to stack up against the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s26-ultra-review">Samsung Galaxy S26 Ultra</a> as we approach Apple’s September launch date.</p><h2 id="iphone-18-pro-max-vs-samsung-galaxy-s26-ultra-specifications">iPhone 18 Pro Max vs. Samsung Galaxy S26 Ultra: Specifications</h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>iPhone 18 Pro Max (rumored)</strong></p></td><td  ><p><strong>Samsung Galaxy S26 Ultra</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Display size</strong></p></td><td  ><p>6.9 inches</p></td><td  ><p>6.9 inches</p></td></tr><tr><td class="firstcol " ><p><strong>Refresh rate</strong></p></td><td  ><p>1-120Hz ProMotion</p></td><td  ><p>1-120Hz adaptive </p></td></tr><tr><td class="firstcol " ><p><strong>CPU</strong></p></td><td  ><p>A20 Pro</p></td><td  ><p>Snapdragon 8 Elite Gen 5 for Galaxy</p></td></tr><tr><td class="firstcol " ><p><strong>Memory</strong></p></td><td  ><p>12GB</p></td><td  ><p>12GB / 16GB </p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>256GB, 512GB, 1TB, 2TB</p></td><td  ><p>256GB, 512GB, 1TB</p></td></tr><tr><td class="firstcol " ><p><strong>Cameras</strong></p></td><td  ><p>48MP main with variable aperture, 48MP ultrawide, 48MP telephoto (4x)</p></td><td  ><p>200MP main, 50MP ultrawide, 10MP telephoto (3x), 50MP telephoto (5x)</p></td></tr><tr><td class="firstcol " ><p><strong>Battery Size</strong></p></td><td  ><p>5,567 mAh (eSim) / 5,491 mAh (SIM tray)</p></td><td  ><p>5,000 mAh</p></td></tr><tr><td class="firstcol " ><p><strong>Starting price</strong></p></td><td  ><p>$1,299</p></td><td  ><p>$1,299</p></td></tr></tbody></table></div><h2 id="iphone-18-pro-max-vs-samsung-galaxy-s26-ultra-release-date-and-price">iPhone 18 Pro Max vs. Samsung Galaxy S26 Ultra: Release date and price</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4982px;"><p class="vanilla-image-block" style="padding-top:42.85%;"><img id="atg4cwWLDkkZyksuPLdtTJ" name="Galaxy-S26-Ultra-HERO2" alt="Samsung Galaxy S26 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/atg4cwWLDkkZyksuPLdtTJ.jpg" mos="" align="middle" fullscreen="" width="4982" height="2135" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>For over a decade, Apple has released almost every new numbered iPhone in September (with the exception of the <a href="https://www.tomsguide.com/reviews/iphone-12">iPhone 12</a> because of the coronavirus pandemic), and 2026 will be no different.</p><p>Scratch that, it will be <em>slightly </em>different. While the company has announced its <a href="https://www.tomsguide.com/phones/iphones/apple-iphone-18-event-all-the-new-products-expected-to-launch-in-september">“surprise and shine” event for Wednesday September 9</a>, where it’s set to reveal the <a href="https://www.tomsguide.com/phones/iphones/iphone-18-rumors-everything-we-know-so-far">iPhone 18 Pro</a> family, as well as the new foldable <a href="https://www.tomsguide.com/phones/iphones/iphone-ultra-rumors-everything-you-need-to-know-about-the-foldable-iphone">iPhone Ultra</a>, the regular <a href="https://www.tomsguide.com/phones/iphones/iphone-18-rumors-everything-we-know-so-far">iPhone 18</a> has <a href="https://www.tomsguide.com/phones/iphones/iphone-18-release-schedule-could-be-changing-but-this-rumor-makes-no-sense">reportedly been pushed back to 2027</a>. </p><p>The iPhone 18 Pro Max <em>will</em> be there, however, but the bad news is that it’s facing a price hike. The mild good news is that it’s <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-and-iphone-18-pro-max-price-rumors-heres-how-much-more-you-could-pay-this-year">now expected to be $100</a>, given we were potentially <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-could-see-absolutely-massive-price-hike-according-to-researchers">bracing for more than double that at one point</a>. </p><p>Going by Apple’s previous pricing, that would see the 256GB model starting at $1,299, rising to $1,499 for the 512GB model, $1,699 for 1TB and $2,099 for 2TB.</p><p>That’s actually pretty similar to Samsung’s Galaxy S26 Ultra — or at least its MSRP when it was new in March 2026. It cost $1,299 for the 256GB model, $1,449 for 512GB and $1,799 for 1TB.</p><h2 id="iphone-18-pro-max-vs-samsung-galaxy-s26-ultra-design-and-screens">iPhone 18 Pro Max vs. Samsung Galaxy S26 Ultra: Design and screens</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:55.78%;"><img id="WNJZg5wpSg4yem6kzvAjLN" name="iPhone 18 Pro and Max LIST Large" alt="iPhone 18 Pro vs iPhone 18 Pro Max." src="https://cdn.mos.cms.futurecdn.net/WNJZg5wpSg4yem6kzvAjLN.jpg" mos="" align="middle" fullscreen="" width="1280" height="714" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: John Velasco / Tom's Guide)</span></figcaption></figure><p>Given the <a href="https://www.tomsguide.com/phones/iphones/apple-iphone-17-pro-review">iPhone 17 Pro</a> series introduced a couple of new design tweaks — the raised camera section and the two-tone colorways — we’re not expecting major changes this time. At a glance, the iPhone 18 Pro Max may be barely distinguishable from the <a href="http://www.tomsguide.com/phones/iphones/iphone-17-pro-max-review">iPhone 17 Pro Max</a>, right down to the 6.9-inch OLED display.</p><p>There will reportedly be a couple of minor changes, mind. To make space for a larger capacity battery, it will apparently be about 0.25mm thicker and seven grams heavier. The Dynamic Island will apparently also be around 35% smaller.</p><p>It would be a big surprise if the screen specs were any different, given the 6.9-inch size. So we’re likely looking at a resolution of 2,868 x 1,320, or around 460 pixels per inch (ppi). ProMotion will offer adaptive refresh rates of up to 120Hz.</p><p>We know the exact screen specifications of the Samsung Galaxy S26 Ultra and they’re pretty similar. It also has a 6.9-inch OLED panel, capable of 120Hz, though the top resolution is higher at 3,120 x 1,440 meaning a sharpness of 505ppi (though it defaults to a lower 2,340 x 1,080 resolution to save battery). </p><p>This year, Samsung introduced a new feature called <a href="https://www.tomsguide.com/phones/samsung-phones/the-galaxy-s26-ultras-privacy-display-is-more-exciting-to-me-than-any-ai-feature">Privacy Display</a>. When enabled, this prevents others from seeing what’s on your phone screen by switching to dedicated narrow pixels that can only be seen head on. This can be automatically enabled on a per-app basis, so you can have it magically enable itself for your banking apps, but not for YouTube, say.</p><p>That innovation aside, there’s little difference between this and the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s25-ultra-review">Samsung Galaxy S25 Ultra</a> — both in terms of screen technology and looks. Though that design does allow for a built-in S Pen for note taking and doodling — a real advantage over the iPhone 18 Pro Max.</p><h2 id="iphone-18-pro-max-vs-samsung-galaxy-s26-ultra-performance">iPhone 18 Pro Max vs. Samsung Galaxy S26 Ultra: Performance</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3684px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="bFv6s9UZuRZHPMckD5pxaL" name="Galaxy S26 Ultra review-27" alt="Samsung Galaxy S26 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/bFv6s9UZuRZHPMckD5pxaL.jpg" mos="" align="middle" fullscreen="" width="3684" height="2072" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Let’s start with the one we have already benchmarked. Powered by the Qualcomm Snapdragon 8 Elite Gen 5 for Galaxy and backed by either 12 or 16GB RAM depending on the model, the Samsung Galaxy S26 Ultra is a truly impressive performer. It even has a vapor chamber for heat dissipation, which keeps it running cool even when running graphically demanding content.</p><p>Here’s how it benchmarked compared to the iPhone 17 Pro Max:</p><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Geekbench</strong></p></td><td  ><p><strong>3DMark Solar Bay Unlimited</strong></p></td><td  ><p><strong>Geekbench AI 1.5</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy S26 Ultra</strong></p></td><td  ><p>3,785 / 11,563</p></td><td  ><p>49.37 / 12,984</p></td><td  ><p>83047 (TensorFlow Lite QNN)</p></td></tr><tr><td class="firstcol " ><p><strong>iPhone 17 Pro Max</strong></p></td><td  ><p>3,871 / 9,968</p></td><td  ><p>46.6 / 12,260</p></td><td  ><p>48549 (Quantitized Core ML/Neural Engine)</p></td></tr></tbody></table></div><p>A modest lead on multi-core and gaming benchmarks, but a huge one when it comes to AI performance.</p><p>But, of course, this is against last year’s iPhone and its A19 chipset. It stands to reason that Apple will at least close the gap and more than likely go further, especially as the A20 Pro is <a href="https://www.tomsguide.com/phones/iphones/iphone-fold-tipped-for-a20-pro-chip-apples-first-2nm-processor-to-power-new-foldable-phone">rumored to be built using the 2nm manufacturing process</a>, meaning a step change in terms of performance. We’re reportedly looking at 18% speed boost and 30% better power efficiency, which would see it blow past the S26 Ultra (though with the Galaxy S27 Ultra likely to regain the throne in early 2027). </p><p>On the subject of efficiency, Apple is set to gain another big advantage over Samsung with the iPhone 18 Pro Max: stamina. While the iPhone 17 Pro Max lasted an impressive 17 hours and 54 minutes in our tests, the next generation is likely to last even longer. That’s not just thanks to the 2nm chip’s efficiency savings, but because Apple is reportedly including a larger battery. This will reportedly be 5,391 mAh for models with a SIM tray, and 5,567mAh for those without  — a big step up from the 4,823 mAh/ 5,088 mAh cells found in the 17 Pro Max.</p><p>By contrast, the Galaxy S26 Ultra packs a 5,000 mAh battery. It lasted a respectable 16 hours and ten minutes in our review test. </p><h2 id="iphone-18-pro-max-vs-samsung-galaxy-s26-ultra-cameras">iPhone 18 Pro Max vs. Samsung Galaxy S26 Ultra: Cameras</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="WeRkpqbqkJavKd4hmEBzgh" name="iPhone 18 Pro vs iPhone 17 Pro" alt="iPhone 18 Pro vs iPhone 17 Pro" src="https://cdn.mos.cms.futurecdn.net/WeRkpqbqkJavKd4hmEBzgh.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Samsung Galaxy S26 Ultra currently tops our list of the <a href="https://www.tomsguide.com/us/best-phone-cameras,review-2272.html">best camera phones</a>. A big step up from the previous generation, the 200MP main camera and 50MP 5x telephoto lens have wider apertures, allowing for 47% and 37% brighter images respectively.</p><p>Add in a supplemental 10MP 3x telephoto lens and a 50MP ultra wide camera, and you’ve got an incredibly flexible camera setup that takes great shots whatever the environment. At the time of writing, it can’t be beat.</p><p>On raw specs alone, it doesn’t look like the iPhone 18 Pro Max will be challenging for the title, given leakers point to the same trio of 48MP lenses (regular, ultra wide and 4x optical zoom) again.</p><p>But the iPhone 18 Pro Max does reportedly have an ace up its sleeve: <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-could-be-the-first-iphone-to-get-a-variable-aperture-why-that-matters">variable aperture</a>. This lets you adjust the amount of light entering the lens, rather than having to rigidly stick to presets decided by Apple. While this is a feature that will only appeal to experienced photographers, in the right hands, it could make a huge difference to photographic composition.</p><h2 id="iphone-18-pro-max-vs-samsung-galaxy-s26-ultra-outlook">iPhone 18 Pro Max vs. Samsung Galaxy S26 Ultra: Outlook</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="UfraPifaz2CpXLbJKJYqDY" name="S Pen S26 Ultra" alt="Samsung Galaxy S26 Ultra S Pen" src="https://cdn.mos.cms.futurecdn.net/UfraPifaz2CpXLbJKJYqDY.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Samsung Galaxy S26 Ultra is the <a href="https://www.tomsguide.com/us/best-android-phones,review-6051.html">best Android phone</a> you can buy right now. It will probably remain so until the Galaxy S27 Ultra replaces it in early 2027.</p><p>But if you’re open to iOS, then it looks like the iPhone 18 Pro Max will eclipse it in a few key ways. It’s set to be faster, last longer, and while the camera specs will likely be weaker, keen photographers will have a lot of fun with the variable rate aperture.</p><p>Of course, the Samsung Galaxy S26 Ultra has a few key advantages, and not just in its overall camera layout. Privacy Display is a marvelous innovation beautifully implemented, the S Pen is really handy, and as it's been out for nearly six months, it can be had for less than its high $1,299 asking price.</p><p>It’s worth considering, however, that we only have iPhone 18 Pro Max rumors and leaks to go on at the moment. While they’ve been pretty reliable in the past, we won’t know for sure what Apple has up its sleeve until <a href="https://www.tomsguide.com/phones/iphones/apple-iphone-18-event-all-the-new-products-expected-to-launch-in-september">September 9th’s iPhone 18 event</a>. </p><div data-widget-type="merchantlink" data-model-name="Samsung Galaxy S26 Ultra"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/phones/iphone-18-pro-max-vs-samsung-galaxy-s26-ultra-heres-how-apples-and-samsungs-flagships-could-compare</link>
                                                                            <description>
                            <![CDATA[ Which big-screen smartphone should you buy? ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">PaYSr3WHfuFuVT64zXVYLW</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/Gv7fyY2QJ4jPcPsj7so3fX-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 30 Aug 2026 05:45:00 +0000</pubDate>                                                                                                                                <updated>Sun, 30 Aug 2026 12:30:41 +0000</updated>
                                                                                                                                            <category><![CDATA[Phones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Alan Martin ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/xMmhmPSssqZHHFWveDgSs7.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/Gv7fyY2QJ4jPcPsj7so3fX-1280-80.jpg">
                                                            <media:credit><![CDATA[Macworld/Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[iPhone 18 Pro Max render]]></media:description>                                                            <media:text><![CDATA[iPhone 18 Pro Max render]]></media:text>
                                <media:title type="plain"><![CDATA[iPhone 18 Pro Max render]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/Gv7fyY2QJ4jPcPsj7so3fX-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>September is just around the corner, and that can only mean one thing: It’s time for Apple to reveal its latest iPhones.</p><p>For the past seven years, the Pro Max has been Apple’s most expensive (and arguably desirable) model, but in 2026 we’re expecting the company’s first foldable to eclipse it in terms of media coverage.</p><p>You can see how the <a href="https://www.tomsguide.com/phones/samsung-phones/3-big-ways-the-iphone-ultra-could-beat-the-galaxy-z-fold-8">iPhone Ultra is lining up against the Samsung Galaxy Z Fold 8 in the battle of the foldables here</a>, but what about the non-folding flagships? Both remain big hitters, so here’s how the <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-rumors-and-leaks-everything-we-know-so-far">iPhone 18 Pro Max</a> is set to stack up against the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s26-ultra-review">Samsung Galaxy S26 Ultra</a> as we approach Apple’s September launch date.</p><h2 id="iphone-18-pro-max-vs-samsung-galaxy-s26-ultra-specifications">iPhone 18 Pro Max vs. Samsung Galaxy S26 Ultra: Specifications</h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>iPhone 18 Pro Max (rumored)</strong></p></td><td  ><p><strong>Samsung Galaxy S26 Ultra</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Display size</strong></p></td><td  ><p>6.9 inches</p></td><td  ><p>6.9 inches</p></td></tr><tr><td class="firstcol " ><p><strong>Refresh rate</strong></p></td><td  ><p>1-120Hz ProMotion</p></td><td  ><p>1-120Hz adaptive </p></td></tr><tr><td class="firstcol " ><p><strong>CPU</strong></p></td><td  ><p>A20 Pro</p></td><td  ><p>Snapdragon 8 Elite Gen 5 for Galaxy</p></td></tr><tr><td class="firstcol " ><p><strong>Memory</strong></p></td><td  ><p>12GB</p></td><td  ><p>12GB / 16GB </p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>256GB, 512GB, 1TB, 2TB</p></td><td  ><p>256GB, 512GB, 1TB</p></td></tr><tr><td class="firstcol " ><p><strong>Cameras</strong></p></td><td  ><p>48MP main with variable aperture, 48MP ultrawide, 48MP telephoto (4x)</p></td><td  ><p>200MP main, 50MP ultrawide, 10MP telephoto (3x), 50MP telephoto (5x)</p></td></tr><tr><td class="firstcol " ><p><strong>Battery Size</strong></p></td><td  ><p>5,567 mAh (eSim) / 5,491 mAh (SIM tray)</p></td><td  ><p>5,000 mAh</p></td></tr><tr><td class="firstcol " ><p><strong>Starting price</strong></p></td><td  ><p>$1,299</p></td><td  ><p>$1,299</p></td></tr></tbody></table></div><h2 id="iphone-18-pro-max-vs-samsung-galaxy-s26-ultra-release-date-and-price">iPhone 18 Pro Max vs. Samsung Galaxy S26 Ultra: Release date and price</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4982px;"><p class="vanilla-image-block" style="padding-top:42.85%;"><img id="atg4cwWLDkkZyksuPLdtTJ" name="Galaxy-S26-Ultra-HERO2" alt="Samsung Galaxy S26 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/atg4cwWLDkkZyksuPLdtTJ.jpg" mos="" align="middle" fullscreen="" width="4982" height="2135" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>For over a decade, Apple has released almost every new numbered iPhone in September (with the exception of the <a href="https://www.tomsguide.com/reviews/iphone-12">iPhone 12</a> because of the coronavirus pandemic), and 2026 will be no different.</p><p>Scratch that, it will be <em>slightly </em>different. While the company has announced its <a href="https://www.tomsguide.com/phones/iphones/apple-iphone-18-event-all-the-new-products-expected-to-launch-in-september">“surprise and shine” event for Wednesday September 9</a>, where it’s set to reveal the <a href="https://www.tomsguide.com/phones/iphones/iphone-18-rumors-everything-we-know-so-far">iPhone 18 Pro</a> family, as well as the new foldable <a href="https://www.tomsguide.com/phones/iphones/iphone-ultra-rumors-everything-you-need-to-know-about-the-foldable-iphone">iPhone Ultra</a>, the regular <a href="https://www.tomsguide.com/phones/iphones/iphone-18-rumors-everything-we-know-so-far">iPhone 18</a> has <a href="https://www.tomsguide.com/phones/iphones/iphone-18-release-schedule-could-be-changing-but-this-rumor-makes-no-sense">reportedly been pushed back to 2027</a>. </p><p>The iPhone 18 Pro Max <em>will</em> be there, however, but the bad news is that it’s facing a price hike. The mild good news is that it’s <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-and-iphone-18-pro-max-price-rumors-heres-how-much-more-you-could-pay-this-year">now expected to be $100</a>, given we were potentially <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-could-see-absolutely-massive-price-hike-according-to-researchers">bracing for more than double that at one point</a>. </p><p>Going by Apple’s previous pricing, that would see the 256GB model starting at $1,299, rising to $1,499 for the 512GB model, $1,699 for 1TB and $2,099 for 2TB.</p><p>That’s actually pretty similar to Samsung’s Galaxy S26 Ultra — or at least its MSRP when it was new in March 2026. It cost $1,299 for the 256GB model, $1,449 for 512GB and $1,799 for 1TB.</p><h2 id="iphone-18-pro-max-vs-samsung-galaxy-s26-ultra-design-and-screens">iPhone 18 Pro Max vs. Samsung Galaxy S26 Ultra: Design and screens</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:55.78%;"><img id="WNJZg5wpSg4yem6kzvAjLN" name="iPhone 18 Pro and Max LIST Large" alt="iPhone 18 Pro vs iPhone 18 Pro Max." src="https://cdn.mos.cms.futurecdn.net/WNJZg5wpSg4yem6kzvAjLN.jpg" mos="" align="middle" fullscreen="" width="1280" height="714" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: John Velasco / Tom's Guide)</span></figcaption></figure><p>Given the <a href="https://www.tomsguide.com/phones/iphones/apple-iphone-17-pro-review">iPhone 17 Pro</a> series introduced a couple of new design tweaks — the raised camera section and the two-tone colorways — we’re not expecting major changes this time. At a glance, the iPhone 18 Pro Max may be barely distinguishable from the <a href="http://www.tomsguide.com/phones/iphones/iphone-17-pro-max-review">iPhone 17 Pro Max</a>, right down to the 6.9-inch OLED display.</p><p>There will reportedly be a couple of minor changes, mind. To make space for a larger capacity battery, it will apparently be about 0.25mm thicker and seven grams heavier. The Dynamic Island will apparently also be around 35% smaller.</p><p>It would be a big surprise if the screen specs were any different, given the 6.9-inch size. So we’re likely looking at a resolution of 2,868 x 1,320, or around 460 pixels per inch (ppi). ProMotion will offer adaptive refresh rates of up to 120Hz.</p><p>We know the exact screen specifications of the Samsung Galaxy S26 Ultra and they’re pretty similar. It also has a 6.9-inch OLED panel, capable of 120Hz, though the top resolution is higher at 3,120 x 1,440 meaning a sharpness of 505ppi (though it defaults to a lower 2,340 x 1,080 resolution to save battery). </p><p>This year, Samsung introduced a new feature called <a href="https://www.tomsguide.com/phones/samsung-phones/the-galaxy-s26-ultras-privacy-display-is-more-exciting-to-me-than-any-ai-feature">Privacy Display</a>. When enabled, this prevents others from seeing what’s on your phone screen by switching to dedicated narrow pixels that can only be seen head on. This can be automatically enabled on a per-app basis, so you can have it magically enable itself for your banking apps, but not for YouTube, say.</p><p>That innovation aside, there’s little difference between this and the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s25-ultra-review">Samsung Galaxy S25 Ultra</a> — both in terms of screen technology and looks. Though that design does allow for a built-in S Pen for note taking and doodling — a real advantage over the iPhone 18 Pro Max.</p><h2 id="iphone-18-pro-max-vs-samsung-galaxy-s26-ultra-performance">iPhone 18 Pro Max vs. Samsung Galaxy S26 Ultra: Performance</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3684px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="bFv6s9UZuRZHPMckD5pxaL" name="Galaxy S26 Ultra review-27" alt="Samsung Galaxy S26 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/bFv6s9UZuRZHPMckD5pxaL.jpg" mos="" align="middle" fullscreen="" width="3684" height="2072" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Let’s start with the one we have already benchmarked. Powered by the Qualcomm Snapdragon 8 Elite Gen 5 for Galaxy and backed by either 12 or 16GB RAM depending on the model, the Samsung Galaxy S26 Ultra is a truly impressive performer. It even has a vapor chamber for heat dissipation, which keeps it running cool even when running graphically demanding content.</p><p>Here’s how it benchmarked compared to the iPhone 17 Pro Max:</p><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Geekbench</strong></p></td><td  ><p><strong>3DMark Solar Bay Unlimited</strong></p></td><td  ><p><strong>Geekbench AI 1.5</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy S26 Ultra</strong></p></td><td  ><p>3,785 / 11,563</p></td><td  ><p>49.37 / 12,984</p></td><td  ><p>83047 (TensorFlow Lite QNN)</p></td></tr><tr><td class="firstcol " ><p><strong>iPhone 17 Pro Max</strong></p></td><td  ><p>3,871 / 9,968</p></td><td  ><p>46.6 / 12,260</p></td><td  ><p>48549 (Quantitized Core ML/Neural Engine)</p></td></tr></tbody></table></div><p>A modest lead on multi-core and gaming benchmarks, but a huge one when it comes to AI performance.</p><p>But, of course, this is against last year’s iPhone and its A19 chipset. It stands to reason that Apple will at least close the gap and more than likely go further, especially as the A20 Pro is <a href="https://www.tomsguide.com/phones/iphones/iphone-fold-tipped-for-a20-pro-chip-apples-first-2nm-processor-to-power-new-foldable-phone">rumored to be built using the 2nm manufacturing process</a>, meaning a step change in terms of performance. We’re reportedly looking at 18% speed boost and 30% better power efficiency, which would see it blow past the S26 Ultra (though with the Galaxy S27 Ultra likely to regain the throne in early 2027). </p><p>On the subject of efficiency, Apple is set to gain another big advantage over Samsung with the iPhone 18 Pro Max: stamina. While the iPhone 17 Pro Max lasted an impressive 17 hours and 54 minutes in our tests, the next generation is likely to last even longer. That’s not just thanks to the 2nm chip’s efficiency savings, but because Apple is reportedly including a larger battery. This will reportedly be 5,391 mAh for models with a SIM tray, and 5,567mAh for those without  — a big step up from the 4,823 mAh/ 5,088 mAh cells found in the 17 Pro Max.</p><p>By contrast, the Galaxy S26 Ultra packs a 5,000 mAh battery. It lasted a respectable 16 hours and ten minutes in our review test. </p><h2 id="iphone-18-pro-max-vs-samsung-galaxy-s26-ultra-cameras">iPhone 18 Pro Max vs. Samsung Galaxy S26 Ultra: Cameras</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="WeRkpqbqkJavKd4hmEBzgh" name="iPhone 18 Pro vs iPhone 17 Pro" alt="iPhone 18 Pro vs iPhone 17 Pro" src="https://cdn.mos.cms.futurecdn.net/WeRkpqbqkJavKd4hmEBzgh.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Samsung Galaxy S26 Ultra currently tops our list of the <a href="https://www.tomsguide.com/us/best-phone-cameras,review-2272.html">best camera phones</a>. A big step up from the previous generation, the 200MP main camera and 50MP 5x telephoto lens have wider apertures, allowing for 47% and 37% brighter images respectively.</p><p>Add in a supplemental 10MP 3x telephoto lens and a 50MP ultra wide camera, and you’ve got an incredibly flexible camera setup that takes great shots whatever the environment. At the time of writing, it can’t be beat.</p><p>On raw specs alone, it doesn’t look like the iPhone 18 Pro Max will be challenging for the title, given leakers point to the same trio of 48MP lenses (regular, ultra wide and 4x optical zoom) again.</p><p>But the iPhone 18 Pro Max does reportedly have an ace up its sleeve: <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-could-be-the-first-iphone-to-get-a-variable-aperture-why-that-matters">variable aperture</a>. This lets you adjust the amount of light entering the lens, rather than having to rigidly stick to presets decided by Apple. While this is a feature that will only appeal to experienced photographers, in the right hands, it could make a huge difference to photographic composition.</p><h2 id="iphone-18-pro-max-vs-samsung-galaxy-s26-ultra-outlook">iPhone 18 Pro Max vs. Samsung Galaxy S26 Ultra: Outlook</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="UfraPifaz2CpXLbJKJYqDY" name="S Pen S26 Ultra" alt="Samsung Galaxy S26 Ultra S Pen" src="https://cdn.mos.cms.futurecdn.net/UfraPifaz2CpXLbJKJYqDY.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Samsung Galaxy S26 Ultra is the <a href="https://www.tomsguide.com/us/best-android-phones,review-6051.html">best Android phone</a> you can buy right now. It will probably remain so until the Galaxy S27 Ultra replaces it in early 2027.</p><p>But if you’re open to iOS, then it looks like the iPhone 18 Pro Max will eclipse it in a few key ways. It’s set to be faster, last longer, and while the camera specs will likely be weaker, keen photographers will have a lot of fun with the variable rate aperture.</p><p>Of course, the Samsung Galaxy S26 Ultra has a few key advantages, and not just in its overall camera layout. Privacy Display is a marvelous innovation beautifully implemented, the S Pen is really handy, and as it's been out for nearly six months, it can be had for less than its high $1,299 asking price.</p><p>It’s worth considering, however, that we only have iPhone 18 Pro Max rumors and leaks to go on at the moment. While they’ve been pretty reliable in the past, we won’t know for sure what Apple has up its sleeve until <a href="https://www.tomsguide.com/phones/iphones/apple-iphone-18-event-all-the-new-products-expected-to-launch-in-september">September 9th’s iPhone 18 event</a>. </p><div data-widget-type="merchantlink" data-model-name="Samsung Galaxy S26 Ultra"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I hiked 7 miles with the Garmin Instinct 3 vs Samsung Galaxy Watch 9 — and the winner is clear as day ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Which is the better smartwatch for hikers, the <a href="https://www.tomsguide.com/wellness/smartwatches/5-things-to-know-about-the-new-samsung-galaxy-watch-9">Samsung Galaxy Watch 9</a> or the <a href="https://www.tomsguide.com/Garmin-Instinct-3-review">Garmin Instinct 3</a>? The latter may be built for logging outdoor adventures, but both watches use similar tracking tech, offer a dedicated hiking mode, and also cost about the same.</p><p>To find out, I wore the Garmin Instinct 3 on my right wrist and the Samsung Galaxy Watch 9 on my left wrist, fired up a hiking workout on both, and started the ~1,700-foot climb to Snow Lake, a scenic high-altitude alpine lake located in the Cascade Mountains, an hour east of Seattle. I also logged the trek using the Strava app on my iPhone 16 as a control.</p><h3 class="article-body__section" id="section-i-hiked-7-miles-with-the-garmin-instinct-3-vs-samsung-galaxy-watch-9"><span>I hiked 7 miles with the Garmin Instinct 3 vs Samsung Galaxy Watch 9 </span></h3><p>So, which smartwatch, the Samsung Galaxy Watch 9 or the Garmin Instinct 3, proved to be the more reliable hiking companion? Find the results for each watch, along with Strava, below. </p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Galaxy Watch 9</p></th><th  ><p>Garmin Instinct 3</p></th><th  ><p>Strava</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Distance</strong></p></td><td  ><p>6.49 miles</p></td><td  ><p>6.55 miles</p></td><td  ><p>6.70 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Climb</strong></p></td><td  ><p>1,866 feet</p></td><td  ><p>1,693 feet</p></td><td  ><p>1,674 feet</p></td></tr><tr><td class="firstcol " ><p><strong>Steps</strong></p></td><td  ><p>Not provided</p></td><td  ><p>16,096 steps</p></td><td  ><p>15,048 steps</p></td></tr><tr><td class="firstcol " ><p><strong>Average pace </strong></p></td><td  ><p>34 mins 20 secs per mile</p></td><td  ><p>24 mins 15 secs per mile</p></td><td  ><p>25 mins 23 secs per mile</p></td></tr><tr><td class="firstcol " ><p><strong>Average heart rate</strong></p></td><td  ><p>133 bpm</p></td><td  ><p>130 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Max heart rate</strong></p></td><td  ><p>174 bpm</p></td><td  ><p>173 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Calories burned (total)</strong></p></td><td  ><p>1,442 calories</p></td><td  ><p>1,332 calories</p></td><td  ><p>n/a</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-1-samsung-overcounted-my-climb-and-undercounted-my-distance"><span>1. Samsung overcounted my climb and undercounted my distance</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3701px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="yaL9XTKoBPfLqrd6sDVKdB" name="Garmin-Torch-03" alt="Close-up of the Garmin Instinct 3 showing the 'Torch' LED flashlight illuminated from the top of the watch case" src="https://cdn.mos.cms.futurecdn.net/yaL9XTKoBPfLqrd6sDVKdB.jpg" mos="" align="middle" fullscreen="" width="3701" height="2082" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><div><blockquote><p>The Galaxy Watch 9 overcounted my uphill efforts by a whopping 180 feet</p></blockquote></div><p>According to <a href="https://www.tomsguide.com/wellness/fitness/i-tried-alltrails-new-custom-routes-tool-and-its-a-game-changer-for-hikers-bikers-and-runners">AllTrails</a>, the <a href="https://www.alltrails.com/trail/us/washington/snow-lake-trail" target="_blank">Snow Lake Trail</a> is 6.7 miles, which is exactly what Strava logged. The Instinct 3 came pretty close, depriving me of 0.15 miles of effort, while the Galaxy Watch 9 undercounted by 0.21 miles.</p><p>AllTrails additionally lists 1,686 feet of elevation gain for the hike, a tally that both Strava and Garmin came incredibly close to nailing; the former undercounted by just 12 feet and the latter overcounted by a mere 7 feet. </p><p>The Galaxy Watch 9, meanwhile, overcounted my uphill efforts by a whopping 180 feet. </p><h3 class="article-body__section" id="section-2-the-galaxy-watch-9-didn-t-count-my-steps"><span>2. The Galaxy Watch 9 didn't count my steps</span></h3><p>While distance and elevation are the two metrics I care about most when tracking a hike, along with moving pace (more on that below), it's always nice to get a sense of my step count. Unfortunately, the Galaxy Watch 9 neglected to count my steps, which is odd, given it has no trouble doing so when you track a normal walking workout.</p><h3 class="article-body__section" id="section-3-samsung-doesn-t-record-a-moving-pace"><span>3. Samsung doesn't record a 'moving pace'</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4889px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="9VYZkwkFKGrzUBK9zzEc3k" name="GalaxyWatch9-02" alt="Close-up of the Samsung Galaxy Watch 9 in white" src="https://cdn.mos.cms.futurecdn.net/9VYZkwkFKGrzUBK9zzEc3k.jpg" mos="" align="middle" fullscreen="" width="4889" height="2750" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><div><blockquote><p>Most smartwatches in 2026 are smart enough to notice that you've stopped moving and automatically pause your workout</p></blockquote></div><p>My brother, who was visiting from the U.S. East Coast, joined me on this hike. Our plan was to make it to the lake, cool off, enjoy the tranquility (along with a cheeky beverage), and then head back down. </p><p>During our mid-hike break, I left all three workout sessions running. Most smartwatches in 2026 are smart enough to notice that you've stopped moving and automatically pause your workout until you're in motion again.</p><p>Post-outdoor workout, the <a href="https://www.tomsguide.com/wellness/smartwatches/best-smartwatch">best smartwatches</a> provide two pace metrics, one reflecting your average moving pace and the other showing your average elapsed pace with pauses included in the calculation. As you might guess, the former is more useful and reflective of your <em>actual</em> efforts.</p><p>Unfortunately, the Samsung Galaxy Watch 9 only provided one average pace metric without specifying which, but the answer seems obvious. For what it's worth, Garmin and Strava both noted a similar average elapsed pace to Samsung's: 34 mins 10 secs per mile for Garmin and 33 mins 06 secs per mile from Strava.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1741px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="NquCSuaEaN7a23EHqscKSN" name="GarminInstinct3-snow-02" alt="Garmin Instinct 3 on a user's wrist shown up-close in between a ski glove and jacket" src="https://cdn.mos.cms.futurecdn.net/NquCSuaEaN7a23EHqscKSN.jpg" mos="" align="middle" fullscreen="" width="1741" height="979" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><h3 class="article-body__section" id="section-4-heart-rate-and-calorie-data-matches-up-nicely"><span>4. Heart rate and calorie data matches up nicely</span></h3><p>Now for the good news. The Galaxy Watch 9's heart rate data is a near match with Garmin's, a result I love to see. Both smartwatches also calculated a similar number of calories burned during my 3.5-hour excursion. </p><h3 class="article-body__section" id="section-winner-garmin-instinct-3"><span>Winner: Garmin Instinct 3</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4834px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kuTYfGbyRcRugdWr8FJdqf" name="Galaxy9-v-Instinct3-02" alt="Close-up of the Garmin Instinct 3 next to the Samsung Galaxy Watch 9 with evergreens in the background" src="https://cdn.mos.cms.futurecdn.net/kuTYfGbyRcRugdWr8FJdqf.jpg" mos="" align="middle" fullscreen="" width="4834" height="2719" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>The Garmin Instinct 3 long ago established itself as my go-to smartwatch for logging outdoor adventures thanks to its reliability, ridiculously good battery performance, bright screen, and rugged design. And it once again excelled on all fronts in this hiking comparison versus the Samsung Galaxy Watch 9.</p><p>Not only did Garmin calculate more precise distance, climb, and pace data than Samsung, it also logged my steps, something the Galaxy Watch 9 failed to do, all while using way less battery. In other words, the Garmin Instinct 3 wins this comparison.</p><p>Which smartwatches or fitness trackers should I test head-to-head next? Let me know in the comments below. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eJ9PvX"></div>                            </div>                            <script src="https://kwizly.com/embed/eJ9PvX.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/wellness/smartwatches/i-biked-11-miles-with-the-garmin-instinct-3-vs-samsung-galaxy-watch-ultra-2-and-the-winner-is-clear"><strong>I biked 11 miles with the Garmin Instinct 3 vs Samsung Galaxy Watch Ultra 2 — and the winner is clear</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/wellness/fitness-trackers/i-walked-4-000-steps-with-the-pixel-watch-5-vs-samsung-galaxy-watch-9-and-we-have-a-new-android-champ"><strong>I walked 4,000 steps with the Pixel Watch 5 vs Samsung Galaxy Watch 9 — and we have a new Android champ</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/wellness/fitness-trackers/i-walked-7-miles-with-the-apple-watch-ultra-3-vs-pixel-watch-5-and-the-winner-is-nearly-too-close-to-call"><strong>I walked 7 miles with the Apple Watch Ultra 3 vs Pixel Watch 5 — here's the winner</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/wellness/smartwatches/i-hiked-7-miles-with-the-garmin-instinct-3-vs-samsung-galaxy-watch-9-and-the-winner-is-clear-as-day</link>
                                                                            <description>
                            <![CDATA[ I tested the tracking accuracy of the Garmin Instinct 3 vs Samsung Galaxy Watch 9 during an epic seven-mile hike to an alpine lake. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">FDgPHG2C8SFZvms4WGridf</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/wspKcYvnj3bAwYgpJzAq5g-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 28 Aug 2026 08:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Smartwatches]]></category>
                                                    <category><![CDATA[Wellness]]></category>
                                                                                                <author><![CDATA[ dan.bracaglia@futurenet.com (Dan Bracaglia) ]]></author>                    <dc:creator><![CDATA[ Dan Bracaglia ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/3Ev8EFrheNxPemMWSBaKcK.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;&lt;br&gt;&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/wspKcYvnj3bAwYgpJzAq5g-1280-80.jpg">
                                                            <media:credit><![CDATA[Dan Bracaglia/Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Close-up of the Garmin Instinct 3 next to the Samsung Galaxy Watch 9 with evergreens in the background]]></media:description>                                                            <media:text><![CDATA[Close-up of the Garmin Instinct 3 next to the Samsung Galaxy Watch 9 with evergreens in the background]]></media:text>
                                <media:title type="plain"><![CDATA[Close-up of the Garmin Instinct 3 next to the Samsung Galaxy Watch 9 with evergreens in the background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/wspKcYvnj3bAwYgpJzAq5g-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Which is the better smartwatch for hikers, the <a href="https://www.tomsguide.com/wellness/smartwatches/5-things-to-know-about-the-new-samsung-galaxy-watch-9">Samsung Galaxy Watch 9</a> or the <a href="https://www.tomsguide.com/Garmin-Instinct-3-review">Garmin Instinct 3</a>? The latter may be built for logging outdoor adventures, but both watches use similar tracking tech, offer a dedicated hiking mode, and also cost about the same.</p><p>To find out, I wore the Garmin Instinct 3 on my right wrist and the Samsung Galaxy Watch 9 on my left wrist, fired up a hiking workout on both, and started the ~1,700-foot climb to Snow Lake, a scenic high-altitude alpine lake located in the Cascade Mountains, an hour east of Seattle. I also logged the trek using the Strava app on my iPhone 16 as a control.</p><h3 class="article-body__section" id="section-i-hiked-7-miles-with-the-garmin-instinct-3-vs-samsung-galaxy-watch-9"><span>I hiked 7 miles with the Garmin Instinct 3 vs Samsung Galaxy Watch 9 </span></h3><p>So, which smartwatch, the Samsung Galaxy Watch 9 or the Garmin Instinct 3, proved to be the more reliable hiking companion? Find the results for each watch, along with Strava, below. </p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Galaxy Watch 9</p></th><th  ><p>Garmin Instinct 3</p></th><th  ><p>Strava</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Distance</strong></p></td><td  ><p>6.49 miles</p></td><td  ><p>6.55 miles</p></td><td  ><p>6.70 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Climb</strong></p></td><td  ><p>1,866 feet</p></td><td  ><p>1,693 feet</p></td><td  ><p>1,674 feet</p></td></tr><tr><td class="firstcol " ><p><strong>Steps</strong></p></td><td  ><p>Not provided</p></td><td  ><p>16,096 steps</p></td><td  ><p>15,048 steps</p></td></tr><tr><td class="firstcol " ><p><strong>Average pace </strong></p></td><td  ><p>34 mins 20 secs per mile</p></td><td  ><p>24 mins 15 secs per mile</p></td><td  ><p>25 mins 23 secs per mile</p></td></tr><tr><td class="firstcol " ><p><strong>Average heart rate</strong></p></td><td  ><p>133 bpm</p></td><td  ><p>130 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Max heart rate</strong></p></td><td  ><p>174 bpm</p></td><td  ><p>173 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Calories burned (total)</strong></p></td><td  ><p>1,442 calories</p></td><td  ><p>1,332 calories</p></td><td  ><p>n/a</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-1-samsung-overcounted-my-climb-and-undercounted-my-distance"><span>1. Samsung overcounted my climb and undercounted my distance</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3701px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="yaL9XTKoBPfLqrd6sDVKdB" name="Garmin-Torch-03" alt="Close-up of the Garmin Instinct 3 showing the 'Torch' LED flashlight illuminated from the top of the watch case" src="https://cdn.mos.cms.futurecdn.net/yaL9XTKoBPfLqrd6sDVKdB.jpg" mos="" align="middle" fullscreen="" width="3701" height="2082" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><div><blockquote><p>The Galaxy Watch 9 overcounted my uphill efforts by a whopping 180 feet</p></blockquote></div><p>According to <a href="https://www.tomsguide.com/wellness/fitness/i-tried-alltrails-new-custom-routes-tool-and-its-a-game-changer-for-hikers-bikers-and-runners">AllTrails</a>, the <a href="https://www.alltrails.com/trail/us/washington/snow-lake-trail" target="_blank">Snow Lake Trail</a> is 6.7 miles, which is exactly what Strava logged. The Instinct 3 came pretty close, depriving me of 0.15 miles of effort, while the Galaxy Watch 9 undercounted by 0.21 miles.</p><p>AllTrails additionally lists 1,686 feet of elevation gain for the hike, a tally that both Strava and Garmin came incredibly close to nailing; the former undercounted by just 12 feet and the latter overcounted by a mere 7 feet. </p><p>The Galaxy Watch 9, meanwhile, overcounted my uphill efforts by a whopping 180 feet. </p><h3 class="article-body__section" id="section-2-the-galaxy-watch-9-didn-t-count-my-steps"><span>2. The Galaxy Watch 9 didn't count my steps</span></h3><p>While distance and elevation are the two metrics I care about most when tracking a hike, along with moving pace (more on that below), it's always nice to get a sense of my step count. Unfortunately, the Galaxy Watch 9 neglected to count my steps, which is odd, given it has no trouble doing so when you track a normal walking workout.</p><h3 class="article-body__section" id="section-3-samsung-doesn-t-record-a-moving-pace"><span>3. Samsung doesn't record a 'moving pace'</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4889px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="9VYZkwkFKGrzUBK9zzEc3k" name="GalaxyWatch9-02" alt="Close-up of the Samsung Galaxy Watch 9 in white" src="https://cdn.mos.cms.futurecdn.net/9VYZkwkFKGrzUBK9zzEc3k.jpg" mos="" align="middle" fullscreen="" width="4889" height="2750" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><div><blockquote><p>Most smartwatches in 2026 are smart enough to notice that you've stopped moving and automatically pause your workout</p></blockquote></div><p>My brother, who was visiting from the U.S. East Coast, joined me on this hike. Our plan was to make it to the lake, cool off, enjoy the tranquility (along with a cheeky beverage), and then head back down. </p><p>During our mid-hike break, I left all three workout sessions running. Most smartwatches in 2026 are smart enough to notice that you've stopped moving and automatically pause your workout until you're in motion again.</p><p>Post-outdoor workout, the <a href="https://www.tomsguide.com/wellness/smartwatches/best-smartwatch">best smartwatches</a> provide two pace metrics, one reflecting your average moving pace and the other showing your average elapsed pace with pauses included in the calculation. As you might guess, the former is more useful and reflective of your <em>actual</em> efforts.</p><p>Unfortunately, the Samsung Galaxy Watch 9 only provided one average pace metric without specifying which, but the answer seems obvious. For what it's worth, Garmin and Strava both noted a similar average elapsed pace to Samsung's: 34 mins 10 secs per mile for Garmin and 33 mins 06 secs per mile from Strava.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1741px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="NquCSuaEaN7a23EHqscKSN" name="GarminInstinct3-snow-02" alt="Garmin Instinct 3 on a user's wrist shown up-close in between a ski glove and jacket" src="https://cdn.mos.cms.futurecdn.net/NquCSuaEaN7a23EHqscKSN.jpg" mos="" align="middle" fullscreen="" width="1741" height="979" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><h3 class="article-body__section" id="section-4-heart-rate-and-calorie-data-matches-up-nicely"><span>4. Heart rate and calorie data matches up nicely</span></h3><p>Now for the good news. The Galaxy Watch 9's heart rate data is a near match with Garmin's, a result I love to see. Both smartwatches also calculated a similar number of calories burned during my 3.5-hour excursion. </p><h3 class="article-body__section" id="section-winner-garmin-instinct-3"><span>Winner: Garmin Instinct 3</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4834px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kuTYfGbyRcRugdWr8FJdqf" name="Galaxy9-v-Instinct3-02" alt="Close-up of the Garmin Instinct 3 next to the Samsung Galaxy Watch 9 with evergreens in the background" src="https://cdn.mos.cms.futurecdn.net/kuTYfGbyRcRugdWr8FJdqf.jpg" mos="" align="middle" fullscreen="" width="4834" height="2719" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>The Garmin Instinct 3 long ago established itself as my go-to smartwatch for logging outdoor adventures thanks to its reliability, ridiculously good battery performance, bright screen, and rugged design. And it once again excelled on all fronts in this hiking comparison versus the Samsung Galaxy Watch 9.</p><p>Not only did Garmin calculate more precise distance, climb, and pace data than Samsung, it also logged my steps, something the Galaxy Watch 9 failed to do, all while using way less battery. In other words, the Garmin Instinct 3 wins this comparison.</p><p>Which smartwatches or fitness trackers should I test head-to-head next? Let me know in the comments below. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eJ9PvX"></div>                            </div>                            <script src="https://kwizly.com/embed/eJ9PvX.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/wellness/smartwatches/i-biked-11-miles-with-the-garmin-instinct-3-vs-samsung-galaxy-watch-ultra-2-and-the-winner-is-clear"><strong>I biked 11 miles with the Garmin Instinct 3 vs Samsung Galaxy Watch Ultra 2 — and the winner is clear</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/wellness/fitness-trackers/i-walked-4-000-steps-with-the-pixel-watch-5-vs-samsung-galaxy-watch-9-and-we-have-a-new-android-champ"><strong>I walked 4,000 steps with the Pixel Watch 5 vs Samsung Galaxy Watch 9 — and we have a new Android champ</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/wellness/fitness-trackers/i-walked-7-miles-with-the-apple-watch-ultra-3-vs-pixel-watch-5-and-the-winner-is-nearly-too-close-to-call"><strong>I walked 7 miles with the Apple Watch Ultra 3 vs Pixel Watch 5 — here's the winner</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I drove the Audi Q6 e-tron and BMW iX xDrive45 for a week — here’s mid-size luxury SUV I recommend ]]></title>
                                                                                                <dc:content><![CDATA[ <p>When it comes to luxury vehicles, the matchup I frequently scrutinize is Audi versus BMW. These German powerhouse automakers have plenty of models that combine cutting-edge hardware with intricate design, but for this face-off, I’m looking at the <a href="https://www.auditampa.com/model-research/q6-e-tron/" target="_blank">2027 Audi Q6 e-tron Premium quattro</a> and the <a href="https://www.bmwusa.com/vehicles/bmw-i-series/ix/bmw-ix.html" target="_blank">2026 BMW iX xDrive45</a>.</p><p>Priced similarly around the $80,000 mark, these two mid-size SUVs offer future-proof tech with their all-electric drivetrains. Moreover, they target the same premium buyers and some of the <a href="https://www.tomsguide.com/best-picks/best-electric-cars-today">best electric cars</a> around — yet their design philosophies couldn't be further apart. The Audi Q6 e-tron leans into Audi’s signature athletic proportions and tech-forward refinement, while the <a href="https://www.tomsguide.com/vehicle-tech/evs/2026-bmw-ix-xdrive45-pros-and-cons">iX xDrive45</a> embraces BMW's bold, avant-garde styling and executive-level treatment.</p><p>In order to see which approach truly delivers, I drove each one for a week to compare their premium features, real-world driving efficiency, and charging performance — all to ultimately award one with my recommendation.</p><figure class="inline-layout"><div style="min-height: 400px;"><fw-embed-feed channel="toms_guide" playlist="gOdY2y" mode="row" player_placement="bottom-right"></fw-embed-feed></div></figure><h2 class="article-body__section" id="section-audi-q6-e-tron-vs-bmw-ix-xdrive45-specifications"><span>Audi Q6 e-tron vs. BMW iX xDrive45: Specifications</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>2027 Audi Q6 e-tron Premium quattro</p></th><th  ><p><strong>2026 BMW ix xDrive45</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price Tested</strong></p></td><td  ><p>$77,290</p></td><td  ><p>$88,000</p></td></tr><tr><td class="firstcol " ><p><strong>Range</strong></p></td><td  ><p>301 miles</p></td><td  ><p>312 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Motor</strong></p></td><td  ><p>Front Asynchronous & Rear PSM Motors (AWD)</p></td><td  ><p>Dual all-electric motors (AWD)</p></td></tr><tr><td class="firstcol " ><p><strong>Battery</strong></p></td><td  ><p>100 kWh</p></td><td  ><p>100.1 kWh</p></td></tr><tr><td class="firstcol " ><p><strong>Horsepower</strong></p></td><td  ><p>456 hp</p></td><td  ><p>402 hp</p></td></tr><tr><td class="firstcol " ><p><strong>Wheels</strong></p></td><td  ><p>20-inches</p></td><td  ><p>21-inches</p></td></tr><tr><td class="firstcol " ><p><strong>MSRP</strong></p></td><td  ><p>$64,500</p></td><td  ><p>$75,150</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-audi-q6-e-tron-vs-bmw-ix-xdrive45-design"><span>Audi Q6 e-tron vs. BMW iX xDrive45: Design</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/K3LTJBT6scqeDXskAyYdiP.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/9RykWpxdtdnaCfW3uRGLUH.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/nqfnw6ynuYywL8GUujKkQP.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/vuXwbAcLLtxxvrDXFK7VWH.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/hxgLktPHX3B2doSdjUNygP.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/BZAM9FQzpvJrBKR2cMxwNH.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/6eRvjUa8Cxps3sTV623yhP.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/R76J5th73QhpdGp4hXBZWH.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>When it comes to pure curb appeal, I’m genuinely torn because each SUV brings its own distinct aesthetic to the table.</p><p>The BMW iX leans into a bold, utilitarian style with an upright stance and geometric surfacing. Its signature illuminated kidney grille commands attention — especially at night with its subtle glow — giving it an intimidating presence reminiscent of the <a href="https://www.tomsguide.com/vehicle-tech/i-drove-the-bmw-xm-label-and-audi-rs-q8-for-a-week-heres-the-luxury-suv-worth-splurging-on">BMW XM Label</a> with high-tech styling scaled for everyday driving.</p><p>In contrast, the Audi Q6 e-tron delivers a sleek, athletic silhouette with the classic luxury flair expected from an established automaker. Its sculpted lines, sweeping roofline, and intricate active lighting signatures give it a low-slung stance that looks ready to tackle highways with confidence</p><p>Whether you prefer the rugged, imposing presence of the BMW or the sculpted elegance of the Audi really comes down to personal taste. I like them both.</p><p><strong>Winner:</strong> tie</p><h2 class="article-body__section" id="section-audi-q6-e-tron-vs-bmw-ix-xdrive45-efficiency"><span>Audi Q6 e-tron vs. BMW iX xDrive45: Efficiency</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>2027 Audi Q6 e-tron Premium quattro</p></th><th  ><p><strong>2026 BMW ix xDrive45</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Total Miles Driven</strong></p></td><td  ><p>116.8 miles</p></td><td  ><p>339.9 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Average Efficiency</strong></p></td><td  ><p>3.2 mi/kWh</p></td><td  ><p>3.3 mi/kWh</p></td></tr><tr><td class="firstcol " ><p><strong>Best short distance efficiency</strong></p></td><td  ><p>3.7 mi/kW</p></td><td  ><p>3 mi/kWh</p></td></tr><tr><td class="firstcol " ><p><strong>Best long distance efficiency</strong></p></td><td  ><p>3.5 mi/kW</p></td><td  ><p>3.8 mi/kWh</p></td></tr><tr><td class="firstcol " ><p><strong>Level 1 charging rate</strong></p></td><td  ><p>3.48 mi/hr</p></td><td  ><p>3.82 mi/hr</p></td></tr></tbody></table></div><p>Looking at the spec sheet farther above, you’ll notice similarities across their battery capacities and estimated range. Both promise 300+ miles on paper, but it always comes down to real-world driving to see which one is truly the more <a href="https://www.tomsguide.com/vehicle-tech/evs/i-tested-30-electric-cars-in-the-last-year-heres-the-5-most-efficient-evs-under-usd40-000-you-can-buy-right-now">efficient EV</a> — and based on my testing, the BMW iX xDrive45 pulls ahead.</p><p>Over 339.9 total miles of driving, the BMW iX xDrive45 delivered a solid average efficiency of 3.3 mi/kWh. That outpaced the Audi Q6 e-tron, which still managed a respectable 3.2 mi/kWh average over 116.8 miles of testing.</p><p>I also found the Q6 e-tron surprisingly more efficient on short trips with mostly city driving, topping out at 3.7 mi/kWh on my best run, while the iX xDrive45 lagged behind at 3.0 mi/kWh. However, the iX proved far more efficient at sustained highway speeds, reaching 3.8 mi/kWh against the Audi’s 3.5 mi/kWh.</p><p>Another detail worth noting for first-time EV buyers is the faster <a href="https://www.tomsguide.com/vehicle-tech/evs/ive-been-charging-evs-at-home-for-the-last-year-heres-5-things-i-learned">Level 1 charging</a> rate I got from the iX, which averaged 3.82 mi/hr versus the Audi’s 3.48 mi/hr. While both deliver admirable numbers for mid-size luxury haulers, the iX xDrive45's highway stamina and overall numbers give it the win.</p><p><strong>Winner:</strong> BMW iX xDrive45</p><h2 class="article-body__section" id="section-audi-q6-e-tron-vs-bmw-ix-xdrive45-driving-performance"><span>Audi Q6 e-tron vs. BMW iX xDrive45: Driving performance</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/SVysnuSVznTo8dTRsfyXWN.jpg" alt="2026 Audi Q6 e-tron review." /><figcaption>2026 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ok8EF9piuJZN8QBt3pmzgG.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/XMoCsqsfGSoLJnWF7j4mUN.jpg" alt="2026 Audi Q6 e-tron review." /><figcaption>2026 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/gSBERhMYcktXCzf74JjYEH.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/wasA3v9ttHxpDfCda5uPZN.jpg" alt="2026 Audi Q6 e-tron review." /><figcaption>2026 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/35jWce8X8JPEMRVMfMyUwG.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/gmYYSEiyjKZZfS3vkYpyaP.jpg" alt="2026 Audi Q6 e-tron review." /><figcaption>2026 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Qi6kzEPCx4gCyJoYMrXoyG.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>Having tested last year’s <a href="https://www.tomsguide.com/vehicle-tech/evs/2025-audi-q6-e-tron-pros-and-cons">Audi Q6 e-tron</a> and <a href="https://www.tomsguide.com/vehicle-tech/evs/i-drove-the-audi-q6-sportback-e-tron-for-a-week-and-it-proves-charging-an-ev-shouldnt-be-a-hassle">Q6 Sportback</a>, I knew what to expect with the 2027 model — and not surprisingly, it takes the win for overall driving performance.</p><p>With a combined output of 456 hp from its front asynchronous and rear permanent-magnet synchronous motors, the Q6 e-tron packs a noticeable punch over the BMW iX xDrive45’s 402 hp. I noticed slightly sharper throttle response and punchier acceleration out of the Q6, while its 20-inch wheels helped it tackle tight corners and navigate cramped parking lots with greater agility.</p><p>The BMW iX xDrive45 is by no means sluggish, providing effortless thrust from its dual-motor AWD system, but its larger 21-inch wheels and longer footprint don't allow as much finesse around sharp bends. At times it feels remarkably like a two-door coupe on steroids with its sporty handling, but it simply isn't as nimble as the Audi.</p><p><strong>Winner:</strong> Audi Q6 e-tron</p><h2 class="article-body__section" id="section-audi-q6-e-tron-vs-bmw-ix-xdrive45-comfort"><span>Audi Q6 e-tron vs. BMW iX xDrive45: Comfort</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/ZY5VZXDqo6sRRkimZwcGmR.gif" alt="Gif animation showing 2026 BMW ix xDrive45 auto lane change assist." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/BRxYJukUoFmZ4Lu3pDrNYd.gif" alt="Gif animation of 2026 BMW ix xDrive45 camera." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/43j6vjtd6r3sUbMxaEaKz4.gif" alt="Gif animation showing 2026 BMW ix xDrive45 auto park." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/WDZnrmY7T38hz6MDmgQbjG.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ZSVopuAYR4R9SgdNLGVnTH.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/YAKfTdCFwPjQ4PPL56sQdG.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ddBJhFDDdmLk4a6fra3HEG.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/BK48R4SMPQWBV3U29aZVmG.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/92hXqJ6NHCf7jDbTqs9UEG.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>While their exteriors are what garner attention first, stepping inside highlights true luxury craftsmanship. Both offer distinct perks when it comes to comfort and everyday usability, but the BMW iX xDrive45 easily takes the crown for passenger comfort, cargo utility, and effortless convenience.</p><p>Benefiting from a larger footprint, the iX xDrive45 delivers a lounge-like cabin feel. Rear passengers enjoy extra legroom over a flat floor, and the cargo hold provides vastly more trunk space behind the second row.</p><p>BMW also leans heavily into next-gen luxury touches. It features an adaptable ambient lighting system that dynamically responds to drive modes, a head gesture-based lane change assist that works impressively well, and its signature Backup Assistant that makes maneuvering out of tight parking spots a breeze. If that's not enough, it features one of the fastest automated self-parking systems I've ever tested.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/z9DqNhecrhhVnSN42v6oG5.gif" alt="2027 Audi Q6 e-tron." /><figcaption>2027 Audi Q6.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/CoKBRQCLWfsNn5EenpAwa4.gif" alt="2027 Audi Q6 e-tron." /><figcaption>2027 Audi Q6.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/RqJNUYsK5QcafkdTnVSQH5.gif" alt="2027 Audi Q6 e-tron." /><figcaption>2027 Audi Q6.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/WXXWY4yceHXLzaebEHH64P.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/9T4Sfw2m9mL3V38WzzQnhN.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/MNDnXTCMrrUnQ4puS4uVjP.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/fqar5BAnEjjGAPCC63pq8N.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/X2tqtSiXtWDvbNzoTAcHuM.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/CRvxharoZXFsu4aumuEUZM.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/GNSBdoM9TSEVWprSSnEE5P.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/EhN2GkoFZnL6pU2R8V9xPP.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>The Audi Q6 e-tron puts up a serious fight with its driver-focused technology. Its <a href="https://www.tomsguide.com/vehicle-tech/evs/i-tried-adaptive-cruise-control-on-these-evs-and-it-changed-the-way-i-drive">adaptive cruise control system</a> is remarkably responsive in heavy traffic, its sharp 360-degree cameras stay crystal clear even at night, and it also has dual chargers for added convenience. What impressed me most, however, is the augmented-reality head-up display (HUD). Beyond projecting turn-by-turn navigation arrows directly onto the road ahead, it provides real-time distance alerts whenever I creep too close to the vehicle in front of me.</p><p>Still, when it comes to sheer passenger space, rear-seat pampering, and intuitive driver-assistance comforts, the BMW iX is the more relaxing and accommodating place to spend time.</p><p><strong>Winner: </strong>BMW iX xDrive45</p><h2 class="article-body__section" id="section-audi-q6-e-tron-vs-bmw-ix-xdrive45-value"><span>Audi Q6 e-tron vs. BMW iX xDrive45: Value</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/44MpDPwEgAhxtrUhKWDKM5.gif" alt="2027 Audi Q6 e-tron." /><figcaption>2027 Audi Q6.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/fgptoRYcjRGQnUEoxxyhz4.gif" alt="2027 Audi Q6 e-tron." /><figcaption>2027 Audi Q6.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/bQskY7wZDZG4qNypyoeT85.gif" alt="2027 Audi Q6 e-tron." /><figcaption>2027 Audi Q6.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/RV2Aj4ozJWqqj46UtukkdP.jpg" alt="2026 Audi Q6 e-tron review." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>Both of these luxury SUVs command premium prices, but you pocket over $10,000 in savings simply by going with the 2027 Audi Q6 e-tron Premium quattro. When I weigh that price difference against the sheer amount of equipment included, the value proposition tips decisively in favor of the Audi.</p><p>You get a lot more for less here, as the Q6 e-tron certainly doesn't skimp on equipment. Its standout amenities include an expansive panoramic glass roof, integrated rear side-window sunshades for passenger comfort, and a dedicated front passenger display built directly into the dashboard — a sleek high-tech touch that BMW doesn’t offer here.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/eHdH6DMix8ads8L4Jptq4H.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/diPiVrHqVCCHQdnzoDr8yG.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/m8NCcRL7FKrsAXwkHD6EuG.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/WDZnrmY7T38hz6MDmgQbjG.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/gjBG2BWYNBbuBprUFTViUG.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>To be fair, the BMW’s higher real-world efficiency will yield modest savings on home electric bills and public charging over years of ownership. However, based on my real-world test results, those incremental energy savings aren't nearly enough to offset a five-figure upfront price gap.</p><p>For delivering stronger horsepower, cutting-edge cabin screens, and an upscale package for over $10,000 less, the Audi represents the smarter luxury buy.</p><p><strong>Winner:</strong> Audi Q6 e-tron</p><h2 class="article-body__section" id="section-audi-q6-e-tron-vs-bmw-ix-xdrive45-verdict"><span>Audi Q6 e-tron vs. BMW iX xDrive45: Verdict</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/MNDnXTCMrrUnQ4puS4uVjP.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/zPyHQgQYTLMsosGybvbKyG.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/mRTeoMVTk7phUsTNWhNRdP.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/9RykWpxdtdnaCfW3uRGLUH.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/X2tqtSiXtWDvbNzoTAcHuM.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/GDUeH4xH8AEoWGqr53ikRH.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/d82U3WhPv7ZFuGaLujKtEP.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/WGrqHPBvbfLSiFDFYr8HVH.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/V2rZCDZmPEDsxEujdRJZiN.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/AAYxTHNuTu3kzn4YnNVnxG.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>Ultimately, this Audi Q6 e-tron vs. BMW iX xDrive45 matchup comes out to a draw, as both all-electric mid-size SUVs have their distinct strengths.</p><p>The BMW iX xDrive45 earns its stripes as the superior long-distance cruiser, winning on overall efficiency, whisper-quiet cabin refinement, and vastly more rear-seat legroom and cargo space. Meanwhile, the Audi Q6 e-tron punches back with sharper driving dynamics, greater horsepower, and unmatched value for the money.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>2027 Audi Q6 e-tron Premium quattro</p></th><th  ><p><strong>2026 BMW ix xDrive45</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Design</strong></p></td><td  ><p>X</p></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Efficiency</strong></p></td><td  ></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Driving Performance</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Comfort</strong></p></td><td  ></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Value</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Total</strong></p></td><td  ><p>3</p></td><td  ><p>3</p></td></tr></tbody></table></div><p>Both are stellar luxury EVs that cater to slightly different priorities. But if I had to sign the check and spend my own money, I'd go with the Audi Q6 e-tron. Pocketing more than $10,000 in upfront savings while still getting punchier acceleration, tighter handling, and standout cabin tech like the passenger dashboard display makes the Audi the more compelling choice.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eBzM8e"></div>                            </div>                            <script src="https://kwizly.com/embed/eBzM8e.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/vehicle-tech/evs/im-not-anxious-that-its-getting-darker-earlier-with-this-thermal-camera-for-my-car-heres-why"><strong>I'm not anxious that it's getting darker earlier with this thermal camera for my car — here's why</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/vehicle-tech/evs/i-borrowed-the-new-nissan-leaf-for-a-day-and-this-affordable-ev-nails-it"><strong>I just test drove the new Nissan Leaf — and it's irresistible at under $30,000</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/vehicle-tech/evs/crabwalking-with-the-gmc-sierra-ev-is-the-weirdest-thing-ive-ever-done-with-a-car-and-its-actually-pretty-useful"><strong>CrabWalking with the GMC Sierra EV is the weirdest thing I’ve ever done with a car — and it’s actually pretty useful</strong></a><strong></strong></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/vehicle-tech/evs/i-drove-the-audi-q6-e-tron-and-bmw-ix-xdrive45-for-a-week-heres-mid-size-luxury-suv-i-recommend</link>
                                                                            <description>
                            <![CDATA[ After driving the Audi Q6 e-tron and BMW iX xDrive45 for a week each, there's one all-electric, mid-size SUV I'd gladly spend my money on. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">gL3PaAqSHjXRPSuRsxbEm5</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/9tsTDT5pjKc9w5eB4SWrdU-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 28 Aug 2026 06:00:00 +0000</pubDate>                                                                                                                                <updated>Fri, 28 Aug 2026 13:28:26 +0000</updated>
                                                                                                                                            <category><![CDATA[EVs]]></category>
                                                    <category><![CDATA[Vehicle Tech]]></category>
                                                                                                <author><![CDATA[ john.velasco@futurenet.com (John Velasco) ]]></author>                    <dc:creator><![CDATA[ John Velasco ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/TSj224oX8d5ERXaDs8pDGd.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/9tsTDT5pjKc9w5eB4SWrdU-1280-80.jpg">
                                                            <media:credit><![CDATA[John Velasco / Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Audi Q6 vs BMW iX xDrive45.]]></media:description>                                                            <media:text><![CDATA[Audi Q6 vs BMW iX xDrive45.]]></media:text>
                                <media:title type="plain"><![CDATA[Audi Q6 vs BMW iX xDrive45.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/9tsTDT5pjKc9w5eB4SWrdU-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>When it comes to luxury vehicles, the matchup I frequently scrutinize is Audi versus BMW. These German powerhouse automakers have plenty of models that combine cutting-edge hardware with intricate design, but for this face-off, I’m looking at the <a href="https://www.auditampa.com/model-research/q6-e-tron/" target="_blank">2027 Audi Q6 e-tron Premium quattro</a> and the <a href="https://www.bmwusa.com/vehicles/bmw-i-series/ix/bmw-ix.html" target="_blank">2026 BMW iX xDrive45</a>.</p><p>Priced similarly around the $80,000 mark, these two mid-size SUVs offer future-proof tech with their all-electric drivetrains. Moreover, they target the same premium buyers and some of the <a href="https://www.tomsguide.com/best-picks/best-electric-cars-today">best electric cars</a> around — yet their design philosophies couldn't be further apart. The Audi Q6 e-tron leans into Audi’s signature athletic proportions and tech-forward refinement, while the <a href="https://www.tomsguide.com/vehicle-tech/evs/2026-bmw-ix-xdrive45-pros-and-cons">iX xDrive45</a> embraces BMW's bold, avant-garde styling and executive-level treatment.</p><p>In order to see which approach truly delivers, I drove each one for a week to compare their premium features, real-world driving efficiency, and charging performance — all to ultimately award one with my recommendation.</p><figure class="inline-layout"><div style="min-height: 400px;"><fw-embed-feed channel="toms_guide" playlist="gOdY2y" mode="row" player_placement="bottom-right"></fw-embed-feed></div></figure><h2 class="article-body__section" id="section-audi-q6-e-tron-vs-bmw-ix-xdrive45-specifications"><span>Audi Q6 e-tron vs. BMW iX xDrive45: Specifications</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>2027 Audi Q6 e-tron Premium quattro</p></th><th  ><p><strong>2026 BMW ix xDrive45</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price Tested</strong></p></td><td  ><p>$77,290</p></td><td  ><p>$88,000</p></td></tr><tr><td class="firstcol " ><p><strong>Range</strong></p></td><td  ><p>301 miles</p></td><td  ><p>312 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Motor</strong></p></td><td  ><p>Front Asynchronous & Rear PSM Motors (AWD)</p></td><td  ><p>Dual all-electric motors (AWD)</p></td></tr><tr><td class="firstcol " ><p><strong>Battery</strong></p></td><td  ><p>100 kWh</p></td><td  ><p>100.1 kWh</p></td></tr><tr><td class="firstcol " ><p><strong>Horsepower</strong></p></td><td  ><p>456 hp</p></td><td  ><p>402 hp</p></td></tr><tr><td class="firstcol " ><p><strong>Wheels</strong></p></td><td  ><p>20-inches</p></td><td  ><p>21-inches</p></td></tr><tr><td class="firstcol " ><p><strong>MSRP</strong></p></td><td  ><p>$64,500</p></td><td  ><p>$75,150</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-audi-q6-e-tron-vs-bmw-ix-xdrive45-design"><span>Audi Q6 e-tron vs. BMW iX xDrive45: Design</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/K3LTJBT6scqeDXskAyYdiP.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/9RykWpxdtdnaCfW3uRGLUH.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/nqfnw6ynuYywL8GUujKkQP.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/vuXwbAcLLtxxvrDXFK7VWH.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/hxgLktPHX3B2doSdjUNygP.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/BZAM9FQzpvJrBKR2cMxwNH.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/6eRvjUa8Cxps3sTV623yhP.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/R76J5th73QhpdGp4hXBZWH.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>When it comes to pure curb appeal, I’m genuinely torn because each SUV brings its own distinct aesthetic to the table.</p><p>The BMW iX leans into a bold, utilitarian style with an upright stance and geometric surfacing. Its signature illuminated kidney grille commands attention — especially at night with its subtle glow — giving it an intimidating presence reminiscent of the <a href="https://www.tomsguide.com/vehicle-tech/i-drove-the-bmw-xm-label-and-audi-rs-q8-for-a-week-heres-the-luxury-suv-worth-splurging-on">BMW XM Label</a> with high-tech styling scaled for everyday driving.</p><p>In contrast, the Audi Q6 e-tron delivers a sleek, athletic silhouette with the classic luxury flair expected from an established automaker. Its sculpted lines, sweeping roofline, and intricate active lighting signatures give it a low-slung stance that looks ready to tackle highways with confidence</p><p>Whether you prefer the rugged, imposing presence of the BMW or the sculpted elegance of the Audi really comes down to personal taste. I like them both.</p><p><strong>Winner:</strong> tie</p><h2 class="article-body__section" id="section-audi-q6-e-tron-vs-bmw-ix-xdrive45-efficiency"><span>Audi Q6 e-tron vs. BMW iX xDrive45: Efficiency</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>2027 Audi Q6 e-tron Premium quattro</p></th><th  ><p><strong>2026 BMW ix xDrive45</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Total Miles Driven</strong></p></td><td  ><p>116.8 miles</p></td><td  ><p>339.9 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Average Efficiency</strong></p></td><td  ><p>3.2 mi/kWh</p></td><td  ><p>3.3 mi/kWh</p></td></tr><tr><td class="firstcol " ><p><strong>Best short distance efficiency</strong></p></td><td  ><p>3.7 mi/kW</p></td><td  ><p>3 mi/kWh</p></td></tr><tr><td class="firstcol " ><p><strong>Best long distance efficiency</strong></p></td><td  ><p>3.5 mi/kW</p></td><td  ><p>3.8 mi/kWh</p></td></tr><tr><td class="firstcol " ><p><strong>Level 1 charging rate</strong></p></td><td  ><p>3.48 mi/hr</p></td><td  ><p>3.82 mi/hr</p></td></tr></tbody></table></div><p>Looking at the spec sheet farther above, you’ll notice similarities across their battery capacities and estimated range. Both promise 300+ miles on paper, but it always comes down to real-world driving to see which one is truly the more <a href="https://www.tomsguide.com/vehicle-tech/evs/i-tested-30-electric-cars-in-the-last-year-heres-the-5-most-efficient-evs-under-usd40-000-you-can-buy-right-now">efficient EV</a> — and based on my testing, the BMW iX xDrive45 pulls ahead.</p><p>Over 339.9 total miles of driving, the BMW iX xDrive45 delivered a solid average efficiency of 3.3 mi/kWh. That outpaced the Audi Q6 e-tron, which still managed a respectable 3.2 mi/kWh average over 116.8 miles of testing.</p><p>I also found the Q6 e-tron surprisingly more efficient on short trips with mostly city driving, topping out at 3.7 mi/kWh on my best run, while the iX xDrive45 lagged behind at 3.0 mi/kWh. However, the iX proved far more efficient at sustained highway speeds, reaching 3.8 mi/kWh against the Audi’s 3.5 mi/kWh.</p><p>Another detail worth noting for first-time EV buyers is the faster <a href="https://www.tomsguide.com/vehicle-tech/evs/ive-been-charging-evs-at-home-for-the-last-year-heres-5-things-i-learned">Level 1 charging</a> rate I got from the iX, which averaged 3.82 mi/hr versus the Audi’s 3.48 mi/hr. While both deliver admirable numbers for mid-size luxury haulers, the iX xDrive45's highway stamina and overall numbers give it the win.</p><p><strong>Winner:</strong> BMW iX xDrive45</p><h2 class="article-body__section" id="section-audi-q6-e-tron-vs-bmw-ix-xdrive45-driving-performance"><span>Audi Q6 e-tron vs. BMW iX xDrive45: Driving performance</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/SVysnuSVznTo8dTRsfyXWN.jpg" alt="2026 Audi Q6 e-tron review." /><figcaption>2026 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ok8EF9piuJZN8QBt3pmzgG.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/XMoCsqsfGSoLJnWF7j4mUN.jpg" alt="2026 Audi Q6 e-tron review." /><figcaption>2026 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/gSBERhMYcktXCzf74JjYEH.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/wasA3v9ttHxpDfCda5uPZN.jpg" alt="2026 Audi Q6 e-tron review." /><figcaption>2026 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/35jWce8X8JPEMRVMfMyUwG.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/gmYYSEiyjKZZfS3vkYpyaP.jpg" alt="2026 Audi Q6 e-tron review." /><figcaption>2026 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Qi6kzEPCx4gCyJoYMrXoyG.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>Having tested last year’s <a href="https://www.tomsguide.com/vehicle-tech/evs/2025-audi-q6-e-tron-pros-and-cons">Audi Q6 e-tron</a> and <a href="https://www.tomsguide.com/vehicle-tech/evs/i-drove-the-audi-q6-sportback-e-tron-for-a-week-and-it-proves-charging-an-ev-shouldnt-be-a-hassle">Q6 Sportback</a>, I knew what to expect with the 2027 model — and not surprisingly, it takes the win for overall driving performance.</p><p>With a combined output of 456 hp from its front asynchronous and rear permanent-magnet synchronous motors, the Q6 e-tron packs a noticeable punch over the BMW iX xDrive45’s 402 hp. I noticed slightly sharper throttle response and punchier acceleration out of the Q6, while its 20-inch wheels helped it tackle tight corners and navigate cramped parking lots with greater agility.</p><p>The BMW iX xDrive45 is by no means sluggish, providing effortless thrust from its dual-motor AWD system, but its larger 21-inch wheels and longer footprint don't allow as much finesse around sharp bends. At times it feels remarkably like a two-door coupe on steroids with its sporty handling, but it simply isn't as nimble as the Audi.</p><p><strong>Winner:</strong> Audi Q6 e-tron</p><h2 class="article-body__section" id="section-audi-q6-e-tron-vs-bmw-ix-xdrive45-comfort"><span>Audi Q6 e-tron vs. BMW iX xDrive45: Comfort</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/ZY5VZXDqo6sRRkimZwcGmR.gif" alt="Gif animation showing 2026 BMW ix xDrive45 auto lane change assist." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/BRxYJukUoFmZ4Lu3pDrNYd.gif" alt="Gif animation of 2026 BMW ix xDrive45 camera." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/43j6vjtd6r3sUbMxaEaKz4.gif" alt="Gif animation showing 2026 BMW ix xDrive45 auto park." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/WDZnrmY7T38hz6MDmgQbjG.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ZSVopuAYR4R9SgdNLGVnTH.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/YAKfTdCFwPjQ4PPL56sQdG.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ddBJhFDDdmLk4a6fra3HEG.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/BK48R4SMPQWBV3U29aZVmG.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/92hXqJ6NHCf7jDbTqs9UEG.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>While their exteriors are what garner attention first, stepping inside highlights true luxury craftsmanship. Both offer distinct perks when it comes to comfort and everyday usability, but the BMW iX xDrive45 easily takes the crown for passenger comfort, cargo utility, and effortless convenience.</p><p>Benefiting from a larger footprint, the iX xDrive45 delivers a lounge-like cabin feel. Rear passengers enjoy extra legroom over a flat floor, and the cargo hold provides vastly more trunk space behind the second row.</p><p>BMW also leans heavily into next-gen luxury touches. It features an adaptable ambient lighting system that dynamically responds to drive modes, a head gesture-based lane change assist that works impressively well, and its signature Backup Assistant that makes maneuvering out of tight parking spots a breeze. If that's not enough, it features one of the fastest automated self-parking systems I've ever tested.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/z9DqNhecrhhVnSN42v6oG5.gif" alt="2027 Audi Q6 e-tron." /><figcaption>2027 Audi Q6.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/CoKBRQCLWfsNn5EenpAwa4.gif" alt="2027 Audi Q6 e-tron." /><figcaption>2027 Audi Q6.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/RqJNUYsK5QcafkdTnVSQH5.gif" alt="2027 Audi Q6 e-tron." /><figcaption>2027 Audi Q6.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/WXXWY4yceHXLzaebEHH64P.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/9T4Sfw2m9mL3V38WzzQnhN.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/MNDnXTCMrrUnQ4puS4uVjP.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/fqar5BAnEjjGAPCC63pq8N.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/X2tqtSiXtWDvbNzoTAcHuM.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/CRvxharoZXFsu4aumuEUZM.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/GNSBdoM9TSEVWprSSnEE5P.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/EhN2GkoFZnL6pU2R8V9xPP.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>The Audi Q6 e-tron puts up a serious fight with its driver-focused technology. Its <a href="https://www.tomsguide.com/vehicle-tech/evs/i-tried-adaptive-cruise-control-on-these-evs-and-it-changed-the-way-i-drive">adaptive cruise control system</a> is remarkably responsive in heavy traffic, its sharp 360-degree cameras stay crystal clear even at night, and it also has dual chargers for added convenience. What impressed me most, however, is the augmented-reality head-up display (HUD). Beyond projecting turn-by-turn navigation arrows directly onto the road ahead, it provides real-time distance alerts whenever I creep too close to the vehicle in front of me.</p><p>Still, when it comes to sheer passenger space, rear-seat pampering, and intuitive driver-assistance comforts, the BMW iX is the more relaxing and accommodating place to spend time.</p><p><strong>Winner: </strong>BMW iX xDrive45</p><h2 class="article-body__section" id="section-audi-q6-e-tron-vs-bmw-ix-xdrive45-value"><span>Audi Q6 e-tron vs. BMW iX xDrive45: Value</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/44MpDPwEgAhxtrUhKWDKM5.gif" alt="2027 Audi Q6 e-tron." /><figcaption>2027 Audi Q6.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/fgptoRYcjRGQnUEoxxyhz4.gif" alt="2027 Audi Q6 e-tron." /><figcaption>2027 Audi Q6.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/bQskY7wZDZG4qNypyoeT85.gif" alt="2027 Audi Q6 e-tron." /><figcaption>2027 Audi Q6.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/RV2Aj4ozJWqqj46UtukkdP.jpg" alt="2026 Audi Q6 e-tron review." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>Both of these luxury SUVs command premium prices, but you pocket over $10,000 in savings simply by going with the 2027 Audi Q6 e-tron Premium quattro. When I weigh that price difference against the sheer amount of equipment included, the value proposition tips decisively in favor of the Audi.</p><p>You get a lot more for less here, as the Q6 e-tron certainly doesn't skimp on equipment. Its standout amenities include an expansive panoramic glass roof, integrated rear side-window sunshades for passenger comfort, and a dedicated front passenger display built directly into the dashboard — a sleek high-tech touch that BMW doesn’t offer here.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/eHdH6DMix8ads8L4Jptq4H.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/diPiVrHqVCCHQdnzoDr8yG.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/m8NCcRL7FKrsAXwkHD6EuG.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/WDZnrmY7T38hz6MDmgQbjG.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/gjBG2BWYNBbuBprUFTViUG.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>To be fair, the BMW’s higher real-world efficiency will yield modest savings on home electric bills and public charging over years of ownership. However, based on my real-world test results, those incremental energy savings aren't nearly enough to offset a five-figure upfront price gap.</p><p>For delivering stronger horsepower, cutting-edge cabin screens, and an upscale package for over $10,000 less, the Audi represents the smarter luxury buy.</p><p><strong>Winner:</strong> Audi Q6 e-tron</p><h2 class="article-body__section" id="section-audi-q6-e-tron-vs-bmw-ix-xdrive45-verdict"><span>Audi Q6 e-tron vs. BMW iX xDrive45: Verdict</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/MNDnXTCMrrUnQ4puS4uVjP.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/zPyHQgQYTLMsosGybvbKyG.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/mRTeoMVTk7phUsTNWhNRdP.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/9RykWpxdtdnaCfW3uRGLUH.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/X2tqtSiXtWDvbNzoTAcHuM.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/GDUeH4xH8AEoWGqr53ikRH.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/d82U3WhPv7ZFuGaLujKtEP.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/WGrqHPBvbfLSiFDFYr8HVH.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/V2rZCDZmPEDsxEujdRJZiN.jpg" alt="2027 Audi Q6." /><figcaption>2027 Audi Q6.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/AAYxTHNuTu3kzn4YnNVnxG.jpg" alt="2026 BMW ix xDrive45 test drive." /><figcaption>2026 BMW ix xDrive45.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>Ultimately, this Audi Q6 e-tron vs. BMW iX xDrive45 matchup comes out to a draw, as both all-electric mid-size SUVs have their distinct strengths.</p><p>The BMW iX xDrive45 earns its stripes as the superior long-distance cruiser, winning on overall efficiency, whisper-quiet cabin refinement, and vastly more rear-seat legroom and cargo space. Meanwhile, the Audi Q6 e-tron punches back with sharper driving dynamics, greater horsepower, and unmatched value for the money.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>2027 Audi Q6 e-tron Premium quattro</p></th><th  ><p><strong>2026 BMW ix xDrive45</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Design</strong></p></td><td  ><p>X</p></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Efficiency</strong></p></td><td  ></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Driving Performance</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Comfort</strong></p></td><td  ></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Value</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Total</strong></p></td><td  ><p>3</p></td><td  ><p>3</p></td></tr></tbody></table></div><p>Both are stellar luxury EVs that cater to slightly different priorities. But if I had to sign the check and spend my own money, I'd go with the Audi Q6 e-tron. Pocketing more than $10,000 in upfront savings while still getting punchier acceleration, tighter handling, and standout cabin tech like the passenger dashboard display makes the Audi the more compelling choice.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eBzM8e"></div>                            </div>                            <script src="https://kwizly.com/embed/eBzM8e.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/vehicle-tech/evs/im-not-anxious-that-its-getting-darker-earlier-with-this-thermal-camera-for-my-car-heres-why"><strong>I'm not anxious that it's getting darker earlier with this thermal camera for my car — here's why</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/vehicle-tech/evs/i-borrowed-the-new-nissan-leaf-for-a-day-and-this-affordable-ev-nails-it"><strong>I just test drove the new Nissan Leaf — and it's irresistible at under $30,000</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/vehicle-tech/evs/crabwalking-with-the-gmc-sierra-ev-is-the-weirdest-thing-ive-ever-done-with-a-car-and-its-actually-pretty-useful"><strong>CrabWalking with the GMC Sierra EV is the weirdest thing I’ve ever done with a car — and it’s actually pretty useful</strong></a><strong></strong></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Hisense U7SG vs TCL QM7L: We tested both mid-range TVs and one is better for most people ]]></title>
                                                                                                <dc:content><![CDATA[ <p>This year, folks in the market for a mid-range TV have a handful of enticing options. We recently tested the <a href="https://www.tomsguide.com/tvs/4k-tvs/hisense-u7sg-uled-miniled-google-tv-review">Hisense U7SG</a> — a quantum dot-enhanced Mini-LED TV — and found that it offers a bright, punchy picture and plenty of features for the price.</p><p>And then there's the <a href="https://www.tomsguide.com/tvs/qled-tvs/tcl-qm7l-review">TCL QM7L</a>. Despite its mid-range status, this Mini-LED TV comes with TCL's Super Quantum Dot (SQD) technology, which has proven effective when it comes to saturating a wider range of color than the U7SG's traditional quantum-dot display.</p><p>These sets offer similar performance in a similar price range. However, there are some differences you ought to be aware of before you shop.</p>        <div class="featured_product_block featured_block_versus" data-id="4a775396-a232-11f1-b689-0b6a0dfd3dc0">            <a href="https://www.tomsguide.com/tvs/4k-tvs/hisense-u7sg-uled-miniled-google-tv-review" data-model-name="Hisense U7SG" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/xGRoSUW6y324dzASnzhaP.jpg" alt="Hisense U7SG Mini-LED TV"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                                                <div class="featured__title">Hisense U7SG</div>                                    </div>                <div class="subtitle__description">                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star half"></span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="70" /></span></div>                                        <p><p>The Hisense U7SG is a mid-range, quantum dot-equipped Mini-LED TV whose display hardware delivers a bright, colorful picture. It also comes with a wide array of gaming features for the price. While slightly cheaper than the TCL QM7L, its performance isn't quite as sharp as TCL's mid-range competitor.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_versus" data-id="4a77545e-a232-11f1-9c8c-0d41eed217f8">            <a href="https://www.tomsguide.com/tvs/qled-tvs/tcl-qm7l-review" data-model-name="TCL QM7L,TCL QM7L 75-inch TV" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/dmQvthmnqDJWtBsrEduZaK.jpg" alt="TCL QM7L SQD Mini-LED TV"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                                                <div class="featured__title">TCL QM7L</div>                                    </div>                <div class="subtitle__description">                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star half"></span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="90" /></span></div>                                        <p><p>This mid-range Mini-LED TV offers a bright, colorful picture for the price, and thanks to TCL's new SQD technology, the QM7L is punchier than the Hisense U7SG. The QM7L carries a slightly higher price, but it's a smarter pick for folks who want the best-possible performance in this price range.</p></p>                </div>                            </div>        </div><h2 id="hisense-u7sg-vs-tcl-qm7l-specs-compared">Hisense U7SG vs TCL QM7L: Specs compared</h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Hisense U7SG</p></th><th  ><p>TCL QM7L</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Sizes</strong></p></td><td  ><p>55", 65", 75", 85", 100"</p></td><td  ><p>55", 65", 75", 85", 98"</p></td></tr><tr><td class="firstcol " ><p><strong>Ports</strong></p></td><td  ><p>4x HDMI 2.1</p></td><td  ><p>2x HDMI 2.1, 2x HDMI 2.0</p></td></tr><tr><td class="firstcol " ><p><strong>Resolution</strong></p></td><td  ><p>3,840 x 2,160p</p></td><td  ><p>3,840 x 2,160p</p></td></tr><tr><td class="firstcol " ><p><strong>Refresh rate</strong></p></td><td  ><p>165Hz</p></td><td  ><p>144Hz</p></td></tr><tr><td class="firstcol " ><p><strong>HDR</strong></p></td><td  ><p>Dolby Vision, HDR10+, HDR10, HLG</p></td><td  ><p>Dolby Vision, HDR10+, HDR10, HLG</p></td></tr><tr><td class="firstcol " ><p><strong>Smart TV software</strong></p></td><td  ><p>Google TV</p></td><td  ><p>Google TV</p></td></tr><tr><td class="firstcol " ><p><strong>ATSC 3.0 support?</strong></p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>Hi-View AI Engine Pro</p></td><td  ><p>TSR AI Pro Processor</p></td></tr></tbody></table></div><p>Before we talk about how they differ, let's cover the similarities: Size availability, HDR and ATSC 3.0 support are about the same across both TVs. </p><p>However, while both sets arrive with the standard set of four total HDMI inputs, only two of the QM7L's inputs offer HDMI 2.1 compatibility. With the U7SG, you'll enjoy a full suite of HDMI 2.1-compatible inputs.</p><p>With four high-bandwidth ports, the U7SG offers more flexibility, as they all support 4K content at 120Hz (and up to 165Hz with VRR). Only two of the QM7L's inputs support 4K content at 120Hz and up to 144Hz. Fortunately, the QM7L's dedicated eARC input isn't pulling double-duty as one of the TV's only high-bandwidth inputs.</p><p><em><strong>Winner: </strong></em><em>Hisense U7SG</em></p><h2 id="hisense-u7sg-vs-tcl-qm7l-design">Hisense U7SG vs TCL QM7L: Design</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="N3cJ424LxWLJdr9gM677v7" name="Hisense-U7-2026--12" alt="The back of a Hisense U7SG ULED Mini-LED Google TV" src="https://cdn.mos.cms.futurecdn.net/N3cJ424LxWLJdr9gM677v7.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Due in part to the nature of its display hardware, the Hisense U7SG (seen above) is thicker than many Mini-LED TVs we've seen in recent years. Nevertheless, it's constructed out of sturdy plastic and the overall aesthetic is similar to what you'll find in its price range this year.</p><p>The U7SG's panel sits on top of a pedestal-style stand that takes the form of a heavy plate that sits below the center of the screen. For some viewers, this type of stand is more convenient than a pair of feet, as the center-positioning allows the U7SG to sit on narrow pieces of furniture.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Yr86FrXitSAoCWjQX6t23J" name="TCL-75QM7L-TV--21" alt="The back of a TCL QM7L 75-inch TV" src="https://cdn.mos.cms.futurecdn.net/Yr86FrXitSAoCWjQX6t23J.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>As you can see from the photo above, the QM7L is very similar in its design approach. It, too, features a thick, heavy panel, which measures about the same depth as the U7SG.</p><p>Like the U7SG, the QM7L also relies on a centered, pedestal-style stand. Conveniently, the QM7L's stand can be attached in two height configurations. This helps to ensure that people with taller soundbars have an setup option in which the soundbar won't obstruct the screen.</p><p>Both TVs ship with backlit remote controls, which is quite nice to have in a dark room. Of the two, I prefer TCL's remote design, but there aren't too many differing characteristics worth calling out.</p><p>Given the similarities, this category is a toss-up. The U7SG and QM7L aren't as slim and premium-looking as other LED TVs we've seen in recent years, but neither looks (or feels) poorly designed.</p><p><em><strong>Winner:</strong></em><em> Draw</em></p><h2 id="hisense-u7sg-vs-tcl-qm7l-performance">Hisense U7SG vs TCL QM7L: Performance</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PZdPKGEpGuu4ZP6kEoQ8k7" name="Hisense-U7-2026--4" alt="Hisense U7SG ULED Mini-LED Google TV on a desk" src="https://cdn.mos.cms.futurecdn.net/PZdPKGEpGuu4ZP6kEoQ8k7.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Before we dig deeper into how these TVs look, let's compare their test results. (Both TVs were in their respective Filmmaker picture modes when these tests were taken.)</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Hisense U7SG</strong></p></th><th  ><p><strong>TCL QM7L</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>SDR Brightness (10%, in nits)    </strong></p></td><td  ><p>185</p></td><td  ><p>196</p></td></tr><tr><td class="firstcol " ><p><strong>Delta-E (lower is better)    </strong></p></td><td  ><p>3</p></td><td  ><p>2.6</p></td></tr><tr><td class="firstcol " ><p><strong>HDR Brightness (10%, in nits)    </strong></p></td><td  ><p>2,866</p></td><td  ><p>2,270</p></td></tr><tr><td class="firstcol " ><p><strong>UHDA-P3 Gamut Coverage    </strong></p></td><td  ><p>97.31%</p></td><td  ><p>97.64%</p></td></tr><tr><td class="firstcol " ><p><strong>Rec.2020 Gamut Coverage    </strong></p></td><td  ><p>82.75% </p></td><td  ><p>90.28%</p></td></tr><tr><td class="firstcol " ><p><strong>Input latency (milliseconds)   </strong></p></td><td  ><p>9.8</p></td><td  ><p>9.4</p></td></tr></tbody></table></div><p>In many ways, these TVs offer similar performance profiles. As mid-range Mini-LED TVs with quantum-dot color, they offer bright, colorful pictures — far brighter than what you'll see on entry-level LED TVs. This is especially true during HDR movies and shows, where the U7SG and QM7L each deliver over 2,000 nits of highlight brightness.</p><p>While we consistently tracked higher HDR highlight brightness on the U7SG, it's worth mentioning that the gap between the U7SG's roughly 2,900 nits of highlight brightness and the QM7L's 2,300 nits is not very substantial. </p><p>We measured similar readings for Delta-E, a figure that represents color error (with lower numbers being more desirable). There's not much of a difference between a Delta-E of 3 and 2.6, and both measurements indicate that the U7SG and QM7L feature accurate color that won't appear out-of-tune to almost every viewer.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="uMLFconvVq2gEVGqSYEM7J" name="TCL-75QM7L-TV--6" alt="TCL QM7L 75-inch TV on a desk" src="https://cdn.mos.cms.futurecdn.net/uMLFconvVq2gEVGqSYEM7J.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><div><blockquote><p>The biggest difference between them concerns color.</p></blockquote></div><p>The biggest difference between them concerns color. The QM7L is one of a few TVs to harness TCL's proprietary Super Quantum Dot (SQD) technology. This has proven to be effective at boosting color compared to standard quantum-dot color (the kind you'll find on the U7SG).</p><p>In certain viewing conditions, people are more likely to notice the QM7L's punchier color than they are the U7SG's higher brightness. (Impressively, the QM7L's color is right in line with what we measured on the more-expensive <a href="https://www.tomsguide.com/tvs/qled-tvs/tcl-sqd-mini-led-qm8l-75-inch-tv-review">TCL QM8L</a>.) It mostly depends on the content.</p><p>To my eyes, the QM7L does a slightly better job of upscaling sub-4K content than the U7SG, too. </p><p>Additionally, my colleague Sean Captain noted that the U7SG has a tendency to crush near-black shadow detail during select HDR content.</p><p>The added color and tighter contrast make the QM7L an all-around better performer, but it's worth noting just how close these TVs are in their presentation.</p><p><em><strong>Winner:</strong></em><em> TCL QM7L</em></p><h2 id="hisense-u7sg-vs-tcl-qm7l-smart-platform-and-features">Hisense U7SG vs TCL QM7L: Smart platform and features</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="8W92tzskjsfsuu4Wzgdrt7" name="Hisense-U7-2026--11" alt="Hisense U7SG ULED Mini-LED Google TV on a desk" src="https://cdn.mos.cms.futurecdn.net/8W92tzskjsfsuu4Wzgdrt7.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Both TVs are built around the Google TV streaming platform, and the software feels more or less the same on each set. Google TV is one of my preferred streaming platforms (just behind Roku), as navigation is relatively easy and it supports nearly every streaming service and app you could want.</p><p>In addition, the U7SG and QM7L both arrive with a similar set gaming features right out of the box. These features include Variable Refresh Rate (VRR) and AMD FreeSync Premium Pro (for smooth, tear-free gaming).</p><p>Each set supports 4K gaming at 120Hz, the highest 4K spec for current-generation consoles like Xbox Series X and PlayStation 5. One thing to keep in mind, however, is that the U7SG can stretch this to 165Hz with a gaming rig hooked up, while the QM7L can only reach 4K/144Hz.</p><p>Remember: The QM7L comes with just two HDMI 2.1-compatible inputs. In order to access any of these advanced gaming enhancements, you've got to use one of the QM7L's designated HDMI 2.1 ports. The U7SG, on the other hand, comes with four HDMI 2.1 inputs, which adds to its gaming prowess.</p><p>However, we've already settled this advantage when we were comparing these TVs' specs. In almost every other way that matters to the average viewer, the U7SG and QM7L are equals when it comes to features.</p><p><em><strong>Winner:  </strong></em><em>Draw</em></p><h2 id="hisense-u7sg-vs-tcl-qm7l-outlook">Hisense U7SG vs TCL QM7L: outlook</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Eu5JE4ZyJAnXdasQHjSC3J" name="TCL-75QM7L-TV--5" alt="TCL QM7L 75-inch TV on a desk" src="https://cdn.mos.cms.futurecdn.net/Eu5JE4ZyJAnXdasQHjSC3J.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Hisense U7SG</p></th><th  ><p>TCL QM7L</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Specs (25)</strong></p></td><td  ><p>23</p></td><td  ><p>22</p></td></tr><tr><td class="firstcol " ><p><strong>Design (25)</strong></p></td><td  ><p>22</p></td><td  ><p>22</p></td></tr><tr><td class="firstcol " ><p><strong>Performance (25)</strong></p></td><td  ><p>21</p></td><td  ><p>22</p></td></tr><tr><td class="firstcol " ><p><strong>Features (25)</strong></p></td><td  ><p>23</p></td><td  ><p>23</p></td></tr><tr><td class="firstcol " ><p><strong>Total Score (100)</strong></p></td><td  ><p><strong>89</strong></p></td><td  ><p><strong>89</strong></p></td></tr></tbody></table></div><p>Here's some good news: Regardless of which of these mid-range TVs you pick, you'll be setting yourself up for terrific performance relative to price, as well as a thorough selection of features for gaming and streaming. As I see it, the choice comes down to price and performance.</p><p>At some size points, these TVs are priced similarly. The <a href="https://www.bestbuy.com/product/hisense-65-class-u7-miniled-qled-uhd-4k-hdr-glare-free-smart-google-tv-with-gemini-2026/J3Z9Z42HT2" target="_blank" rel="nofollow">65-inch Hisense U7SG is on sale for $899 at Best Buy</a> right now, and the <a href="https://www.bestbuy.com/product/tcl-65-class-qm7l-series-4k-uhd-hdr-sqd-mini-led-smart-tv-with-google-tv-2026/J36QYTHL6R" target="_blank" rel="nofollow">65-inch TCL QM7L is just $899</a>, too. However, from what I've gathered, the 65-inch U7SG is more likely to be on sale for this price, while the 65-inch QM7L has fluctuated in recent weeks between $899 and $1,199.</p><p>At the 55-inch size point, the TCL QM7L is currently $799, while the U7SG sits just below $700. If you're intent is to shop for a 55-inch screen, the U7SG is more likely to be cheaper, too.</p><p>But if you're looking for the best possible performance, my choice would be the QM7L across all size options. Its SQD-powered color can be a difference-maker during certain content. </p><p>Unless the U7SG's full slate of HDMI 2.1 inputs is essential to your setup, I suspect that most A/V enthusiasts would prefer the QM7L's excellent presentation.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WQA6zW"></div>                            </div>                            <script src="https://kwizly.com/embed/WQA6zW.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/tvs/4k-tvs/hisense-u7sg-uled-miniled-google-tv-review">Hisense U7SG review</a></li><li><a href="https://www.tomsguide.com/tvs/qled-tvs/tcl-qm7l-review">TCL QM7L review</a></li><li><a href="https://www.tomsguide.com/tvs/the-ram-crisis-came-for-computers-first-and-now-its-coming-for-tvs-heres-why-i-recommend-upgrading-while-you-still-can">The RAM crisis came for computers first and now it's coming for TVs — here's why I recommend upgrading while you still can</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/tvs/4k-tvs/hisense-u7sg-vs-tcl-qm7l-we-tested-both-mid-range-tvs-and-one-is-better-for-most-people</link>
                                                                            <description>
                            <![CDATA[ The Hisense U7SG and TCL QM7L are two mid-range 4K TVs for 2026. Here's how they compare — from performance to features and price. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">iKRLzUiGdVAKLjSmv9CUGF</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/aCbfmaS79Xj7bv9SBGshzf-1280-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Fri, 28 Aug 2026 05:00:00 +0000</pubDate>                                                                                                                                <updated>Fri, 28 Aug 2026 13:28:26 +0000</updated>
                                                                                                                                            <category><![CDATA[4k TVs]]></category>
                                                    <category><![CDATA[TVs]]></category>
                                                                                                <author><![CDATA[ michael.desjardin@futurenet.com (Michael Desjardin) ]]></author>                    <dc:creator><![CDATA[ Michael Desjardin ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/esytxRqW9GNVZNVCf7BFyV.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Michael Desjardin is a Senior Editor for TVs at Tom&#039;s Guide. He&#039;s been testing and tinkering with TVs professionally for over a decade, previously for Reviewed and USA Today. Michael studied media production and screenwriting at Emerson College. He loves cooking, zoning out to ambient music, and getting way too invested in the Red Sox. He considers himself living proof that TV doesn&#039;t necessarily rot your brain.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/png" url="https://cdn.mos.cms.futurecdn.net/aCbfmaS79Xj7bv9SBGshzf-1280-80.png">
                                                            <media:credit><![CDATA[Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Hisense U7SG in a side-by-side composite with the TCL QM7L]]></media:description>                                                            <media:text><![CDATA[The Hisense U7SG in a side-by-side composite with the TCL QM7L]]></media:text>
                                <media:title type="plain"><![CDATA[The Hisense U7SG in a side-by-side composite with the TCL QM7L]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/aCbfmaS79Xj7bv9SBGshzf-1280-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>This year, folks in the market for a mid-range TV have a handful of enticing options. We recently tested the <a href="https://www.tomsguide.com/tvs/4k-tvs/hisense-u7sg-uled-miniled-google-tv-review">Hisense U7SG</a> — a quantum dot-enhanced Mini-LED TV — and found that it offers a bright, punchy picture and plenty of features for the price.</p><p>And then there's the <a href="https://www.tomsguide.com/tvs/qled-tvs/tcl-qm7l-review">TCL QM7L</a>. Despite its mid-range status, this Mini-LED TV comes with TCL's Super Quantum Dot (SQD) technology, which has proven effective when it comes to saturating a wider range of color than the U7SG's traditional quantum-dot display.</p><p>These sets offer similar performance in a similar price range. However, there are some differences you ought to be aware of before you shop.</p>        <div class="featured_product_block featured_block_versus" data-id="4a775396-a232-11f1-b689-0b6a0dfd3dc0">            <a href="https://www.tomsguide.com/tvs/4k-tvs/hisense-u7sg-uled-miniled-google-tv-review" data-model-name="Hisense U7SG" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/xGRoSUW6y324dzASnzhaP.jpg" alt="Hisense U7SG Mini-LED TV"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                                                <div class="featured__title">Hisense U7SG</div>                                    </div>                <div class="subtitle__description">                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star half"></span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="70" /></span></div>                                        <p><p>The Hisense U7SG is a mid-range, quantum dot-equipped Mini-LED TV whose display hardware delivers a bright, colorful picture. It also comes with a wide array of gaming features for the price. While slightly cheaper than the TCL QM7L, its performance isn't quite as sharp as TCL's mid-range competitor.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_versus" data-id="4a77545e-a232-11f1-9c8c-0d41eed217f8">            <a href="https://www.tomsguide.com/tvs/qled-tvs/tcl-qm7l-review" data-model-name="TCL QM7L,TCL QM7L 75-inch TV" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/dmQvthmnqDJWtBsrEduZaK.jpg" alt="TCL QM7L SQD Mini-LED TV"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                                                <div class="featured__title">TCL QM7L</div>                                    </div>                <div class="subtitle__description">                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star half"></span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="90" /></span></div>                                        <p><p>This mid-range Mini-LED TV offers a bright, colorful picture for the price, and thanks to TCL's new SQD technology, the QM7L is punchier than the Hisense U7SG. The QM7L carries a slightly higher price, but it's a smarter pick for folks who want the best-possible performance in this price range.</p></p>                </div>                            </div>        </div><h2 id="hisense-u7sg-vs-tcl-qm7l-specs-compared">Hisense U7SG vs TCL QM7L: Specs compared</h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Hisense U7SG</p></th><th  ><p>TCL QM7L</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Sizes</strong></p></td><td  ><p>55", 65", 75", 85", 100"</p></td><td  ><p>55", 65", 75", 85", 98"</p></td></tr><tr><td class="firstcol " ><p><strong>Ports</strong></p></td><td  ><p>4x HDMI 2.1</p></td><td  ><p>2x HDMI 2.1, 2x HDMI 2.0</p></td></tr><tr><td class="firstcol " ><p><strong>Resolution</strong></p></td><td  ><p>3,840 x 2,160p</p></td><td  ><p>3,840 x 2,160p</p></td></tr><tr><td class="firstcol " ><p><strong>Refresh rate</strong></p></td><td  ><p>165Hz</p></td><td  ><p>144Hz</p></td></tr><tr><td class="firstcol " ><p><strong>HDR</strong></p></td><td  ><p>Dolby Vision, HDR10+, HDR10, HLG</p></td><td  ><p>Dolby Vision, HDR10+, HDR10, HLG</p></td></tr><tr><td class="firstcol " ><p><strong>Smart TV software</strong></p></td><td  ><p>Google TV</p></td><td  ><p>Google TV</p></td></tr><tr><td class="firstcol " ><p><strong>ATSC 3.0 support?</strong></p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>Hi-View AI Engine Pro</p></td><td  ><p>TSR AI Pro Processor</p></td></tr></tbody></table></div><p>Before we talk about how they differ, let's cover the similarities: Size availability, HDR and ATSC 3.0 support are about the same across both TVs. </p><p>However, while both sets arrive with the standard set of four total HDMI inputs, only two of the QM7L's inputs offer HDMI 2.1 compatibility. With the U7SG, you'll enjoy a full suite of HDMI 2.1-compatible inputs.</p><p>With four high-bandwidth ports, the U7SG offers more flexibility, as they all support 4K content at 120Hz (and up to 165Hz with VRR). Only two of the QM7L's inputs support 4K content at 120Hz and up to 144Hz. Fortunately, the QM7L's dedicated eARC input isn't pulling double-duty as one of the TV's only high-bandwidth inputs.</p><p><em><strong>Winner: </strong></em><em>Hisense U7SG</em></p><h2 id="hisense-u7sg-vs-tcl-qm7l-design">Hisense U7SG vs TCL QM7L: Design</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="N3cJ424LxWLJdr9gM677v7" name="Hisense-U7-2026--12" alt="The back of a Hisense U7SG ULED Mini-LED Google TV" src="https://cdn.mos.cms.futurecdn.net/N3cJ424LxWLJdr9gM677v7.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Due in part to the nature of its display hardware, the Hisense U7SG (seen above) is thicker than many Mini-LED TVs we've seen in recent years. Nevertheless, it's constructed out of sturdy plastic and the overall aesthetic is similar to what you'll find in its price range this year.</p><p>The U7SG's panel sits on top of a pedestal-style stand that takes the form of a heavy plate that sits below the center of the screen. For some viewers, this type of stand is more convenient than a pair of feet, as the center-positioning allows the U7SG to sit on narrow pieces of furniture.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Yr86FrXitSAoCWjQX6t23J" name="TCL-75QM7L-TV--21" alt="The back of a TCL QM7L 75-inch TV" src="https://cdn.mos.cms.futurecdn.net/Yr86FrXitSAoCWjQX6t23J.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>As you can see from the photo above, the QM7L is very similar in its design approach. It, too, features a thick, heavy panel, which measures about the same depth as the U7SG.</p><p>Like the U7SG, the QM7L also relies on a centered, pedestal-style stand. Conveniently, the QM7L's stand can be attached in two height configurations. This helps to ensure that people with taller soundbars have an setup option in which the soundbar won't obstruct the screen.</p><p>Both TVs ship with backlit remote controls, which is quite nice to have in a dark room. Of the two, I prefer TCL's remote design, but there aren't too many differing characteristics worth calling out.</p><p>Given the similarities, this category is a toss-up. The U7SG and QM7L aren't as slim and premium-looking as other LED TVs we've seen in recent years, but neither looks (or feels) poorly designed.</p><p><em><strong>Winner:</strong></em><em> Draw</em></p><h2 id="hisense-u7sg-vs-tcl-qm7l-performance">Hisense U7SG vs TCL QM7L: Performance</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PZdPKGEpGuu4ZP6kEoQ8k7" name="Hisense-U7-2026--4" alt="Hisense U7SG ULED Mini-LED Google TV on a desk" src="https://cdn.mos.cms.futurecdn.net/PZdPKGEpGuu4ZP6kEoQ8k7.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Before we dig deeper into how these TVs look, let's compare their test results. (Both TVs were in their respective Filmmaker picture modes when these tests were taken.)</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Hisense U7SG</strong></p></th><th  ><p><strong>TCL QM7L</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>SDR Brightness (10%, in nits)    </strong></p></td><td  ><p>185</p></td><td  ><p>196</p></td></tr><tr><td class="firstcol " ><p><strong>Delta-E (lower is better)    </strong></p></td><td  ><p>3</p></td><td  ><p>2.6</p></td></tr><tr><td class="firstcol " ><p><strong>HDR Brightness (10%, in nits)    </strong></p></td><td  ><p>2,866</p></td><td  ><p>2,270</p></td></tr><tr><td class="firstcol " ><p><strong>UHDA-P3 Gamut Coverage    </strong></p></td><td  ><p>97.31%</p></td><td  ><p>97.64%</p></td></tr><tr><td class="firstcol " ><p><strong>Rec.2020 Gamut Coverage    </strong></p></td><td  ><p>82.75% </p></td><td  ><p>90.28%</p></td></tr><tr><td class="firstcol " ><p><strong>Input latency (milliseconds)   </strong></p></td><td  ><p>9.8</p></td><td  ><p>9.4</p></td></tr></tbody></table></div><p>In many ways, these TVs offer similar performance profiles. As mid-range Mini-LED TVs with quantum-dot color, they offer bright, colorful pictures — far brighter than what you'll see on entry-level LED TVs. This is especially true during HDR movies and shows, where the U7SG and QM7L each deliver over 2,000 nits of highlight brightness.</p><p>While we consistently tracked higher HDR highlight brightness on the U7SG, it's worth mentioning that the gap between the U7SG's roughly 2,900 nits of highlight brightness and the QM7L's 2,300 nits is not very substantial. </p><p>We measured similar readings for Delta-E, a figure that represents color error (with lower numbers being more desirable). There's not much of a difference between a Delta-E of 3 and 2.6, and both measurements indicate that the U7SG and QM7L feature accurate color that won't appear out-of-tune to almost every viewer.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="uMLFconvVq2gEVGqSYEM7J" name="TCL-75QM7L-TV--6" alt="TCL QM7L 75-inch TV on a desk" src="https://cdn.mos.cms.futurecdn.net/uMLFconvVq2gEVGqSYEM7J.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><div><blockquote><p>The biggest difference between them concerns color.</p></blockquote></div><p>The biggest difference between them concerns color. The QM7L is one of a few TVs to harness TCL's proprietary Super Quantum Dot (SQD) technology. This has proven to be effective at boosting color compared to standard quantum-dot color (the kind you'll find on the U7SG).</p><p>In certain viewing conditions, people are more likely to notice the QM7L's punchier color than they are the U7SG's higher brightness. (Impressively, the QM7L's color is right in line with what we measured on the more-expensive <a href="https://www.tomsguide.com/tvs/qled-tvs/tcl-sqd-mini-led-qm8l-75-inch-tv-review">TCL QM8L</a>.) It mostly depends on the content.</p><p>To my eyes, the QM7L does a slightly better job of upscaling sub-4K content than the U7SG, too. </p><p>Additionally, my colleague Sean Captain noted that the U7SG has a tendency to crush near-black shadow detail during select HDR content.</p><p>The added color and tighter contrast make the QM7L an all-around better performer, but it's worth noting just how close these TVs are in their presentation.</p><p><em><strong>Winner:</strong></em><em> TCL QM7L</em></p><h2 id="hisense-u7sg-vs-tcl-qm7l-smart-platform-and-features">Hisense U7SG vs TCL QM7L: Smart platform and features</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="8W92tzskjsfsuu4Wzgdrt7" name="Hisense-U7-2026--11" alt="Hisense U7SG ULED Mini-LED Google TV on a desk" src="https://cdn.mos.cms.futurecdn.net/8W92tzskjsfsuu4Wzgdrt7.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Both TVs are built around the Google TV streaming platform, and the software feels more or less the same on each set. Google TV is one of my preferred streaming platforms (just behind Roku), as navigation is relatively easy and it supports nearly every streaming service and app you could want.</p><p>In addition, the U7SG and QM7L both arrive with a similar set gaming features right out of the box. These features include Variable Refresh Rate (VRR) and AMD FreeSync Premium Pro (for smooth, tear-free gaming).</p><p>Each set supports 4K gaming at 120Hz, the highest 4K spec for current-generation consoles like Xbox Series X and PlayStation 5. One thing to keep in mind, however, is that the U7SG can stretch this to 165Hz with a gaming rig hooked up, while the QM7L can only reach 4K/144Hz.</p><p>Remember: The QM7L comes with just two HDMI 2.1-compatible inputs. In order to access any of these advanced gaming enhancements, you've got to use one of the QM7L's designated HDMI 2.1 ports. The U7SG, on the other hand, comes with four HDMI 2.1 inputs, which adds to its gaming prowess.</p><p>However, we've already settled this advantage when we were comparing these TVs' specs. In almost every other way that matters to the average viewer, the U7SG and QM7L are equals when it comes to features.</p><p><em><strong>Winner:  </strong></em><em>Draw</em></p><h2 id="hisense-u7sg-vs-tcl-qm7l-outlook">Hisense U7SG vs TCL QM7L: outlook</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Eu5JE4ZyJAnXdasQHjSC3J" name="TCL-75QM7L-TV--5" alt="TCL QM7L 75-inch TV on a desk" src="https://cdn.mos.cms.futurecdn.net/Eu5JE4ZyJAnXdasQHjSC3J.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Hisense U7SG</p></th><th  ><p>TCL QM7L</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Specs (25)</strong></p></td><td  ><p>23</p></td><td  ><p>22</p></td></tr><tr><td class="firstcol " ><p><strong>Design (25)</strong></p></td><td  ><p>22</p></td><td  ><p>22</p></td></tr><tr><td class="firstcol " ><p><strong>Performance (25)</strong></p></td><td  ><p>21</p></td><td  ><p>22</p></td></tr><tr><td class="firstcol " ><p><strong>Features (25)</strong></p></td><td  ><p>23</p></td><td  ><p>23</p></td></tr><tr><td class="firstcol " ><p><strong>Total Score (100)</strong></p></td><td  ><p><strong>89</strong></p></td><td  ><p><strong>89</strong></p></td></tr></tbody></table></div><p>Here's some good news: Regardless of which of these mid-range TVs you pick, you'll be setting yourself up for terrific performance relative to price, as well as a thorough selection of features for gaming and streaming. As I see it, the choice comes down to price and performance.</p><p>At some size points, these TVs are priced similarly. The <a href="https://www.bestbuy.com/product/hisense-65-class-u7-miniled-qled-uhd-4k-hdr-glare-free-smart-google-tv-with-gemini-2026/J3Z9Z42HT2" target="_blank" rel="nofollow">65-inch Hisense U7SG is on sale for $899 at Best Buy</a> right now, and the <a href="https://www.bestbuy.com/product/tcl-65-class-qm7l-series-4k-uhd-hdr-sqd-mini-led-smart-tv-with-google-tv-2026/J36QYTHL6R" target="_blank" rel="nofollow">65-inch TCL QM7L is just $899</a>, too. However, from what I've gathered, the 65-inch U7SG is more likely to be on sale for this price, while the 65-inch QM7L has fluctuated in recent weeks between $899 and $1,199.</p><p>At the 55-inch size point, the TCL QM7L is currently $799, while the U7SG sits just below $700. If you're intent is to shop for a 55-inch screen, the U7SG is more likely to be cheaper, too.</p><p>But if you're looking for the best possible performance, my choice would be the QM7L across all size options. Its SQD-powered color can be a difference-maker during certain content. </p><p>Unless the U7SG's full slate of HDMI 2.1 inputs is essential to your setup, I suspect that most A/V enthusiasts would prefer the QM7L's excellent presentation.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WQA6zW"></div>                            </div>                            <script src="https://kwizly.com/embed/WQA6zW.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/tvs/4k-tvs/hisense-u7sg-uled-miniled-google-tv-review">Hisense U7SG review</a></li><li><a href="https://www.tomsguide.com/tvs/qled-tvs/tcl-qm7l-review">TCL QM7L review</a></li><li><a href="https://www.tomsguide.com/tvs/the-ram-crisis-came-for-computers-first-and-now-its-coming-for-tvs-heres-why-i-recommend-upgrading-while-you-still-can">The RAM crisis came for computers first and now it's coming for TVs — here's why I recommend upgrading while you still can</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I gave ChatGPT, Claude and Gemini the same draft — one was the best writing coach ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Although I cover artificial intelligence now, earlier in my career I was a comedy writer and wrote jingles. As I was going through my <a href="https://www.tomsguide.com/ai/the-smartest-ai-trick-isnt-a-prompt-its-your-google-drive">Google Drive</a> recently, I came across a folder from my very early writing days. <br><br>The old piece was fun to see, and had been used for a writing workshop I took at Harvard about 20 years ago. The story is very much a product of its time because it includes instant messaging, Clippy (that animated paper clilp) and a reference to a fax machine. But the humor still holds up because it's about workplace struggles with technology. </p><p>I figured that piece would be a good one to test ChatGPT, Claude and Gemini as <a href="https://www.tomsguide.com/ai/chatgpt/the-best-way-to-use-chatgpt-for-writing-isnt-writing-7-prompts-i-use-to-make-it-my-creative-partner">writing coaches</a>.</p><p>I wasn’t looking for the <a href="https://www.tomsguide.com/ai/i-tested-popular-ai-humanizers-and-they-made-my-writing-much-worse">chatbot that could rewrite it</a> most aggressively or smooth out every sentence. I wanted to know whether any of them could recognize what was already working, find the places where the story dragged and help me improve the comedy without stripping away my voice. <br><br>Here's what happened when I gave all three of them the draft. </p><h2 id="the-draft">The draft </h2><p>I gave all three chatbots the same draft and the same instructions. All three offered useful advice, but one understood the story on a much deeper level.</p><p>The piece begins with what should be a very simple request from a boss: reserve the main conference room for an important meeting in an hour.</p><p>Unfortunately, the narrator has never used the email system to book a room before. What follows is an escalating workplace crisis involving a 21-year-old intern, a sleepy coworker, a phone call from the office bathroom and a woman named Sharon who brushes her teeth at her desk. </p><p>I left everything untouched for the test. That meant keeping the dated references, awkward sentences and obvious mistakes, including “starred” instead of “stared,” “the the” and “marshmellows.”</p><p>Those errors gave the chatbots something easy to catch, but proofreading wasn’t really the point. I wanted to know whether they understood why the story was funny.</p><p>The entire piece builds toward the boss casually revealing that he solved the problem by putting a sticky note on the door — the same solution the narrator rejected when the intern suggested it. A good writing coach should understand why that callback matters and avoid “improving” the story in a way that weakens it.</p><h2 id="the-prompt-i-used">The prompt I used</h2><p><strong>I entered the same prompt each time: </strong><em>Act as my writing coach. Don’t rewrite this piece for me. Identify what is already working, where the humor or momentum drops, and the three changes that would make the biggest difference. Preserve my voice, comedic timing and the period in which the story takes place. Be specific and quote brief examples from my draft when useful.</em></p><p>I judged the responses on how specific the feedback was, whether each chatbot understood the comic escalation and whether its suggestions would actually make the piece better.</p><p>I also paid attention to restraint. I wanted help seeing the draft more clearly, not a chatbot taking over and writing a different story.</p><h2 id="chatgpt-focused-on-timing">ChatGPT focused on timing</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="h2MxUtNcQezwmNh7QCPqxY" name="8 - 2026-08-26T144036.479" alt="screenshot" src="https://cdn.mos.cms.futurecdn.net/h2MxUtNcQezwmNh7QCPqxY.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>ChatGPT zeroed in on the rhythm of the piece and gave me some of the most precise line-level edits.</p><p>One of its strongest suggestions was to make better use of the introduction and then it told me how to better raise the stakes in the middle of the story to keep things moving. It also suggested trimming certain aspects of the story to give the dialogue more room and help the jokes land without changing what's actually happening. <br><br>It also suggested minor tweaks that involved creative elements that I may not have considered to help connect two of the strongest visual jokes in the middle of the story. </p><p>ChatGPT understood the timing of the piece and gave me edits I could use immediately. However, it spent more time polishing individual moments than examining whether every step in the story made sense.</p><h2 id="claude-found-the-hole-in-the-story">Claude found the hole in the story</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="z69A8ntQN8iBQHcBoygq88" name="8 - 2026-08-26T145103.751" alt="screenshot" src="https://cdn.mos.cms.futurecdn.net/z69A8ntQN8iBQHcBoygq88.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Claude approached the piece differently. It looked beyond individual lines and explained how the comedy was built.</p><p>It identified the central joke as the gap between the size of the task and the size of the narrator’s panic. Reserving a conference room should take a minute. Instead, it becomes a crisis involving several coworkers, a bathroom phone call and increasingly desperate attempts to avoid admitting that she doesn’t know what she’s doing.</p><p>Claude also understood why the seemingly random details belonged in the story. Sharon’s toothbrush isn’t there just because it’s funny that someone brushes her teeth at her desk, but it elevates another element of the story — something that I hadn't even noticed that I had subconsciously done. </p><p>More importantly, Claude spotted a problem the other chatbots missed: we never learn what the employees in the story actually do for work. The narrator moves through the story too quickly, which is something that impacts the entire story. Claude noticed it. </p><p>So while the chatbot didn’t try to decide the joke for me. It pointed out that I needed to choose. Claude worked to protect my ideas and text without interjecting it's own ideas. It seemed to understand the story and knew exactly which punchlines were holding it together.</p><h2 id="gemini-gave-the-clearest-advice">Gemini gave the clearest advice</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="rRMG8YArC2PmawAaJAGgwJ" name="8 - 2026-08-26T145249.574" alt="screenshot" src="https://cdn.mos.cms.futurecdn.net/rRMG8YArC2PmawAaJAGgwJ.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Gemini’s feedback was the easiest to absorb and apply.</p><p>It quickly identified the strongest moments in the story, recognized why the premise is relatable and the punchlines. Its suggestions were direct. Like ChatGPT it suggested I tighten the opening, trim some of the descriptions and expand the dialogue. </p><p>Gemini even showed me exactly where the opening could lose a few words and how the dialogue could be made punchier. I wouldn’t have had to interpret much before beginning a revision.</p><p>That clarity was Gemini’s biggest strength, but its analysis didn’t go as deep as Claude’s. It helped me tighten the story in front of me without finding the one place where the story’s logic breaks down.</p><h2 id="the-best-ai-writing-coach">The best AI writing coach</h2><p>Claude gave me the best writing advice because it understood both the jokes and the structure supporting them.</p><p>ChatGPT was especially strong on rhythm and gave me the most inventive suggestion with the returning Tetris image. Gemini delivered clear advice that I could apply without overthinking it. But Claude found issues with the piece that I hadn't even noticed, which is exactly what a writing coach or editor does — and would have immediately improved the story.  </p><p>Claude also gave me a choice instead of trying to write the solution itself. It showed me where the gap was, explained why it mattered and left the joke to me. That’s exactly what I want from a writing coach.</p><p>All three chatbots are certainly capable of offering useful writing advice, but they were useful in different ways.</p><p>ChatGPT was the strongest line editor, especially when it came to pacing and recurring imagery. Gemini offered the clearest path into a revision. Claude was the best at stepping back and seeing how every part of the story worked together.</p><p>The test also reinforced why I prefer asking AI to respond to my writing instead of writing it for me. When a chatbot rewrites an entire draft, it becomes difficult to separate your choices from its choices. Asking for a limited number of specific recommendations keeps you in control. You can consider the advice, reject what doesn’t fit and make the changes yourself.</p><p>The wording of the prompt helped. Telling the chatbots to preserve my voice and the period of the story discouraged them from modernizing the technology or replacing the dated details. Asking for only three changes forced them to prioritize instead of burying the useful feedback inside a long list of corrections.</p><p>I still wouldn’t accept any chatbot’s writing advice without questioning it. An AI can correctly identify a slow section and then suggest cutting the exact detail that makes the story sound like you. But if I were returning to an old draft and wanted help seeing what I could no longer see, I’d choose Claude.<br><br>Let me know in the comments what you think about using AI has a writing partner. </p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/7-code-words-that-could-mean-an-ai-data-center-is-coming-to-your-town"><strong>7 code words that could mean an AI data center is coming to your town</strong></a></li><li><a href="https://www.tomsguide.com/ai/chatgpt/chatgpt-can-learn-your-repetitive-tasks-by-watching-you-here-are-7-prompts-to-try"><strong>ChatGPT can learn your repetitive tasks by watching you — here are 7 prompts to try</strong></a></li><li><a href="https://www.tomsguide.com/ai/chatgpt/the-best-way-to-use-chatgpt-for-writing-isnt-writing-7-prompts-i-use-to-make-it-my-creative-partner"><strong>The best way to use ChatGPT for writing isn't writing — 7 prompts I use to make it my creative partner</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/ai/i-gave-chatgpt-claude-and-gemini-the-same-draft-one-was-the-best-writing-coach</link>
                                                                            <description>
                            <![CDATA[ I gave ChatGPT, Claude and Gemini the same comedy draft to see which offered the best writing advice without taking over. One clearly stood out. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">EjzMWJsr8DHRQNe3dFZ5xg</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/N6tKYmxs3CjGa3DGCEzFYE-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 27 Aug 2026 09:15:00 +0000</pubDate>                                                                                                                                <updated>Thu, 27 Aug 2026 15:31:44 +0000</updated>
                                                                                                                                            <category><![CDATA[AI]]></category>
                                                                                                <author><![CDATA[ amanda.caswell@futurenet.com (Amanda Caswell) ]]></author>                    <dc:creator><![CDATA[ Amanda Caswell ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/zYjevim2q7FjQiefqpjZRB.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/N6tKYmxs3CjGa3DGCEzFYE-1280-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A man sits at the counter top of a coffee shop working on his laptop. In the background, other people are also working. He&#039;s wearing headphones to block out distracting sounds to aid concentration]]></media:description>                                                            <media:text><![CDATA[A man sits at the counter top of a coffee shop working on his laptop. In the background, other people are also working. He&#039;s wearing headphones to block out distracting sounds to aid concentration]]></media:text>
                                <media:title type="plain"><![CDATA[A man sits at the counter top of a coffee shop working on his laptop. In the background, other people are also working. He&#039;s wearing headphones to block out distracting sounds to aid concentration]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/N6tKYmxs3CjGa3DGCEzFYE-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Although I cover artificial intelligence now, earlier in my career I was a comedy writer and wrote jingles. As I was going through my <a href="https://www.tomsguide.com/ai/the-smartest-ai-trick-isnt-a-prompt-its-your-google-drive">Google Drive</a> recently, I came across a folder from my very early writing days. <br><br>The old piece was fun to see, and had been used for a writing workshop I took at Harvard about 20 years ago. The story is very much a product of its time because it includes instant messaging, Clippy (that animated paper clilp) and a reference to a fax machine. But the humor still holds up because it's about workplace struggles with technology. </p><p>I figured that piece would be a good one to test ChatGPT, Claude and Gemini as <a href="https://www.tomsguide.com/ai/chatgpt/the-best-way-to-use-chatgpt-for-writing-isnt-writing-7-prompts-i-use-to-make-it-my-creative-partner">writing coaches</a>.</p><p>I wasn’t looking for the <a href="https://www.tomsguide.com/ai/i-tested-popular-ai-humanizers-and-they-made-my-writing-much-worse">chatbot that could rewrite it</a> most aggressively or smooth out every sentence. I wanted to know whether any of them could recognize what was already working, find the places where the story dragged and help me improve the comedy without stripping away my voice. <br><br>Here's what happened when I gave all three of them the draft. </p><h2 id="the-draft">The draft </h2><p>I gave all three chatbots the same draft and the same instructions. All three offered useful advice, but one understood the story on a much deeper level.</p><p>The piece begins with what should be a very simple request from a boss: reserve the main conference room for an important meeting in an hour.</p><p>Unfortunately, the narrator has never used the email system to book a room before. What follows is an escalating workplace crisis involving a 21-year-old intern, a sleepy coworker, a phone call from the office bathroom and a woman named Sharon who brushes her teeth at her desk. </p><p>I left everything untouched for the test. That meant keeping the dated references, awkward sentences and obvious mistakes, including “starred” instead of “stared,” “the the” and “marshmellows.”</p><p>Those errors gave the chatbots something easy to catch, but proofreading wasn’t really the point. I wanted to know whether they understood why the story was funny.</p><p>The entire piece builds toward the boss casually revealing that he solved the problem by putting a sticky note on the door — the same solution the narrator rejected when the intern suggested it. A good writing coach should understand why that callback matters and avoid “improving” the story in a way that weakens it.</p><h2 id="the-prompt-i-used">The prompt I used</h2><p><strong>I entered the same prompt each time: </strong><em>Act as my writing coach. Don’t rewrite this piece for me. Identify what is already working, where the humor or momentum drops, and the three changes that would make the biggest difference. Preserve my voice, comedic timing and the period in which the story takes place. Be specific and quote brief examples from my draft when useful.</em></p><p>I judged the responses on how specific the feedback was, whether each chatbot understood the comic escalation and whether its suggestions would actually make the piece better.</p><p>I also paid attention to restraint. I wanted help seeing the draft more clearly, not a chatbot taking over and writing a different story.</p><h2 id="chatgpt-focused-on-timing">ChatGPT focused on timing</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="h2MxUtNcQezwmNh7QCPqxY" name="8 - 2026-08-26T144036.479" alt="screenshot" src="https://cdn.mos.cms.futurecdn.net/h2MxUtNcQezwmNh7QCPqxY.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>ChatGPT zeroed in on the rhythm of the piece and gave me some of the most precise line-level edits.</p><p>One of its strongest suggestions was to make better use of the introduction and then it told me how to better raise the stakes in the middle of the story to keep things moving. It also suggested trimming certain aspects of the story to give the dialogue more room and help the jokes land without changing what's actually happening. <br><br>It also suggested minor tweaks that involved creative elements that I may not have considered to help connect two of the strongest visual jokes in the middle of the story. </p><p>ChatGPT understood the timing of the piece and gave me edits I could use immediately. However, it spent more time polishing individual moments than examining whether every step in the story made sense.</p><h2 id="claude-found-the-hole-in-the-story">Claude found the hole in the story</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="z69A8ntQN8iBQHcBoygq88" name="8 - 2026-08-26T145103.751" alt="screenshot" src="https://cdn.mos.cms.futurecdn.net/z69A8ntQN8iBQHcBoygq88.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Claude approached the piece differently. It looked beyond individual lines and explained how the comedy was built.</p><p>It identified the central joke as the gap between the size of the task and the size of the narrator’s panic. Reserving a conference room should take a minute. Instead, it becomes a crisis involving several coworkers, a bathroom phone call and increasingly desperate attempts to avoid admitting that she doesn’t know what she’s doing.</p><p>Claude also understood why the seemingly random details belonged in the story. Sharon’s toothbrush isn’t there just because it’s funny that someone brushes her teeth at her desk, but it elevates another element of the story — something that I hadn't even noticed that I had subconsciously done. </p><p>More importantly, Claude spotted a problem the other chatbots missed: we never learn what the employees in the story actually do for work. The narrator moves through the story too quickly, which is something that impacts the entire story. Claude noticed it. </p><p>So while the chatbot didn’t try to decide the joke for me. It pointed out that I needed to choose. Claude worked to protect my ideas and text without interjecting it's own ideas. It seemed to understand the story and knew exactly which punchlines were holding it together.</p><h2 id="gemini-gave-the-clearest-advice">Gemini gave the clearest advice</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="rRMG8YArC2PmawAaJAGgwJ" name="8 - 2026-08-26T145249.574" alt="screenshot" src="https://cdn.mos.cms.futurecdn.net/rRMG8YArC2PmawAaJAGgwJ.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Gemini’s feedback was the easiest to absorb and apply.</p><p>It quickly identified the strongest moments in the story, recognized why the premise is relatable and the punchlines. Its suggestions were direct. Like ChatGPT it suggested I tighten the opening, trim some of the descriptions and expand the dialogue. </p><p>Gemini even showed me exactly where the opening could lose a few words and how the dialogue could be made punchier. I wouldn’t have had to interpret much before beginning a revision.</p><p>That clarity was Gemini’s biggest strength, but its analysis didn’t go as deep as Claude’s. It helped me tighten the story in front of me without finding the one place where the story’s logic breaks down.</p><h2 id="the-best-ai-writing-coach">The best AI writing coach</h2><p>Claude gave me the best writing advice because it understood both the jokes and the structure supporting them.</p><p>ChatGPT was especially strong on rhythm and gave me the most inventive suggestion with the returning Tetris image. Gemini delivered clear advice that I could apply without overthinking it. But Claude found issues with the piece that I hadn't even noticed, which is exactly what a writing coach or editor does — and would have immediately improved the story.  </p><p>Claude also gave me a choice instead of trying to write the solution itself. It showed me where the gap was, explained why it mattered and left the joke to me. That’s exactly what I want from a writing coach.</p><p>All three chatbots are certainly capable of offering useful writing advice, but they were useful in different ways.</p><p>ChatGPT was the strongest line editor, especially when it came to pacing and recurring imagery. Gemini offered the clearest path into a revision. Claude was the best at stepping back and seeing how every part of the story worked together.</p><p>The test also reinforced why I prefer asking AI to respond to my writing instead of writing it for me. When a chatbot rewrites an entire draft, it becomes difficult to separate your choices from its choices. Asking for a limited number of specific recommendations keeps you in control. You can consider the advice, reject what doesn’t fit and make the changes yourself.</p><p>The wording of the prompt helped. Telling the chatbots to preserve my voice and the period of the story discouraged them from modernizing the technology or replacing the dated details. Asking for only three changes forced them to prioritize instead of burying the useful feedback inside a long list of corrections.</p><p>I still wouldn’t accept any chatbot’s writing advice without questioning it. An AI can correctly identify a slow section and then suggest cutting the exact detail that makes the story sound like you. But if I were returning to an old draft and wanted help seeing what I could no longer see, I’d choose Claude.<br><br>Let me know in the comments what you think about using AI has a writing partner. </p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/7-code-words-that-could-mean-an-ai-data-center-is-coming-to-your-town"><strong>7 code words that could mean an AI data center is coming to your town</strong></a></li><li><a href="https://www.tomsguide.com/ai/chatgpt/chatgpt-can-learn-your-repetitive-tasks-by-watching-you-here-are-7-prompts-to-try"><strong>ChatGPT can learn your repetitive tasks by watching you — here are 7 prompts to try</strong></a></li><li><a href="https://www.tomsguide.com/ai/chatgpt/the-best-way-to-use-chatgpt-for-writing-isnt-writing-7-prompts-i-use-to-make-it-my-creative-partner"><strong>The best way to use ChatGPT for writing isn't writing — 7 prompts I use to make it my creative partner</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ iPhone 18 Pro Max vs. iPhone 18 Pro: Which flagship should you buy? ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Weighing an <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-rumors-and-leaks-everything-we-know-so-far">iPhone 18 Pro Max</a> vs. <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-rumors-everything-we-know-so-far">iPhone 18 Pro</a> decision figures to be the question that most would-be iPhone upgrades answer when Apple releases its new phones in September. True, we're expecting to see a brand new <a href="https://www.tomsguide.com/phones/iphones/iphone-ultra-rumors-everything-you-need-to-know-about-the-foldable-iphone">iPhone Ultra</a> join Apple's phone lineup, but that high-end model may not appeal to everyone, thanks to its folding display and anticipated cost. If you want a more conventional phone, the Pro models will be the way to go, especially with Apple likely to stagger its launches for the iPhone 18 series.</p><p>As with past Max vs. Pro debates, you'll be deciding between a bigger, longer-lasting phone and a less expensive, more compact model that offers many of the same features. But <a href="https://www.tomsguide.com/phones/iphones/iphone-18-countdown-starts-now-5-rumored-upgrades-apple-could-be-giving-its-pro-models">rumored iPhone 18 Pro features</a> could throw new wrinkles into the mix that might steer you toward one model over the other.</p><p>Apple's latest phones are still a few weeks away from hitting retail shelves, but rumors about the changes to the two Pro models give us a pretty good idea of what to expect. Here's how an iPhone 18 Pro Max vs. iPhone 18 Pro comparison shakes down based on the latest news swirling around the upcoming devices.</p><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-18-pro-rumored-specifications"><span>iPhone 18 Pro Max vs. iPhone 18 Pro: Rumored specifications</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>iPhone 18 Pro Max</strong></p></th><th  ><p><strong>iPhone 18 Pro</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Display size</strong></p></td><td  ><p>6.9 inches</p></td><td  ><p>6.3 inches</p></td></tr><tr><td class="firstcol " ><p><strong>Refresh rate</strong></p></td><td  ><p>120Hz</p></td><td  ><p>120Hz</p></td></tr><tr><td class="firstcol " ><p><strong>CPU</strong></p></td><td  ><p>A20 Pro</p></td><td  ><p>A20 Pro</p></td></tr><tr><td class="firstcol " ><p><strong>Memory</strong></p></td><td  ><p>12GB</p></td><td  ><p>12GB</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>256GB, 512GB, 1TB, 2TB</p></td><td  ><p>256GB, 512GB, 1TB</p></td></tr><tr><td class="firstcol " ><p><strong>Cameras</strong></p></td><td  ><p>48MP main with variable aperture, 48MP ultrawide, 48MP telephoto with 5x/6x optical zoom</p></td><td  ><p>48MP main with variable aperture, 48MP ultrawide, 48MP telephoto with 5x optical zoom</p></td></tr><tr><td class="firstcol " ><p><strong>Battery Size</strong></p></td><td  ><p>5,567 mAh</p></td><td  ><p>4,288 mAh</p></td></tr><tr><td class="firstcol " ><p><strong>Software</strong></p></td><td  ><p>iOS 27</p></td><td  ><p>iOS 27</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>6.43 x 3.07 x 0.35 inches (163.4 x 78 x 9 mm)</p></td><td  ><p>5.91 × 2.83 × 0.34 inches (150 x 71.9 x 8.75 mm)</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>8.46 ounces (240 grams)</p></td><td  ><p>7.26 ounces (206 grams)</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-18-pro-rumored-price-and-release-date"><span>iPhone 18 Pro Max vs. iPhone 18 Pro: Rumored price and release date</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="rU7TbT6sxLh7AYrw6yRmoi" name="iPhone 17 Pro and Max-16" alt="iPhone 17 Pro and Pro Max held in the hand/" src="https://cdn.mos.cms.futurecdn.net/rU7TbT6sxLh7AYrw6yRmoi.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>If rumors about Apple's iPhone release plans pan out, we won't be waiting long to see what's new with either the iPhone 18 Pro or iPhone 18 Pro Max. We're expecting Apple to hold its <a href="https://www.tomsguide.com/phones/iphones/apple-iphone-18-event-all-the-new-products-expected-to-launch-in-september">annual fall phone launch event on September 9</a>, though the agenda could be less crowded than usual.</p><p>That's because a persistent rumor has Apple pushing back the <a href="https://www.tomsguide.com/phones/iphones/iphone-18-rumors-everything-we-know-so-far">iPhone 18</a> to a spring 2027 launch, when it will debut alongside the lower-end iPhone 18e. Instead, this upcoming Apple event should focus entirely on the Pro models as well as the new iPhone Ultra.</p><p>A less welcome change could involve pricing for both the Pro and Pro Max. With RAM shortages pushing up component costs, Apple has pretty much confirmed you're going to be paying more for an iPhone this year. The exact amount of the <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-could-see-absolutely-massive-price-hike-according-to-researchers">iPhone 18 Pro price hike</a> is still unclear, but rumors suggest the iPhone 18 Pro could cost between $1,299 to $1,399, compared to the $1,099 iPhone 17 Pro. Similarly the larger model's price could jump from the iPhone 17 Pro Max's $1,199 starting point to anywhere between $1,399 and $1,499.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-OdR9Ae"></div>                            </div>                            <script src="https://kwizly.com/embed/OdR9Ae.js" async></script><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-18-pro-design-and-display"><span>iPhone 18 Pro Max vs. iPhone 18 Pro: Design and display</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="7cBcCJ9MBPaUuaruiXVHEV" name="iPhone 17 Pro Max-7" alt="iPhone 17 Pro Max shown in hand" src="https://cdn.mos.cms.futurecdn.net/7cBcCJ9MBPaUuaruiXVHEV.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>After the <a href="https://www.tomsguide.com/phones/iphones/apple-iphone-17-pro-review">iPhone 17 Pro</a> series introduced the camera plateau and a new two-tone look to Apple's higher-end phones, don't expect major changes to the look of the iPhone 18 Pro. That said, both the Max and Pro models are expected to shift away from the two-tone approach to a more unified design this time around.</p><p>Similarly, the different screen sizes should remain in place for the 2027 model year — 6.3 inches for the Pro and 6.9 inches for the Pro Max. However, you could find a bit more screen space on both iPhone 18 Pro offerings, as Apple is said to be <a href="https://www.tomsguide.com/phones/iphones/the-iphone-18-pro-series-dynamic-island-could-be-smaller-than-before-and-i-think-thats-a-better-move-than-the-rumored-under-display-cameras">shrinking the size of the Dynamic Island </a>feature on this year's displays. Specifically, we're looking at a 35% reduction, at least if measurements on iPhone 18 Pro mockups are anything to go by.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1686px;"><p class="vanilla-image-block" style="padding-top:43.65%;"><img id="5nQbtohait6pujHrWu2AHR" name="HHcwz0FXEAAiVDA" alt="CAD renders showing the iPhone 18 Pro with a smaller Dynamic Island cutout" src="https://cdn.mos.cms.futurecdn.net/5nQbtohait6pujHrWu2AHR.jpg" mos="" align="middle" fullscreen="" width="1686" height="736" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: X.com/@earlyappleleaks)</span></figcaption></figure><p>That said, the iPhone 18 Pro Max could be slightly bigger than its predecessor, thanks to a rumored increase in battery size for the larger of the two Pro models. (We'll get into that rumor a little bit later.) Leaker Ice Universe has suggested the iPhone 18 Pro Max will weigh around 7 grams more than the iPhone 17 Pro Max while increasing thickness by about 0.25mm. Those aren't huge changes, but it could make the difference in bulk between the Max and Pro feel even more stark than before.</p><p>Apple tends to use the same colors across its Pro models, so both the iPhone 18 Pro and 18 Pro Max are likely to feature the rumored <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-leaked-colors-include-a-stunning-new-dark-cherry-option">Dark Cherry and Light Blue</a> options tipped for this year's lineup. Other color options could include silver and dark gray.</p><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-18-pro-cameras"><span>iPhone 18 Pro Max vs. iPhone 18 Pro: Cameras</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="7iBdM6RkBx9vY5PWZDt6ef" name="iPhone 18 pro edit" alt="iPhone 18 Pro mockup" src="https://cdn.mos.cms.futurecdn.net/7iBdM6RkBx9vY5PWZDt6ef.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Aptenod / YouTube)</span></figcaption></figure><p>By all accounts, the triple 48MP camera setup on the back of the current Pro models should stay in place for Apple's upcoming phones, but a big change could be brewing this year — and it might be limited to the iPhone 18 Pro Max.</p><p>Rumors suggest <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-could-be-the-first-iphone-to-get-a-variable-aperture-why-that-matters">Apple is going to add a variable aperture camera</a> to at least one model this year, a feature that would give users more manual control over the size of the aperture. As a result, cameras with a variable aperture offer better control over the depth of field in shots; you would also expect sharper close-ups and better performance in low-light.</p><p>It's unclear if the variable aperture camera is headed to both iPhone Pro models, though some rumor mongers believe the feature could be <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-camera-may-get-this-major-upgrade-but-why-isnt-iphone-18-pro-getting-it-too">exclusive to the Pro Max</a>. The speculation is that the mechanics required for a variable lens would only fit in a larger phone, ruling out the more slender iPhone 18 Pro.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="EHpBdnKc9CNvu4GiNaPbH9" name="iPhone 17 Pro review" alt="iPhone 17 Pro taking a photo." src="https://cdn.mos.cms.futurecdn.net/EHpBdnKc9CNvu4GiNaPbH9.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide / John Velasco)</span></figcaption></figure><p>The cameras on the iPhone 18 Pro Max could enjoy another edge over the standard Pro model — a longer zoom. Rumors point to a <a href="https://www.tomsguide.com/phones/iphones/3-big-reasons-to-buy-iphone-18-pro-max-over-the-iphone-18-pro-this-year">6x optical zoom for the iPhone 18 Pro Max</a> while the Pro makes do with a 5x zoom.</p><p>We'll see if these rumored camera differences pan out, but it makes sense from a marketing perspective. Better camera performance would be another reason for iPhone shoppers to pick the pricier Pro Max beyond the larger screen and bigger battery that have distinguished previous models from the standard Pro.</p><p>There is one potential change that could affect cameras on both iPhone 18 Pro models. Apple is reportedly scaling back the physical button to address frustrations like users inadvertently launching the camera app.</p><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-18-pro-performance-and-battery-rumors"><span>iPhone 18 Pro Max vs. iPhone 18 Pro: performance and battery rumors</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2p68W9mHAAZd9qESYGbtvV" name="iPhone 17 Pro Max-22" alt="iPhone 17 Pro Max gaming." src="https://cdn.mos.cms.futurecdn.net/2p68W9mHAAZd9qESYGbtvV.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Performance should be similar between the iPhone 18 Pro Max and iPhone 18 Pro, as both models are expected to feature <a href="https://www.tomsguide.com/phones/iphones/iphone-fold-tipped-for-a20-pro-chip-apples-first-2nm-processor-to-power-new-foldable-phone">Apple's new A20 Pro</a> system-on-chip. The A20 is likely to be built on a 2-nanometer process, so it will fit in more transistors than 3-nm A19 powering the current iPhone 17 Pro models. The result should be better performance and lower power consumption.</p><p>iPhone 18 Pro performance could also see a boost from Apple's rumored use of a <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-and-pro-max-7-biggest-changes-right-around-the-corner">Wafer-Level Multi-Chip Module for the A20 Pro</a>. That approach integrates the system-on-chip with the DRAM at the wafer level, leading to more performance and power efficiency improvements ideal for the kind of AI features Apple is so keen on bringing to its devices.</p><p>As usual, the big difference between the Pro Max and Pro models will be battery life, as the larger phone simply has more room to include a larger power pack. But Apple reportedly really wants to ramp up the difference with the iPhone 18 Pro Max, as some rumors tip that phone to sport <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-tipped-to-be-heaviest-iphone-ever-heres-3-reasons-why-thats-a-good-thing">a 5,567 mAh battery</a>. That would be a 9% boost over the size of the iPhone 17 Pro Max's battery.</p><p>The iPhone 18 Pro is also tipped to get a bigger battery than its predecessor, though the increase should be more modest. The iPhone 18 Pro's rumored 4,288 mAh battery would be only 1% larger than the 4,252 mAh cell powering the iPhone 17 Pro.</p><p>The <a href="https://www.tomsguide.com/phones/iphones/iphone-17-pro-max-battery-life-test-results-are-in-this-blew-us-away">iPhone 17 Pro Max lasts more than 2 hours longer than the iPhone 17 Pro</a> in our battery tests. Look for that gap to grow with the iPhone 18 Pro series if these rumored battery sizes are accurate.</p><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-18-pro-software-and-apple-intelligence"><span>iPhone 18 Pro Max vs. iPhone 18 Pro: Software and Apple Intelligence</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3490px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qdS9MAp79UU3D85qwZjEV6" name="iOS 27 Siri AI" alt="iOS 27 Siri AI running on iPhone 17 Pro." src="https://cdn.mos.cms.futurecdn.net/qdS9MAp79UU3D85qwZjEV6.jpg" mos="" align="middle" fullscreen="" width="3490" height="1963" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: John Velasco / Tom's Guide)</span></figcaption></figure><p>Both the iPhone 18 Pro Max and iPhone 18 Pro will ship with <a href="https://www.tomsguide.com/phones/iphones/ios-27-is-official-all-the-new-upgrades-and-features-announced-at-wwdc-2026">iOS 27</a> pre-installed, and there's not much guesswork as to what features the new software will bring to those phones. Apple has already released an iOS 27 beta after previewing the software update this past June at <a href="https://www.tomsguide.com/news/live/wwdc-2026-live-news-updates">WWDC 2026</a>.</p><p>Besides under-the-hood improvements aimed at boosting responsiveness and app launch times, iOS 27 focuses on introducing a <a href="https://www.tomsguide.com/phones/iphones/i-spent-a-week-with-siri-ai-here-are-my-honest-pros-and-cons">much smarter version of Siri</a>, including a dedicated Siri app. The virtual assistant is integrated into more apps, while Siri enjoys greater access to information stored on your device to better understand your context.</p><p>That doesn't preclude iPhone 18 Pro-specific software features debuting with the new phones — particularly camera capabilities that could take advantage of the rumored variable aperture. But we wouldn't expect to hear much about those until Apple's rumored September 9 event.</p><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-18-pro-outlook"><span>iPhone 18 Pro Max vs. iPhone 18 Pro: Outlook</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Bq9srBC9TyJMXvHw2ZmX4j" name="iPhone 17 Pro and Max-13" alt="iPhone 17 Pro Max held in the hand." src="https://cdn.mos.cms.futurecdn.net/Bq9srBC9TyJMXvHw2ZmX4j.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Past decisions between the iPhone Pro models have boiled down to whether you want the bigger screen and longer battery life offered by the Pro Max version — and if you can swallow the higher cost. That's likely to continue this year, with a potential twist in just how many extra camera capabilities the iPhone 18 Pro Max has over its smaller counterpart.</p><p>Should the iPhone 18 Pro Max be the only model to get that variable aperture feature, it could be the iPhone to get if you put a premium on mobile photography. But the higher price of the Pro Max could make the cheaper iPhone 18 Pro a more attractive buy for users who don't need the longer battery life, bigger screen and more capable cameras likely to be found on the Pro Max.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/best-picks/best-samsung-phone"><strong>The best Samsung phone might not be the best for you — take our quiz to find out which you should buy</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/wellness/smartwatches/ive-been-training-with-the-galaxy-watch-9-for-a-month-3-things-i-like-and-3-i-dont"><strong>I've been training with the Galaxy Watch 9 for a month — 3 things I like (and 3 I don't)</strong></a><strong></strong></li><li><strong></strong><a href="http://tomsguide.com/us/best-android-phones,review-6051.html"><strong>We've tested the best Android phones available right now from Samsung, Google and Motorola</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-vs-iphone-18-pro-which-could-be-the-superior-flagship</link>
                                                                            <description>
                            <![CDATA[ Apple's tipped to make changes this year, so an iPhone 18 Pro Max vs. iPhone 18 Pro will likely have more differences than the past couple of years. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">f4wu3NrTzMHmSKbu7Z5X49</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/oj8hrKE6qoSEzNpYXzxEvi-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 26 Aug 2026 07:00:00 +0000</pubDate>                                                                                                                                <updated>Wed, 26 Aug 2026 13:25:38 +0000</updated>
                                                                                                                                            <category><![CDATA[iPhones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Philip Michaels ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/LBUqkHQCeeRgqR9Mz69X75.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/oj8hrKE6qoSEzNpYXzxEvi-1280-80.jpg">
                                                            <media:credit><![CDATA[Aptenod / YouTube]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[iPhone 18 Pro concept design from Aptenod on YouTube]]></media:description>                                                            <media:text><![CDATA[iPhone 18 Pro concept design from Aptenod on YouTube]]></media:text>
                                <media:title type="plain"><![CDATA[iPhone 18 Pro concept design from Aptenod on YouTube]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/oj8hrKE6qoSEzNpYXzxEvi-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Weighing an <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-rumors-and-leaks-everything-we-know-so-far">iPhone 18 Pro Max</a> vs. <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-rumors-everything-we-know-so-far">iPhone 18 Pro</a> decision figures to be the question that most would-be iPhone upgrades answer when Apple releases its new phones in September. True, we're expecting to see a brand new <a href="https://www.tomsguide.com/phones/iphones/iphone-ultra-rumors-everything-you-need-to-know-about-the-foldable-iphone">iPhone Ultra</a> join Apple's phone lineup, but that high-end model may not appeal to everyone, thanks to its folding display and anticipated cost. If you want a more conventional phone, the Pro models will be the way to go, especially with Apple likely to stagger its launches for the iPhone 18 series.</p><p>As with past Max vs. Pro debates, you'll be deciding between a bigger, longer-lasting phone and a less expensive, more compact model that offers many of the same features. But <a href="https://www.tomsguide.com/phones/iphones/iphone-18-countdown-starts-now-5-rumored-upgrades-apple-could-be-giving-its-pro-models">rumored iPhone 18 Pro features</a> could throw new wrinkles into the mix that might steer you toward one model over the other.</p><p>Apple's latest phones are still a few weeks away from hitting retail shelves, but rumors about the changes to the two Pro models give us a pretty good idea of what to expect. Here's how an iPhone 18 Pro Max vs. iPhone 18 Pro comparison shakes down based on the latest news swirling around the upcoming devices.</p><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-18-pro-rumored-specifications"><span>iPhone 18 Pro Max vs. iPhone 18 Pro: Rumored specifications</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>iPhone 18 Pro Max</strong></p></th><th  ><p><strong>iPhone 18 Pro</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Display size</strong></p></td><td  ><p>6.9 inches</p></td><td  ><p>6.3 inches</p></td></tr><tr><td class="firstcol " ><p><strong>Refresh rate</strong></p></td><td  ><p>120Hz</p></td><td  ><p>120Hz</p></td></tr><tr><td class="firstcol " ><p><strong>CPU</strong></p></td><td  ><p>A20 Pro</p></td><td  ><p>A20 Pro</p></td></tr><tr><td class="firstcol " ><p><strong>Memory</strong></p></td><td  ><p>12GB</p></td><td  ><p>12GB</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>256GB, 512GB, 1TB, 2TB</p></td><td  ><p>256GB, 512GB, 1TB</p></td></tr><tr><td class="firstcol " ><p><strong>Cameras</strong></p></td><td  ><p>48MP main with variable aperture, 48MP ultrawide, 48MP telephoto with 5x/6x optical zoom</p></td><td  ><p>48MP main with variable aperture, 48MP ultrawide, 48MP telephoto with 5x optical zoom</p></td></tr><tr><td class="firstcol " ><p><strong>Battery Size</strong></p></td><td  ><p>5,567 mAh</p></td><td  ><p>4,288 mAh</p></td></tr><tr><td class="firstcol " ><p><strong>Software</strong></p></td><td  ><p>iOS 27</p></td><td  ><p>iOS 27</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>6.43 x 3.07 x 0.35 inches (163.4 x 78 x 9 mm)</p></td><td  ><p>5.91 × 2.83 × 0.34 inches (150 x 71.9 x 8.75 mm)</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>8.46 ounces (240 grams)</p></td><td  ><p>7.26 ounces (206 grams)</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-18-pro-rumored-price-and-release-date"><span>iPhone 18 Pro Max vs. iPhone 18 Pro: Rumored price and release date</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="rU7TbT6sxLh7AYrw6yRmoi" name="iPhone 17 Pro and Max-16" alt="iPhone 17 Pro and Pro Max held in the hand/" src="https://cdn.mos.cms.futurecdn.net/rU7TbT6sxLh7AYrw6yRmoi.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>If rumors about Apple's iPhone release plans pan out, we won't be waiting long to see what's new with either the iPhone 18 Pro or iPhone 18 Pro Max. We're expecting Apple to hold its <a href="https://www.tomsguide.com/phones/iphones/apple-iphone-18-event-all-the-new-products-expected-to-launch-in-september">annual fall phone launch event on September 9</a>, though the agenda could be less crowded than usual.</p><p>That's because a persistent rumor has Apple pushing back the <a href="https://www.tomsguide.com/phones/iphones/iphone-18-rumors-everything-we-know-so-far">iPhone 18</a> to a spring 2027 launch, when it will debut alongside the lower-end iPhone 18e. Instead, this upcoming Apple event should focus entirely on the Pro models as well as the new iPhone Ultra.</p><p>A less welcome change could involve pricing for both the Pro and Pro Max. With RAM shortages pushing up component costs, Apple has pretty much confirmed you're going to be paying more for an iPhone this year. The exact amount of the <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-could-see-absolutely-massive-price-hike-according-to-researchers">iPhone 18 Pro price hike</a> is still unclear, but rumors suggest the iPhone 18 Pro could cost between $1,299 to $1,399, compared to the $1,099 iPhone 17 Pro. Similarly the larger model's price could jump from the iPhone 17 Pro Max's $1,199 starting point to anywhere between $1,399 and $1,499.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-OdR9Ae"></div>                            </div>                            <script src="https://kwizly.com/embed/OdR9Ae.js" async></script><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-18-pro-design-and-display"><span>iPhone 18 Pro Max vs. iPhone 18 Pro: Design and display</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="7cBcCJ9MBPaUuaruiXVHEV" name="iPhone 17 Pro Max-7" alt="iPhone 17 Pro Max shown in hand" src="https://cdn.mos.cms.futurecdn.net/7cBcCJ9MBPaUuaruiXVHEV.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>After the <a href="https://www.tomsguide.com/phones/iphones/apple-iphone-17-pro-review">iPhone 17 Pro</a> series introduced the camera plateau and a new two-tone look to Apple's higher-end phones, don't expect major changes to the look of the iPhone 18 Pro. That said, both the Max and Pro models are expected to shift away from the two-tone approach to a more unified design this time around.</p><p>Similarly, the different screen sizes should remain in place for the 2027 model year — 6.3 inches for the Pro and 6.9 inches for the Pro Max. However, you could find a bit more screen space on both iPhone 18 Pro offerings, as Apple is said to be <a href="https://www.tomsguide.com/phones/iphones/the-iphone-18-pro-series-dynamic-island-could-be-smaller-than-before-and-i-think-thats-a-better-move-than-the-rumored-under-display-cameras">shrinking the size of the Dynamic Island </a>feature on this year's displays. Specifically, we're looking at a 35% reduction, at least if measurements on iPhone 18 Pro mockups are anything to go by.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1686px;"><p class="vanilla-image-block" style="padding-top:43.65%;"><img id="5nQbtohait6pujHrWu2AHR" name="HHcwz0FXEAAiVDA" alt="CAD renders showing the iPhone 18 Pro with a smaller Dynamic Island cutout" src="https://cdn.mos.cms.futurecdn.net/5nQbtohait6pujHrWu2AHR.jpg" mos="" align="middle" fullscreen="" width="1686" height="736" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: X.com/@earlyappleleaks)</span></figcaption></figure><p>That said, the iPhone 18 Pro Max could be slightly bigger than its predecessor, thanks to a rumored increase in battery size for the larger of the two Pro models. (We'll get into that rumor a little bit later.) Leaker Ice Universe has suggested the iPhone 18 Pro Max will weigh around 7 grams more than the iPhone 17 Pro Max while increasing thickness by about 0.25mm. Those aren't huge changes, but it could make the difference in bulk between the Max and Pro feel even more stark than before.</p><p>Apple tends to use the same colors across its Pro models, so both the iPhone 18 Pro and 18 Pro Max are likely to feature the rumored <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-leaked-colors-include-a-stunning-new-dark-cherry-option">Dark Cherry and Light Blue</a> options tipped for this year's lineup. Other color options could include silver and dark gray.</p><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-18-pro-cameras"><span>iPhone 18 Pro Max vs. iPhone 18 Pro: Cameras</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="7iBdM6RkBx9vY5PWZDt6ef" name="iPhone 18 pro edit" alt="iPhone 18 Pro mockup" src="https://cdn.mos.cms.futurecdn.net/7iBdM6RkBx9vY5PWZDt6ef.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Aptenod / YouTube)</span></figcaption></figure><p>By all accounts, the triple 48MP camera setup on the back of the current Pro models should stay in place for Apple's upcoming phones, but a big change could be brewing this year — and it might be limited to the iPhone 18 Pro Max.</p><p>Rumors suggest <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-could-be-the-first-iphone-to-get-a-variable-aperture-why-that-matters">Apple is going to add a variable aperture camera</a> to at least one model this year, a feature that would give users more manual control over the size of the aperture. As a result, cameras with a variable aperture offer better control over the depth of field in shots; you would also expect sharper close-ups and better performance in low-light.</p><p>It's unclear if the variable aperture camera is headed to both iPhone Pro models, though some rumor mongers believe the feature could be <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-camera-may-get-this-major-upgrade-but-why-isnt-iphone-18-pro-getting-it-too">exclusive to the Pro Max</a>. The speculation is that the mechanics required for a variable lens would only fit in a larger phone, ruling out the more slender iPhone 18 Pro.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="EHpBdnKc9CNvu4GiNaPbH9" name="iPhone 17 Pro review" alt="iPhone 17 Pro taking a photo." src="https://cdn.mos.cms.futurecdn.net/EHpBdnKc9CNvu4GiNaPbH9.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide / John Velasco)</span></figcaption></figure><p>The cameras on the iPhone 18 Pro Max could enjoy another edge over the standard Pro model — a longer zoom. Rumors point to a <a href="https://www.tomsguide.com/phones/iphones/3-big-reasons-to-buy-iphone-18-pro-max-over-the-iphone-18-pro-this-year">6x optical zoom for the iPhone 18 Pro Max</a> while the Pro makes do with a 5x zoom.</p><p>We'll see if these rumored camera differences pan out, but it makes sense from a marketing perspective. Better camera performance would be another reason for iPhone shoppers to pick the pricier Pro Max beyond the larger screen and bigger battery that have distinguished previous models from the standard Pro.</p><p>There is one potential change that could affect cameras on both iPhone 18 Pro models. Apple is reportedly scaling back the physical button to address frustrations like users inadvertently launching the camera app.</p><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-18-pro-performance-and-battery-rumors"><span>iPhone 18 Pro Max vs. iPhone 18 Pro: performance and battery rumors</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2p68W9mHAAZd9qESYGbtvV" name="iPhone 17 Pro Max-22" alt="iPhone 17 Pro Max gaming." src="https://cdn.mos.cms.futurecdn.net/2p68W9mHAAZd9qESYGbtvV.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Performance should be similar between the iPhone 18 Pro Max and iPhone 18 Pro, as both models are expected to feature <a href="https://www.tomsguide.com/phones/iphones/iphone-fold-tipped-for-a20-pro-chip-apples-first-2nm-processor-to-power-new-foldable-phone">Apple's new A20 Pro</a> system-on-chip. The A20 is likely to be built on a 2-nanometer process, so it will fit in more transistors than 3-nm A19 powering the current iPhone 17 Pro models. The result should be better performance and lower power consumption.</p><p>iPhone 18 Pro performance could also see a boost from Apple's rumored use of a <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-and-pro-max-7-biggest-changes-right-around-the-corner">Wafer-Level Multi-Chip Module for the A20 Pro</a>. That approach integrates the system-on-chip with the DRAM at the wafer level, leading to more performance and power efficiency improvements ideal for the kind of AI features Apple is so keen on bringing to its devices.</p><p>As usual, the big difference between the Pro Max and Pro models will be battery life, as the larger phone simply has more room to include a larger power pack. But Apple reportedly really wants to ramp up the difference with the iPhone 18 Pro Max, as some rumors tip that phone to sport <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-tipped-to-be-heaviest-iphone-ever-heres-3-reasons-why-thats-a-good-thing">a 5,567 mAh battery</a>. That would be a 9% boost over the size of the iPhone 17 Pro Max's battery.</p><p>The iPhone 18 Pro is also tipped to get a bigger battery than its predecessor, though the increase should be more modest. The iPhone 18 Pro's rumored 4,288 mAh battery would be only 1% larger than the 4,252 mAh cell powering the iPhone 17 Pro.</p><p>The <a href="https://www.tomsguide.com/phones/iphones/iphone-17-pro-max-battery-life-test-results-are-in-this-blew-us-away">iPhone 17 Pro Max lasts more than 2 hours longer than the iPhone 17 Pro</a> in our battery tests. Look for that gap to grow with the iPhone 18 Pro series if these rumored battery sizes are accurate.</p><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-18-pro-software-and-apple-intelligence"><span>iPhone 18 Pro Max vs. iPhone 18 Pro: Software and Apple Intelligence</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3490px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qdS9MAp79UU3D85qwZjEV6" name="iOS 27 Siri AI" alt="iOS 27 Siri AI running on iPhone 17 Pro." src="https://cdn.mos.cms.futurecdn.net/qdS9MAp79UU3D85qwZjEV6.jpg" mos="" align="middle" fullscreen="" width="3490" height="1963" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: John Velasco / Tom's Guide)</span></figcaption></figure><p>Both the iPhone 18 Pro Max and iPhone 18 Pro will ship with <a href="https://www.tomsguide.com/phones/iphones/ios-27-is-official-all-the-new-upgrades-and-features-announced-at-wwdc-2026">iOS 27</a> pre-installed, and there's not much guesswork as to what features the new software will bring to those phones. Apple has already released an iOS 27 beta after previewing the software update this past June at <a href="https://www.tomsguide.com/news/live/wwdc-2026-live-news-updates">WWDC 2026</a>.</p><p>Besides under-the-hood improvements aimed at boosting responsiveness and app launch times, iOS 27 focuses on introducing a <a href="https://www.tomsguide.com/phones/iphones/i-spent-a-week-with-siri-ai-here-are-my-honest-pros-and-cons">much smarter version of Siri</a>, including a dedicated Siri app. The virtual assistant is integrated into more apps, while Siri enjoys greater access to information stored on your device to better understand your context.</p><p>That doesn't preclude iPhone 18 Pro-specific software features debuting with the new phones — particularly camera capabilities that could take advantage of the rumored variable aperture. But we wouldn't expect to hear much about those until Apple's rumored September 9 event.</p><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-iphone-18-pro-outlook"><span>iPhone 18 Pro Max vs. iPhone 18 Pro: Outlook</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Bq9srBC9TyJMXvHw2ZmX4j" name="iPhone 17 Pro and Max-13" alt="iPhone 17 Pro Max held in the hand." src="https://cdn.mos.cms.futurecdn.net/Bq9srBC9TyJMXvHw2ZmX4j.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Past decisions between the iPhone Pro models have boiled down to whether you want the bigger screen and longer battery life offered by the Pro Max version — and if you can swallow the higher cost. That's likely to continue this year, with a potential twist in just how many extra camera capabilities the iPhone 18 Pro Max has over its smaller counterpart.</p><p>Should the iPhone 18 Pro Max be the only model to get that variable aperture feature, it could be the iPhone to get if you put a premium on mobile photography. But the higher price of the Pro Max could make the cheaper iPhone 18 Pro a more attractive buy for users who don't need the longer battery life, bigger screen and more capable cameras likely to be found on the Pro Max.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/best-picks/best-samsung-phone"><strong>The best Samsung phone might not be the best for you — take our quiz to find out which you should buy</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/wellness/smartwatches/ive-been-training-with-the-galaxy-watch-9-for-a-month-3-things-i-like-and-3-i-dont"><strong>I've been training with the Galaxy Watch 9 for a month — 3 things I like (and 3 I don't)</strong></a><strong></strong></li><li><strong></strong><a href="http://tomsguide.com/us/best-android-phones,review-6051.html"><strong>We've tested the best Android phones available right now from Samsung, Google and Motorola</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I drove the Jeep Cherokee and Kia Sportage Hybrid for a week — here’s the $40K compact SUV I recommend ]]></title>
                                                                                                <dc:content><![CDATA[ <p>When I drove the <a href="https://www.tomsguide.com/vehicle-tech/evs/2026-kia-sportage-hybrid-review">2026 Kia Sportage Hybrid SX-Prestige</a> earlier this year, it stood out in the compact SUV segment as the benchmark for what a modern hybrid SUV should be. Between the outstanding real-world fuel economy I got out of it and its rich suite of hi-tech features, the Sportage Hybrid proved that you don't have to sacrifice comfort or innovation.</p><p>Most recently, however, I racked up a week behind the wheel of the <a href="https://www.jeep.com/cherokee.html" target="_blank">2026 Jeep Cherokee Limited</a>. Both compact crossovers hover right around that competitive $40,000 sweet spot, making this matchup a direct test of how they perform across all my key categories.</p><p>With as-tested prices of $43,590 for the Cherokee and $41,985 for the Sportage, only one can truly earn my recommendation.</p><figure class="inline-layout"><div style="min-height: 400px;"><fw-embed-feed channel="toms_guide" playlist="gOdY2y" mode="row" player_placement="bottom-right"></fw-embed-feed></div></figure><h2 class="article-body__section" id="section-jeep-cherokee-vs-kia-sportage-hybrid-specifications"><span>Jeep Cherokee vs. Kia Sportage Hybrid: Specifications</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2026 Jeep Cherokee Limited</strong></p></th><th  ><p><strong>2026 Kia Sportage Hybrid SX-Prestige</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price Tested</strong></p></td><td  ><p>$43,590</p></td><td  ><p>$41,985</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ><p>39 mpg city / 35 mpg highway / 37 mpg combined</p></td><td  ><p>35 mpg city / 36 mpg highway / 35 mpg combined</p></td></tr><tr><td class="firstcol " ><p><strong>Engine</strong></p></td><td  ><p>1.6L I4 Turbo Hybrid engine (AWD)</p></td><td  ><p>1.6L turbo hybrid engine (AWD)</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Tank Capacity</strong></p></td><td  ><p>13.7 gallons</p></td><td  ><p>13.7 gallons</p></td></tr><tr><td class="firstcol " ><p><strong>Horsepower</strong></p></td><td  ><p>210 hp</p></td><td  ><p>232 hp</p></td></tr><tr><td class="firstcol " ><p><strong>Wheels</strong></p></td><td  ><p>18-inches</p></td><td  ><p>19-inches</p></td></tr><tr><td class="firstcol " ><p><strong>MSRP</strong></p></td><td  ><p>$38,000</p></td><td  ><p>$40,590</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-jeep-cherokee-vs-kia-sportage-hybrid-design"><span>Jeep Cherokee vs. Kia Sportage Hybrid: Design</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/cVfck4RinmkGNid7NFu3cC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/PDoWWPn4J26MpWDtDsAqtm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/y48f8jmmZpCvgHzrhVSDkC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Gk47FryenpCxkxwVknENvm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/5bueeC2XEcABtrZYNTXdmC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Cc4MyJha5Ah5HcL3bU7qxm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/6KAnJmVXwPqsvCzqh3dugC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/KMFytW2HEV85NDcedvDLxm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>I’ve raved about the bold, futuristic styling of the Sportage Hybrid, especially compared to the more conventional aesthetics of rivals like the <a href="https://www.tomsguide.com/vehicle-tech/evs/i-drove-the-hyundai-tucson-hybrid-for-a-week-heres-my-pros-and-cons">Hyundai Tucson Hybrid</a>. Details like its dramatic boomerang-shaped daytime running lights and angular cutouts give it a space-age aesthetic that clearly draws inspiration from forward-looking designs like the all-electric <a href="https://www.tomsguide.com/vehicle-tech/evs/i-drove-a-kia-ev9-for-a-week-heres-my-pros-and-cons">Kia EV9</a>.</p><p>Yet, as eye-catching as the Kia is, the Jeep Cherokee’s proportions ultimately win me over. With its lower stance and visibly planted look, the Cherokee delivers a more athletic curb appeal—one that arguably has broader aesthetic appeal.</p><p>It strikes a classic balance of rugged capability and clean, understated lines without trying too hard, giving it an aggressive, timeless road presence that looks right at home whether parked in my driveway or cruising on the open highway.</p><p><strong>Winner:</strong> Jeep Cherokee</p><h2 class="article-body__section" id="section-jeep-cherokee-vs-kia-sportage-hybrid-fuel-economy"><span>Jeep Cherokee vs. Kia Sportage Hybrid: Fuel economy</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2026 Jeep Cherokee Limited</strong></p></th><th  ><p><strong>2026 Kia Sportage Hybrid SX-Prestige</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Total Miles Driven</strong></p></td><td  ><p>220.2 miles</p></td><td  ><p>231.9 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Average Fuel Economy</strong></p></td><td  ><p>36.6 mpg</p></td><td  ><p>30.1 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best short distance fuel economy</strong></p></td><td  ><p>49.5 mpg</p></td><td  ><p>76.8 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best long distance fuel economy</strong></p></td><td  ><p>39.6 mpg</p></td><td  ><p>34.5 mpg</p></td></tr></tbody></table></div><p>I love hybrids for one simple reason: their significant fuel savings over traditional ICE (internal combustion engine) vehicles. While their EPA-rated fuel economy numbers indicate a narrow 2-mpg gap on paper, my real-world testing yielded surprising results.</p><p>While the 2026 Kia Sportage Hybrid showed off incredible hybrid optimization in quick bursts — peaking at an impressive 76.8 mpg on one of my best short-distance trips — the 2026 Jeep Cherokee Limited proved to be the far more consistent performer over the long haul.</p><p>Across 220.2 miles of driving, the Cherokee averaged a stellar 36.6 mpg, comfortably outperforming the Sportage Hybrid’s 30.1 mpg over its 231.9-mile test run. The Cherokee also held the edge on long-distance drives, notching a better mark of 39.6 mpg compared to the Kia’s 34.5 mpg.</p><p>The 6.5-mpg combined spread adds up quickly at the pump. Assuming gas sits at $4 per gallon, driving 1,000 miles a month would save you roughly $283 a year behind the wheel of the Cherokee.</p><p><strong>Winner:</strong> 2026 Jeep Cherokee</p><h2 class="article-body__section" id="section-jeep-cherokee-vs-kia-sportage-hybrid-driving-performance"><span>Jeep Cherokee vs. Kia Sportage Hybrid: Driving performance</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/PEzNAG338xTCEtoANAvsrm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uWDBANabJiypqjC8hGX3vm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4MRmHRCeXtkVMwKtdAkGpm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/MF3r35iy2fyMAFp4wK9Ytm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/jWYeMmh8WYiKzyuVDuRpsm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>Both compact SUVs excel at being remarkably effortless daily drivers, but each has distinct strengths.</p><p>Under the hood, the Kia Sportage Hybrid pairs a 1.6-liter turbocharged four-cylinder with an electric motor to generate a punchier 232 horsepower. In contrast, the 2026 Jeep Cherokee’s hybrid powertrain relies on its 1.6-liter turbo setup to produce a respectable 210 horsepower.</p><p>Out on the road, that power surplus gives the Sportage a clear edge in straight-line quickness, making it feel noticeably peppier off the line. For a hybrid, it delivers the punchy, instantaneous throttle response I want when merging or overtaking.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/kudBzs2g59HHsUcxadPuWC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/SWoyMw4RwEpp6gSmVahkaC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/qfbA6kBd43NbcvGTMKDvAC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ZQtJrF79ipJtKtDiWSijYC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/6EBmTkqa7LnNJeA5qQqhAC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>The Cherokee punches back with its agility around curves. Thanks to a wider stance and lower center of gravity, the Cherokee feels far more planted when navigating winding roads and sharp turns — never feeling top-heavy.</p><p>Whether you prefer the straight-line eagerness of the Sportage or the sure-footed cornering poise of the Cherokee, neither disappoints behind the wheel.</p><p><strong>Winner:</strong> tie</p><h2 class="article-body__section" id="section-jeep-cherokee-vs-kia-sportage-hybrid-comfort"><span>Jeep Cherokee vs. Kia Sportage Hybrid: Comfort</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/UWqUmBEgs6Ux4FmjZPWNrm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/25VgGa5RjezB2aDEN8ysnm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/EkuHrB9fmwv7e4btNBJfqm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/P37M6cRQnyduHhw3ATsq6m.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/LG7bmrTg6ZtxA2oafuDPXm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/tZiYGDiqJy3fRYmUcLvzum.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>Step inside, and the difference in cabin execution becomes immediately clear. While both vehicles offer solid utility, the Kia Sportage Hybrid elevates the experience with a Tron-like aesthetic that matches its futuristic exterior.</p><p>The Sportage delivers superior comfort by pairing plush seating with expansive rear legroom, giving passengers plenty of room to stretch out. At night, customizable ambient lighting transforms the cabin with a vibrant, modern glow that makes the Cherokee’s interior feel dated by comparison.</p><p>Where the Sportage truly pulls ahead, however, is in driver assistance and visibility tech. Activating the lane centering assist is effortless thanks to a dedicated button on the steering wheel, while Kia’s Blind-Spot View Monitor projects a live video feed of your blind spot directly onto the instrument cluster. Rounding it out is a crisp 360-degree camera system that makes parking in tight spots painless.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/gpRRtiiAJLVj2pJ7cdCWSC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/rwiVYt5pN3uHEJ37HhcUKC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Sgj2twNv5neKPLgFVEp8PC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/b7y8vYX5Nr47td742hdmUC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/7ZBueaG9iRzDsgNrDjn9fC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>To be fair, the Jeep Cherokee offers a roomy layout with ample legroom in both rows, and its climate control system worked flawlessly to chill the cabin during a recent heatwave. However, for daily driving tech and maneuvers, the Cherokee settles for a basic backup camera instead of a full surround-view system.</p><p><strong>Winner:</strong> Kia Sportage Hybrid</p><h2 class="article-body__section" id="section-jeep-cherokee-vs-kia-sportage-hybrid-value"><span>Jeep Cherokee vs. Kia Sportage Hybrid: Value</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/NDFtmqFCbjFwPnaAYSbzS9.gif" alt="2026 Kia Sportage Hybrid Lane Following Assist animation." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/dJc3pKGGojCKVgLreELuqm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/pkd73ahUuA6FfJkEKPrVqm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/25VgGa5RjezB2aDEN8ysnm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/i8bxXRFN557LUUWws44kZm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/nWjf6xYQpr4ujAF9XzpTLm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/TmAAxLncjxPi3iNFSmDxGm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>When I look at their as-tested prices, the value proposition tilts heavily in Kia’s favor. At $41,985, the Sportage Hybrid SX-Prestige undercuts the $43,590 Jeep Cherokee Limited by nearly $1,600 — yet it packs in a staggering list of premium features that the pricier Cherokee simply leaves out.</p><p>For less, the Sportage offers a head-up display (HUD), an expansive panoramic glass roof, a smart power automatic liftgate, a rich Harman Kardon audio system, and significantly more cargo space and passenger room. It genuinely feels like a near-luxury crossover without the luxury price tag.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/93jzAioMWaC6xvh9myq3XC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/b7y8vYX5Nr47td742hdmUC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/tXdzQMSF8yGp6TDbs8b3VC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uFh8eMHkvw7XJc5er92kVC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/afNveEMU97mz6sdvCo7J8C.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/pv7RSVoT6ETWmUSAQBGEGC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/wXtU8Bx9yymCm783E7KxDC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>The Jeep Cherokee certainly puts up a fight with its superior real-world fuel economy, which will save you a few hundred dollars at the pump over time. But when you factor in the lower upfront sticker price, deeper tech roster, upscale creature comforts, and everyday practicality, the Sportage delivers unbeatable bang-for-the-buck value.</p><p><strong>Winner:</strong> Kia Sportage Hybrid</p><h2 class="article-body__section" id="section-jeep-cherokee-vs-kia-sportage-hybrid-verdict"><span>Jeep Cherokee vs. Kia Sportage Hybrid: Verdict</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/4rj2ZrmSYtZyrw5noJqiXC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Y2mS39HwcEhndCgKC5KYtm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/wpxhfAVSeBqYPZL6mVNpgC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Zx9EzM5XbG9NY8LGPPiZLW.gif" alt="2026 Kia Sportage Hybrid test drive features." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/MivYC4FMPhkvtRRyU7z3iC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/PDoWWPn4J26MpWDtDsAqtm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>After tallying up the results, this Jeep Cherokee vs. Kia Sportage Hybrid matchup comes out to a draw. Both compact SUVs bring compelling strengths to the table that make them easy to recommend depending on what you prioritize most, all without spending a fortune.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2026 Jeep Cherokee Limited</strong></p></th><th  ><p><strong>2026 Kia Sportage Hybrid SX-Prestige</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Design</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Driving Performance</strong></p></td><td  ><p>X</p></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Comfort</strong></p></td><td  ></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Value</strong></p></td><td  ></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Total</strong></p></td><td  ><p>3</p></td><td  ><p>3</p></td></tr></tbody></table></div><p>I was genuinely surprised by the 2026 Jeep Cherokee Limited because it delivers superior real-world fuel economy, carves corners with ease, and boasts an athletic stance that is easy to admire. In fact, it stands out as one of the most accessible options in Jeep's lineup — far more approachable than the premium <a href="https://www.tomsguide.com/vehicle-tech/evs/2025-jeep-wagoneer-s-pros-and-cons">Jeep Wagoneer S</a> I tested previously. For drivers who want reliable long-distance efficiency paired with classic road presence, the Cherokee makes a remarkably strong case for itself.</p><p>Still, if I had to throw down my own money right now, I’d lean toward the 2026 Kia Sportage Hybrid SX-Prestige. While it’s a deadlock on paper against the Cherokee, Kia’s generosity with premium features ultimately makes it the unmatched everyday driver at a lower sticker price.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eAAEne"></div>                            </div>                            <script src="https://kwizly.com/embed/eAAEne.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/vehicle-tech/evs/im-not-anxious-that-its-getting-darker-earlier-with-this-thermal-camera-for-my-car-heres-why">I'm not anxious that it's getting darker earlier with this thermal camera for my car — here's why</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/i-borrowed-the-new-nissan-leaf-for-a-day-and-this-affordable-ev-nails-it">I just test drove the new Nissan Leaf — and it's irresistible at under $30,000</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/crabwalking-with-the-gmc-sierra-ev-is-the-weirdest-thing-ive-ever-done-with-a-car-and-its-actually-pretty-useful">CrabWalking with the GMC Sierra EV is the weirdest thing I’ve ever done with a car — and it’s actually pretty useful</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/vehicle-tech/evs/i-drove-the-jeep-cherokee-and-kia-sportage-hybrid-for-a-week-heres-the-usd40k-compact-suv-i-recommend</link>
                                                                            <description>
                            <![CDATA[ I put the Jeep Cherokee and Kia Sportage Hybrid to the test by driving them for a week each to see which compact SUV is better. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Fm6VLTpb78D562LWbn2cGo</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/vVehucF9UKPrB89nrjXYeK-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 23 Aug 2026 06:00:00 +0000</pubDate>                                                                                                                                <updated>Sun, 23 Aug 2026 12:44:27 +0000</updated>
                                                                                                                                            <category><![CDATA[EVs]]></category>
                                                    <category><![CDATA[Vehicle Tech]]></category>
                                                                                                <author><![CDATA[ john.velasco@futurenet.com (John Velasco) ]]></author>                    <dc:creator><![CDATA[ John Velasco ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/TSj224oX8d5ERXaDs8pDGd.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/vVehucF9UKPrB89nrjXYeK-1280-80.jpg">
                                                            <media:credit><![CDATA[John Velasco / Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Jeep Cherokee vs Kia Sportage Hybrid.]]></media:description>                                                            <media:text><![CDATA[Jeep Cherokee vs Kia Sportage Hybrid.]]></media:text>
                                <media:title type="plain"><![CDATA[Jeep Cherokee vs Kia Sportage Hybrid.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/vVehucF9UKPrB89nrjXYeK-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>When I drove the <a href="https://www.tomsguide.com/vehicle-tech/evs/2026-kia-sportage-hybrid-review">2026 Kia Sportage Hybrid SX-Prestige</a> earlier this year, it stood out in the compact SUV segment as the benchmark for what a modern hybrid SUV should be. Between the outstanding real-world fuel economy I got out of it and its rich suite of hi-tech features, the Sportage Hybrid proved that you don't have to sacrifice comfort or innovation.</p><p>Most recently, however, I racked up a week behind the wheel of the <a href="https://www.jeep.com/cherokee.html" target="_blank">2026 Jeep Cherokee Limited</a>. Both compact crossovers hover right around that competitive $40,000 sweet spot, making this matchup a direct test of how they perform across all my key categories.</p><p>With as-tested prices of $43,590 for the Cherokee and $41,985 for the Sportage, only one can truly earn my recommendation.</p><figure class="inline-layout"><div style="min-height: 400px;"><fw-embed-feed channel="toms_guide" playlist="gOdY2y" mode="row" player_placement="bottom-right"></fw-embed-feed></div></figure><h2 class="article-body__section" id="section-jeep-cherokee-vs-kia-sportage-hybrid-specifications"><span>Jeep Cherokee vs. Kia Sportage Hybrid: Specifications</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2026 Jeep Cherokee Limited</strong></p></th><th  ><p><strong>2026 Kia Sportage Hybrid SX-Prestige</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price Tested</strong></p></td><td  ><p>$43,590</p></td><td  ><p>$41,985</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ><p>39 mpg city / 35 mpg highway / 37 mpg combined</p></td><td  ><p>35 mpg city / 36 mpg highway / 35 mpg combined</p></td></tr><tr><td class="firstcol " ><p><strong>Engine</strong></p></td><td  ><p>1.6L I4 Turbo Hybrid engine (AWD)</p></td><td  ><p>1.6L turbo hybrid engine (AWD)</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Tank Capacity</strong></p></td><td  ><p>13.7 gallons</p></td><td  ><p>13.7 gallons</p></td></tr><tr><td class="firstcol " ><p><strong>Horsepower</strong></p></td><td  ><p>210 hp</p></td><td  ><p>232 hp</p></td></tr><tr><td class="firstcol " ><p><strong>Wheels</strong></p></td><td  ><p>18-inches</p></td><td  ><p>19-inches</p></td></tr><tr><td class="firstcol " ><p><strong>MSRP</strong></p></td><td  ><p>$38,000</p></td><td  ><p>$40,590</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-jeep-cherokee-vs-kia-sportage-hybrid-design"><span>Jeep Cherokee vs. Kia Sportage Hybrid: Design</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/cVfck4RinmkGNid7NFu3cC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/PDoWWPn4J26MpWDtDsAqtm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/y48f8jmmZpCvgHzrhVSDkC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Gk47FryenpCxkxwVknENvm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/5bueeC2XEcABtrZYNTXdmC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Cc4MyJha5Ah5HcL3bU7qxm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/6KAnJmVXwPqsvCzqh3dugC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/KMFytW2HEV85NDcedvDLxm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>I’ve raved about the bold, futuristic styling of the Sportage Hybrid, especially compared to the more conventional aesthetics of rivals like the <a href="https://www.tomsguide.com/vehicle-tech/evs/i-drove-the-hyundai-tucson-hybrid-for-a-week-heres-my-pros-and-cons">Hyundai Tucson Hybrid</a>. Details like its dramatic boomerang-shaped daytime running lights and angular cutouts give it a space-age aesthetic that clearly draws inspiration from forward-looking designs like the all-electric <a href="https://www.tomsguide.com/vehicle-tech/evs/i-drove-a-kia-ev9-for-a-week-heres-my-pros-and-cons">Kia EV9</a>.</p><p>Yet, as eye-catching as the Kia is, the Jeep Cherokee’s proportions ultimately win me over. With its lower stance and visibly planted look, the Cherokee delivers a more athletic curb appeal—one that arguably has broader aesthetic appeal.</p><p>It strikes a classic balance of rugged capability and clean, understated lines without trying too hard, giving it an aggressive, timeless road presence that looks right at home whether parked in my driveway or cruising on the open highway.</p><p><strong>Winner:</strong> Jeep Cherokee</p><h2 class="article-body__section" id="section-jeep-cherokee-vs-kia-sportage-hybrid-fuel-economy"><span>Jeep Cherokee vs. Kia Sportage Hybrid: Fuel economy</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2026 Jeep Cherokee Limited</strong></p></th><th  ><p><strong>2026 Kia Sportage Hybrid SX-Prestige</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Total Miles Driven</strong></p></td><td  ><p>220.2 miles</p></td><td  ><p>231.9 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Average Fuel Economy</strong></p></td><td  ><p>36.6 mpg</p></td><td  ><p>30.1 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best short distance fuel economy</strong></p></td><td  ><p>49.5 mpg</p></td><td  ><p>76.8 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best long distance fuel economy</strong></p></td><td  ><p>39.6 mpg</p></td><td  ><p>34.5 mpg</p></td></tr></tbody></table></div><p>I love hybrids for one simple reason: their significant fuel savings over traditional ICE (internal combustion engine) vehicles. While their EPA-rated fuel economy numbers indicate a narrow 2-mpg gap on paper, my real-world testing yielded surprising results.</p><p>While the 2026 Kia Sportage Hybrid showed off incredible hybrid optimization in quick bursts — peaking at an impressive 76.8 mpg on one of my best short-distance trips — the 2026 Jeep Cherokee Limited proved to be the far more consistent performer over the long haul.</p><p>Across 220.2 miles of driving, the Cherokee averaged a stellar 36.6 mpg, comfortably outperforming the Sportage Hybrid’s 30.1 mpg over its 231.9-mile test run. The Cherokee also held the edge on long-distance drives, notching a better mark of 39.6 mpg compared to the Kia’s 34.5 mpg.</p><p>The 6.5-mpg combined spread adds up quickly at the pump. Assuming gas sits at $4 per gallon, driving 1,000 miles a month would save you roughly $283 a year behind the wheel of the Cherokee.</p><p><strong>Winner:</strong> 2026 Jeep Cherokee</p><h2 class="article-body__section" id="section-jeep-cherokee-vs-kia-sportage-hybrid-driving-performance"><span>Jeep Cherokee vs. Kia Sportage Hybrid: Driving performance</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/PEzNAG338xTCEtoANAvsrm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uWDBANabJiypqjC8hGX3vm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4MRmHRCeXtkVMwKtdAkGpm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/MF3r35iy2fyMAFp4wK9Ytm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/jWYeMmh8WYiKzyuVDuRpsm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>Both compact SUVs excel at being remarkably effortless daily drivers, but each has distinct strengths.</p><p>Under the hood, the Kia Sportage Hybrid pairs a 1.6-liter turbocharged four-cylinder with an electric motor to generate a punchier 232 horsepower. In contrast, the 2026 Jeep Cherokee’s hybrid powertrain relies on its 1.6-liter turbo setup to produce a respectable 210 horsepower.</p><p>Out on the road, that power surplus gives the Sportage a clear edge in straight-line quickness, making it feel noticeably peppier off the line. For a hybrid, it delivers the punchy, instantaneous throttle response I want when merging or overtaking.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/kudBzs2g59HHsUcxadPuWC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/SWoyMw4RwEpp6gSmVahkaC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/qfbA6kBd43NbcvGTMKDvAC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ZQtJrF79ipJtKtDiWSijYC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/6EBmTkqa7LnNJeA5qQqhAC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>The Cherokee punches back with its agility around curves. Thanks to a wider stance and lower center of gravity, the Cherokee feels far more planted when navigating winding roads and sharp turns — never feeling top-heavy.</p><p>Whether you prefer the straight-line eagerness of the Sportage or the sure-footed cornering poise of the Cherokee, neither disappoints behind the wheel.</p><p><strong>Winner:</strong> tie</p><h2 class="article-body__section" id="section-jeep-cherokee-vs-kia-sportage-hybrid-comfort"><span>Jeep Cherokee vs. Kia Sportage Hybrid: Comfort</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/UWqUmBEgs6Ux4FmjZPWNrm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/25VgGa5RjezB2aDEN8ysnm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/EkuHrB9fmwv7e4btNBJfqm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/P37M6cRQnyduHhw3ATsq6m.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/LG7bmrTg6ZtxA2oafuDPXm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/tZiYGDiqJy3fRYmUcLvzum.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>Step inside, and the difference in cabin execution becomes immediately clear. While both vehicles offer solid utility, the Kia Sportage Hybrid elevates the experience with a Tron-like aesthetic that matches its futuristic exterior.</p><p>The Sportage delivers superior comfort by pairing plush seating with expansive rear legroom, giving passengers plenty of room to stretch out. At night, customizable ambient lighting transforms the cabin with a vibrant, modern glow that makes the Cherokee’s interior feel dated by comparison.</p><p>Where the Sportage truly pulls ahead, however, is in driver assistance and visibility tech. Activating the lane centering assist is effortless thanks to a dedicated button on the steering wheel, while Kia’s Blind-Spot View Monitor projects a live video feed of your blind spot directly onto the instrument cluster. Rounding it out is a crisp 360-degree camera system that makes parking in tight spots painless.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/gpRRtiiAJLVj2pJ7cdCWSC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/rwiVYt5pN3uHEJ37HhcUKC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Sgj2twNv5neKPLgFVEp8PC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/b7y8vYX5Nr47td742hdmUC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/7ZBueaG9iRzDsgNrDjn9fC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>To be fair, the Jeep Cherokee offers a roomy layout with ample legroom in both rows, and its climate control system worked flawlessly to chill the cabin during a recent heatwave. However, for daily driving tech and maneuvers, the Cherokee settles for a basic backup camera instead of a full surround-view system.</p><p><strong>Winner:</strong> Kia Sportage Hybrid</p><h2 class="article-body__section" id="section-jeep-cherokee-vs-kia-sportage-hybrid-value"><span>Jeep Cherokee vs. Kia Sportage Hybrid: Value</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/NDFtmqFCbjFwPnaAYSbzS9.gif" alt="2026 Kia Sportage Hybrid Lane Following Assist animation." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/dJc3pKGGojCKVgLreELuqm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/pkd73ahUuA6FfJkEKPrVqm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/25VgGa5RjezB2aDEN8ysnm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/i8bxXRFN557LUUWws44kZm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/nWjf6xYQpr4ujAF9XzpTLm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/TmAAxLncjxPi3iNFSmDxGm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>When I look at their as-tested prices, the value proposition tilts heavily in Kia’s favor. At $41,985, the Sportage Hybrid SX-Prestige undercuts the $43,590 Jeep Cherokee Limited by nearly $1,600 — yet it packs in a staggering list of premium features that the pricier Cherokee simply leaves out.</p><p>For less, the Sportage offers a head-up display (HUD), an expansive panoramic glass roof, a smart power automatic liftgate, a rich Harman Kardon audio system, and significantly more cargo space and passenger room. It genuinely feels like a near-luxury crossover without the luxury price tag.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/93jzAioMWaC6xvh9myq3XC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/b7y8vYX5Nr47td742hdmUC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/tXdzQMSF8yGp6TDbs8b3VC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uFh8eMHkvw7XJc5er92kVC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/afNveEMU97mz6sdvCo7J8C.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/pv7RSVoT6ETWmUSAQBGEGC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/wXtU8Bx9yymCm783E7KxDC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>The Jeep Cherokee certainly puts up a fight with its superior real-world fuel economy, which will save you a few hundred dollars at the pump over time. But when you factor in the lower upfront sticker price, deeper tech roster, upscale creature comforts, and everyday practicality, the Sportage delivers unbeatable bang-for-the-buck value.</p><p><strong>Winner:</strong> Kia Sportage Hybrid</p><h2 class="article-body__section" id="section-jeep-cherokee-vs-kia-sportage-hybrid-verdict"><span>Jeep Cherokee vs. Kia Sportage Hybrid: Verdict</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/4rj2ZrmSYtZyrw5noJqiXC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Y2mS39HwcEhndCgKC5KYtm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/wpxhfAVSeBqYPZL6mVNpgC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Zx9EzM5XbG9NY8LGPPiZLW.gif" alt="2026 Kia Sportage Hybrid test drive features." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/MivYC4FMPhkvtRRyU7z3iC.jpg" alt="2026 Jeep Cherokee review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/PDoWWPn4J26MpWDtDsAqtm.jpg" alt="2026 Kia Sportage Hybrid review." /><figcaption><small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>After tallying up the results, this Jeep Cherokee vs. Kia Sportage Hybrid matchup comes out to a draw. Both compact SUVs bring compelling strengths to the table that make them easy to recommend depending on what you prioritize most, all without spending a fortune.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2026 Jeep Cherokee Limited</strong></p></th><th  ><p><strong>2026 Kia Sportage Hybrid SX-Prestige</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Design</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Driving Performance</strong></p></td><td  ><p>X</p></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Comfort</strong></p></td><td  ></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Value</strong></p></td><td  ></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Total</strong></p></td><td  ><p>3</p></td><td  ><p>3</p></td></tr></tbody></table></div><p>I was genuinely surprised by the 2026 Jeep Cherokee Limited because it delivers superior real-world fuel economy, carves corners with ease, and boasts an athletic stance that is easy to admire. In fact, it stands out as one of the most accessible options in Jeep's lineup — far more approachable than the premium <a href="https://www.tomsguide.com/vehicle-tech/evs/2025-jeep-wagoneer-s-pros-and-cons">Jeep Wagoneer S</a> I tested previously. For drivers who want reliable long-distance efficiency paired with classic road presence, the Cherokee makes a remarkably strong case for itself.</p><p>Still, if I had to throw down my own money right now, I’d lean toward the 2026 Kia Sportage Hybrid SX-Prestige. While it’s a deadlock on paper against the Cherokee, Kia’s generosity with premium features ultimately makes it the unmatched everyday driver at a lower sticker price.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eAAEne"></div>                            </div>                            <script src="https://kwizly.com/embed/eAAEne.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/vehicle-tech/evs/im-not-anxious-that-its-getting-darker-earlier-with-this-thermal-camera-for-my-car-heres-why">I'm not anxious that it's getting darker earlier with this thermal camera for my car — here's why</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/i-borrowed-the-new-nissan-leaf-for-a-day-and-this-affordable-ev-nails-it">I just test drove the new Nissan Leaf — and it's irresistible at under $30,000</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/crabwalking-with-the-gmc-sierra-ev-is-the-weirdest-thing-ive-ever-done-with-a-car-and-its-actually-pretty-useful">CrabWalking with the GMC Sierra EV is the weirdest thing I’ve ever done with a car — and it’s actually pretty useful</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I walked 12,000 steps with the $799 Apple Watch Ultra 3 and the $199 Garmin Cirqa: Here’s which came out on top ]]></title>
                                                                                                <dc:content><![CDATA[ <p>I’ve been writing about fitness trackers for the better part of a decade, and one thing I always do when unboxing a new device is look at how well it does the basics. One of these easy-to-measure basics is how many steps I’ve taken; hence, these Tom’s Guide walking tests were born. </p><p>A few weeks ago, I unboxed the <a href="https://www.tomsguide.com/wellness/fitness-trackers/ive-been-wearing-the-garmin-cirqa-for-3-weeks-here-are-3-things-i-like-and-3-things-id-change">Garmin Cirqa</a> — Garmin’s first screenless tracker, which is set to take on the likes of the <a href="https://www.tomsguide.com/wellness/fitness-trackers/fitbit-air-review">Fitbit Air </a>and the <a href="https://www.tomsguide.com/wellness/fitness-trackers/whoop-5-0-review-should-you-give-a-whoop-about-this-new-tracker">Whoop 5.0</a>. My first walking test compared the Garmin Cirqa to the Fitbit Air, and it was pretty disastrous. Since then, I’ve customized the button on my Cirqa and worn it continuously for the past few weeks. </p><p>To see if things had improved, I strapped it on and walked 12,000 steps with the $799 <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-3-review">Apple Watch Ultra 3</a>. Of course, I don’t think most people would be trying to choose between these two devices — they are extremely different. But I wanted to see how the $199 Cirqa kept up with Apple’s most expensive and smartest smartwatch. Read on to find out which came out on top. </p>        <div class="featured_product_block featured_block_versus" data-id="c9e82358-9bbb-11f1-9e38-7b201bf4628f">            <a href="https://www.amazon.com/Apple-Multisport-Smartwatch-Satellite-Communications/dp/B0FQFHVZYL/" data-model-name="Watch Ultra 3" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:111.44%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/UEFg3q3tMPbexcJCuF8bEZ.png" alt="Apple, Watch Ultra 3"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                            <div class='featured__brand'>Apple </div>                    <div class="featured__title">Watch Ultra 3</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>The Apple Watch Ultra 3 is Apple's smartest smartwatch, with the longest battery life of any Apple Watch, as well as tons of health and fitness tracking features. </p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_versus" data-id="c9e823d0-9bbb-11f1-97d7-db84831046fe">            <a href="https://www.amazon.com/Garmin-CIRQATM-Smart-Subscription-Mauve/dp/B0H94S154D/" data-model-name="Cirqa" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:102.04%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/4evX7WqPWr9jhKZeqqaxnb.png" alt="Garmin, Cirqa"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                            <div class='featured__brand'>Garmin</div>                    <div class="featured__title">Cirqa</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>The Garmin Cirqa is Garmin's newly released screenless tracker with 10 days of battery life and the ability to keep track of all your stats without distractions. </p></p>                </div>                            </div>        </div><h2 id="i-walked-12-000-steps-with-the-799-apple-watch-ultra-3-and-the-199-garmin-cirqa">I walked 12,000 steps with the $799 Apple Watch Ultra 3 and the $199 Garmin Cirqa</h2><p>If you’ve read one of these articles from the Tom’s Guide fitness desk, you’ll know that manually counting 12,000 steps is out of my remit, so I rely on a trusty $5 clicker tool from <a href="https://www.tomsguide.com/uk/tag/amazon">Amazon</a>.</p><p>I manually click every time I take a step. For this test, I wore the Apple Watch Ultra 3 on my left wrist and the Garmin Cirqa on my right. Both trackers count your steps using an internal accelerometer, which measures the swing of your arms.</p><p>Each swing counts for two steps, and it doesn’t matter whether you wear your watch on your dominant or non-dominant hand. It doesn’t matter if you walk with your hands in your pockets or holding a cup of coffee; the accelerometer should still measure your body’s movement. It does, however, make a difference if you’re pushing a stroller — no, Apple, I promise I haven’t done a 45-minute elliptical workout while trying to get my toddler to sleep.</p><p>As with all of the <a href="https://www.tomsguide.com/best-picks/best-apple-watch">best Apple Watche</a>s, the Apple Watch Ultra 3 doesn’t tell you the number of steps you’ve taken during a specific workout; instead, you see an overall number of steps throughout the day. Probably because <a href="https://www.tomsguide.com/wellness/fitness/forget-10000-steps-researchers-say-this-is-way-more-important">steps aren’t actually that useful a metric</a> beyond a certain point, but annoying for me when writing these articles. For this comparison, I downloaded a third-party Pedometer+ app onto my Apple Watch.</p><p>I split this test into three walks, and when I got home, I downloaded all the data and compared the results:</p><div ><table><caption>Walk one </caption><tbody><tr><td class="firstcol " ><p>Manual:</p></td><td  ><p>4,790 steps</p></td></tr><tr><td class="firstcol " ><p>Apple Watch Ultra 3:</p></td><td  ><p>4,706 steps</p></td></tr><tr><td class="firstcol " ><p>Garmin Cirqa:</p></td><td  ><p>4,826 steps</p></td></tr></tbody></table></div><div ><table><caption>Walk two </caption><tbody><tr><td class="firstcol " ><p>Manual:</p></td><td  ><p>3,412 steps</p></td></tr><tr><td class="firstcol " ><p>Apple Watch Ultra 3:</p></td><td  ><p>3,362 steps</p></td></tr><tr><td class="firstcol " ><p>Garmin Cirqa:</p></td><td  ><p>3,420 steps</p></td></tr></tbody></table></div><div ><table><caption>Walk three </caption><tbody><tr><td class="firstcol " ><p>Manual:</p></td><td  ><p>4,373 steps</p></td></tr><tr><td class="firstcol " ><p>Apple Watch Ultra 3:</p></td><td  ><p>4,265 steps </p></td></tr><tr><td class="firstcol " ><p>Garmin Cirqa:</p></td><td  ><p>4,432 steps </p></td></tr></tbody></table></div><div ><table><caption>Results</caption><tbody><tr><td class="firstcol " ><p>Manual:</p></td><td  ><p>12,575 steps </p></td></tr><tr><td class="firstcol " ><p>Apple Watch Ultra 3:</p></td><td  ><p>12,333 steps</p></td></tr><tr><td class="firstcol " ><p>Garmin Cirqa:</p></td><td  ><p>12,678 steps </p></td></tr></tbody></table></div><p>As you can see, this one is incredibly close. The Garmin Cirqa came out on top, but by 100 steps, as it counted 103 steps more than I did manually, whereas the Apple Watch Ultra 3 missed 242 steps.</p><p>It goes without saying that when we’re talking about a hundred steps, this isn’t much at all over the course of 12,000. The average person takes 2,000 steps a mile, so missing or overcounting 100 in the grand scheme of things won’t really make a difference to your tracking. </p><p>It’s also important to point out, again, that I don’t think many people would be choosing between these two devices, as they are designed for very different consumers. Instead, the test was to see how Garmin’s $199 screenless tracker could keep up with a watch four times its price, and I’m impressed. </p><p>One thing I did (which I’m sure made my Garmin Cirqa’s data more accurate) was to customize the activity on the side button. When you unbox the device, it’s automatically set to Timed Activity, and in my experience, these activities don’t give you an accurate step count goal. </p><p>Instead, I changed the button to automatically start a walk. To do this,<strong> head to your Garmin Connect app</strong> and <strong>click the Cirqa icon.</strong> From there, go to <strong>Activity Options </strong>and then<strong> Edit</strong> to change the <strong>On Device </strong>option. </p><p><em><strong>Follow </strong></em><a href="https://www.instagram.com/tomsguidefitness/" target="_blank"><em><strong>Tom's Guide fitness</strong></em></a><em><strong> on Instagram for more workouts, routines, tips, and tricks.</strong></em></p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-OoD6zX"></div>                            </div>                            <script src="https://kwizly.com/embed/OoD6zX.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/can-the-usd99-fitbit-air-beat-the-usd799-apple-watch-ultra-3-at-fitness-tracking-i-manually-counted-4-500-steps-to-find-out">Can the $99 Fitbit Air beat the $799 Apple Watch Ultra 3 at fitness tracking? I manually counted 4,500 steps to find out</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/i-manually-counted-4-000-steps-to-test-the-apple-watch-ultra-3-vs-samsung-galaxy-watch-ultra-2-and-samsung-wins-the-accuracy-battle-with-better-elevation-data-too">I walked 4,000 steps with the Apple Watch Ultra 3 vs Samsung Galaxy Watch Ultra 2 — and the winning margin was razor-thin</a></li><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/oura-whoop-or-fitbit-air-5-questions-to-ask-yourself-before-buying-a-screen-free-fitness-tracker">Oura vs Whoop vs Fitbit Air — 5 questions to ask yourself before buying a screen-free fitness tracker</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/wellness/fitness-trackers/i-walked-12-000-steps-with-the-usd799-apple-watch-ultra-3-and-the-usd199-garmin-cirqa-heres-which-came-out-on-top</link>
                                                                            <description>
                            <![CDATA[ Can the Garmin Cirqa beat a smartwatch four times its price? ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">pRWF4MSYPKAd4Ho6fXmhvd</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/BcpMpprJrMnsMUNjMaE4g4-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 23 Aug 2026 05:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Fitness Trackers]]></category>
                                                    <category><![CDATA[Wellness]]></category>
                                                    <category><![CDATA[Smartwatches]]></category>
                                                                                                <author><![CDATA[ jane.mcguire@futurenet.com (Jane McGuire) ]]></author>                    <dc:creator><![CDATA[ Jane McGuire ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/vV4Uj3e5TZvBqmmsjT2EU6.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jane McGuire is Tom&#039;s Guide&#039;s Fitness Managing Editor, which means she looks after everything fitness-related — from running gear and fitness trackers to yoga mats and sports bras. An avid runner, Jane has tested and reviewed fitness products for the past five years, so she knows what to look for when finding a good running watch or a pair of shorts with pockets big enough for your smartphone, running gels, and house keys. &lt;/p&gt;&lt;p&gt;Jane has run six marathons — the London Marathon five times, and the Berlin Marathon once -and is still on a quest to tick off all of the marathon majors. Her marathon PR is 3:30, which she ran in the New Balance Supercomp Elite V5&#039;s, but she also spends a lot of time talking about her  ‘joy plan’, where she runs for happiness, not for PR’s. &lt;/p&gt;&lt;p&gt;Previous to Tom’s Guide, Jane worked for Runner’s World, where she co-hosted the Runner’s World podcast. She also presents on a YouTube channel called the Run Testers, alongside other running-mad journalists, where they review the latest shoes, kit, and tech. Her work has also appeared in Coach, Get Sweat Go, and Women’s Health. &lt;/p&gt;&lt;p&gt;When she&#039;s not pounding the pavements, you&#039;ll find Jane striding round the Surrey Hills, taking far too many photos of her spaniel, Toby. &lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/BcpMpprJrMnsMUNjMaE4g4-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[the Apple Watch Ultra 3 and Garmin Cirqa on wrist ]]></media:description>                                                            <media:text><![CDATA[the Apple Watch Ultra 3 and Garmin Cirqa on wrist ]]></media:text>
                                <media:title type="plain"><![CDATA[the Apple Watch Ultra 3 and Garmin Cirqa on wrist ]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/BcpMpprJrMnsMUNjMaE4g4-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I’ve been writing about fitness trackers for the better part of a decade, and one thing I always do when unboxing a new device is look at how well it does the basics. One of these easy-to-measure basics is how many steps I’ve taken; hence, these Tom’s Guide walking tests were born. </p><p>A few weeks ago, I unboxed the <a href="https://www.tomsguide.com/wellness/fitness-trackers/ive-been-wearing-the-garmin-cirqa-for-3-weeks-here-are-3-things-i-like-and-3-things-id-change">Garmin Cirqa</a> — Garmin’s first screenless tracker, which is set to take on the likes of the <a href="https://www.tomsguide.com/wellness/fitness-trackers/fitbit-air-review">Fitbit Air </a>and the <a href="https://www.tomsguide.com/wellness/fitness-trackers/whoop-5-0-review-should-you-give-a-whoop-about-this-new-tracker">Whoop 5.0</a>. My first walking test compared the Garmin Cirqa to the Fitbit Air, and it was pretty disastrous. Since then, I’ve customized the button on my Cirqa and worn it continuously for the past few weeks. </p><p>To see if things had improved, I strapped it on and walked 12,000 steps with the $799 <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-3-review">Apple Watch Ultra 3</a>. Of course, I don’t think most people would be trying to choose between these two devices — they are extremely different. But I wanted to see how the $199 Cirqa kept up with Apple’s most expensive and smartest smartwatch. Read on to find out which came out on top. </p>        <div class="featured_product_block featured_block_versus" data-id="c9e82358-9bbb-11f1-9e38-7b201bf4628f">            <a href="https://www.amazon.com/Apple-Multisport-Smartwatch-Satellite-Communications/dp/B0FQFHVZYL/" data-model-name="Watch Ultra 3" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:111.44%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/UEFg3q3tMPbexcJCuF8bEZ.png" alt="Apple, Watch Ultra 3"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                            <div class='featured__brand'>Apple </div>                    <div class="featured__title">Watch Ultra 3</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>The Apple Watch Ultra 3 is Apple's smartest smartwatch, with the longest battery life of any Apple Watch, as well as tons of health and fitness tracking features. </p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_versus" data-id="c9e823d0-9bbb-11f1-97d7-db84831046fe">            <a href="https://www.amazon.com/Garmin-CIRQATM-Smart-Subscription-Mauve/dp/B0H94S154D/" data-model-name="Cirqa" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:102.04%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/4evX7WqPWr9jhKZeqqaxnb.png" alt="Garmin, Cirqa"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                            <div class='featured__brand'>Garmin</div>                    <div class="featured__title">Cirqa</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>The Garmin Cirqa is Garmin's newly released screenless tracker with 10 days of battery life and the ability to keep track of all your stats without distractions. </p></p>                </div>                            </div>        </div><h2 id="i-walked-12-000-steps-with-the-799-apple-watch-ultra-3-and-the-199-garmin-cirqa">I walked 12,000 steps with the $799 Apple Watch Ultra 3 and the $199 Garmin Cirqa</h2><p>If you’ve read one of these articles from the Tom’s Guide fitness desk, you’ll know that manually counting 12,000 steps is out of my remit, so I rely on a trusty $5 clicker tool from <a href="https://www.tomsguide.com/uk/tag/amazon">Amazon</a>.</p><p>I manually click every time I take a step. For this test, I wore the Apple Watch Ultra 3 on my left wrist and the Garmin Cirqa on my right. Both trackers count your steps using an internal accelerometer, which measures the swing of your arms.</p><p>Each swing counts for two steps, and it doesn’t matter whether you wear your watch on your dominant or non-dominant hand. It doesn’t matter if you walk with your hands in your pockets or holding a cup of coffee; the accelerometer should still measure your body’s movement. It does, however, make a difference if you’re pushing a stroller — no, Apple, I promise I haven’t done a 45-minute elliptical workout while trying to get my toddler to sleep.</p><p>As with all of the <a href="https://www.tomsguide.com/best-picks/best-apple-watch">best Apple Watche</a>s, the Apple Watch Ultra 3 doesn’t tell you the number of steps you’ve taken during a specific workout; instead, you see an overall number of steps throughout the day. Probably because <a href="https://www.tomsguide.com/wellness/fitness/forget-10000-steps-researchers-say-this-is-way-more-important">steps aren’t actually that useful a metric</a> beyond a certain point, but annoying for me when writing these articles. For this comparison, I downloaded a third-party Pedometer+ app onto my Apple Watch.</p><p>I split this test into three walks, and when I got home, I downloaded all the data and compared the results:</p><div ><table><caption>Walk one </caption><tbody><tr><td class="firstcol " ><p>Manual:</p></td><td  ><p>4,790 steps</p></td></tr><tr><td class="firstcol " ><p>Apple Watch Ultra 3:</p></td><td  ><p>4,706 steps</p></td></tr><tr><td class="firstcol " ><p>Garmin Cirqa:</p></td><td  ><p>4,826 steps</p></td></tr></tbody></table></div><div ><table><caption>Walk two </caption><tbody><tr><td class="firstcol " ><p>Manual:</p></td><td  ><p>3,412 steps</p></td></tr><tr><td class="firstcol " ><p>Apple Watch Ultra 3:</p></td><td  ><p>3,362 steps</p></td></tr><tr><td class="firstcol " ><p>Garmin Cirqa:</p></td><td  ><p>3,420 steps</p></td></tr></tbody></table></div><div ><table><caption>Walk three </caption><tbody><tr><td class="firstcol " ><p>Manual:</p></td><td  ><p>4,373 steps</p></td></tr><tr><td class="firstcol " ><p>Apple Watch Ultra 3:</p></td><td  ><p>4,265 steps </p></td></tr><tr><td class="firstcol " ><p>Garmin Cirqa:</p></td><td  ><p>4,432 steps </p></td></tr></tbody></table></div><div ><table><caption>Results</caption><tbody><tr><td class="firstcol " ><p>Manual:</p></td><td  ><p>12,575 steps </p></td></tr><tr><td class="firstcol " ><p>Apple Watch Ultra 3:</p></td><td  ><p>12,333 steps</p></td></tr><tr><td class="firstcol " ><p>Garmin Cirqa:</p></td><td  ><p>12,678 steps </p></td></tr></tbody></table></div><p>As you can see, this one is incredibly close. The Garmin Cirqa came out on top, but by 100 steps, as it counted 103 steps more than I did manually, whereas the Apple Watch Ultra 3 missed 242 steps.</p><p>It goes without saying that when we’re talking about a hundred steps, this isn’t much at all over the course of 12,000. The average person takes 2,000 steps a mile, so missing or overcounting 100 in the grand scheme of things won’t really make a difference to your tracking. </p><p>It’s also important to point out, again, that I don’t think many people would be choosing between these two devices, as they are designed for very different consumers. Instead, the test was to see how Garmin’s $199 screenless tracker could keep up with a watch four times its price, and I’m impressed. </p><p>One thing I did (which I’m sure made my Garmin Cirqa’s data more accurate) was to customize the activity on the side button. When you unbox the device, it’s automatically set to Timed Activity, and in my experience, these activities don’t give you an accurate step count goal. </p><p>Instead, I changed the button to automatically start a walk. To do this,<strong> head to your Garmin Connect app</strong> and <strong>click the Cirqa icon.</strong> From there, go to <strong>Activity Options </strong>and then<strong> Edit</strong> to change the <strong>On Device </strong>option. </p><p><em><strong>Follow </strong></em><a href="https://www.instagram.com/tomsguidefitness/" target="_blank"><em><strong>Tom's Guide fitness</strong></em></a><em><strong> on Instagram for more workouts, routines, tips, and tricks.</strong></em></p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-OoD6zX"></div>                            </div>                            <script src="https://kwizly.com/embed/OoD6zX.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/can-the-usd99-fitbit-air-beat-the-usd799-apple-watch-ultra-3-at-fitness-tracking-i-manually-counted-4-500-steps-to-find-out">Can the $99 Fitbit Air beat the $799 Apple Watch Ultra 3 at fitness tracking? I manually counted 4,500 steps to find out</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/i-manually-counted-4-000-steps-to-test-the-apple-watch-ultra-3-vs-samsung-galaxy-watch-ultra-2-and-samsung-wins-the-accuracy-battle-with-better-elevation-data-too">I walked 4,000 steps with the Apple Watch Ultra 3 vs Samsung Galaxy Watch Ultra 2 — and the winning margin was razor-thin</a></li><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/oura-whoop-or-fitbit-air-5-questions-to-ask-yourself-before-buying-a-screen-free-fitness-tracker">Oura vs Whoop vs Fitbit Air — 5 questions to ask yourself before buying a screen-free fitness tracker</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I walked 4,000 steps with the Pixel Watch 5 vs Samsung Galaxy Watch 9 — and we have a new Android champ ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Which 2026 smartwatch is the more accurate fitness tracker, the <a href="https://www.tomsguide.com/wellness/smartwatches/google-pixel-watch5-review">Google Pixel Watch 5 </a>or the <a href="https://www.tomsguide.com/wellness/smartwatches/5-things-to-know-about-the-new-samsung-galaxy-watch-9">Samsung Galaxy Watch 9</a>? I just had to know.</p><p>So, I did what any tech geek with access to both devices and two wrists would do: I strapped one to each arm, logged a ~35-minute walk, and then compared the data. As a primary control for accuracy, I manually counted all 4,000 steps.</p><p>I also tracked the walk using the Strava app on my iPhone 16 Plus. Find the results of this comparison between the <a href="https://www.tomsguide.com/wellness/smartwatches/pixel-watch-5-vs-samsung-galaxy-watch-9-5-key-differences-you-need-to-know">Pixel Watch 5 and Galaxy Watch 9</a>, and key takeaways, below.  </p><h3 class="article-body__section" id="section-i-walked-4-000-steps-with-the-samsung-galaxy-watch-9-vs-google-pixel-watch-5"><span>I walked 4,000 steps with the Samsung Galaxy Watch 9 vs Google Pixel Watch 5</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5408px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="r8eU5UpsMnb4H9VFcKFJiV" name="Galaxy9-Pixel5-04" alt="Close-up of the Samsung Galaxy Watch 9 next to the Google Pixel Watch 5" src="https://cdn.mos.cms.futurecdn.net/r8eU5UpsMnb4H9VFcKFJiV.jpg" mos="" align="middle" fullscreen="" width="5408" height="3042" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>So, which of these flagship Android wearables —  two of the <a href="https://www.tomsguide.com/wellness/smartwatches/best-smartwatch">best smartwatches</a> around —  is the more competent fitness tracker: the Galaxy Watch 9 or Pixel Watch 5? Have a look for yourself. </p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Pixel Watch 5</p></th><th  ><p>Galaxy Watch 9</p></th><th  ><p>Control</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Steps</strong></p></td><td  ><p>4,010 steps</p></td><td  ><p>4,017 steps</p></td><td  ><p> 4,000 steps (manual count)</p></td></tr><tr><td class="firstcol " ><p><strong>Distance</strong></p></td><td  ><p>2.07 miles</p></td><td  ><p>2.06 miles</p></td><td  ><p>2.11 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Climb</strong></p></td><td  ><p>229 feet</p></td><td  ><p>254 feet</p></td><td  ><p>233 feet</p></td></tr><tr><td class="firstcol " ><p><strong>Average pace</strong></p></td><td  ><p>19 mins 23 secs per mile</p></td><td  ><p>18 mins 24 secs per mile</p></td><td  ><p>17 mins 54 secs per mile</p></td></tr><tr><td class="firstcol " ><p><strong>Average heart rate</strong></p></td><td  ><p>139 bpm</p></td><td  ><p>102 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Max heart rate</strong></p></td><td  ><p>160 bpm</p></td><td  ><p>128 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Calories burned</strong></p></td><td  ><p>410 total calories</p></td><td  ><p>219 total calories</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Battery usage</strong></p></td><td  ><p>4%</p></td><td  ><p>7%</p></td><td  ><p>n/a</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-google-s-step-count-was-closer"><span>Google's step count was closer</span></h3><p>As you can see, both the Samsung Galaxy Watch 9 and Google Pixel Watch 5 logged step count totals within 20 steps of my actual count, which is a seriously impressive and commendable result. However, in the interest of friendly competition and this article, the Pixel Watch officially wins in this category. </p><h3 class="article-body__section" id="section-the-pixel-watch-also-logged-more-accurate-climb-and-distance-data"><span>The Pixel Watch also logged more accurate climb and distance data</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4182px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="Su4KjbbvHMUJPbJL3EjFJV" name="Galaxy9-Pixel5-01" alt="Close-up of the Samsung Galaxy Watch 9 next to the Google Pixel Watch 5" src="https://cdn.mos.cms.futurecdn.net/Su4KjbbvHMUJPbJL3EjFJV.jpg" mos="" align="middle" fullscreen="" width="4182" height="2353" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Again, both the Google Pixel Watch 5 and the Samsung Galaxy Watch 9 performed extremely well when it came to accurately logging distance and climb. That said, the Pixel Watch's data was again closer to the control on both counts.</p><h3 class="article-body__section" id="section-google-s-pace-data-is-slower-than-expected"><span>Google's pace data is slower than expected</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5322px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="ryz4WsgNuzbFG2wC9R8VKk" name="GalaxyWatch9-03" alt="Close-up of the Samsung Galaxy Watch 9 in white" src="https://cdn.mos.cms.futurecdn.net/ryz4WsgNuzbFG2wC9R8VKk.jpg" mos="" align="middle" fullscreen="" width="5322" height="2994" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Despite logging more precise distance, climb, and steps, the Pixel Watch 5 reported an oddly slow average pace for my walk. Not only is it more than a minute slower than Strava's pace, but it's also lower than pretty much every pace metric I've recorded during one of these walk test comparisons (and I've done <em>many</em>). </p><h3 class="article-body__section" id="section-samsung-s-heart-rate-data-is-lower-than-expected"><span>Samsung's heart rate data is lower than expected</span></h3><p>Speaking of strange results, Samsung's heart rate data for this comparison is way lower than expected. Again, I've done lots of these comparisons, and from the cumulative results, I generally expect an average heart rate of around 125 bpm and a max of around 160 bpm. </p><p>That may seem high, but keep in mind I am a brisk walker and purposely take steep, hilly routes to thoroughly assess elevation-tracking accuracy.  That said, Google's average heart rate is also strangely high, even if its max heart rate metric appears to be on the money.</p><h3 class="article-body__section" id="section-the-google-pixel-watch-5-wins"><span>The Google Pixel Watch 5 wins</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3982px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="UedGRJgfxxBpcTJLDkJwmi" name="Google Pixel Watch 5-LIST2" alt="Close-up of the Pixel Watch 5 in 45mm on a user's wrist" src="https://cdn.mos.cms.futurecdn.net/UedGRJgfxxBpcTJLDkJwmi.jpg" mos="" align="middle" fullscreen="" width="3982" height="2240" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Ultimately, in this fitness tracking accuracy comparison between the Google Pixel Watch 5 and the Samsung Galaxy Watch 9, the Pixel Watch takes home the trophy, with more accurate step count, distance, and climb data. </p><p>The Samsung Galaxy Watch 9 also performed well at tracking most of my key metrics, with the exception of its questionably low heart rate recording, which I plan to investigate further as I work toward publishing a full review. Stay tuned for that!</p><p>In the meantime, what smartwatches, fitness trackers, or other wearables should I test head-to-head next? Let me know in the comments below. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XjarYO"></div>                            </div>                            <script src="https://kwizly.com/embed/XjarYO.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/i-walked-5-000-steps-with-the-fitbit-air-vs-garmin-cirqa-round-2-we-have-a-new-champ"><strong>I walked 5,000 steps with the Fitbit Air vs Garmin Cirqa — Round 2: We have a new champ</strong></a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/galaxy-watch-ultra-2-hands-on-review"><strong>I’ve been wearing the Samsung Galaxy Watch Ultra 2 for nearly a week — 5 things I like and 1 thing I don’t</strong></a></li><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/ive-tested-over-100-fitness-trackers-head-to-head-3-workout-stats-i-trust-the-least"><strong>I’ve tested over 100 fitness trackers head-to-head — 3 workout stats I trust the least</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/wellness/fitness-trackers/i-walked-4-000-steps-with-the-pixel-watch-5-vs-samsung-galaxy-watch-9-and-we-have-a-new-android-champ</link>
                                                                            <description>
                            <![CDATA[ Samsung Galaxy Watch 9 or Google Pixel Watch 5: which is the more accurate fitness tracker? I decided to find out by logging a workout with one on either wrist and comparing the data. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">xbpmp6ap4AYkcVfRpfV4w8</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/cHa3NJgTZQ6WEMqK2PhBiU-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 22 Aug 2026 05:30:00 +0000</pubDate>                                                                                                                                <updated>Sat, 22 Aug 2026 12:20:38 +0000</updated>
                                                                                                                                            <category><![CDATA[Fitness Trackers]]></category>
                                                    <category><![CDATA[Wellness]]></category>
                                                    <category><![CDATA[Smartwatches]]></category>
                                                                                                <author><![CDATA[ dan.bracaglia@futurenet.com (Dan Bracaglia) ]]></author>                    <dc:creator><![CDATA[ Dan Bracaglia ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/3Ev8EFrheNxPemMWSBaKcK.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;&lt;br&gt;&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/cHa3NJgTZQ6WEMqK2PhBiU-1280-80.jpg">
                                                            <media:credit><![CDATA[Dan Bracaglia/Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Close-up of the Samsung Galaxy Watch 9 next to the Google Pixel Watch 5]]></media:description>                                                            <media:text><![CDATA[Close-up of the Samsung Galaxy Watch 9 next to the Google Pixel Watch 5]]></media:text>
                                <media:title type="plain"><![CDATA[Close-up of the Samsung Galaxy Watch 9 next to the Google Pixel Watch 5]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/cHa3NJgTZQ6WEMqK2PhBiU-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Which 2026 smartwatch is the more accurate fitness tracker, the <a href="https://www.tomsguide.com/wellness/smartwatches/google-pixel-watch5-review">Google Pixel Watch 5 </a>or the <a href="https://www.tomsguide.com/wellness/smartwatches/5-things-to-know-about-the-new-samsung-galaxy-watch-9">Samsung Galaxy Watch 9</a>? I just had to know.</p><p>So, I did what any tech geek with access to both devices and two wrists would do: I strapped one to each arm, logged a ~35-minute walk, and then compared the data. As a primary control for accuracy, I manually counted all 4,000 steps.</p><p>I also tracked the walk using the Strava app on my iPhone 16 Plus. Find the results of this comparison between the <a href="https://www.tomsguide.com/wellness/smartwatches/pixel-watch-5-vs-samsung-galaxy-watch-9-5-key-differences-you-need-to-know">Pixel Watch 5 and Galaxy Watch 9</a>, and key takeaways, below.  </p><h3 class="article-body__section" id="section-i-walked-4-000-steps-with-the-samsung-galaxy-watch-9-vs-google-pixel-watch-5"><span>I walked 4,000 steps with the Samsung Galaxy Watch 9 vs Google Pixel Watch 5</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5408px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="r8eU5UpsMnb4H9VFcKFJiV" name="Galaxy9-Pixel5-04" alt="Close-up of the Samsung Galaxy Watch 9 next to the Google Pixel Watch 5" src="https://cdn.mos.cms.futurecdn.net/r8eU5UpsMnb4H9VFcKFJiV.jpg" mos="" align="middle" fullscreen="" width="5408" height="3042" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>So, which of these flagship Android wearables —  two of the <a href="https://www.tomsguide.com/wellness/smartwatches/best-smartwatch">best smartwatches</a> around —  is the more competent fitness tracker: the Galaxy Watch 9 or Pixel Watch 5? Have a look for yourself. </p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Pixel Watch 5</p></th><th  ><p>Galaxy Watch 9</p></th><th  ><p>Control</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Steps</strong></p></td><td  ><p>4,010 steps</p></td><td  ><p>4,017 steps</p></td><td  ><p> 4,000 steps (manual count)</p></td></tr><tr><td class="firstcol " ><p><strong>Distance</strong></p></td><td  ><p>2.07 miles</p></td><td  ><p>2.06 miles</p></td><td  ><p>2.11 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Climb</strong></p></td><td  ><p>229 feet</p></td><td  ><p>254 feet</p></td><td  ><p>233 feet</p></td></tr><tr><td class="firstcol " ><p><strong>Average pace</strong></p></td><td  ><p>19 mins 23 secs per mile</p></td><td  ><p>18 mins 24 secs per mile</p></td><td  ><p>17 mins 54 secs per mile</p></td></tr><tr><td class="firstcol " ><p><strong>Average heart rate</strong></p></td><td  ><p>139 bpm</p></td><td  ><p>102 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Max heart rate</strong></p></td><td  ><p>160 bpm</p></td><td  ><p>128 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Calories burned</strong></p></td><td  ><p>410 total calories</p></td><td  ><p>219 total calories</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Battery usage</strong></p></td><td  ><p>4%</p></td><td  ><p>7%</p></td><td  ><p>n/a</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-google-s-step-count-was-closer"><span>Google's step count was closer</span></h3><p>As you can see, both the Samsung Galaxy Watch 9 and Google Pixel Watch 5 logged step count totals within 20 steps of my actual count, which is a seriously impressive and commendable result. However, in the interest of friendly competition and this article, the Pixel Watch officially wins in this category. </p><h3 class="article-body__section" id="section-the-pixel-watch-also-logged-more-accurate-climb-and-distance-data"><span>The Pixel Watch also logged more accurate climb and distance data</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4182px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="Su4KjbbvHMUJPbJL3EjFJV" name="Galaxy9-Pixel5-01" alt="Close-up of the Samsung Galaxy Watch 9 next to the Google Pixel Watch 5" src="https://cdn.mos.cms.futurecdn.net/Su4KjbbvHMUJPbJL3EjFJV.jpg" mos="" align="middle" fullscreen="" width="4182" height="2353" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Again, both the Google Pixel Watch 5 and the Samsung Galaxy Watch 9 performed extremely well when it came to accurately logging distance and climb. That said, the Pixel Watch's data was again closer to the control on both counts.</p><h3 class="article-body__section" id="section-google-s-pace-data-is-slower-than-expected"><span>Google's pace data is slower than expected</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5322px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="ryz4WsgNuzbFG2wC9R8VKk" name="GalaxyWatch9-03" alt="Close-up of the Samsung Galaxy Watch 9 in white" src="https://cdn.mos.cms.futurecdn.net/ryz4WsgNuzbFG2wC9R8VKk.jpg" mos="" align="middle" fullscreen="" width="5322" height="2994" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Despite logging more precise distance, climb, and steps, the Pixel Watch 5 reported an oddly slow average pace for my walk. Not only is it more than a minute slower than Strava's pace, but it's also lower than pretty much every pace metric I've recorded during one of these walk test comparisons (and I've done <em>many</em>). </p><h3 class="article-body__section" id="section-samsung-s-heart-rate-data-is-lower-than-expected"><span>Samsung's heart rate data is lower than expected</span></h3><p>Speaking of strange results, Samsung's heart rate data for this comparison is way lower than expected. Again, I've done lots of these comparisons, and from the cumulative results, I generally expect an average heart rate of around 125 bpm and a max of around 160 bpm. </p><p>That may seem high, but keep in mind I am a brisk walker and purposely take steep, hilly routes to thoroughly assess elevation-tracking accuracy.  That said, Google's average heart rate is also strangely high, even if its max heart rate metric appears to be on the money.</p><h3 class="article-body__section" id="section-the-google-pixel-watch-5-wins"><span>The Google Pixel Watch 5 wins</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3982px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="UedGRJgfxxBpcTJLDkJwmi" name="Google Pixel Watch 5-LIST2" alt="Close-up of the Pixel Watch 5 in 45mm on a user's wrist" src="https://cdn.mos.cms.futurecdn.net/UedGRJgfxxBpcTJLDkJwmi.jpg" mos="" align="middle" fullscreen="" width="3982" height="2240" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Ultimately, in this fitness tracking accuracy comparison between the Google Pixel Watch 5 and the Samsung Galaxy Watch 9, the Pixel Watch takes home the trophy, with more accurate step count, distance, and climb data. </p><p>The Samsung Galaxy Watch 9 also performed well at tracking most of my key metrics, with the exception of its questionably low heart rate recording, which I plan to investigate further as I work toward publishing a full review. Stay tuned for that!</p><p>In the meantime, what smartwatches, fitness trackers, or other wearables should I test head-to-head next? Let me know in the comments below. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XjarYO"></div>                            </div>                            <script src="https://kwizly.com/embed/XjarYO.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/i-walked-5-000-steps-with-the-fitbit-air-vs-garmin-cirqa-round-2-we-have-a-new-champ"><strong>I walked 5,000 steps with the Fitbit Air vs Garmin Cirqa — Round 2: We have a new champ</strong></a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/galaxy-watch-ultra-2-hands-on-review"><strong>I’ve been wearing the Samsung Galaxy Watch Ultra 2 for nearly a week — 5 things I like and 1 thing I don’t</strong></a></li><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/ive-tested-over-100-fitness-trackers-head-to-head-3-workout-stats-i-trust-the-least"><strong>I’ve tested over 100 fitness trackers head-to-head — 3 workout stats I trust the least</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ TCL QM8L vs QM7L: Which SQD Mini-LED TV tested better in our lab? ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The <a href="https://www.tomsguide.com/tvs/qled-tvs/tcl-sqd-mini-led-qm8l-75-inch-tv-review">TCL QM8L</a> is an all-new, Mini-LED TV that leverages Super Quantum Dot (SQD) display technology for brighter, bolder color. According to our test results, the QM8L's picture is, indeed, quite punchy, and the QM8L rounds out its impressive performance with a thorough collection of features.</p><p>The <a href="https://www.tomsguide.com/tvs/qled-tvs/tcl-qm7l-review">TCL QM7L</a> is the brand's mid-range Mini-LED TV for 2026. Like its step-up sibling, the QM7L also leverages SQD technology, and while it's not as impressive-looking as the QM8L, it's much more affordable.</p><p>If you're in the market for a bright, high-performance Mini-LED TV this year, the choice may come down to one of these two TCL TVs. Here's how they compare — from performance to features and price.</p>        <div class="featured_product_block featured_block_versus" data-id="62014036-9caf-11f1-a99a-232066656406">            <a href="https://www.tomsguide.com/tvs/qled-tvs/tcl-sqd-mini-led-qm8l-75-inch-tv-review" data-model-name="TCL QM8L" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/y6zxm2KoohC6JFqu4fBaof.jpg" alt="The TCL QM8L SQD Mini-LED TV"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                                                <div class="featured__title">TCL QM8L</div>                                    </div>                <div class="subtitle__description">                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="80" /></span></div>                                        <p><p>The QM8L is a flagship-level TV that leverages TCL's newest display technology to enhance its color and overall brightness. Its performance is reflective of its higher price tag, and the QM8L also comes with a ton of features, too.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_versus" data-id="620140b8-9caf-11f1-8295-dbf3804fc356">            <a href="https://www.tomsguide.com/tvs/qled-tvs/tcl-qm7l-review" data-model-name="TCL QM7L,TCL QM7L 75-inch TV" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/dmQvthmnqDJWtBsrEduZaK.jpg" alt="TCL QM7L SQD Mini-LED TV"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                                                <div class="featured__title">TCL QM7L</div>                                    </div>                <div class="subtitle__description">                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star half"></span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="90" /></span></div>                                        <p><p>The QM7L is TCL's mid-range Mini-LED TV for 2026, and like the QM8L, it delivers an exceptionally bright, color picture for its class. The QM8L is a better-performing TV all around, but the QM7L's friendlier price tag make it a better pick for most people.</p></p>                </div>                            </div>        </div><h2 id="tcl-qm8l-vs-qm7l-specs-compared">TCL QM8L vs QM7L: Specs compared</h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>TCL QM8L</p></th><th  ><p>TCL QM7L</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Sizes</strong></p></td><td  ><p>65", 75", 85", 98"</p></td><td  ><p>55", 65", 75", 85", 98"</p></td></tr><tr><td class="firstcol " ><p><strong>Ports</strong></p></td><td  ><p>4x HDMI 2.1</p></td><td  ><p>2x HDMI 2.1, 2x HDMI 2.0</p></td></tr><tr><td class="firstcol " ><p><strong>Resolution</strong></p></td><td  ><p>3,840 x 2,160p</p></td><td  ><p>3,840 x 2,160p</p></td></tr><tr><td class="firstcol " ><p><strong>Refresh rate</strong></p></td><td  ><p>144Hz</p></td><td  ><p>144Hz</p></td></tr><tr><td class="firstcol " ><p><strong>HDR</strong></p></td><td  ><p>Dolby Vision, HDR10+, HDR10, HLG</p></td><td  ><p>Dolby Vision, HDR10+, HDR10, HLG</p></td></tr><tr><td class="firstcol " ><p><strong>Smart TV software</strong></p></td><td  ><p>Google TV</p></td><td  ><p>Google TV</p></td></tr><tr><td class="firstcol " ><p><strong>ATSC 3.0 support?</strong></p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>TSR AI Pro Processor</p></td><td  ><p>TSR AI Pro Processor</p></td></tr></tbody></table></div><p>When it comes to their respective spec sheets, there are two significant differences worth unpacking: size availability and HDMI functionality.</p><p>While the QM8L is available in four sizes ranging from 65 to 98 inches, the QM7L is available five sizes between 55 and 98 inches. If you're in the market for something smaller than a 65-inch screen, the QM7L has you covered.</p><p>On the other hand, although both sets arrive with the standard set of four total HDMI inputs, only two of the QM7L's inputs offer HDMI 2.1 compatibility. Folks who spend up on the QM8L will enjoy a full suite of HDMI 2.1-compatible inputs.</p><p>With four high-bandwidth ports, the QM8L offers a bit more flexibility, as they all support 4K content at 120Hz (and up to 144Hz with VRR). Fortunately, the QM7L's dedicated eARC input doesn't overlap with one of its high-bandwidth inputs.</p><p>The QM7L's additional, 55-inch screen will matter more to people shopping for that screen size than its lack of two additional HDMI 2.1 inputs, but the QM8L's added flexibility here is more likely to affect a wider swath of people shopping in this price range.</p><p><em><strong>Winner: </strong></em><em>TCL QM8L</em></p><h2 id="tcl-qm8l-vs-qm7l-design">TCL QM8L vs QM7L: Design</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="d8mR67WQMwWr25Zdb7Um9h" name="TCL-75QM8L-TV-15" alt="The back of a TCL QM8L TV" src="https://cdn.mos.cms.futurecdn.net/d8mR67WQMwWr25Zdb7Um9h.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Due to the nature of its relatively complex display hardware, the TCL QM8L (seen above) is bulkier than many high-end LED TVs. That said, its design is quite refined despite the added bulk.</p><p>The QM8L's panel sits on top of heavy, pedestal-style stand that sits below the center of the screen. While the stand design introduces slightly more wobble than what you'll typically experience with a pair of wide-set feet, the placement of the pedestal lets people to place the QM8L on a narrower piece of furniture if they so choose.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Yr86FrXitSAoCWjQX6t23J" name="TCL-75QM7L-TV--21" alt="The back of a TCL QM7L 75-inch TV" src="https://cdn.mos.cms.futurecdn.net/Yr86FrXitSAoCWjQX6t23J.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>As you can see from the photo above, the QM7L is nearly identical in its design approach. Its panel also bulges out around the middle, and it features a similar, pedestal-style stand.</p><p>The stands on both sets can be attached in two height configurations. This is particularly convenient for people with tall soundbars.</p><p>Additionally, both TVs ship with nearly identical, conveniently backlit remote controls. The QM8L's remote has a brightness rocker on its side.</p><p>Given the similarities, this category is too close to call. The QM8L and QM7L aren't as slim and premium-feeling as other TVs in their price range, but both of these sets are among the best-designed TCL TVs I've seen this year.</p><p><em><strong>Winner:</strong></em><em> Draw</em></p><h2 id="tcl-qm8l-vs-qm7l-performance">TCL QM8L vs QM7L: Performance</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="DnhAwkBgkVZofXCUfBbsVc" name="TCL-75QM8L-TV-1-LIST" alt="A 75-inch TCL QM8L TV on a desk" src="https://cdn.mos.cms.futurecdn.net/DnhAwkBgkVZofXCUfBbsVc.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Before we dig deeper into how these TVs look, let's compare their test results. (Both TVs were in their respective Filmmaker picture modes when these tests were taken.)</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>TCL QM8L</strong></p></th><th  ><p><strong>TCL QM7L</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>SDR Brightness (10%, in nits)    </strong></p></td><td  ><p>229</p></td><td  ><p>196</p></td></tr><tr><td class="firstcol " ><p><strong>Delta-E (lower is better)    </strong></p></td><td  ><p>3.7</p></td><td  ><p>2.6</p></td></tr><tr><td class="firstcol " ><p><strong>HDR Brightness (10%, in nits)    </strong></p></td><td  ><p>3,719</p></td><td  ><p>2,270</p></td></tr><tr><td class="firstcol " ><p><strong>UHDA-P3 Gamut Coverage    </strong></p></td><td  ><p>97.97%</p></td><td  ><p>97.64%</p></td></tr><tr><td class="firstcol " ><p><strong>Rec.2020 Gamut Coverage    </strong></p></td><td  ><p>90.34% </p></td><td  ><p>90.28%</p></td></tr><tr><td class="firstcol " ><p><strong>Input latency (milliseconds)   </strong></p></td><td  ><p>9.5</p></td><td  ><p>9.4</p></td></tr></tbody></table></div><p>The story of these TVs is rather simple. They're two of the first TVs to feature TCL's souped-up, quantum dot-based technology, Super Quantum Dot. Both the QM8L and QM7L deliver a wider array of color than previous TCL QLEDs thanks to a new color filter and a major reworking of the brand's picture processing algorithms.</p><p>However, according to our test results, the QM8L carries a significant advantage over the QM7L: peak brightness.</p><p>The QM8L is capable of driving way more brightness to small, concentrated areas of the picture, resulting in a punchier, more-cinematic look during certain content mastered in HDR. Additionally, its full-screen brightness in both SDR and HDR is slightly higher than that of the QM7L.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="uMLFconvVq2gEVGqSYEM7J" name="TCL-75QM7L-TV--6" alt="TCL QM7L 75-inch TV on a desk" src="https://cdn.mos.cms.futurecdn.net/uMLFconvVq2gEVGqSYEM7J.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><div><blockquote><p>The QM8L carries a significant advantage over the QM7L: peak brightness.</p></blockquote></div><p>Somewhat surprisingly, the QM8L's added brightness doesn't make <em>that</em> big of a difference when it comes to color. You might notice better saturation of dark, low-luminance color on the QM8L, but for the most part, the QM7L does an excellent job of keeping up here.</p><p>In many viewing conditions, the real difference-maker is the QM8L's first-rate array of Mini-LEDs. Both the QM7L and QM8L do a terrific job of limiting haloing, but the QM8L is a step above the QM7L in this regard.</p><p>Everything else — color accuracy, input latency and upscaling — is very close. But if you're looking for the best-possible performance, the QM8L's added brightness and superior backlight control will be appealing to you.</p><p><em><strong>Winner:</strong></em><em> TCL QM8L</em></p><h2 id="tcl-qm8l-vs-qm7l-smart-platform-and-features">TCL QM8L vs QM7L: Smart platform and features</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="rKFT26Nuo5fc4ycgaECXPc" name="TCL-75QM8L-TV-13" alt="A 75-inch TCL QM8L TV on a desk" src="https://cdn.mos.cms.futurecdn.net/rKFT26Nuo5fc4ycgaECXPc.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Both TVs are built around the Google TV streaming platform, and they perform similarly. Google TV is one of my preferred streaming platforms (just behind Roku), as it's easy to navigate and supports nearly every streaming service and app you'd want on a smart TV.</p><p>The QM8L and QM7L both come with a similar set gaming features, too. These include Variable Refresh Rate (VRR) and AMD FreeSync Premium Pro (for smooth, artifact-free gaming), as well as TCL's Game Bar, a quick-access menu that lets users access the key gaming features instantly.</p><p>Each set supports 4K gaming at 120Hz, the highest 4K spec among current-generation consoles like Xbox Series X and PlayStation 5. With a gaming PC linked up, both TVs support 4K games at 144Hz, too. </p><p>As a reminder, the QM7L comes with just two HDMI 2.1-compatible inputs. In order to access those gaming enhancements, you've got to use one of those ports. The QM8L, on the other hand, comes with four.</p><p>That said, we've already settled this when comparing specs. In almost every other way that matters to the average viewer, the QM8L and QM7L roll with a similar set of features.</p><p><em><strong>Winner:  </strong></em><em>Draw</em></p><h2 id="tcl-qm8l-vs-qm7l-outlook">TCL QM8L vs QM7L: outlook</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="VNSKSDVTVvCA2Z4dcHFc2J" name="TCL-75QM7L-TV--7" alt="TCL QM7L 75-inch TV on a desk" src="https://cdn.mos.cms.futurecdn.net/VNSKSDVTVvCA2Z4dcHFc2J.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>TCL QM8L</p></th><th  ><p>TCL QM7L</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Specs (25)</strong></p></td><td  ><p>23</p></td><td  ><p>22</p></td></tr><tr><td class="firstcol " ><p><strong>Design (25)</strong></p></td><td  ><p>22</p></td><td  ><p>22</p></td></tr><tr><td class="firstcol " ><p><strong>Performance (25)</strong></p></td><td  ><p>23</p></td><td  ><p>22</p></td></tr><tr><td class="firstcol " ><p><strong>Features (25)</strong></p></td><td  ><p>23</p></td><td  ><p>23</p></td></tr><tr><td class="firstcol " ><p><strong>Total Score (100)</strong></p></td><td  ><p><strong>91</strong></p></td><td  ><p><strong>89</strong></p></td></tr></tbody></table></div><p>In our full review of each TV, the QM8L received a four-star rating and the QM7L earned a slightly higher, four-and-a-half-star rating. As you can see, however, the tally above has the QM8L at two points higher than its mid-range sibling. So, what gives?</p><p>Well, it all comes down to value. Right now, the <a href="https://www.bestbuy.com/product/tcl-65-class-qm8l-series-4k-uhd-hdr-sqd-mini-led-smart-tv-with-google-tv-2026/J36QYTH359" target="_blank" rel="nofollow">65-inch TCL QM8L is $1,399 at Best Buy</a>. That's a fantastic sale price, considering that this model launched at $2,499.</p><p>But the <a href="https://www.bestbuy.com/product/tcl-65-class-qm7l-series-4k-uhd-hdr-sqd-mini-led-smart-tv-with-google-tv-2026/J36QYTHL6R" target="_blank" rel="nofollow">65-inch QM7L is just $1,199 at Best Buy</a> at the time of publishing (down from its original price of $1,499). That's $200 bucks cheaper than the QM8L. Plus, the QM7L is available in a 55-inch model, which is a popular screen size for people who shop in the QM7L's mid-tier price range. For this reason, it has wider appeal.</p><p>While the QM8L delivers a brighter, better-looking picture overall, I suspect that most shoppers would be almost as impressed by the QM7L — and walk away with an extra $200 in their pocket, too.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WQA6zW"></div>                            </div>                            <script src="https://kwizly.com/embed/WQA6zW.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/tvs/qled-tvs/tcl-sqd-mini-led-qm8l-75-inch-tv-review">TCL QM8L review</a></li><li><a href="https://www.tomsguide.com/tvs/qled-tvs/tcl-qm7l-review">TCL QM7L review</a></li><li><a href="https://www.tomsguide.com/tvs/the-ram-crisis-came-for-computers-first-and-now-its-coming-for-tvs-heres-why-i-recommend-upgrading-while-you-still-can">The RAM crisis came for computers first and now it's coming for TVs — here's why I recommend upgrading while you still can</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/tvs/4k-tvs/tcl-qm8l-vs-qm7l-which-sqd-mini-led-tv-tested-better-in-our-lab</link>
                                                                            <description>
                            <![CDATA[ The TCL QM8L and QM7L are all-new, Super Quantum Dot (SQD) Mini-LED TVs for 2026. Here's how they compare — from performance to features and price. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">vAw5j3q2VxwB8jC8fcy7TK</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/CaRXmkjmKphSWU67ZAdveW-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 21 Aug 2026 09:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[4k TVs]]></category>
                                                    <category><![CDATA[TVs]]></category>
                                                                                                <author><![CDATA[ michael.desjardin@futurenet.com (Michael Desjardin) ]]></author>                    <dc:creator><![CDATA[ Michael Desjardin ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/esytxRqW9GNVZNVCf7BFyV.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Michael Desjardin is a Senior Editor for TVs at Tom&#039;s Guide. He&#039;s been testing and tinkering with TVs professionally for over a decade, previously for Reviewed and USA Today. Michael studied media production and screenwriting at Emerson College. He loves cooking, zoning out to ambient music, and getting way too invested in the Red Sox. He considers himself living proof that TV doesn&#039;t necessarily rot your brain.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/CaRXmkjmKphSWU67ZAdveW-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The TCL QM8L and the QM7L in a side-by-side composite]]></media:description>                                                            <media:text><![CDATA[The TCL QM8L and the QM7L in a side-by-side composite]]></media:text>
                                <media:title type="plain"><![CDATA[The TCL QM8L and the QM7L in a side-by-side composite]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/CaRXmkjmKphSWU67ZAdveW-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The <a href="https://www.tomsguide.com/tvs/qled-tvs/tcl-sqd-mini-led-qm8l-75-inch-tv-review">TCL QM8L</a> is an all-new, Mini-LED TV that leverages Super Quantum Dot (SQD) display technology for brighter, bolder color. According to our test results, the QM8L's picture is, indeed, quite punchy, and the QM8L rounds out its impressive performance with a thorough collection of features.</p><p>The <a href="https://www.tomsguide.com/tvs/qled-tvs/tcl-qm7l-review">TCL QM7L</a> is the brand's mid-range Mini-LED TV for 2026. Like its step-up sibling, the QM7L also leverages SQD technology, and while it's not as impressive-looking as the QM8L, it's much more affordable.</p><p>If you're in the market for a bright, high-performance Mini-LED TV this year, the choice may come down to one of these two TCL TVs. Here's how they compare — from performance to features and price.</p>        <div class="featured_product_block featured_block_versus" data-id="62014036-9caf-11f1-a99a-232066656406">            <a href="https://www.tomsguide.com/tvs/qled-tvs/tcl-sqd-mini-led-qm8l-75-inch-tv-review" data-model-name="TCL QM8L" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/y6zxm2KoohC6JFqu4fBaof.jpg" alt="The TCL QM8L SQD Mini-LED TV"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                                                <div class="featured__title">TCL QM8L</div>                                    </div>                <div class="subtitle__description">                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="80" /></span></div>                                        <p><p>The QM8L is a flagship-level TV that leverages TCL's newest display technology to enhance its color and overall brightness. Its performance is reflective of its higher price tag, and the QM8L also comes with a ton of features, too.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_versus" data-id="620140b8-9caf-11f1-8295-dbf3804fc356">            <a href="https://www.tomsguide.com/tvs/qled-tvs/tcl-qm7l-review" data-model-name="TCL QM7L,TCL QM7L 75-inch TV" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/dmQvthmnqDJWtBsrEduZaK.jpg" alt="TCL QM7L SQD Mini-LED TV"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                                                <div class="featured__title">TCL QM7L</div>                                    </div>                <div class="subtitle__description">                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star half"></span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="90" /></span></div>                                        <p><p>The QM7L is TCL's mid-range Mini-LED TV for 2026, and like the QM8L, it delivers an exceptionally bright, color picture for its class. The QM8L is a better-performing TV all around, but the QM7L's friendlier price tag make it a better pick for most people.</p></p>                </div>                            </div>        </div><h2 id="tcl-qm8l-vs-qm7l-specs-compared">TCL QM8L vs QM7L: Specs compared</h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>TCL QM8L</p></th><th  ><p>TCL QM7L</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Sizes</strong></p></td><td  ><p>65", 75", 85", 98"</p></td><td  ><p>55", 65", 75", 85", 98"</p></td></tr><tr><td class="firstcol " ><p><strong>Ports</strong></p></td><td  ><p>4x HDMI 2.1</p></td><td  ><p>2x HDMI 2.1, 2x HDMI 2.0</p></td></tr><tr><td class="firstcol " ><p><strong>Resolution</strong></p></td><td  ><p>3,840 x 2,160p</p></td><td  ><p>3,840 x 2,160p</p></td></tr><tr><td class="firstcol " ><p><strong>Refresh rate</strong></p></td><td  ><p>144Hz</p></td><td  ><p>144Hz</p></td></tr><tr><td class="firstcol " ><p><strong>HDR</strong></p></td><td  ><p>Dolby Vision, HDR10+, HDR10, HLG</p></td><td  ><p>Dolby Vision, HDR10+, HDR10, HLG</p></td></tr><tr><td class="firstcol " ><p><strong>Smart TV software</strong></p></td><td  ><p>Google TV</p></td><td  ><p>Google TV</p></td></tr><tr><td class="firstcol " ><p><strong>ATSC 3.0 support?</strong></p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>TSR AI Pro Processor</p></td><td  ><p>TSR AI Pro Processor</p></td></tr></tbody></table></div><p>When it comes to their respective spec sheets, there are two significant differences worth unpacking: size availability and HDMI functionality.</p><p>While the QM8L is available in four sizes ranging from 65 to 98 inches, the QM7L is available five sizes between 55 and 98 inches. If you're in the market for something smaller than a 65-inch screen, the QM7L has you covered.</p><p>On the other hand, although both sets arrive with the standard set of four total HDMI inputs, only two of the QM7L's inputs offer HDMI 2.1 compatibility. Folks who spend up on the QM8L will enjoy a full suite of HDMI 2.1-compatible inputs.</p><p>With four high-bandwidth ports, the QM8L offers a bit more flexibility, as they all support 4K content at 120Hz (and up to 144Hz with VRR). Fortunately, the QM7L's dedicated eARC input doesn't overlap with one of its high-bandwidth inputs.</p><p>The QM7L's additional, 55-inch screen will matter more to people shopping for that screen size than its lack of two additional HDMI 2.1 inputs, but the QM8L's added flexibility here is more likely to affect a wider swath of people shopping in this price range.</p><p><em><strong>Winner: </strong></em><em>TCL QM8L</em></p><h2 id="tcl-qm8l-vs-qm7l-design">TCL QM8L vs QM7L: Design</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="d8mR67WQMwWr25Zdb7Um9h" name="TCL-75QM8L-TV-15" alt="The back of a TCL QM8L TV" src="https://cdn.mos.cms.futurecdn.net/d8mR67WQMwWr25Zdb7Um9h.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Due to the nature of its relatively complex display hardware, the TCL QM8L (seen above) is bulkier than many high-end LED TVs. That said, its design is quite refined despite the added bulk.</p><p>The QM8L's panel sits on top of heavy, pedestal-style stand that sits below the center of the screen. While the stand design introduces slightly more wobble than what you'll typically experience with a pair of wide-set feet, the placement of the pedestal lets people to place the QM8L on a narrower piece of furniture if they so choose.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Yr86FrXitSAoCWjQX6t23J" name="TCL-75QM7L-TV--21" alt="The back of a TCL QM7L 75-inch TV" src="https://cdn.mos.cms.futurecdn.net/Yr86FrXitSAoCWjQX6t23J.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>As you can see from the photo above, the QM7L is nearly identical in its design approach. Its panel also bulges out around the middle, and it features a similar, pedestal-style stand.</p><p>The stands on both sets can be attached in two height configurations. This is particularly convenient for people with tall soundbars.</p><p>Additionally, both TVs ship with nearly identical, conveniently backlit remote controls. The QM8L's remote has a brightness rocker on its side.</p><p>Given the similarities, this category is too close to call. The QM8L and QM7L aren't as slim and premium-feeling as other TVs in their price range, but both of these sets are among the best-designed TCL TVs I've seen this year.</p><p><em><strong>Winner:</strong></em><em> Draw</em></p><h2 id="tcl-qm8l-vs-qm7l-performance">TCL QM8L vs QM7L: Performance</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="DnhAwkBgkVZofXCUfBbsVc" name="TCL-75QM8L-TV-1-LIST" alt="A 75-inch TCL QM8L TV on a desk" src="https://cdn.mos.cms.futurecdn.net/DnhAwkBgkVZofXCUfBbsVc.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Before we dig deeper into how these TVs look, let's compare their test results. (Both TVs were in their respective Filmmaker picture modes when these tests were taken.)</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>TCL QM8L</strong></p></th><th  ><p><strong>TCL QM7L</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>SDR Brightness (10%, in nits)    </strong></p></td><td  ><p>229</p></td><td  ><p>196</p></td></tr><tr><td class="firstcol " ><p><strong>Delta-E (lower is better)    </strong></p></td><td  ><p>3.7</p></td><td  ><p>2.6</p></td></tr><tr><td class="firstcol " ><p><strong>HDR Brightness (10%, in nits)    </strong></p></td><td  ><p>3,719</p></td><td  ><p>2,270</p></td></tr><tr><td class="firstcol " ><p><strong>UHDA-P3 Gamut Coverage    </strong></p></td><td  ><p>97.97%</p></td><td  ><p>97.64%</p></td></tr><tr><td class="firstcol " ><p><strong>Rec.2020 Gamut Coverage    </strong></p></td><td  ><p>90.34% </p></td><td  ><p>90.28%</p></td></tr><tr><td class="firstcol " ><p><strong>Input latency (milliseconds)   </strong></p></td><td  ><p>9.5</p></td><td  ><p>9.4</p></td></tr></tbody></table></div><p>The story of these TVs is rather simple. They're two of the first TVs to feature TCL's souped-up, quantum dot-based technology, Super Quantum Dot. Both the QM8L and QM7L deliver a wider array of color than previous TCL QLEDs thanks to a new color filter and a major reworking of the brand's picture processing algorithms.</p><p>However, according to our test results, the QM8L carries a significant advantage over the QM7L: peak brightness.</p><p>The QM8L is capable of driving way more brightness to small, concentrated areas of the picture, resulting in a punchier, more-cinematic look during certain content mastered in HDR. Additionally, its full-screen brightness in both SDR and HDR is slightly higher than that of the QM7L.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="uMLFconvVq2gEVGqSYEM7J" name="TCL-75QM7L-TV--6" alt="TCL QM7L 75-inch TV on a desk" src="https://cdn.mos.cms.futurecdn.net/uMLFconvVq2gEVGqSYEM7J.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><div><blockquote><p>The QM8L carries a significant advantage over the QM7L: peak brightness.</p></blockquote></div><p>Somewhat surprisingly, the QM8L's added brightness doesn't make <em>that</em> big of a difference when it comes to color. You might notice better saturation of dark, low-luminance color on the QM8L, but for the most part, the QM7L does an excellent job of keeping up here.</p><p>In many viewing conditions, the real difference-maker is the QM8L's first-rate array of Mini-LEDs. Both the QM7L and QM8L do a terrific job of limiting haloing, but the QM8L is a step above the QM7L in this regard.</p><p>Everything else — color accuracy, input latency and upscaling — is very close. But if you're looking for the best-possible performance, the QM8L's added brightness and superior backlight control will be appealing to you.</p><p><em><strong>Winner:</strong></em><em> TCL QM8L</em></p><h2 id="tcl-qm8l-vs-qm7l-smart-platform-and-features">TCL QM8L vs QM7L: Smart platform and features</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="rKFT26Nuo5fc4ycgaECXPc" name="TCL-75QM8L-TV-13" alt="A 75-inch TCL QM8L TV on a desk" src="https://cdn.mos.cms.futurecdn.net/rKFT26Nuo5fc4ycgaECXPc.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Both TVs are built around the Google TV streaming platform, and they perform similarly. Google TV is one of my preferred streaming platforms (just behind Roku), as it's easy to navigate and supports nearly every streaming service and app you'd want on a smart TV.</p><p>The QM8L and QM7L both come with a similar set gaming features, too. These include Variable Refresh Rate (VRR) and AMD FreeSync Premium Pro (for smooth, artifact-free gaming), as well as TCL's Game Bar, a quick-access menu that lets users access the key gaming features instantly.</p><p>Each set supports 4K gaming at 120Hz, the highest 4K spec among current-generation consoles like Xbox Series X and PlayStation 5. With a gaming PC linked up, both TVs support 4K games at 144Hz, too. </p><p>As a reminder, the QM7L comes with just two HDMI 2.1-compatible inputs. In order to access those gaming enhancements, you've got to use one of those ports. The QM8L, on the other hand, comes with four.</p><p>That said, we've already settled this when comparing specs. In almost every other way that matters to the average viewer, the QM8L and QM7L roll with a similar set of features.</p><p><em><strong>Winner:  </strong></em><em>Draw</em></p><h2 id="tcl-qm8l-vs-qm7l-outlook">TCL QM8L vs QM7L: outlook</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="VNSKSDVTVvCA2Z4dcHFc2J" name="TCL-75QM7L-TV--7" alt="TCL QM7L 75-inch TV on a desk" src="https://cdn.mos.cms.futurecdn.net/VNSKSDVTVvCA2Z4dcHFc2J.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>TCL QM8L</p></th><th  ><p>TCL QM7L</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Specs (25)</strong></p></td><td  ><p>23</p></td><td  ><p>22</p></td></tr><tr><td class="firstcol " ><p><strong>Design (25)</strong></p></td><td  ><p>22</p></td><td  ><p>22</p></td></tr><tr><td class="firstcol " ><p><strong>Performance (25)</strong></p></td><td  ><p>23</p></td><td  ><p>22</p></td></tr><tr><td class="firstcol " ><p><strong>Features (25)</strong></p></td><td  ><p>23</p></td><td  ><p>23</p></td></tr><tr><td class="firstcol " ><p><strong>Total Score (100)</strong></p></td><td  ><p><strong>91</strong></p></td><td  ><p><strong>89</strong></p></td></tr></tbody></table></div><p>In our full review of each TV, the QM8L received a four-star rating and the QM7L earned a slightly higher, four-and-a-half-star rating. As you can see, however, the tally above has the QM8L at two points higher than its mid-range sibling. So, what gives?</p><p>Well, it all comes down to value. Right now, the <a href="https://www.bestbuy.com/product/tcl-65-class-qm8l-series-4k-uhd-hdr-sqd-mini-led-smart-tv-with-google-tv-2026/J36QYTH359" target="_blank" rel="nofollow">65-inch TCL QM8L is $1,399 at Best Buy</a>. That's a fantastic sale price, considering that this model launched at $2,499.</p><p>But the <a href="https://www.bestbuy.com/product/tcl-65-class-qm7l-series-4k-uhd-hdr-sqd-mini-led-smart-tv-with-google-tv-2026/J36QYTHL6R" target="_blank" rel="nofollow">65-inch QM7L is just $1,199 at Best Buy</a> at the time of publishing (down from its original price of $1,499). That's $200 bucks cheaper than the QM8L. Plus, the QM7L is available in a 55-inch model, which is a popular screen size for people who shop in the QM7L's mid-tier price range. For this reason, it has wider appeal.</p><p>While the QM8L delivers a brighter, better-looking picture overall, I suspect that most shoppers would be almost as impressed by the QM7L — and walk away with an extra $200 in their pocket, too.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WQA6zW"></div>                            </div>                            <script src="https://kwizly.com/embed/WQA6zW.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/tvs/qled-tvs/tcl-sqd-mini-led-qm8l-75-inch-tv-review">TCL QM8L review</a></li><li><a href="https://www.tomsguide.com/tvs/qled-tvs/tcl-qm7l-review">TCL QM7L review</a></li><li><a href="https://www.tomsguide.com/tvs/the-ram-crisis-came-for-computers-first-and-now-its-coming-for-tvs-heres-why-i-recommend-upgrading-while-you-still-can">The RAM crisis came for computers first and now it's coming for TVs — here's why I recommend upgrading while you still can</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I walked 7 miles with the Apple Watch Ultra 3 vs Pixel Watch 5 — here's the winner ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The <a href="https://www.tomsguide.com/wellness/smartwatches/google-pixel-watch5-review">Pixel Watch 5</a> is Google’s most accurate smartwatch ever for tracking outdoor activities. Google even benchmarked its performance against pricier wearables, including the <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-3-review">Apple Watch Ultra 3</a> and <a href="https://www.tomsguide.com/wellness/smartwatches/garmin-fenix-8-pro-review-the-greatest-fenix-yet">Garmin Fenix 8 Pro</a>, two of the <a href="https://www.tomsguide.com/wellness/smartwatches/best-smartwatch">best smartwatches</a> available for fitness tracking, but can it really compete?</p><p>I decided to find out by strapping the Pixel Watch 5 to one wrist and the Apple Watch Ultra 3 to my other and walking seven miles around Seattle, Washington. </p><p>Google says that the latest Pixel Watch is twice as accurate at route mapping in environments with obstructed skies like “urban canyons,” so I made a point of cruising around the Emerald City’s denser neighborhoods, like South Lake Union, which is jam-packed with gleaming corporate skyscrapers. </p><p>I also made my way through several expansive parks, meandering beneath enormous canopies of old-growth trees. </p><p>So, how did the Pixel Watch 5 do? Check out the results below.</p><h3 class="article-body__section" id="section-i-walked-7-miles-with-the-apple-watch-ultra-3-vs-pixel-watch-5"><span>I walked 7 miles with the Apple Watch Ultra 3 vs Pixel Watch 5</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4592px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wUjfV5rgmwQ5kP4CwzCxqe" name="AWU3-v-PixelWatch5-02" alt="Close-up of the Apple Watch Ultra 3 next to the new Google Pixel Watch 5" src="https://cdn.mos.cms.futurecdn.net/wUjfV5rgmwQ5kP4CwzCxqe.jpg" mos="" align="middle" fullscreen="" width="4592" height="2583" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Note: I split my walk into two separately tracked legs and ran Strava on my iPhone 16 Plus as a control for distance, pace, and climb.  </p><div ><table><caption>Pixel Watch 5 vs Apple Watch Ultra 3: GPS test 1/2</caption><thead><tr><th class="firstcol empty" ></th><th  ><p>Pixel Watch 5</p></th><th  ><p>Apple Watch Ultra 3</p></th><th  ><p>Strava</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Distance</strong></p></td><td  ><p>3.73 miles</p></td><td  ><p>3.69 miles</p></td><td  ><p>3.75 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Climb</strong></p></td><td  ><p>275 feet</p></td><td  ><p>216 feet</p></td><td  ><p>234 feet</p></td></tr><tr><td class="firstcol " ><p><strong>Average pace (elapsed)</strong></p></td><td  ><p> 18 mins 10 secs per mile</p></td><td  ><p>18 mins 11 secs per mile</p></td><td  ><p>17 mins 41 secs per mile</p></td></tr><tr><td class="firstcol " ><p><strong>Average heart rate</strong></p></td><td  ><p>126 bpm</p></td><td  ><p>128 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Max heart rate</strong></p></td><td  ><p>151 bpm</p></td><td  ><p>155 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Calories burned (total)</strong></p></td><td  ><p>607 calories</p></td><td  ><p> 502 calories</p></td><td  ><p>n/a</p></td></tr></tbody></table></div><div ><table><caption>Pixel Watch 5 vs Apple Watch Ultra 3: GPS test 2/2</caption><thead><tr><th class="firstcol empty" ></th><th  ><p>Pixel Watch 5</p></th><th  ><p>Apple Watch Ultra 3</p></th><th  ><p>Strava</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Distance</strong></p></td><td  ><p>3.26 miles</p></td><td  ><p>3.25 miles</p></td><td  ><p>3.29 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Climb</strong></p></td><td  ><p>446 feet</p></td><td  ><p>459 feet</p></td><td  ><p>435 feet</p></td></tr><tr><td class="firstcol " ><p><strong>Average pace (elapsed)</strong></p></td><td  ><p>18 mins 34 secs per mile</p></td><td  ><p>18 mins 22 secs per mile</p></td><td  ><p>18 mins 15 secs per mile</p></td></tr><tr><td class="firstcol " ><p><strong>Average heart rate</strong></p></td><td  ><p>141 bpm</p></td><td  ><p>143 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Max heart rate</strong></p></td><td  ><p>168 bpm</p></td><td  ><p>168 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Calories burned (total)</strong></p></td><td  ><p>647 calories</p></td><td  ><p>514 calories</p></td><td  ><p>n/a</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-the-pixel-watch-bested-the-apple-watch-at-tracking-my-distance"><span>The Pixel Watch bested the Apple Watch at tracking my distance</span></h3><p>For distance-tracking precision, the Google Pixel Watch 5 proved slightly more capable than the Apple Watch Ultra 3 during this demo, assuming, of course, Strava's data is correct (which it generally is). </p><p>That said, both devices did pretty well at logging my miles —  well within a reasonable margin of error — but the latest Pixel Watch did just a little better.</p><h3 class="article-body__section" id="section-elevation-tracking-is-a-toss-up"><span>Elevation tracking is a toss-up</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3843px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="esiGsMkrTHPZjyM6qc2Si4" name="AW-hike-app-03" alt="Close-up of the Apple Watch Ultra 3 showing the option to track hiking in the Workout app" src="https://cdn.mos.cms.futurecdn.net/esiGsMkrTHPZjyM6qc2Si4.jpg" mos="" align="middle" fullscreen="" width="3843" height="2161" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Things get a little trickier when we look at elevation. For the first leg of my walk, the Apple Watch Ultra 3 proved more accurate, with a total climb tally that's just 18 feet less than the control. Google was more generous with my uphill efforts, to a fault, logging 41 additional feet of gain compared to the control.</p><p>During the second leg of my walk, though, the Pixel Watch beat the Apple Watch with a total climb that was just 11 feet greater than Strava's measure, compared to 24 feet over for the Ultra 3. </p><h3 class="article-body__section" id="section-both-watches-noted-similar-paces"><span>Both watches noted similar paces </span></h3><p>Strava tends to log slightly quicker pace data than most modern smartwatches I test, and the same is true here, even if Strava's data isn't <em>that</em> much faster. </p><p>That said, for each of the two legs of my walk, the Apple Watch Ultra 3 and Google Pixel Watch 5 calculated remarkably similar paces, a result I love to see. </p><h3 class="article-body__section" id="section-heart-rate-data-is-also-a-near-match"><span>Heart rate data is also a near-match</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3791px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="bN4Ag5EkUV4Avh5zXAeTMi" name="Google Pixel Watch 5-9" alt="Close-up of the Pixel Watch 5 in 45mm on a user's wrist" src="https://cdn.mos.cms.futurecdn.net/bN4Ag5EkUV4Avh5zXAeTMi.jpg" mos="" align="middle" fullscreen="" width="3791" height="2132" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>The same is true for heart rate data: Both the Apple Watch Ultra 3 and Google Pixel Watch 5 measured strikingly similar averages and maxes during each of the two portions of this test. I know this article is mainly about GPS performance, but I would be remiss not to mention this impressive outcome. </p><p>Ultimately, this comparison has left me feeling downright cheery about the state of modern smartwatch fitness tracking, with each device performing incredibly well across the board. </p><p>Which begs the question: Can the Google Pixel Watch 5 keep up with the pricier Apple Watch Ultra 3 when it comes to logging outdoor workouts using onboard GPS in tricky environments? I'd say the answer is a resounding yes.</p><p>Which of these two smartwatches would you be more likely to use to track an outdoor workout? Let me know in the poll below. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-W2dR3X"></div>                            </div>                            <script src="https://kwizly.com/embed/W2dR3X.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-3-vs-pixel-watch-4-xl-i-walked-6-000-steps-and-the-winner-is-clear"><strong>Apple Watch Ultra 3 vs Pixel Watch 4 XL — I walked 6,000 steps, and the winner is clear</strong></a></li><li><strong></strong><a href="https://www.tomsguide.com/wellness/smartwatches/i-manually-counted-4-000-steps-to-test-the-apple-watch-ultra-3-vs-samsung-galaxy-watch-ultra-2-and-samsung-wins-the-accuracy-battle-with-better-elevation-data-too"><strong>I walked 4,000 steps with the Apple Watch Ultra 3 vs Samsung Galaxy Watch Ultra 2 — and the winning margin was razor-thin</strong></a><strong></strong></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/exclusive-google-pm-says-the-pixel-watch-5-is-like-an-airbag-on-your-wrist-thanks-to-features-like-breathing-emergency-detection"><strong>Exclusive: Inside the Pixel Watch 5's breathing emergency detection — and why it's like an 'airbag on your wrist'</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/wellness/fitness-trackers/i-walked-7-miles-with-the-apple-watch-ultra-3-vs-pixel-watch-5-and-the-winner-is-nearly-too-close-to-call</link>
                                                                            <description>
                            <![CDATA[ Which smartwatch is the more reliable outdoor workout tracker for dense city environments: the Apple Watch Ultra 3 or Pixel Watch 5? I decided to find out. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">WmqJwgkaiw8TE7enGVBUd6</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/mpAzMsmRVSNV295yQ2CY56-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 21 Aug 2026 04:30:00 +0000</pubDate>                                                                                                                                <updated>Fri, 21 Aug 2026 13:55:54 +0000</updated>
                                                                                                                                            <category><![CDATA[Fitness Trackers]]></category>
                                                    <category><![CDATA[Wellness]]></category>
                                                    <category><![CDATA[Smartwatches]]></category>
                                                                                                <author><![CDATA[ dan.bracaglia@futurenet.com (Dan Bracaglia) ]]></author>                    <dc:creator><![CDATA[ Dan Bracaglia ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/3Ev8EFrheNxPemMWSBaKcK.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;&lt;br&gt;&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/mpAzMsmRVSNV295yQ2CY56-1280-80.jpg">
                                                            <media:credit><![CDATA[Dan Bracaglia/Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Close-up of the Apple Watch Ultra 3 and Google Pixel Watch 5 in a user&#039;s hand against a bright blue background]]></media:description>                                                            <media:text><![CDATA[Close-up of the Apple Watch Ultra 3 and Google Pixel Watch 5 in a user&#039;s hand against a bright blue background]]></media:text>
                                <media:title type="plain"><![CDATA[Close-up of the Apple Watch Ultra 3 and Google Pixel Watch 5 in a user&#039;s hand against a bright blue background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/mpAzMsmRVSNV295yQ2CY56-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The <a href="https://www.tomsguide.com/wellness/smartwatches/google-pixel-watch5-review">Pixel Watch 5</a> is Google’s most accurate smartwatch ever for tracking outdoor activities. Google even benchmarked its performance against pricier wearables, including the <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-3-review">Apple Watch Ultra 3</a> and <a href="https://www.tomsguide.com/wellness/smartwatches/garmin-fenix-8-pro-review-the-greatest-fenix-yet">Garmin Fenix 8 Pro</a>, two of the <a href="https://www.tomsguide.com/wellness/smartwatches/best-smartwatch">best smartwatches</a> available for fitness tracking, but can it really compete?</p><p>I decided to find out by strapping the Pixel Watch 5 to one wrist and the Apple Watch Ultra 3 to my other and walking seven miles around Seattle, Washington. </p><p>Google says that the latest Pixel Watch is twice as accurate at route mapping in environments with obstructed skies like “urban canyons,” so I made a point of cruising around the Emerald City’s denser neighborhoods, like South Lake Union, which is jam-packed with gleaming corporate skyscrapers. </p><p>I also made my way through several expansive parks, meandering beneath enormous canopies of old-growth trees. </p><p>So, how did the Pixel Watch 5 do? Check out the results below.</p><h3 class="article-body__section" id="section-i-walked-7-miles-with-the-apple-watch-ultra-3-vs-pixel-watch-5"><span>I walked 7 miles with the Apple Watch Ultra 3 vs Pixel Watch 5</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4592px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wUjfV5rgmwQ5kP4CwzCxqe" name="AWU3-v-PixelWatch5-02" alt="Close-up of the Apple Watch Ultra 3 next to the new Google Pixel Watch 5" src="https://cdn.mos.cms.futurecdn.net/wUjfV5rgmwQ5kP4CwzCxqe.jpg" mos="" align="middle" fullscreen="" width="4592" height="2583" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Note: I split my walk into two separately tracked legs and ran Strava on my iPhone 16 Plus as a control for distance, pace, and climb.  </p><div ><table><caption>Pixel Watch 5 vs Apple Watch Ultra 3: GPS test 1/2</caption><thead><tr><th class="firstcol empty" ></th><th  ><p>Pixel Watch 5</p></th><th  ><p>Apple Watch Ultra 3</p></th><th  ><p>Strava</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Distance</strong></p></td><td  ><p>3.73 miles</p></td><td  ><p>3.69 miles</p></td><td  ><p>3.75 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Climb</strong></p></td><td  ><p>275 feet</p></td><td  ><p>216 feet</p></td><td  ><p>234 feet</p></td></tr><tr><td class="firstcol " ><p><strong>Average pace (elapsed)</strong></p></td><td  ><p> 18 mins 10 secs per mile</p></td><td  ><p>18 mins 11 secs per mile</p></td><td  ><p>17 mins 41 secs per mile</p></td></tr><tr><td class="firstcol " ><p><strong>Average heart rate</strong></p></td><td  ><p>126 bpm</p></td><td  ><p>128 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Max heart rate</strong></p></td><td  ><p>151 bpm</p></td><td  ><p>155 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Calories burned (total)</strong></p></td><td  ><p>607 calories</p></td><td  ><p> 502 calories</p></td><td  ><p>n/a</p></td></tr></tbody></table></div><div ><table><caption>Pixel Watch 5 vs Apple Watch Ultra 3: GPS test 2/2</caption><thead><tr><th class="firstcol empty" ></th><th  ><p>Pixel Watch 5</p></th><th  ><p>Apple Watch Ultra 3</p></th><th  ><p>Strava</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Distance</strong></p></td><td  ><p>3.26 miles</p></td><td  ><p>3.25 miles</p></td><td  ><p>3.29 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Climb</strong></p></td><td  ><p>446 feet</p></td><td  ><p>459 feet</p></td><td  ><p>435 feet</p></td></tr><tr><td class="firstcol " ><p><strong>Average pace (elapsed)</strong></p></td><td  ><p>18 mins 34 secs per mile</p></td><td  ><p>18 mins 22 secs per mile</p></td><td  ><p>18 mins 15 secs per mile</p></td></tr><tr><td class="firstcol " ><p><strong>Average heart rate</strong></p></td><td  ><p>141 bpm</p></td><td  ><p>143 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Max heart rate</strong></p></td><td  ><p>168 bpm</p></td><td  ><p>168 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Calories burned (total)</strong></p></td><td  ><p>647 calories</p></td><td  ><p>514 calories</p></td><td  ><p>n/a</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-the-pixel-watch-bested-the-apple-watch-at-tracking-my-distance"><span>The Pixel Watch bested the Apple Watch at tracking my distance</span></h3><p>For distance-tracking precision, the Google Pixel Watch 5 proved slightly more capable than the Apple Watch Ultra 3 during this demo, assuming, of course, Strava's data is correct (which it generally is). </p><p>That said, both devices did pretty well at logging my miles —  well within a reasonable margin of error — but the latest Pixel Watch did just a little better.</p><h3 class="article-body__section" id="section-elevation-tracking-is-a-toss-up"><span>Elevation tracking is a toss-up</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3843px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="esiGsMkrTHPZjyM6qc2Si4" name="AW-hike-app-03" alt="Close-up of the Apple Watch Ultra 3 showing the option to track hiking in the Workout app" src="https://cdn.mos.cms.futurecdn.net/esiGsMkrTHPZjyM6qc2Si4.jpg" mos="" align="middle" fullscreen="" width="3843" height="2161" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Things get a little trickier when we look at elevation. For the first leg of my walk, the Apple Watch Ultra 3 proved more accurate, with a total climb tally that's just 18 feet less than the control. Google was more generous with my uphill efforts, to a fault, logging 41 additional feet of gain compared to the control.</p><p>During the second leg of my walk, though, the Pixel Watch beat the Apple Watch with a total climb that was just 11 feet greater than Strava's measure, compared to 24 feet over for the Ultra 3. </p><h3 class="article-body__section" id="section-both-watches-noted-similar-paces"><span>Both watches noted similar paces </span></h3><p>Strava tends to log slightly quicker pace data than most modern smartwatches I test, and the same is true here, even if Strava's data isn't <em>that</em> much faster. </p><p>That said, for each of the two legs of my walk, the Apple Watch Ultra 3 and Google Pixel Watch 5 calculated remarkably similar paces, a result I love to see. </p><h3 class="article-body__section" id="section-heart-rate-data-is-also-a-near-match"><span>Heart rate data is also a near-match</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3791px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="bN4Ag5EkUV4Avh5zXAeTMi" name="Google Pixel Watch 5-9" alt="Close-up of the Pixel Watch 5 in 45mm on a user's wrist" src="https://cdn.mos.cms.futurecdn.net/bN4Ag5EkUV4Avh5zXAeTMi.jpg" mos="" align="middle" fullscreen="" width="3791" height="2132" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>The same is true for heart rate data: Both the Apple Watch Ultra 3 and Google Pixel Watch 5 measured strikingly similar averages and maxes during each of the two portions of this test. I know this article is mainly about GPS performance, but I would be remiss not to mention this impressive outcome. </p><p>Ultimately, this comparison has left me feeling downright cheery about the state of modern smartwatch fitness tracking, with each device performing incredibly well across the board. </p><p>Which begs the question: Can the Google Pixel Watch 5 keep up with the pricier Apple Watch Ultra 3 when it comes to logging outdoor workouts using onboard GPS in tricky environments? I'd say the answer is a resounding yes.</p><p>Which of these two smartwatches would you be more likely to use to track an outdoor workout? Let me know in the poll below. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-W2dR3X"></div>                            </div>                            <script src="https://kwizly.com/embed/W2dR3X.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-3-vs-pixel-watch-4-xl-i-walked-6-000-steps-and-the-winner-is-clear"><strong>Apple Watch Ultra 3 vs Pixel Watch 4 XL — I walked 6,000 steps, and the winner is clear</strong></a></li><li><strong></strong><a href="https://www.tomsguide.com/wellness/smartwatches/i-manually-counted-4-000-steps-to-test-the-apple-watch-ultra-3-vs-samsung-galaxy-watch-ultra-2-and-samsung-wins-the-accuracy-battle-with-better-elevation-data-too"><strong>I walked 4,000 steps with the Apple Watch Ultra 3 vs Samsung Galaxy Watch Ultra 2 — and the winning margin was razor-thin</strong></a><strong></strong></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/exclusive-google-pm-says-the-pixel-watch-5-is-like-an-airbag-on-your-wrist-thanks-to-features-like-breathing-emergency-detection"><strong>Exclusive: Inside the Pixel Watch 5's breathing emergency detection — and why it's like an 'airbag on your wrist'</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I drove the Infiniti QX60 and Genesis GV80 for a week — here’s the 3-row, mid-size luxury SUV I recommend ]]></title>
                                                                                                <dc:content><![CDATA[ <p>When I got behind the wheel of the <a href="https://www.tomsguide.com/vehicle-tech/2026-genesis-gv80-review">2026 Genesis GV80 3.5T Prestige AWD</a> earlier this year, it set a remarkably high bar for what I expect in a mid-size luxury SUV with three-row seating. Between its whisper-quiet ride, lavish cabin space, and punchy 3.5-liter twin-turbo V6 performance, it easily established the benchmark for getting the most premium features for your money in the category.</p><p>Enter the <a href="https://www.infinitiusa.com/vehicles/crossovers/qx60.html" target="_blank">2027 Infiniti QX60 Autograph AWD</a>, which aims directly at the GV80's territory by pairing generous passenger utility with high-end styling. With an as-tested price of $73,750 — undercutting the fully loaded $84,475 GV80 3.5T Prestige AWD I tested by over $10,000 — the QX60 makes a compelling case on paper.</p><p>That’s why I drove the Infiniti QX60 and Genesis GV80 for a week each to find out how they perform against each other across the critical areas I test — all to see which one truly earns my recommendation.</p><figure class="inline-layout"><div style="min-height: 400px;"><fw-embed-feed channel="toms_guide" playlist="gOdY2y" mode="row" player_placement="bottom-right"></fw-embed-feed></div></figure><h2 class="article-body__section" id="section-infiniti-qx60-vs-genesis-gv80-specifications"><span>Infiniti QX60 vs. Genesis GV80: Specifications</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2027 Infiniti QX60 Autograph AWD</strong></p></th><th  ><p><strong>2026 Genesis GV80 3.5T Prestige AWD</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price Tested</strong></p></td><td  ><p>$73,750</p></td><td  ><p>$84,475</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ><p>21 mpg city / 27 mpg highway / 25 mpg combined</p></td><td  ><p>16 mpg city/ 22 mpg highway / 19 mpg combined</p></td></tr><tr><td class="firstcol " ><p><strong>Engine</strong></p></td><td  ><p>2.0L Variable Compression Turbo Engine (AWD)</p></td><td  ><p>3.5L Twin-turbocharged V6 (AWD)</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Tank Capacity</strong></p></td><td  ><p>18.49 gallons</p></td><td  ><p>21.1 gallons</p></td></tr><tr><td class="firstcol " ><p><strong>Horsepower</strong></p></td><td  ><p>268 hp</p></td><td  ><p>375 hp</p></td></tr><tr><td class="firstcol " ><p><strong>Wheels</strong></p></td><td  ><p>20-inches</p></td><td  ><p>22-inches</p></td></tr><tr><td class="firstcol " ><p><strong>MSRP</strong></p></td><td  ><p>$66,890</p></td><td  ><p>$82,330</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-infiniti-qx60-vs-genesis-gv80-design"><span>Infiniti QX60 vs. Genesis GV80: Design</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/fyCcmcQqGyc6a8e8Hx4ipe.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/evvPP3f2qkhqNBvEH7B9RA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/iPU2FP3kaXTNvwcrtXGZre.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/aWwykUSDtEd9ZMBhjM9wRA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Yd4yXFno4Fg8EPMAhRFXie.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/hVvYWaxcmw5QdwscXcECWA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/AdGRExBJdhtTELWKcsb7he.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4GMLrhEDNAafHMi6Qzc7RA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>Both SUVs nail the upscale aesthetic that sets them apart from everyday vehicles, but they approach luxury styling from completely different angles. The Genesis GV80 leans heavily into a traditional look defined by its prominent crest grille, split-lighting architecture, and regal proportions. Between the two, it undoubtedly carries an executive presence that naturally resonates with a more mature, classic-luxury demographic.</p><p>The Infiniti QX60, by contrast, feels fresher and more dynamic. With its wider stance, sprawling front fascia, and prominent air intakes, it delivers a sleeker profile with just the right touch of sportiness.</p><p>While the GV80 commands respect, the QX60 strikes a sharper balance between everyday elegance and modern athletic edge without looking ostentatious.</p><p><strong>Winner: </strong>Infiniti QX60</p><h2 class="article-body__section" id="section-infiniti-qx60-vs-genesis-gv80-fuel-economy"><span>Infiniti QX60 vs. Genesis GV80: Fuel economy</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2027 Infiniti QX60 Autograph AWD</strong></p></th><th  ><p><strong>2026 Genesis GV80 3.5T Prestige AWD</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Total Miles Driven</strong></p></td><td  ><p>210.6 miles</p></td><td  ><p>268.7 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Average Fuel Economy</strong></p></td><td  ><p>26.1 mpg</p></td><td  ><p>19.4 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best short distance fuel economy</strong></p></td><td  ><p>17.1 mpg</p></td><td  ><p>15.8 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best long distance fuel economy</strong></p></td><td  ><p>31.9 mpg</p></td><td  ><p>21.2 mpg</p></td></tr></tbody></table></div><p>When you’re paying these prices, most buyers probably aren't too concerned with efficiency — especially for three-row SUVs meant to haul loads of people around. Despite that, my time behind the wheel reveals a surprising difference between the two.</p><p>On paper, the Infiniti QX60’s 2.0-liter variable compression turbo engine promises strong efficiency, and in my real-world testing, it delivers a decisive victory over the Genesis GV80’s 3.5-liter twin-turbo V6.</p><p>Over a week of testing, the QX60 posted an impressive average fuel economy of 26.1 mpg across 210.6 miles — easily outpacing the GV80’s 19.4 mpg average over 268.7 miles. That roughly 7 mpg gap might not sound massive at first glance, but those gas savings will certainly add up at the pump over the course of a year.</p><p>The QX60 also holds a slight edge during short-distance city runs reaching 17.1 mpg versus the GV80's 15.8 mpg, but the difference widens dramatically on the open road. During one of my long-distance highway driving tests, the QX60 achieves a best mark of 31.9 mpg, leaving the GV80’s top highway run of 21.2 mpg in the dust. For road-trippers and daily commuters alike, the Infiniti is the clear efficiency winner.</p><p><strong>Winner:</strong> Infiniti QX60</p><h2 class="article-body__section" id="section-infiniti-qx60-vs-genesis-gv80-driving-performance"><span>Infiniti QX60 vs. Genesis GV80: Driving performance</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/PuPbHi4Cop7MdzbazPFgde.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/37pJRFpYvkQYr4YPUWkSCA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/2nPm4eBHgGdDBXDXBxr4Ze.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/WTpmxvfCB4AQSSgxVMR3r9.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/urignSNnEQAejvxwPiYbfe.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4Fg4ijNW4VH4DC9anMDYSA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ESnfwQcDDvAcjufq4taBae.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Nyk8bwNHFMsURZjayGK5z9.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>Both luxury SUVs command a confident presence behind the wheel. Despite the Infiniti QX60 being the larger vehicle, its 2.0-liter variable-compression turbocharged four-cylinder engine feels surprisingly light on its feet. It delivers the kind of peppy acceleration I typically expect from sportier crossovers, making it nimble and easy to maneuver through daily traffic despite its sizable frame.</p><p>However, when you need serious passing power or open-throttle acceleration, there’s simply no replacing the sheer muscle of the Genesis GV80. Beyond being slightly easier to handle due to its smaller footprint, the GV80 feels exceptionally planted on the road — thanks in large part to its 3.5-liter twin-turbo V6 engine, which puts out 375 horsepower with effortless authority.</p><p>While the QX60 stays remarkably responsive around town, the GV80 is noticeably punchier when digging into the throttle on the highway to overtake slower traffic, offering the smooth, commanding power delivery expected of a flagship luxury cruiser.</p><p><strong>Winner:</strong> Genesis GV80</p><h2 class="article-body__section" id="section-infiniti-qx60-vs-genesis-gv80-comfort"><span>Infiniti QX60 vs. Genesis GV80: Comfort</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/w425G7Bv97uPaxQGFsknee.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/C2x9XWtodrDJZRsbEHNyfe.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/LoztoNUuqftA7ihMYuapce.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Kh5uU8t2cpZg72dCVX2kZe.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/qYZGnuyxC5W7MLsWe4y6Ze.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/9P6z4ShEHgWYVySkc6hiVe.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/XLp7uHBkwVvQEAbfQw27Qe.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/be2dJ2VYzjCq9r3Czh2Foe.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/sJBmgLNzdobphkTEMR3oke.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/9Kw6hNrVocwnf35Etk5gbe.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>Step inside both cabins, and it’s immediately apparent that passenger comfort is a top priority for each automaker. The 2027 Infiniti QX60 Autograph makes a strong impression with plush, comfortable seating across all rows, integrated sunshades on the rear windows, and a handy middle-row console compartment that adds extra storage for road trips and family essentials.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/FHXJhV5eBdqdqGKaugYYUA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/KwzuDFT7TG4RxQXN4p9TVA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/VkJeK4enk2xzgS4qZTRAUA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/e4tr2JhVvFSLKiDbPfYaTA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/vJiL9SWJMtujLYmHNKpfaA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/yS33QkaCMLhGTPN9k9Kst9.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/WTpmxvfCB4AQSSgxVMR3r9.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/rzuWsZTJR9HoH5Ev6ggGy9.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/FaeViRNUqNm5wbuLoJHSm9.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/6diBo5oLNSpdmkVaenhKNA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>However, the 2026 Genesis GV80 takes interior indulgence to an entirely different level. The GV80 presents a significantly more pleasing aesthetic, highlighted by an expansive 27-inch panoramic OLED display that flows seamlessly across the dashboard. Vibrant ambient lighting bathes the cabin in a truly high-end glow, while front-seat passengers are treated to massaging seats that make long-distance drives virtually fatigue-free.</p><p>While the QX60 nails practical luxury, the GV80 delivers an elevated, ultra-premium ambiance that feels genuinely special.</p><p><strong>Winner:</strong> Genesis GV80</p><h2 class="article-body__section" id="section-infiniti-qx60-vs-genesis-gv80-value"><span>Infiniti QX60 vs. Genesis GV80: Value</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/pLQQVCSJ7SNYpWpnvVe8ae.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Q2EjNYzBMPCFhd4RfHaQVe.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/GTXYQG5uY9YnTjciaKE9ee.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>For many buyers, the bottom line is what matters most.</p><p>The Infiniti QX60 Autograph AWD delivers exceptional bang for the buck on that front. Coming in at a noticeably lower price point — which undercuts the GV80 by more than $10,000 — it still packs an impressive suite of high-end tech. You get a crisp head-up display, digital rearview mirror, expansive panoramic sunroof, and a dedicated steering-wheel button to conveniently confirm automated lane changes while ProPILOT adaptive cruise is active.</p><p>Furthermore, its larger overall cargo hold gives you more usable trunk volume for gear and luggage, even if that extra utility slightly shortens legroom in the second and third rows compared to the competition.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/XQ6iJmEdUcpAK94ssSBhHQ.gif" alt="2026 Genesis GV80 blind spot camera." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uTHDw5a22MnTjWwPQjA5CA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/gnU4f5284dkjGg2zqBwuv9.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/9fivQMZQMPAsvdk44zLru9.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/THHLq637wNujZowAoW8yR9.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>In contrast, the Genesis GV80 certainly justifies part of its steep $84,475 sticker with its exceptionally confident ADAS driving assist system, panoramic roof, and handy blind-spot view cameras that project directly into the digital cluster.</p><p>However, those additions don't quite add up to a $10,000-plus advantage. Given how the Infiniti delivers nearly all the flagship luxuries, essential safety tech, and three-row practicality for significantly less money, it easily walks away with the value win.</p><p><strong>Winner:</strong> Infiniti QX60</p><h2 class="article-body__section" id="section-infiniti-qx60-vs-genesis-gv80-verdict"><span>Infiniti QX60 vs. Genesis GV80: Verdict</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/M7hPGBCo7FuJmtTRkriare.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Hw65Z6b3bMtkL7xNeJYFQA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/YiM4tqRbqV9uZejTsWF6re.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/nVMRa9E98Taev6qs7VqSTA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/h7DhHQfiYo3y5ekLiRnioe.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4GMLrhEDNAafHMi6Qzc7RA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/boRaFnaEJLdQsS8aPJZGce.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uRWzaD7gEkpqqfkGgRYRXA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/nigDANnYyYdcrDMCvYySge.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/AG2y88GfTbtRDHQzkkMvUA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>I said it before and I’ll say it again: the Genesis GV80 is still one of my favorite 3-row luxury SUVs. But faced with a price tag that demands $10,000 more out of pocket, I can’t deny the allure and value proposition of the Infiniti QX60. Both of these mid-size luxury SUVs deliver refined driving dynamics and upscale comfort, but the 2027 Infiniti QX60 Autograph AWD emerges as the overall winner.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2027 Infiniti QX60 Autograph AWD</strong></p></th><th  ><p><strong>2026 Genesis GV80 3.5T Prestige AWD</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Design</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Driving Performance</strong></p></td><td  ></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Comfort</strong></p></td><td  ></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Value</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Total</strong></p></td><td  ><p>3</p></td><td  ><p>2</p></td></tr></tbody></table></div><p>While the Genesis GV80 remains an exceptional luxury cruiser with unmatched interior indulgence and effortless V6 muscle, the Infiniti QX60 simply offers the smarter, more well-rounded package for daily life. Between its sharper, sporty-yet-elegant exterior design, superior real-world fuel economy, and generous suite of high-end technology, the QX60 holds its own in every major category.</p><p>Add in its noticeably larger cargo trunk and an as-tested price tag that undercuts the GV80 by more than $10,000, and the Infiniti proves that you don't need to spend top dollar to get a premier three-row luxury experience.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-exVwNO"></div>                            </div>                            <script src="https://kwizly.com/embed/exVwNO.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/vehicle-tech/evs/im-not-anxious-that-its-getting-darker-earlier-with-this-thermal-camera-for-my-car-heres-why"><strong>I'm not anxious that it's getting darker earlier with this thermal camera for my car — here's why</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/vehicle-tech/evs/i-borrowed-the-new-nissan-leaf-for-a-day-and-this-affordable-ev-nails-it"><strong>I just test drove the new Nissan Leaf — and it's irresistible at under $30,000</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/vehicle-tech/evs/crabwalking-with-the-gmc-sierra-ev-is-the-weirdest-thing-ive-ever-done-with-a-car-and-its-actually-pretty-useful"><strong>CrabWalking with the GMC Sierra EV is the weirdest thing I’ve ever done with a car — and it’s actually pretty useful</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/vehicle-tech/i-drove-the-infiniti-qx60-and-genesis-gv80-for-a-week-heres-the-3-row-mid-size-luxury-ev-i-recommend</link>
                                                                            <description>
                            <![CDATA[ I tested the Infinity QX60 and Genesis GV80 for a week each to see how these 3-row, mid-size luxury SUVs compare to each other to see which is worth your money. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">36irxknYZCMAiRxWtx3wEn</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/fUbe3pbjqKgYhGnSWCJe39-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 20 Aug 2026 06:15:00 +0000</pubDate>                                                                                                                                <updated>Thu, 20 Aug 2026 23:32:25 +0000</updated>
                                                                                                                                            <category><![CDATA[Vehicle Tech]]></category>
                                                                                                <author><![CDATA[ john.velasco@futurenet.com (John Velasco) ]]></author>                    <dc:creator><![CDATA[ John Velasco ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/TSj224oX8d5ERXaDs8pDGd.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/fUbe3pbjqKgYhGnSWCJe39-1280-80.jpg">
                                                            <media:credit><![CDATA[John Velasco / Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Infiniti QX60 vs Genesis GV80.]]></media:description>                                                            <media:text><![CDATA[Infiniti QX60 vs Genesis GV80.]]></media:text>
                                <media:title type="plain"><![CDATA[Infiniti QX60 vs Genesis GV80.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/fUbe3pbjqKgYhGnSWCJe39-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>When I got behind the wheel of the <a href="https://www.tomsguide.com/vehicle-tech/2026-genesis-gv80-review">2026 Genesis GV80 3.5T Prestige AWD</a> earlier this year, it set a remarkably high bar for what I expect in a mid-size luxury SUV with three-row seating. Between its whisper-quiet ride, lavish cabin space, and punchy 3.5-liter twin-turbo V6 performance, it easily established the benchmark for getting the most premium features for your money in the category.</p><p>Enter the <a href="https://www.infinitiusa.com/vehicles/crossovers/qx60.html" target="_blank">2027 Infiniti QX60 Autograph AWD</a>, which aims directly at the GV80's territory by pairing generous passenger utility with high-end styling. With an as-tested price of $73,750 — undercutting the fully loaded $84,475 GV80 3.5T Prestige AWD I tested by over $10,000 — the QX60 makes a compelling case on paper.</p><p>That’s why I drove the Infiniti QX60 and Genesis GV80 for a week each to find out how they perform against each other across the critical areas I test — all to see which one truly earns my recommendation.</p><figure class="inline-layout"><div style="min-height: 400px;"><fw-embed-feed channel="toms_guide" playlist="gOdY2y" mode="row" player_placement="bottom-right"></fw-embed-feed></div></figure><h2 class="article-body__section" id="section-infiniti-qx60-vs-genesis-gv80-specifications"><span>Infiniti QX60 vs. Genesis GV80: Specifications</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2027 Infiniti QX60 Autograph AWD</strong></p></th><th  ><p><strong>2026 Genesis GV80 3.5T Prestige AWD</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price Tested</strong></p></td><td  ><p>$73,750</p></td><td  ><p>$84,475</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ><p>21 mpg city / 27 mpg highway / 25 mpg combined</p></td><td  ><p>16 mpg city/ 22 mpg highway / 19 mpg combined</p></td></tr><tr><td class="firstcol " ><p><strong>Engine</strong></p></td><td  ><p>2.0L Variable Compression Turbo Engine (AWD)</p></td><td  ><p>3.5L Twin-turbocharged V6 (AWD)</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Tank Capacity</strong></p></td><td  ><p>18.49 gallons</p></td><td  ><p>21.1 gallons</p></td></tr><tr><td class="firstcol " ><p><strong>Horsepower</strong></p></td><td  ><p>268 hp</p></td><td  ><p>375 hp</p></td></tr><tr><td class="firstcol " ><p><strong>Wheels</strong></p></td><td  ><p>20-inches</p></td><td  ><p>22-inches</p></td></tr><tr><td class="firstcol " ><p><strong>MSRP</strong></p></td><td  ><p>$66,890</p></td><td  ><p>$82,330</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-infiniti-qx60-vs-genesis-gv80-design"><span>Infiniti QX60 vs. Genesis GV80: Design</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/fyCcmcQqGyc6a8e8Hx4ipe.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/evvPP3f2qkhqNBvEH7B9RA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/iPU2FP3kaXTNvwcrtXGZre.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/aWwykUSDtEd9ZMBhjM9wRA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Yd4yXFno4Fg8EPMAhRFXie.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/hVvYWaxcmw5QdwscXcECWA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/AdGRExBJdhtTELWKcsb7he.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4GMLrhEDNAafHMi6Qzc7RA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>Both SUVs nail the upscale aesthetic that sets them apart from everyday vehicles, but they approach luxury styling from completely different angles. The Genesis GV80 leans heavily into a traditional look defined by its prominent crest grille, split-lighting architecture, and regal proportions. Between the two, it undoubtedly carries an executive presence that naturally resonates with a more mature, classic-luxury demographic.</p><p>The Infiniti QX60, by contrast, feels fresher and more dynamic. With its wider stance, sprawling front fascia, and prominent air intakes, it delivers a sleeker profile with just the right touch of sportiness.</p><p>While the GV80 commands respect, the QX60 strikes a sharper balance between everyday elegance and modern athletic edge without looking ostentatious.</p><p><strong>Winner: </strong>Infiniti QX60</p><h2 class="article-body__section" id="section-infiniti-qx60-vs-genesis-gv80-fuel-economy"><span>Infiniti QX60 vs. Genesis GV80: Fuel economy</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2027 Infiniti QX60 Autograph AWD</strong></p></th><th  ><p><strong>2026 Genesis GV80 3.5T Prestige AWD</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Total Miles Driven</strong></p></td><td  ><p>210.6 miles</p></td><td  ><p>268.7 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Average Fuel Economy</strong></p></td><td  ><p>26.1 mpg</p></td><td  ><p>19.4 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best short distance fuel economy</strong></p></td><td  ><p>17.1 mpg</p></td><td  ><p>15.8 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best long distance fuel economy</strong></p></td><td  ><p>31.9 mpg</p></td><td  ><p>21.2 mpg</p></td></tr></tbody></table></div><p>When you’re paying these prices, most buyers probably aren't too concerned with efficiency — especially for three-row SUVs meant to haul loads of people around. Despite that, my time behind the wheel reveals a surprising difference between the two.</p><p>On paper, the Infiniti QX60’s 2.0-liter variable compression turbo engine promises strong efficiency, and in my real-world testing, it delivers a decisive victory over the Genesis GV80’s 3.5-liter twin-turbo V6.</p><p>Over a week of testing, the QX60 posted an impressive average fuel economy of 26.1 mpg across 210.6 miles — easily outpacing the GV80’s 19.4 mpg average over 268.7 miles. That roughly 7 mpg gap might not sound massive at first glance, but those gas savings will certainly add up at the pump over the course of a year.</p><p>The QX60 also holds a slight edge during short-distance city runs reaching 17.1 mpg versus the GV80's 15.8 mpg, but the difference widens dramatically on the open road. During one of my long-distance highway driving tests, the QX60 achieves a best mark of 31.9 mpg, leaving the GV80’s top highway run of 21.2 mpg in the dust. For road-trippers and daily commuters alike, the Infiniti is the clear efficiency winner.</p><p><strong>Winner:</strong> Infiniti QX60</p><h2 class="article-body__section" id="section-infiniti-qx60-vs-genesis-gv80-driving-performance"><span>Infiniti QX60 vs. Genesis GV80: Driving performance</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/PuPbHi4Cop7MdzbazPFgde.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/37pJRFpYvkQYr4YPUWkSCA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/2nPm4eBHgGdDBXDXBxr4Ze.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/WTpmxvfCB4AQSSgxVMR3r9.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/urignSNnEQAejvxwPiYbfe.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4Fg4ijNW4VH4DC9anMDYSA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ESnfwQcDDvAcjufq4taBae.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Nyk8bwNHFMsURZjayGK5z9.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>Both luxury SUVs command a confident presence behind the wheel. Despite the Infiniti QX60 being the larger vehicle, its 2.0-liter variable-compression turbocharged four-cylinder engine feels surprisingly light on its feet. It delivers the kind of peppy acceleration I typically expect from sportier crossovers, making it nimble and easy to maneuver through daily traffic despite its sizable frame.</p><p>However, when you need serious passing power or open-throttle acceleration, there’s simply no replacing the sheer muscle of the Genesis GV80. Beyond being slightly easier to handle due to its smaller footprint, the GV80 feels exceptionally planted on the road — thanks in large part to its 3.5-liter twin-turbo V6 engine, which puts out 375 horsepower with effortless authority.</p><p>While the QX60 stays remarkably responsive around town, the GV80 is noticeably punchier when digging into the throttle on the highway to overtake slower traffic, offering the smooth, commanding power delivery expected of a flagship luxury cruiser.</p><p><strong>Winner:</strong> Genesis GV80</p><h2 class="article-body__section" id="section-infiniti-qx60-vs-genesis-gv80-comfort"><span>Infiniti QX60 vs. Genesis GV80: Comfort</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/w425G7Bv97uPaxQGFsknee.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/C2x9XWtodrDJZRsbEHNyfe.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/LoztoNUuqftA7ihMYuapce.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Kh5uU8t2cpZg72dCVX2kZe.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/qYZGnuyxC5W7MLsWe4y6Ze.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/9P6z4ShEHgWYVySkc6hiVe.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/XLp7uHBkwVvQEAbfQw27Qe.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/be2dJ2VYzjCq9r3Czh2Foe.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/sJBmgLNzdobphkTEMR3oke.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/9Kw6hNrVocwnf35Etk5gbe.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>Step inside both cabins, and it’s immediately apparent that passenger comfort is a top priority for each automaker. The 2027 Infiniti QX60 Autograph makes a strong impression with plush, comfortable seating across all rows, integrated sunshades on the rear windows, and a handy middle-row console compartment that adds extra storage for road trips and family essentials.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/FHXJhV5eBdqdqGKaugYYUA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/KwzuDFT7TG4RxQXN4p9TVA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/VkJeK4enk2xzgS4qZTRAUA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/e4tr2JhVvFSLKiDbPfYaTA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/vJiL9SWJMtujLYmHNKpfaA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/yS33QkaCMLhGTPN9k9Kst9.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/WTpmxvfCB4AQSSgxVMR3r9.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/rzuWsZTJR9HoH5Ev6ggGy9.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/FaeViRNUqNm5wbuLoJHSm9.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/6diBo5oLNSpdmkVaenhKNA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>However, the 2026 Genesis GV80 takes interior indulgence to an entirely different level. The GV80 presents a significantly more pleasing aesthetic, highlighted by an expansive 27-inch panoramic OLED display that flows seamlessly across the dashboard. Vibrant ambient lighting bathes the cabin in a truly high-end glow, while front-seat passengers are treated to massaging seats that make long-distance drives virtually fatigue-free.</p><p>While the QX60 nails practical luxury, the GV80 delivers an elevated, ultra-premium ambiance that feels genuinely special.</p><p><strong>Winner:</strong> Genesis GV80</p><h2 class="article-body__section" id="section-infiniti-qx60-vs-genesis-gv80-value"><span>Infiniti QX60 vs. Genesis GV80: Value</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/pLQQVCSJ7SNYpWpnvVe8ae.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Q2EjNYzBMPCFhd4RfHaQVe.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/GTXYQG5uY9YnTjciaKE9ee.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>For many buyers, the bottom line is what matters most.</p><p>The Infiniti QX60 Autograph AWD delivers exceptional bang for the buck on that front. Coming in at a noticeably lower price point — which undercuts the GV80 by more than $10,000 — it still packs an impressive suite of high-end tech. You get a crisp head-up display, digital rearview mirror, expansive panoramic sunroof, and a dedicated steering-wheel button to conveniently confirm automated lane changes while ProPILOT adaptive cruise is active.</p><p>Furthermore, its larger overall cargo hold gives you more usable trunk volume for gear and luggage, even if that extra utility slightly shortens legroom in the second and third rows compared to the competition.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/XQ6iJmEdUcpAK94ssSBhHQ.gif" alt="2026 Genesis GV80 blind spot camera." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uTHDw5a22MnTjWwPQjA5CA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/gnU4f5284dkjGg2zqBwuv9.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/9fivQMZQMPAsvdk44zLru9.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/THHLq637wNujZowAoW8yR9.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>In contrast, the Genesis GV80 certainly justifies part of its steep $84,475 sticker with its exceptionally confident ADAS driving assist system, panoramic roof, and handy blind-spot view cameras that project directly into the digital cluster.</p><p>However, those additions don't quite add up to a $10,000-plus advantage. Given how the Infiniti delivers nearly all the flagship luxuries, essential safety tech, and three-row practicality for significantly less money, it easily walks away with the value win.</p><p><strong>Winner:</strong> Infiniti QX60</p><h2 class="article-body__section" id="section-infiniti-qx60-vs-genesis-gv80-verdict"><span>Infiniti QX60 vs. Genesis GV80: Verdict</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/M7hPGBCo7FuJmtTRkriare.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Hw65Z6b3bMtkL7xNeJYFQA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/YiM4tqRbqV9uZejTsWF6re.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/nVMRa9E98Taev6qs7VqSTA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/h7DhHQfiYo3y5ekLiRnioe.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4GMLrhEDNAafHMi6Qzc7RA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/boRaFnaEJLdQsS8aPJZGce.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uRWzaD7gEkpqqfkGgRYRXA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/nigDANnYyYdcrDMCvYySge.jpg" alt="2027 Infiniti QX60 review." /><figcaption>2027 Infiniti QX60.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/AG2y88GfTbtRDHQzkkMvUA.jpg" alt="2026 Genesis GV80 test drive review." /><figcaption>2026 Genesis GV80.<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>I said it before and I’ll say it again: the Genesis GV80 is still one of my favorite 3-row luxury SUVs. But faced with a price tag that demands $10,000 more out of pocket, I can’t deny the allure and value proposition of the Infiniti QX60. Both of these mid-size luxury SUVs deliver refined driving dynamics and upscale comfort, but the 2027 Infiniti QX60 Autograph AWD emerges as the overall winner.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2027 Infiniti QX60 Autograph AWD</strong></p></th><th  ><p><strong>2026 Genesis GV80 3.5T Prestige AWD</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Design</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Driving Performance</strong></p></td><td  ></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Comfort</strong></p></td><td  ></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Value</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Total</strong></p></td><td  ><p>3</p></td><td  ><p>2</p></td></tr></tbody></table></div><p>While the Genesis GV80 remains an exceptional luxury cruiser with unmatched interior indulgence and effortless V6 muscle, the Infiniti QX60 simply offers the smarter, more well-rounded package for daily life. Between its sharper, sporty-yet-elegant exterior design, superior real-world fuel economy, and generous suite of high-end technology, the QX60 holds its own in every major category.</p><p>Add in its noticeably larger cargo trunk and an as-tested price tag that undercuts the GV80 by more than $10,000, and the Infiniti proves that you don't need to spend top dollar to get a premier three-row luxury experience.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-exVwNO"></div>                            </div>                            <script src="https://kwizly.com/embed/exVwNO.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/vehicle-tech/evs/im-not-anxious-that-its-getting-darker-earlier-with-this-thermal-camera-for-my-car-heres-why"><strong>I'm not anxious that it's getting darker earlier with this thermal camera for my car — here's why</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/vehicle-tech/evs/i-borrowed-the-new-nissan-leaf-for-a-day-and-this-affordable-ev-nails-it"><strong>I just test drove the new Nissan Leaf — and it's irresistible at under $30,000</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/vehicle-tech/evs/crabwalking-with-the-gmc-sierra-ev-is-the-weirdest-thing-ive-ever-done-with-a-car-and-its-actually-pretty-useful"><strong>CrabWalking with the GMC Sierra EV is the weirdest thing I’ve ever done with a car — and it’s actually pretty useful</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I drove the Honda Passport and Subaru Outback for a week — here’s the midsize SUV I recommend for families ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Most SUVs today are designed to tackle everyday commuting, but a select few add the utility of being weekend road warriors. That’s why I drove the <a href="https://automobiles.honda.com/passport" target="_blank">Honda Passport</a> and <a href="https://www.subaru.com/vehicles/outback.html" target="_blank">Subaru Outback</a> for a week each to see how these family SUVs compare.</p><p>There are clearly a lot of similarities between the two, including their spacious cabins, solid towing capacity, powerful engine performance, and standard all-wheel drive. Honda has already proven to me this year that it prioritizes driving performance over efficiency, as seen when the <a href="https://www.tomsguide.com/vehicle-tech/i-drove-the-toyota-grand-highlander-and-honda-pilot-for-a-week-heres-the-3-row-suv-id-spend-my-money-on">Honda Pilot came out on top against the Toyota Grand Highlander</a> in my testing.</p><p>Likewise, Subaru offers a charming lineup of crossovers and SUVs that have proven to be top contenders for all sorts of families. While the lineup ranges from the small but mighty <a href="https://www.tomsguide.com/vehicle-tech/i-drove-the-subaru-crosstrek-and-hyundai-venue-for-a-week-heres-the-sub-usd40k-suv-id-buy-with-my-own-money">Crosstrek</a> to electric options like the <a href="https://www.tomsguide.com/vehicle-tech/evs/i-drove-the-2026-subaru-solterra-for-a-week-heres-my-pros-and-cons">Solterra</a>, the Outback remains by far the most notable and widely acclaimed vehicle in its stable.</p><p>I specifically drove the 2026 Honda Passport TrailSport Elite and 2026 Subaru Outback Wilderness, which have as-tested prices of $54,145 and $50,535, respectively. While they occupy a similar price bracket, they approach the daily drive and weekend escape with very different personalities.</p><figure class="inline-layout"><div style="min-height: 400px;"><fw-embed-feed channel="toms_guide" playlist="gOdY2y" mode="row" player_placement="bottom-right"></fw-embed-feed></div></figure><h2 class="article-body__section" id="section-honda-passport-vs-subaru-outback-specifications"><span>Honda Passport vs. Subaru Outback: Specifications</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2026 Honda Passport TrailSport Elite</strong></p></th><th  ><p><strong>2026 Subaru Outback Wilderness</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price Tested</strong></p></td><td  ><p>$55,089</p></td><td  ><p>$50,535</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ><p>18 mpg city / 23 mpg highway / 20 mpg combined</p></td><td  ><p>21 mpg city / 27 mpg highway / 23 mpg combined</p></td></tr><tr><td class="firstcol " ><p><strong>Engine</strong></p></td><td  ><p>3.5L V-6 Engine (AWD)</p></td><td  ><p>2.4L DOHC Turbo Subaru BOXER Engine (AWD)</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Tank Capacity</strong></p></td><td  ><p>18.5 gallons</p></td><td  ><p>18 gallons</p></td></tr><tr><td class="firstcol " ><p><strong>Horsepower</strong></p></td><td  ><p>285 hp</p></td><td  ><p>260 hp</p></td></tr><tr><td class="firstcol " ><p><strong>Wheels</strong></p></td><td  ><p>18-inches</p></td><td  ><p>17-inches</p></td></tr><tr><td class="firstcol " ><p><strong>MSRP</strong></p></td><td  ><p>$48,650</p></td><td  ><p>$44,995</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-honda-passport-vs-subaru-outback-design"><span>Honda Passport vs. Subaru Outback: Design</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/6sRq55yFChshezLHRkrPLN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/PLKfUYjehwmqZJLd8aVNhU.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/vgRQYdhVjVbBBgjhhtbDaN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/7qgHEKi8A9UcH6E65HsLtU.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/KALPN7qFYJxgXsXvbjknHN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ZPYKcUszQyeDNCebhRqkfU.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/77Sc6pTLFTrxUDRuj6PMGN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/udGMEo4VZMza4mNxPdoscU.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>Visually, these two couldn’t approach outdoor utility from more distinct angles. Subaru’s aesthetic is undeniable here, as the Outback Wilderness leans <em>heavily </em>into its lifted-wagon roots, accented by matte-black body cladding and signature anodized copper accents on the bumpers and roof rails.</p><p>Small details like those copper accents really highlight Subaru’s signature styling, which people either love or hate. At the same time, the Outback retains the low-slung silhouette of a crossover.</p><p>On the other hand, the Passport TrailSport Elite embraces a classic, upright SUV stance with boxier proportions and a taller roofline. Aggressive trail accents, such as thick skid plates and beefy all-terrain tires, give it an equally trail-ready look.</p><p>While the Outback’s flashier details give it plenty of personality, the Passport takes the win for me because of its taller stance and more conventional styling that has broader appeal — giving it a stronger presence on both highways and trails.</p><p><strong>Winner:</strong> Honda Passport</p><h2 class="article-body__section" id="section-honda-passport-vs-subaru-outback-fuel-economy"><span>Honda Passport vs. Subaru Outback: Fuel economy</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2026 Honda Passport TrailSport Elite</strong></p></th><th  ><p><strong>2026 Subaru Outback Wilderness</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Total Miles Driven</strong></p></td><td  ><p>97.7 miles</p></td><td  ><p>320.8 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Average Fuel Economy</strong></p></td><td  ><p>19 mpg</p></td><td  ><p>26.5 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best short distance fuel economy</strong></p></td><td  ><p>20.5 mpg</p></td><td  ><p>24.8 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best long distance fuel economy</strong></p></td><td  ><p>22.8 mpg</p></td><td  ><p>32.8 mpg</p></td></tr></tbody></table></div><p>When it comes to efficiency at the pump, it’s a one-sided affair, with the <strong>Subaru Outback Wilderness outperforming its rival in every category I tested</strong>. I drove a total of 320.8 miles in my week of testing, achieving a better-than-expected 26.5 mpg average — an improvement over its 23 mpg EPA combined rating. By comparison, the 2026 Honda Passport TrailSport Elite fell just short of its rating, averaging 19 mpg.</p><p>Across all driving scenarios, the Outback consistently squeezed more distance out of every gallon, delivering 24.8 mpg on short-distance trips along mostly local and county roads. It performs even better on highway stretches, reaching an impressive 32.8 mpg on one of my trips. The Passport peaks at a slightly better 20.5 mpg on short distances, while my best run on mostly highway driving came out to 22.8 mpg.</p><p>Calculating fill-up costs using a current price of $4 per gallon for regular gasoline, a full tank would set me back $74 for the Passport and $72 for the Outback. More importantly, though, is their estimated maximum range based on my testing: 477 miles for the Outback versus 351 miles for the Passport.</p><p>If maximizing efficiency on daily commutes and road trips is a priority, the Outback Wilderness is the undeniable winner.</p><p><strong>Winner:</strong> Subaru Outback</p><h2 class="article-body__section" id="section-honda-passport-vs-subaru-outback-driving-performance"><span>Honda Passport vs. Subaru Outback: Driving performance</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/GnSudbSeZhhBVEbhuvBLbU.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/bAhymD7NfoA6LkpnA3udVU.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/dfnUXDGs7LAoFNVRs2cCfU.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/jEVb5m2RP79wXqm3ZQtkcU.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>Now, this one’s tough because I can’t deny how impressively powerful they both are. For midsize SUVs, they accelerate like full-size sedans with instant response the moment my foot taps the pedal.</p><p>Both of these adventure vehicles bring unique strengths to the table, but ultimately I’m giving the win to the 2026 Subaru Outback Wilderness for its overall driving dynamics. Thanks to how it sits closer to the ground, giving it an inherently lower center of gravity, its punchy 2.4-liter turbocharged engine and car-like agility keep it noticeably more planted through corners.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/m8sXV2BjGTijK5ViJQtACN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/BpUtrVapSLdX8WFfyYeG9N.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/DdLh4Pk8dyvyqozUBuh7HN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/8Teh9K7cWUymVCieQqANEN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>Don’t get me wrong, the 2026 Honda Passport TrailSport Elite also delivers buttery-smooth acceleration with its 3.5L V6 engine and traditional 10-speed automatic transmission. But despite that seamless power delivery, driving the Passport can still feel like a challenge for some drivers. Its taller, boxier stance and substantially larger overall footprint introduce more body roll and make navigation feel much more unwieldy compared to the nimble Outback.</p><p><strong>Winner:</strong> Subaru Outback</p><h2 class="article-body__section" id="section-honda-passport-vs-subaru-outback-comfort"><span>Honda Passport vs. Subaru Outback: Comfort</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/nFMRY4V3rZ397UhsB8H6FN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/AKt7XVtzTkkwtu2EysTqp5.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/inwivWfsCjxzCb3iTEyY6N.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/2MzTheoAJX6YMJSc2k4VG5.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/oFSNAyPzrd9B2LmxKhq2GN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/LmMKL4E93MK5LxoJbL8Lq5.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Si8rpUBcvLRSPxe7eNRSNN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/zY2Q4H8UiQFGLvw5pkyDo5.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>When it comes to pure passenger comfort and cargo versatility, the Honda Passport TrailSport Elite takes this category. Its wider frame opens up a significantly roomier cabin with premium touches that elevate overall ride comfort. I particularly appreciate the standard leather-trimmed seating, tri-zone climate control, and rear sunshades—luxuries that make long-distance travel much more enjoyable compared to the Outback’s utility-focused StarTex water-repellent upholstery.</p><p>The Passport also proves more accommodating where space matters most: legroom and cargo capacity. Rear-seat passengers get a generous 40.9 inches of legroom in the Honda versus 39.5 inches in the Subaru. When it comes to hauling gear, the Passport's trunk offers an impressive 44.0 cubic feet of space behind the second row — which expands to 83.8 cubic feet with the rear seats folded flat. By comparison, the Outback Wilderness provides 34.6 cubic feet of trunk space behind the rear seats, expanding to an 80.5 cubic foot maximum.</p><p>For families who prioritize maximum room to stretch out alongside serious cargo-hauling capacity, the Passport is the superior option.</p><p><strong>Winner:</strong> Honda Passport</p><h2 class="article-body__section" id="section-honda-passport-vs-subaru-outback-value"><span>Honda Passport vs. Subaru Outback: Value</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/GkwxptZQqBGNsSQFrHwQLL.gif" alt="2026 Honda Passport gif animation." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/BRh9HrUm82SWkrrn6QkXUT.gif" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/MNebsCcvcd9F94votSuZGL.gif" alt="2026 Honda Passport gif animation." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Y36nhNgGSdgKp5wpAGHbAT.gif" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/LoQCcV4T2gPqWDTJdQ23UL.gif" alt="2026 Honda Passport gif animation." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/36zBF3j7tTqGXEvhtLYyUT.gif" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>These Japanese automakers have remarkable brand loyalty, reliability, and resale value — making this category very tough to decide.</p><p>Right off the bat, you’re paying slightly less for the 2026 Subaru Outback Wilderness with its as-tested price of $50,535. That delivers a savings of $4,554 over the 2026 Honda Passport TrailSport Elite’s $55,089 sticker price. For me, that price difference is largely driven by the Passport’s roomier size, more luxurious amenities, panoramic glass roof, second-row sunshades, and ventilated front seats. Larger families will certainly see the added value in its more spacious cabin and cargo-packing utility, which becomes even more crucial as kids grow.</p><p>As for the Subaru Outback? I can’t say enough about how this rugged midsize SUV refuses to compromise on performance and efficiency. You’ll certainly save more in the long run when it comes to fuel costs, even if it lacks some of the premium cabin refinements found in its rival. Either way, both make a compelling case for their value.</p><p><strong>Winner:</strong> tie</p><h2 class="article-body__section" id="section-honda-passport-vs-subaru-outback-verdict"><span>Honda Passport vs. Subaru Outback: Verdict</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/qey3LUr22e6Nix2As7uvJN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/sZXsHmnAK7kPuHwicoTUmU.jpg" alt="2026 Subaru Outback review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/6sRq55yFChshezLHRkrPLN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Lm4qX5q7XoRMvMrYTwWKqU.jpg" alt="2026 Subaru Outback review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/rnCjKhRPb6z5s3qCmzRRJN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/M7G3YqZ9FGmbZmRckHQShU.jpg" alt="2026 Subaru Outback review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/99qvthnvUX6sBuKmN83jHN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ZGZLi93L3BJnahyfxSXtjU.jpg" alt="2026 Subaru Outback review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/fLzVWc3tbfvZetsaiYbbAN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/fGhgN4naFRJyB7V5yr5aWU.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/b5PN6CnTK6CC7uXKZz8j7N.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/X2dMU7hP4jfGkqntLMLEVU.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/vML3iAnyxHLuPE9Q3xbt6N.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/9w6ZCA8EXgFgZMNCeVxb5U.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/XhVH96GFfzs9mivmpZTC3N.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/cEyKkbiUdYrEkvsJtZm3eU.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/5CTjyUj3LJGoEcEEHKuZwM.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/xS9KzMi6NEfCqn5dez2Ws5.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Q2yp3rCaBY44372WiTCzuM.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/vQDoevMKiRUyBYa7ykrxk5.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>After putting the 2026 Honda Passport TrailSport Elite to the test against the 2026 Subaru Outback Wilderness, I can confirm the obvious: you won’t go wrong choosing either of them. I can’t say enough about how the Outback wins handily on efficiency, lower out-of-pocket cost, and everyday car-like driving agility, making it an extraordinary vehicle for budget-conscious families.</p><p>On the flip side, the Passport TrailSport Elite dominates on interior space, cabin comfort, boxy adventure design, and overall utility. Even though it's less fuel efficient, it benefits from being backed by a smooth V6 engine and a 5,000-pound towing capacity, giving it the necessary power to tackle harsh outdoor conditions.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2026 Honda Passport TrailSport Elite</strong></p></th><th  ><p><strong>2026 Subaru Outback Wilderness</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Design</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Driving Performance</strong></p></td><td  ></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Comfort</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Value</strong></p></td><td  ><p>X</p></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Total</strong></p></td><td  ><p>3</p></td><td  ><p>3</p></td></tr></tbody></table></div><p>However, if I had to sign on the dotted line and spend my own money, I’d personally choose the Honda Passport TrailSport Elite. While the Outback’s efficiency is tough to ignore, the Passport has the styling and utility that are better suited for a long-term family vehicle.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WwqpAX"></div>                            </div>                            <script src="https://kwizly.com/embed/WwqpAX.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/vehicle-tech/evs/im-not-anxious-that-its-getting-darker-earlier-with-this-thermal-camera-for-my-car-heres-why">I'm not anxious that it's getting darker earlier with this thermal camera for my car — here's why</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/i-borrowed-the-new-nissan-leaf-for-a-day-and-this-affordable-ev-nails-it">I just test drove the new Nissan Leaf — and it's irresistible at under $30,000</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/crabwalking-with-the-gmc-sierra-ev-is-the-weirdest-thing-ive-ever-done-with-a-car-and-its-actually-pretty-useful">CrabWalking with the GMC Sierra EV is the weirdest thing I’ve ever done with a car — and it’s actually pretty useful</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/vehicle-tech/i-drove-the-honda-passport-and-subaru-outback-for-a-week-heres-the-midsize-suv-i-recommend-for-families</link>
                                                                            <description>
                            <![CDATA[ I put the 2026 Subaru Outback Wilderness and 2026 Honda Passport TrailSport Elite to the test to see which of these midsize SUVs is better for families. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">qxRqbcun7BZqGh774jZTEg</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/fC8XUvjT3nigifFkKPjiAc-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 14 Aug 2026 09:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Vehicle Tech]]></category>
                                                                                                <author><![CDATA[ john.velasco@futurenet.com (John Velasco) ]]></author>                    <dc:creator><![CDATA[ John Velasco ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/TSj224oX8d5ERXaDs8pDGd.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/fC8XUvjT3nigifFkKPjiAc-1280-80.jpg">
                                                            <media:credit><![CDATA[John Velasco / Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Honda Passport vs Subaru Outback.]]></media:description>                                                            <media:text><![CDATA[Honda Passport vs Subaru Outback.]]></media:text>
                                <media:title type="plain"><![CDATA[Honda Passport vs Subaru Outback.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/fC8XUvjT3nigifFkKPjiAc-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Most SUVs today are designed to tackle everyday commuting, but a select few add the utility of being weekend road warriors. That’s why I drove the <a href="https://automobiles.honda.com/passport" target="_blank">Honda Passport</a> and <a href="https://www.subaru.com/vehicles/outback.html" target="_blank">Subaru Outback</a> for a week each to see how these family SUVs compare.</p><p>There are clearly a lot of similarities between the two, including their spacious cabins, solid towing capacity, powerful engine performance, and standard all-wheel drive. Honda has already proven to me this year that it prioritizes driving performance over efficiency, as seen when the <a href="https://www.tomsguide.com/vehicle-tech/i-drove-the-toyota-grand-highlander-and-honda-pilot-for-a-week-heres-the-3-row-suv-id-spend-my-money-on">Honda Pilot came out on top against the Toyota Grand Highlander</a> in my testing.</p><p>Likewise, Subaru offers a charming lineup of crossovers and SUVs that have proven to be top contenders for all sorts of families. While the lineup ranges from the small but mighty <a href="https://www.tomsguide.com/vehicle-tech/i-drove-the-subaru-crosstrek-and-hyundai-venue-for-a-week-heres-the-sub-usd40k-suv-id-buy-with-my-own-money">Crosstrek</a> to electric options like the <a href="https://www.tomsguide.com/vehicle-tech/evs/i-drove-the-2026-subaru-solterra-for-a-week-heres-my-pros-and-cons">Solterra</a>, the Outback remains by far the most notable and widely acclaimed vehicle in its stable.</p><p>I specifically drove the 2026 Honda Passport TrailSport Elite and 2026 Subaru Outback Wilderness, which have as-tested prices of $54,145 and $50,535, respectively. While they occupy a similar price bracket, they approach the daily drive and weekend escape with very different personalities.</p><figure class="inline-layout"><div style="min-height: 400px;"><fw-embed-feed channel="toms_guide" playlist="gOdY2y" mode="row" player_placement="bottom-right"></fw-embed-feed></div></figure><h2 class="article-body__section" id="section-honda-passport-vs-subaru-outback-specifications"><span>Honda Passport vs. Subaru Outback: Specifications</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2026 Honda Passport TrailSport Elite</strong></p></th><th  ><p><strong>2026 Subaru Outback Wilderness</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price Tested</strong></p></td><td  ><p>$55,089</p></td><td  ><p>$50,535</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ><p>18 mpg city / 23 mpg highway / 20 mpg combined</p></td><td  ><p>21 mpg city / 27 mpg highway / 23 mpg combined</p></td></tr><tr><td class="firstcol " ><p><strong>Engine</strong></p></td><td  ><p>3.5L V-6 Engine (AWD)</p></td><td  ><p>2.4L DOHC Turbo Subaru BOXER Engine (AWD)</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Tank Capacity</strong></p></td><td  ><p>18.5 gallons</p></td><td  ><p>18 gallons</p></td></tr><tr><td class="firstcol " ><p><strong>Horsepower</strong></p></td><td  ><p>285 hp</p></td><td  ><p>260 hp</p></td></tr><tr><td class="firstcol " ><p><strong>Wheels</strong></p></td><td  ><p>18-inches</p></td><td  ><p>17-inches</p></td></tr><tr><td class="firstcol " ><p><strong>MSRP</strong></p></td><td  ><p>$48,650</p></td><td  ><p>$44,995</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-honda-passport-vs-subaru-outback-design"><span>Honda Passport vs. Subaru Outback: Design</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/6sRq55yFChshezLHRkrPLN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/PLKfUYjehwmqZJLd8aVNhU.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/vgRQYdhVjVbBBgjhhtbDaN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/7qgHEKi8A9UcH6E65HsLtU.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/KALPN7qFYJxgXsXvbjknHN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ZPYKcUszQyeDNCebhRqkfU.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/77Sc6pTLFTrxUDRuj6PMGN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/udGMEo4VZMza4mNxPdoscU.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>Visually, these two couldn’t approach outdoor utility from more distinct angles. Subaru’s aesthetic is undeniable here, as the Outback Wilderness leans <em>heavily </em>into its lifted-wagon roots, accented by matte-black body cladding and signature anodized copper accents on the bumpers and roof rails.</p><p>Small details like those copper accents really highlight Subaru’s signature styling, which people either love or hate. At the same time, the Outback retains the low-slung silhouette of a crossover.</p><p>On the other hand, the Passport TrailSport Elite embraces a classic, upright SUV stance with boxier proportions and a taller roofline. Aggressive trail accents, such as thick skid plates and beefy all-terrain tires, give it an equally trail-ready look.</p><p>While the Outback’s flashier details give it plenty of personality, the Passport takes the win for me because of its taller stance and more conventional styling that has broader appeal — giving it a stronger presence on both highways and trails.</p><p><strong>Winner:</strong> Honda Passport</p><h2 class="article-body__section" id="section-honda-passport-vs-subaru-outback-fuel-economy"><span>Honda Passport vs. Subaru Outback: Fuel economy</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2026 Honda Passport TrailSport Elite</strong></p></th><th  ><p><strong>2026 Subaru Outback Wilderness</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Total Miles Driven</strong></p></td><td  ><p>97.7 miles</p></td><td  ><p>320.8 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Average Fuel Economy</strong></p></td><td  ><p>19 mpg</p></td><td  ><p>26.5 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best short distance fuel economy</strong></p></td><td  ><p>20.5 mpg</p></td><td  ><p>24.8 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best long distance fuel economy</strong></p></td><td  ><p>22.8 mpg</p></td><td  ><p>32.8 mpg</p></td></tr></tbody></table></div><p>When it comes to efficiency at the pump, it’s a one-sided affair, with the <strong>Subaru Outback Wilderness outperforming its rival in every category I tested</strong>. I drove a total of 320.8 miles in my week of testing, achieving a better-than-expected 26.5 mpg average — an improvement over its 23 mpg EPA combined rating. By comparison, the 2026 Honda Passport TrailSport Elite fell just short of its rating, averaging 19 mpg.</p><p>Across all driving scenarios, the Outback consistently squeezed more distance out of every gallon, delivering 24.8 mpg on short-distance trips along mostly local and county roads. It performs even better on highway stretches, reaching an impressive 32.8 mpg on one of my trips. The Passport peaks at a slightly better 20.5 mpg on short distances, while my best run on mostly highway driving came out to 22.8 mpg.</p><p>Calculating fill-up costs using a current price of $4 per gallon for regular gasoline, a full tank would set me back $74 for the Passport and $72 for the Outback. More importantly, though, is their estimated maximum range based on my testing: 477 miles for the Outback versus 351 miles for the Passport.</p><p>If maximizing efficiency on daily commutes and road trips is a priority, the Outback Wilderness is the undeniable winner.</p><p><strong>Winner:</strong> Subaru Outback</p><h2 class="article-body__section" id="section-honda-passport-vs-subaru-outback-driving-performance"><span>Honda Passport vs. Subaru Outback: Driving performance</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/GnSudbSeZhhBVEbhuvBLbU.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/bAhymD7NfoA6LkpnA3udVU.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/dfnUXDGs7LAoFNVRs2cCfU.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/jEVb5m2RP79wXqm3ZQtkcU.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>Now, this one’s tough because I can’t deny how impressively powerful they both are. For midsize SUVs, they accelerate like full-size sedans with instant response the moment my foot taps the pedal.</p><p>Both of these adventure vehicles bring unique strengths to the table, but ultimately I’m giving the win to the 2026 Subaru Outback Wilderness for its overall driving dynamics. Thanks to how it sits closer to the ground, giving it an inherently lower center of gravity, its punchy 2.4-liter turbocharged engine and car-like agility keep it noticeably more planted through corners.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/m8sXV2BjGTijK5ViJQtACN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/BpUtrVapSLdX8WFfyYeG9N.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/DdLh4Pk8dyvyqozUBuh7HN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/8Teh9K7cWUymVCieQqANEN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>Don’t get me wrong, the 2026 Honda Passport TrailSport Elite also delivers buttery-smooth acceleration with its 3.5L V6 engine and traditional 10-speed automatic transmission. But despite that seamless power delivery, driving the Passport can still feel like a challenge for some drivers. Its taller, boxier stance and substantially larger overall footprint introduce more body roll and make navigation feel much more unwieldy compared to the nimble Outback.</p><p><strong>Winner:</strong> Subaru Outback</p><h2 class="article-body__section" id="section-honda-passport-vs-subaru-outback-comfort"><span>Honda Passport vs. Subaru Outback: Comfort</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/nFMRY4V3rZ397UhsB8H6FN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/AKt7XVtzTkkwtu2EysTqp5.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/inwivWfsCjxzCb3iTEyY6N.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/2MzTheoAJX6YMJSc2k4VG5.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/oFSNAyPzrd9B2LmxKhq2GN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/LmMKL4E93MK5LxoJbL8Lq5.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Si8rpUBcvLRSPxe7eNRSNN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/zY2Q4H8UiQFGLvw5pkyDo5.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>When it comes to pure passenger comfort and cargo versatility, the Honda Passport TrailSport Elite takes this category. Its wider frame opens up a significantly roomier cabin with premium touches that elevate overall ride comfort. I particularly appreciate the standard leather-trimmed seating, tri-zone climate control, and rear sunshades—luxuries that make long-distance travel much more enjoyable compared to the Outback’s utility-focused StarTex water-repellent upholstery.</p><p>The Passport also proves more accommodating where space matters most: legroom and cargo capacity. Rear-seat passengers get a generous 40.9 inches of legroom in the Honda versus 39.5 inches in the Subaru. When it comes to hauling gear, the Passport's trunk offers an impressive 44.0 cubic feet of space behind the second row — which expands to 83.8 cubic feet with the rear seats folded flat. By comparison, the Outback Wilderness provides 34.6 cubic feet of trunk space behind the rear seats, expanding to an 80.5 cubic foot maximum.</p><p>For families who prioritize maximum room to stretch out alongside serious cargo-hauling capacity, the Passport is the superior option.</p><p><strong>Winner:</strong> Honda Passport</p><h2 class="article-body__section" id="section-honda-passport-vs-subaru-outback-value"><span>Honda Passport vs. Subaru Outback: Value</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/GkwxptZQqBGNsSQFrHwQLL.gif" alt="2026 Honda Passport gif animation." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/BRh9HrUm82SWkrrn6QkXUT.gif" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/MNebsCcvcd9F94votSuZGL.gif" alt="2026 Honda Passport gif animation." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Y36nhNgGSdgKp5wpAGHbAT.gif" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/LoQCcV4T2gPqWDTJdQ23UL.gif" alt="2026 Honda Passport gif animation." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/36zBF3j7tTqGXEvhtLYyUT.gif" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>These Japanese automakers have remarkable brand loyalty, reliability, and resale value — making this category very tough to decide.</p><p>Right off the bat, you’re paying slightly less for the 2026 Subaru Outback Wilderness with its as-tested price of $50,535. That delivers a savings of $4,554 over the 2026 Honda Passport TrailSport Elite’s $55,089 sticker price. For me, that price difference is largely driven by the Passport’s roomier size, more luxurious amenities, panoramic glass roof, second-row sunshades, and ventilated front seats. Larger families will certainly see the added value in its more spacious cabin and cargo-packing utility, which becomes even more crucial as kids grow.</p><p>As for the Subaru Outback? I can’t say enough about how this rugged midsize SUV refuses to compromise on performance and efficiency. You’ll certainly save more in the long run when it comes to fuel costs, even if it lacks some of the premium cabin refinements found in its rival. Either way, both make a compelling case for their value.</p><p><strong>Winner:</strong> tie</p><h2 class="article-body__section" id="section-honda-passport-vs-subaru-outback-verdict"><span>Honda Passport vs. Subaru Outback: Verdict</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/qey3LUr22e6Nix2As7uvJN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/sZXsHmnAK7kPuHwicoTUmU.jpg" alt="2026 Subaru Outback review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/6sRq55yFChshezLHRkrPLN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Lm4qX5q7XoRMvMrYTwWKqU.jpg" alt="2026 Subaru Outback review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/rnCjKhRPb6z5s3qCmzRRJN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/M7G3YqZ9FGmbZmRckHQShU.jpg" alt="2026 Subaru Outback review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/99qvthnvUX6sBuKmN83jHN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ZGZLi93L3BJnahyfxSXtjU.jpg" alt="2026 Subaru Outback review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/fLzVWc3tbfvZetsaiYbbAN.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/fGhgN4naFRJyB7V5yr5aWU.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/b5PN6CnTK6CC7uXKZz8j7N.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/X2dMU7hP4jfGkqntLMLEVU.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/vML3iAnyxHLuPE9Q3xbt6N.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/9w6ZCA8EXgFgZMNCeVxb5U.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/XhVH96GFfzs9mivmpZTC3N.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/cEyKkbiUdYrEkvsJtZm3eU.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/5CTjyUj3LJGoEcEEHKuZwM.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/xS9KzMi6NEfCqn5dez2Ws5.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Q2yp3rCaBY44372WiTCzuM.jpg" alt="2026 Honda Passport review." /><figcaption>2026 Honda Passport.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/vQDoevMKiRUyBYa7ykrxk5.jpg" alt="2026 Subaru Outback review." /><figcaption>2026 Subaru Outback.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>After putting the 2026 Honda Passport TrailSport Elite to the test against the 2026 Subaru Outback Wilderness, I can confirm the obvious: you won’t go wrong choosing either of them. I can’t say enough about how the Outback wins handily on efficiency, lower out-of-pocket cost, and everyday car-like driving agility, making it an extraordinary vehicle for budget-conscious families.</p><p>On the flip side, the Passport TrailSport Elite dominates on interior space, cabin comfort, boxy adventure design, and overall utility. Even though it's less fuel efficient, it benefits from being backed by a smooth V6 engine and a 5,000-pound towing capacity, giving it the necessary power to tackle harsh outdoor conditions.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2026 Honda Passport TrailSport Elite</strong></p></th><th  ><p><strong>2026 Subaru Outback Wilderness</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Design</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Driving Performance</strong></p></td><td  ></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Comfort</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Value</strong></p></td><td  ><p>X</p></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Total</strong></p></td><td  ><p>3</p></td><td  ><p>3</p></td></tr></tbody></table></div><p>However, if I had to sign on the dotted line and spend my own money, I’d personally choose the Honda Passport TrailSport Elite. While the Outback’s efficiency is tough to ignore, the Passport has the styling and utility that are better suited for a long-term family vehicle.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WwqpAX"></div>                            </div>                            <script src="https://kwizly.com/embed/WwqpAX.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/vehicle-tech/evs/im-not-anxious-that-its-getting-darker-earlier-with-this-thermal-camera-for-my-car-heres-why">I'm not anxious that it's getting darker earlier with this thermal camera for my car — here's why</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/i-borrowed-the-new-nissan-leaf-for-a-day-and-this-affordable-ev-nails-it">I just test drove the new Nissan Leaf — and it's irresistible at under $30,000</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/crabwalking-with-the-gmc-sierra-ev-is-the-weirdest-thing-ive-ever-done-with-a-car-and-its-actually-pretty-useful">CrabWalking with the GMC Sierra EV is the weirdest thing I’ve ever done with a car — and it’s actually pretty useful</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I walked 5,000 steps with the Fitbit Air vs Garmin Cirqa — Round 2: We have a new champ ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Google and Garmin both recently dropped new screen-free fitness trackers to rival the popular <a href="https://www.tomsguide.com/wellness/fitness-trackers/whoop-5-0-review-should-you-give-a-whoop-about-this-new-tracker">Whoop 5.0</a>. The biggest difference? The <a href="https://www.tomsguide.com/wellness/fitness-trackers/fitbit-air-review">Fitbit Air</a> and <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-just-went-hands-on-with-the-garmin-cirqa-and-it-strikes-a-near-perfect-balance-between-the-fitbit-air-and-whoop-5-0">Garmin Cirqa</a> are both subscription-free.</p><p>I’ve already tested the <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-walked-7-000-steps-with-the-garmin-cirqa-vs-fitbit-air-and-theres-a-clear-winner">Fitbit Air vs Garmin Cirqa</a> head-to-head in a prior walk test comparison, but a hiccup with the latter’s data meant a rematch was inevitable. </p><p>About as evenly matched as they come, both the Air and Cirqa track your sleep, workouts, and overall health. Garmin’s insights go a bit more in-depth than Fitbit’s, but the Cirqa is also twice the price of the Air, $199 vs. $99.</p><p>When it comes to onboard tech, neither device has GPS, so you must carry a paired smartphone for location tracking data during outdoor workouts.</p><h3 class="article-body__section" id="section-i-walked-5-000-steps-with-the-fitbit-air-vs-garmin-cirqa"><span>I walked 5,000 steps with the Fitbit Air vs Garmin Cirqa</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5712px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="58QF4r9QbpHc9RioxLeRqc" name="Air-v-Cirqa-03" alt="Close-up of the Fitbit Air next to the Garmin Cirqa" src="https://cdn.mos.cms.futurecdn.net/58QF4r9QbpHc9RioxLeRqc.jpg" mos="" align="middle" fullscreen="" width="5712" height="3213" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>So, which screen-free tracker is the more reliable wearable? I walked 5,000 steps with the Fitbit Air on my left wrist and the Garmin Cirqa on my right wrist to find out (the opposite of the previous test). </p><p>For good measure, I also tracked the walk using the Strava app on my iPhone 16, and as always, I manually counted my steps with some help from an old-school tally counter (one click = 100 steps). </p><p>Find the results of the <a href="https://www.tomsguide.com/wellness/fitness-trackers/garmin-cirqa-vs-fitbit-air-5-crucial-differences-you-need-to-know">Fitbit Air vs Garmin Cirqa</a> walk test, round 2, below.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Garmin Cirqa</p></th><th  ><p>Fitbit AIr</p></th><th  ><p>Control</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Steps</strong></p></td><td  ><p>5,006 steps</p></td><td  ><p>5,009 steps</p></td><td  ><p> 5,000 steps (manual count)</p></td></tr><tr><td class="firstcol " ><p><strong>Distance</strong></p></td><td  ><p>2.77 miles</p></td><td  ><p>2.71 miles</p></td><td  ><p>2.69 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Climb</strong></p></td><td  ><p>394 feet</p></td><td  ><p>248 feet</p></td><td  ><p>393 feet</p></td></tr><tr><td class="firstcol " ><p><strong>Average pace</strong></p></td><td  ><p>16 mins 46 secs per mile</p></td><td  ><p>16 mins 58 secs per mile</p></td><td  ><p>16 mins 49 secs per mile</p></td></tr><tr><td class="firstcol " ><p><strong>Average heart rate</strong></p></td><td  ><p>not recorded</p></td><td  ><p>125 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Max heart rate</strong></p></td><td  ><p>not recorded</p></td><td  ><p>153 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Calories burned</strong></p></td><td  ><p>240 total calories</p></td><td  ><p>398 total calories</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Battery usage</strong></p></td><td  ><p>0%</p></td><td  ><p>2%</p></td><td  ><p>n/a</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-garmin-s-step-count-was-closer"><span>Garmin's step count was closer</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5712px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="zrwLhcy7pE9gHz99a3wDGf" name="GarminCirqa-v-FitbitAir-02" alt="Close-up of the Garmin Cirqa screen-free fitness tracker" src="https://cdn.mos.cms.futurecdn.net/zrwLhcy7pE9gHz99a3wDGf.jpg" mos="" align="middle" fullscreen="" width="5712" height="3213" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Given the fact that the Fitbit Air, Garmin Cirqa, and Strava were all making use of the same location data, courtesy of my smartphone, you'd expect metrics like distance, steps, and pace to be pretty similar across the board. And that is very much the case.</p><p>However, when it comes to steps, Garmin's tally was closer to my actual count than Fitbit's by a whopping margin of... three steps. This is to say, both devices performed remarkably well here.</p><p>Strava's step count, for what it's worth, was 4,992, another impressive result.</p><h3 class="article-body__section" id="section-the-fitbit-air-continues-to-struggle-with-climb-data"><span>The Fitbit Air continues to struggle with climb data</span></h3><p>Some things never change. While the Garmin Cirqa and Strava calculated virtually the same amount of ascent for my rather hilly walk, the Fitbit Air significantly undercounted. </p><p>This is far from the first time the Air has logged lower-than-expected climb data. I had a similar result when I last pitted the <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-walked-7-000-steps-with-the-garmin-cirqa-vs-fitbit-air-and-theres-a-clear-winner">Air vs Cirqa in a walk test</a>. It also undercounted in a <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-walked-5-000-steps-with-the-apple-watch-11-vs-fitbit-air-and-theres-a-clear-winner">walk test versus the Apple Watch 11</a>, and another time in a comparison <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-walked-4-000-steps-with-the-fitbit-air-vs-pixel-watch-4-and-im-genuinely-shocked-by-the-results">against the Pixel Watch 4</a>.</p><h3 class="article-body__section" id="section-all-three-tracking-methods-noted-similar-distance-and-pace"><span>All three tracking methods noted similar distance and pace</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4637px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="y55QpRXhUiM9N8DKrxbLSe" name="GarminCirqa-v-FitbitAir" alt="Close-up of the Garmin Cirqa screen-free fitness tracker" src="https://cdn.mos.cms.futurecdn.net/y55QpRXhUiM9N8DKrxbLSe.jpg" mos="" align="middle" fullscreen="" width="4637" height="2608" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Despite inconsistencies in climb data, the Fitbit Air, Garmin Cirqa, and Strava app all calculated roughly the same amount of distance covered and average pace for my ~45-minute walk around sunny Seattle, Washington. That said, Garmin was the most generous with my efforts and speed. </p><h3 class="article-body__section" id="section-garmin-failed-to-record-any-heart-rate-data"><span>Garmin failed to record any heart rate data </span></h3><p>Well, this is a first: For unknown reasons, the Garmin Cirqa failed to record any heart rate data during my walk. This is particularly disappointing given the fact that it performed well in every other regard. Coincidentally, when I last tested the Garmin against the Fitbit, heart rate data was one of the few metrics it <em>did</em> log. </p><p>The Fitbit Air's max and average heart rate data, meanwhile, are right around what I expected for my walk, based on previous walk data from a zillion other tests. </p><h3 class="article-body__section" id="section-fitbit-burned-more-battery-and-calories"><span>Fitbit burned more battery and calories </span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5573px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="5zLDepBC5i6nn89axNbSMa" name="Air-v-Cirqa-02" alt="Close-up of the Fitbit Air next to the Garmin Cirqa" src="https://cdn.mos.cms.futurecdn.net/5zLDepBC5i6nn89axNbSMa.jpg" mos="" align="middle" fullscreen="" width="5573" height="3135" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Finally, neither device used much battery recording my walking workout, which makes sense given neither has a screen or GPS to power. While the Cirqa registered zero drain, the Air used just 2%.</p><p>Not only did the Fitbit burn more battery, but it also said I burned more calories than the Garmin during my stroll. That said, fitness tracker calorie counts are notoriously inconsistent, and one of the main metrics I tend to ignore.</p><p>Which of these two fitness trackers would you be more likely to use? Let me know in the poll below. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ODqw4X"></div>                            </div>                            <script src="https://kwizly.com/embed/ODqw4X.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/wellness/fitness-trackers/can-the-usd99-fitbit-air-beat-the-usd799-apple-watch-ultra-3-at-fitness-tracking-i-manually-counted-4-500-steps-to-find-out"><strong>Can the $99 Fitbit Air beat the $799 Apple Watch Ultra 3 at fitness tracking? I manually counted 4,500 steps to find out</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/wellness/smartwatches/i-manually-counted-4-000-steps-to-test-the-apple-watch-ultra-3-vs-samsung-galaxy-watch-ultra-2-and-samsung-wins-the-accuracy-battle-with-better-elevation-data-too"><strong>I walked 4,000 steps with the Apple Watch Ultra 3 vs Samsung Galaxy Watch Ultra 2 — and the winning margin was razor-thin</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/wellness/fitness-trackers/exclusive-garmin-cirqa-pm-says-it-just-felt-like-we-had-all-of-the-pieces-in-place-to-launch-a-screen-free-fitness-tracker"><strong>Exclusive: Garmin Cirqa PM says ‘it just felt like we had all of the pieces in place’ to launch a screen-free fitness tracker</strong></a><strong></strong></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/wellness/fitness-trackers/i-walked-5-000-steps-with-the-fitbit-air-vs-garmin-cirqa-round-2-we-have-a-new-champ</link>
                                                                            <description>
                            <![CDATA[ We're back with another fitness-tracking showdown between everyone's favorite new screen-free trackers: the Fitbit Air vs. Garmin Cirq. Who will win round 2? ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">nuJL3P9hun8vDppGRSaDQM</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/AZiNzMo6iqnpTRsefYcEna-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 14 Aug 2026 04:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Fitness Trackers]]></category>
                                                    <category><![CDATA[Wellness]]></category>
                                                    <category><![CDATA[Smartwatches]]></category>
                                                                                                <author><![CDATA[ dan.bracaglia@futurenet.com (Dan Bracaglia) ]]></author>                    <dc:creator><![CDATA[ Dan Bracaglia ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/3Ev8EFrheNxPemMWSBaKcK.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;&lt;br&gt;&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/AZiNzMo6iqnpTRsefYcEna-1280-80.jpg">
                                                            <media:credit><![CDATA[Dan Bracaglia/Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Close-up of the Fitbit Air next to the Garmin Cirqa]]></media:description>                                                            <media:text><![CDATA[Close-up of the Fitbit Air next to the Garmin Cirqa]]></media:text>
                                <media:title type="plain"><![CDATA[Close-up of the Fitbit Air next to the Garmin Cirqa]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/AZiNzMo6iqnpTRsefYcEna-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Google and Garmin both recently dropped new screen-free fitness trackers to rival the popular <a href="https://www.tomsguide.com/wellness/fitness-trackers/whoop-5-0-review-should-you-give-a-whoop-about-this-new-tracker">Whoop 5.0</a>. The biggest difference? The <a href="https://www.tomsguide.com/wellness/fitness-trackers/fitbit-air-review">Fitbit Air</a> and <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-just-went-hands-on-with-the-garmin-cirqa-and-it-strikes-a-near-perfect-balance-between-the-fitbit-air-and-whoop-5-0">Garmin Cirqa</a> are both subscription-free.</p><p>I’ve already tested the <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-walked-7-000-steps-with-the-garmin-cirqa-vs-fitbit-air-and-theres-a-clear-winner">Fitbit Air vs Garmin Cirqa</a> head-to-head in a prior walk test comparison, but a hiccup with the latter’s data meant a rematch was inevitable. </p><p>About as evenly matched as they come, both the Air and Cirqa track your sleep, workouts, and overall health. Garmin’s insights go a bit more in-depth than Fitbit’s, but the Cirqa is also twice the price of the Air, $199 vs. $99.</p><p>When it comes to onboard tech, neither device has GPS, so you must carry a paired smartphone for location tracking data during outdoor workouts.</p><h3 class="article-body__section" id="section-i-walked-5-000-steps-with-the-fitbit-air-vs-garmin-cirqa"><span>I walked 5,000 steps with the Fitbit Air vs Garmin Cirqa</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5712px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="58QF4r9QbpHc9RioxLeRqc" name="Air-v-Cirqa-03" alt="Close-up of the Fitbit Air next to the Garmin Cirqa" src="https://cdn.mos.cms.futurecdn.net/58QF4r9QbpHc9RioxLeRqc.jpg" mos="" align="middle" fullscreen="" width="5712" height="3213" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>So, which screen-free tracker is the more reliable wearable? I walked 5,000 steps with the Fitbit Air on my left wrist and the Garmin Cirqa on my right wrist to find out (the opposite of the previous test). </p><p>For good measure, I also tracked the walk using the Strava app on my iPhone 16, and as always, I manually counted my steps with some help from an old-school tally counter (one click = 100 steps). </p><p>Find the results of the <a href="https://www.tomsguide.com/wellness/fitness-trackers/garmin-cirqa-vs-fitbit-air-5-crucial-differences-you-need-to-know">Fitbit Air vs Garmin Cirqa</a> walk test, round 2, below.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Garmin Cirqa</p></th><th  ><p>Fitbit AIr</p></th><th  ><p>Control</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Steps</strong></p></td><td  ><p>5,006 steps</p></td><td  ><p>5,009 steps</p></td><td  ><p> 5,000 steps (manual count)</p></td></tr><tr><td class="firstcol " ><p><strong>Distance</strong></p></td><td  ><p>2.77 miles</p></td><td  ><p>2.71 miles</p></td><td  ><p>2.69 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Climb</strong></p></td><td  ><p>394 feet</p></td><td  ><p>248 feet</p></td><td  ><p>393 feet</p></td></tr><tr><td class="firstcol " ><p><strong>Average pace</strong></p></td><td  ><p>16 mins 46 secs per mile</p></td><td  ><p>16 mins 58 secs per mile</p></td><td  ><p>16 mins 49 secs per mile</p></td></tr><tr><td class="firstcol " ><p><strong>Average heart rate</strong></p></td><td  ><p>not recorded</p></td><td  ><p>125 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Max heart rate</strong></p></td><td  ><p>not recorded</p></td><td  ><p>153 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Calories burned</strong></p></td><td  ><p>240 total calories</p></td><td  ><p>398 total calories</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Battery usage</strong></p></td><td  ><p>0%</p></td><td  ><p>2%</p></td><td  ><p>n/a</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-garmin-s-step-count-was-closer"><span>Garmin's step count was closer</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5712px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="zrwLhcy7pE9gHz99a3wDGf" name="GarminCirqa-v-FitbitAir-02" alt="Close-up of the Garmin Cirqa screen-free fitness tracker" src="https://cdn.mos.cms.futurecdn.net/zrwLhcy7pE9gHz99a3wDGf.jpg" mos="" align="middle" fullscreen="" width="5712" height="3213" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Given the fact that the Fitbit Air, Garmin Cirqa, and Strava were all making use of the same location data, courtesy of my smartphone, you'd expect metrics like distance, steps, and pace to be pretty similar across the board. And that is very much the case.</p><p>However, when it comes to steps, Garmin's tally was closer to my actual count than Fitbit's by a whopping margin of... three steps. This is to say, both devices performed remarkably well here.</p><p>Strava's step count, for what it's worth, was 4,992, another impressive result.</p><h3 class="article-body__section" id="section-the-fitbit-air-continues-to-struggle-with-climb-data"><span>The Fitbit Air continues to struggle with climb data</span></h3><p>Some things never change. While the Garmin Cirqa and Strava calculated virtually the same amount of ascent for my rather hilly walk, the Fitbit Air significantly undercounted. </p><p>This is far from the first time the Air has logged lower-than-expected climb data. I had a similar result when I last pitted the <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-walked-7-000-steps-with-the-garmin-cirqa-vs-fitbit-air-and-theres-a-clear-winner">Air vs Cirqa in a walk test</a>. It also undercounted in a <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-walked-5-000-steps-with-the-apple-watch-11-vs-fitbit-air-and-theres-a-clear-winner">walk test versus the Apple Watch 11</a>, and another time in a comparison <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-walked-4-000-steps-with-the-fitbit-air-vs-pixel-watch-4-and-im-genuinely-shocked-by-the-results">against the Pixel Watch 4</a>.</p><h3 class="article-body__section" id="section-all-three-tracking-methods-noted-similar-distance-and-pace"><span>All three tracking methods noted similar distance and pace</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4637px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="y55QpRXhUiM9N8DKrxbLSe" name="GarminCirqa-v-FitbitAir" alt="Close-up of the Garmin Cirqa screen-free fitness tracker" src="https://cdn.mos.cms.futurecdn.net/y55QpRXhUiM9N8DKrxbLSe.jpg" mos="" align="middle" fullscreen="" width="4637" height="2608" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Despite inconsistencies in climb data, the Fitbit Air, Garmin Cirqa, and Strava app all calculated roughly the same amount of distance covered and average pace for my ~45-minute walk around sunny Seattle, Washington. That said, Garmin was the most generous with my efforts and speed. </p><h3 class="article-body__section" id="section-garmin-failed-to-record-any-heart-rate-data"><span>Garmin failed to record any heart rate data </span></h3><p>Well, this is a first: For unknown reasons, the Garmin Cirqa failed to record any heart rate data during my walk. This is particularly disappointing given the fact that it performed well in every other regard. Coincidentally, when I last tested the Garmin against the Fitbit, heart rate data was one of the few metrics it <em>did</em> log. </p><p>The Fitbit Air's max and average heart rate data, meanwhile, are right around what I expected for my walk, based on previous walk data from a zillion other tests. </p><h3 class="article-body__section" id="section-fitbit-burned-more-battery-and-calories"><span>Fitbit burned more battery and calories </span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5573px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="5zLDepBC5i6nn89axNbSMa" name="Air-v-Cirqa-02" alt="Close-up of the Fitbit Air next to the Garmin Cirqa" src="https://cdn.mos.cms.futurecdn.net/5zLDepBC5i6nn89axNbSMa.jpg" mos="" align="middle" fullscreen="" width="5573" height="3135" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Finally, neither device used much battery recording my walking workout, which makes sense given neither has a screen or GPS to power. While the Cirqa registered zero drain, the Air used just 2%.</p><p>Not only did the Fitbit burn more battery, but it also said I burned more calories than the Garmin during my stroll. That said, fitness tracker calorie counts are notoriously inconsistent, and one of the main metrics I tend to ignore.</p><p>Which of these two fitness trackers would you be more likely to use? Let me know in the poll below. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ODqw4X"></div>                            </div>                            <script src="https://kwizly.com/embed/ODqw4X.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/wellness/fitness-trackers/can-the-usd99-fitbit-air-beat-the-usd799-apple-watch-ultra-3-at-fitness-tracking-i-manually-counted-4-500-steps-to-find-out"><strong>Can the $99 Fitbit Air beat the $799 Apple Watch Ultra 3 at fitness tracking? I manually counted 4,500 steps to find out</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/wellness/smartwatches/i-manually-counted-4-000-steps-to-test-the-apple-watch-ultra-3-vs-samsung-galaxy-watch-ultra-2-and-samsung-wins-the-accuracy-battle-with-better-elevation-data-too"><strong>I walked 4,000 steps with the Apple Watch Ultra 3 vs Samsung Galaxy Watch Ultra 2 — and the winning margin was razor-thin</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/wellness/fitness-trackers/exclusive-garmin-cirqa-pm-says-it-just-felt-like-we-had-all-of-the-pieces-in-place-to-launch-a-screen-free-fitness-tracker"><strong>Exclusive: Garmin Cirqa PM says ‘it just felt like we had all of the pieces in place’ to launch a screen-free fitness tracker</strong></a><strong></strong></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Sony Bravia 9 II True RGB TV vs 8 II OLED: After testing both, here’s what we recommend ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The <a href="https://www.tomsguide.com/tvs/4k-tvs/sony-bravia-9-ii-true-rgb-tv-review">Sony Bravia 9 II</a> — the brand’s top True RGB TV in 2026 — is one of the <a href="https://www.tomsguide.com/us/best-tvs,review-2224.html">best TVs</a> of the year, thanks to its astoundingly bright, colorful picture and incredible engineering. It’s also one of the priciest TVs on shelves right now.</p><p>The <a href="https://www.tomsguide.com/tvs/oled-tvs/sony-bravia-8-ii-review">Bravia 8 II OLED</a> takes a different path to top-shelf performance. While nowhere near as bright as Sony’s True RGB flagship, its razor-sharp picture excels in ways only an OLED can: with perfect black levels, zero haloing and eye-popping micro-contrast.</p><p>In 2026, these are among the top-performing Sony TVs on shelves. But depending on your budget, living space and viewing habits, one will be better suited to your needs. Here’s my expert take on how to choose between the Bravia 9 II and 8 II.</p>        <div class="featured_product_block featured_block_versus" data-id="015f3266-9669-11f1-b5ee-070fa5512530">            <a href="https://www.tomsguide.com/tvs/4k-tvs/sony-bravia-9-ii-true-rgb-tv-review" data-model-name="Sony Bravia 9 II (2026),Sony Bravia 9 II 65-inch 4K True RGB TV (2026)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/ZWPmY8wjRLa9LQxeFp6gRN.jpg" alt="The Sony Bravia 9 II True RGB TV"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                                                <div class="featured__title">Sony Bravia 9 II</div>                                    </div>                <div class="subtitle__description">                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star half"></span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="90" /></span></div>                                        <p><p>The Bravia 9 II is Sony's top True RGB TV for 2026, so its picture is tremendously bright and vibrant. You won't get the perfect black levels we've come to expect from OLED technology, but if you're comfortable with the price, the Bravia 9 II's powerful (and complex) backlighting make it a better choice than the Bravia 8 II for well-lit rooms and daytime viewing.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_versus" data-id="015f32d4-9669-11f1-ac50-9d5dd39af332">            <a href="https://www.tomsguide.com/tvs/oled-tvs/sony-bravia-8-ii-review" data-model-name="Sony Bravia 8 II QD-OLED TV,Sony Bravia 8 II 65-inch QD-OLED TV,Sony Bravia 8 II 55-inch QD-OLED TV" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:60.47%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/iaTtJpmM5Fctug9jCSNEDb.jpg" alt="Soy Bravia 8 II"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                                                <div class="featured__title">Sony Bravia 8 II</div>                                    </div>                <div class="subtitle__description">                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star half"></span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="70" /></span></div>                                        <p><p>The Bravia 8 II remains Sony's top OLED over a year after its debut, but its presence on shelves is a blessing for folks who want to experience Sony's take on quantum dot-enhanced, OLED-driven performance. Its picture quality is incredible, but its lower peak brightness makes it a better fit for people with dark, well-calibrated home-theater setups.</p></p>                </div>                            </div>        </div><h2 id="sony-bravia-9-ii-vs-bravia-8-ii-specs-compared">Sony Bravia 9 II vs Bravia 8 II: Specs compared</h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Sony Bravia 9 II</p></th><th  ><p>Sony Bravia 8 II</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Sizes</strong></p></td><td  ><p>65", 75", 85", 115"</p></td><td  ><p>42", 48", 55", 65", 77", 83"</p></td></tr><tr><td class="firstcol " ><p><strong>Ports</strong></p></td><td  ><p>2x HDMI 2.1, 2x HDMI 2.0</p></td><td  ><p>2x HDMI 2.1, 2x HDMI 2.0</p></td></tr><tr><td class="firstcol " ><p><strong>Resolution</strong></p></td><td  ><p>3,840 x 2,160p</p></td><td  ><p>3,840 x 2,160p</p></td></tr><tr><td class="firstcol " ><p><strong>Refresh rate</strong></p></td><td  ><p>120Hz</p></td><td  ><p>120Hz</p></td></tr><tr><td class="firstcol " ><p><strong>HDR</strong></p></td><td  ><p>Dolby Vision, HDR10, HLG</p></td><td  ><p>Dolby Vision, HDR10, HLG</p></td></tr><tr><td class="firstcol " ><p><strong>Smart TV software</strong></p></td><td  ><p>Google TV</p></td><td  ><p>Google TV</p></td></tr><tr><td class="firstcol " ><p><strong>ATSC 3.0 support?</strong></p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>XR Processor 4K</p></td><td  ><p>XR Processor 4K</p></td></tr></tbody></table></div><p>These two top-shelf TVs share many of the same specs. The biggest difference between the specs listed above lies in size availability.</p><p>Both TVs come in the ever-popular 65-inch screen size, but the Bravia 9 II offers a more-flexible set of size options for folks who fancy big screens, as it's available in 75-, 85- and 115-inch models, too. The Bravia 8 II, on the other hand, is available in a 55-inch version — something you won't find on the 9 II's side of the ledger.</p><p>Beyond that, these specs are a wash. Both TVs support Dolby Vision and are limited to just two HDMI 2.1-compatible inputs. They also support ATSC 3.0 for 4K over-the-air broadcasts and offer a native refresh rate of 120Hz.</p><p><em><strong>Winner:</strong></em><em> Draw</em></p><h2 id="sony-bravia-9-ii-vs-bravia-8-ii-design">Sony Bravia 9 II vs Bravia 8 II: Design</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="JN72XkGA9FPzPrL5NviTeH" name="Sony-Bravia-9-II--14" alt="Pedestal stand on the Sony Bravia 9 II TV" src="https://cdn.mos.cms.futurecdn.net/JN72XkGA9FPzPrL5NviTeH.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><div  class="fancy-box"><div class="fancy_box-title">Want to learn more?</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Fs3qz5sNLWmSetUgLxCCjE" name="Samsung-S95H-OLED-TV-lifestyle" caption="" alt="A wall-mounted Samsung S95H OLED TV displaying abstract, purple-colored imagery in a modern living room illuminated by sunlight" src="https://cdn.mos.cms.futurecdn.net/Fs3qz5sNLWmSetUgLxCCjE.jpg" mos="" link="" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div><figcaption itemprop="caption description" class=""><span class="credit" itemprop="copyrightHolder">(Image credit: Samsung)</span></figcaption></figure><p class="fancy-box__body-text"><strong>Here's my expert guide to the </strong><a data-analytics-id="inline-link" href="https://www.tomsguide.com/tvs/oled-tvs/matte-vs-glossy-oled-tv-screens-what-should-you-buy-in-2026"><strong>matte or glossy OLED screen </strong></a><strong>debate.</strong></p></div></div><p>These are two wonderfully engineered TVs, but they each flash some design flourishes that ought to be covered. The centerpiece of the Bravia 9 II's outward-facing design is its so-called <em>Mirage</em>-style stand (seen above).</p><p>The center pedestal that props up the panel is outfitted with a special lenticular lens that, when viewed from the front, obscures the sight of any dangling cables behind the TV. Pretty nifty!</p><p>The Bravia 9 II's screen sports a matte-style screen, which does an effective job of blunting the impact of direct glare. To my eye, it's not as aggressive as Samsung's Glare Free screen, so there isn't as much of a purplish tint to the slightly raised black levels it creates by scattering light.</p><p>The RGB LED-lit panel isn't the slimmest on shelves, but its uniform profile gives the entire package an appropriately premium look. It's one of Sony's most thoughtfully designed TVs to date.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="7UHMT8vGL8r5Hk73zKuQYW" name="Sony Bravia 8 II--8" alt="Sony Bravia 8 II" src="https://cdn.mos.cms.futurecdn.net/7UHMT8vGL8r5Hk73zKuQYW.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Bravia 8 II (seen above) takes a different approach to its design, but one that is nevertheless thoughtful, too.</p><p>Rather than connect to a pedestal-style stand in its center, the 8 II's panel sits atop a pair of angular, metal feet. The feet can be connected in a couple of configurations: One configuration elegantly places the panel directly on whatever surface is underneath, while the other configuration lifts the TV several inches up to accommodate a soundbar.</p><p>Lastly, some good news: Both of these TVs ship with similarly excellent remote controls that deliver excellent form and function. However, the Bravia 9 II's remote control is backlit, which makes a <em>huge</em> difference in the dark.</p><p>While I appreciate the flexibility of the Bravia 8 II, I suspect that more people will appreciate the 9 II's twist on a traditional approach. The Mirage stand in particular is a subtle-but-satisfying touch.</p><p><em><strong>Winner: </strong></em><em>Sony Bravia 9 II</em></p><h2 id="sony-bravia-9-ii-vs-bravia-8-ii-performance">Sony Bravia 9 II vs Bravia 8 II: Performance</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="9cSbQAgbJWtympfHXHuVjH" name="Sony-Bravia-9-II--9" alt="Sony Bravia 9 II TV on a desk" src="https://cdn.mos.cms.futurecdn.net/9cSbQAgbJWtympfHXHuVjH.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Before we dive into which of these TVs is the better performer, let's compare their test results. (Both TVs were set to Sony's Professional picture mode when these tests were taken.)</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Sony Bravia 9 II</strong></p></th><th  ><p><strong>Sony Bravia 8 II</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>SDR Brightness (10%, in nits)    </strong></p></td><td  ><p>101</p></td><td  ><p>102</p></td></tr><tr><td class="firstcol " ><p><strong>Delta-E (lower is better)    </strong></p></td><td  ><p>3.6</p></td><td  ><p>3.6</p></td></tr><tr><td class="firstcol " ><p><strong>HDR Brightness (10%, in nits)    </strong></p></td><td  ><p>3,903</p></td><td  ><p>1,584</p></td></tr><tr><td class="firstcol " ><p><strong>UHDA-P3 Gamut Coverage    </strong></p></td><td  ><p>99.18%</p></td><td  ><p>99.99%</p></td></tr><tr><td class="firstcol " ><p><strong>Rec. 2020 Gamut Coverage    </strong></p></td><td  ><p>89.23%</p></td><td  ><p>90.55%</p></td></tr><tr><td class="firstcol " ><p><strong>Input latency (milliseconds)   </strong></p></td><td  ><p>9.8</p></td><td  ><p>16.3</p></td></tr></tbody></table></div><p>I want to get one thing out of the way right off the bat: Both the Bravia 9 II and 8 II serve up sensational picture quality in both SDR and HDR. If you're in the market for top-notch performance with an emphasis on detail, either set will surely satisfy you.</p><p>However, there are some significant differences in <em>how</em> these TVs achieve excellency. Depending on how (and when) you use your TV, one will likely be a better choice than the other.</p><p>In Sony's most-accurate picture mode (Professional), both TVs strive to hit 100 nits of brightness on a 10% white window in SDR. That they each nail this target is a testament to Sony's dynamite engineering. If you want a punchier presentation, you can always dial-in to a different picture mode.</p><p>That being said, the Bravia 9 II has a much higher brightness ceiling for run-of-the-mill SDR content thanks to the power of RGB LED backlighting. As a result, if you do a ton of TV-watching during the day and you typically stick to basic cable, YouTube videos and whatnot, the Bravia 9 II has a significant edge.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="NrhEKJu94eBTTZdFBWfbLC" name="Sony Bravia 8 II--3" alt="Sony Bravia 8 II on a TV stand" src="https://cdn.mos.cms.futurecdn.net/NrhEKJu94eBTTZdFBWfbLC.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>It's a similar story during HDR movies, shows and games. Sony's top OLED TV is no slouch in this department, but on the Bravia 9 II's True RGB screen, specular highlights (small, intense areas of brightness) crackle and pop to the tune of around 4,000 nits.</p><div><blockquote><p>On the Bravia 9 II's True RGB screen, specular highlights (small, intense areas of brightness) crackle and pop to the tune of around 4,000 nits.</p></blockquote></div><p>But brightness isn't the only story. The <em>visual texture </em>of an OLED-driven picture is something that can't quite be replicated on even a top-shelf Mini-LED TV like the Bravia 9 II. With self-lit pixels, the Bravia 8 II is able to drive over 1,500 nits of HDR brightness to tiny clusters of pixels.</p><p>In person, this effect is nothing short of magic. If you're anything like me, in a side-by-side comparison with an LCD TV, your heart will tug you towards this self-emissive magic nine times out of ten. </p><p>A wide range of colors flow freely on both TVs thanks to True RGB and QD-OLED technology, but on average, you'll get brighter color performance with the 9 II's LED backlighting. Regardless, they're both among the most-colorful TVs we've ever tested.</p><p>Once you factor in the Bravia 9 II's superior input latency, the full picture comes into focus. Simply put, it's a better-performing TV due to its overall versatility. Whether gaming, watching sports during the day or dimming the lights for movie night, the Bravia 9 II will meet your needs better than almost every other TV on the market.</p><p>The Bravia 8 II is the TV I'd choose for a home theater-like environment where the ambient lighting conditions are more controllable. It's also not as cut out for competitive gaming. I've had literal dreams about owning the Bravia 8 II, but I can't deny that the 9 II is a better all-around pick for most people.</p><p><em><strong>Winner: </strong></em><em>Sony Bravia 9 II</em></p><h2 id="sony-bravia-9-ii-vs-bravia-8-ii-smart-platform-and-features">Sony Bravia 9 II vs Bravia 8 II: Smart platform and features</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="KSnwrwRCCfPDxERqbv3GUN" name="Sony Bravia 8 II--1-LEDE2" alt="Sony Bravia 8 II" src="https://cdn.mos.cms.futurecdn.net/KSnwrwRCCfPDxERqbv3GUN.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Now that we've got the nitty-gritty, performance-related stuff out of the way, let's talk about something a little more straightforward: features.</p><p>These TVs offer a similar set of bells and whistles, and both models are built around Google TV. It's one of my preferred choices for everyday streaming, as the interface is easy to use and the library of downloadable apps is seemingly endless.</p><p>As mentioned, both TVs are limited to just a pair of HDMI 2.1 inputs and one of those ports is a dedicated eARC port, so folks with multiple gaming devices and a soundbar might feel limited. Fortunately, these inputs support 4K gaming up to 120Hz, which is the top 4K spec for current-generation consoles.</p><p>The software experience is nearly identical across both sets (save for some extra enhancements and picture settings on the Bravia 9 II). This category is a draw.</p><p><em><strong>Winner: </strong></em><em>Draw</em></p><h2 id="sony-bravia-9-ii-vs-bravia-8-ii-verdict">Sony Bravia 9 II vs Bravia 8 II: Verdict</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="pAFcNGLCUTwdmu7DcssvaH" name="Sony-Bravia-9-II--17" alt="The remote for the Sony Bravia 9 II TV" src="https://cdn.mos.cms.futurecdn.net/pAFcNGLCUTwdmu7DcssvaH.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Sony Bravia 9 II</p></th><th  ><p>Sony Bravia 8 II</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Specs (25)</strong></p></td><td  ><p>22</p></td><td  ><p>22</p></td></tr><tr><td class="firstcol " ><p><strong>Design (25)</strong></p></td><td  ><p>25</p></td><td  ><p>24</p></td></tr><tr><td class="firstcol " ><p><strong>Performance (25)</strong></p></td><td  ><p>24</p></td><td  ><p>23</p></td></tr><tr><td class="firstcol " ><p><strong>Features (25)</strong></p></td><td  ><p>22</p></td><td  ><p>22</p></td></tr><tr><td class="firstcol " ><p><strong>Total Score (100)</strong></p></td><td  ><p><strong>93</strong></p></td><td  ><p><strong>91</strong></p></td></tr></tbody></table></div><p>Despite the closeness of these final tallies, it ought to be relatively easy to settle on one of these Sony TVs. I recommend the Bravia 9 II to folks who want the brightest possible picture or people who plan on watching a ton of TV during the day. Additionally, gamers are more likely to synergize with the Bravia 9 II thanks to its lower input latency.</p><p>But if you love the look of an OLED TV — or if you're looking for a new home theater centerpiece — the Bravia 8 II might be closer to your cup of tea. It's not as bright as flagship OLEDs from LG and Samsung, but its HDR highlights leap off the screen nonetheless.</p><p>Regardless of which TV you choose, prepare to pay for the privilege of Sony engineering. The <a href="https://www.bestbuy.com/product/sony-65-class-bravia-9-ii-true-rgb-4k-hdr-google-tv-with-gemini-and-anti-glare-screen/J7XSRH54TJ/sku/6674085" target="_blank" rel="nofollow">65-inch Bravia 9 II is $3,599 at Best Buy</a> right now, and despite the fact that it launched over a year ago, the <a href="https://www.bestbuy.com/product/sony-65-class-bravia-8-ii-oled-4k-uhd-smart-google-tv-2025/J7XSRH5T4L" target="_blank" rel="nofollow">65-inch Bravia 8 II is still $3,299</a>.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ePaJpW"></div>                            </div>                            <script src="https://kwizly.com/embed/ePaJpW.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/tvs/4k-tvs/sony-bravia-9-ii-true-rgb-tv-review">I tested Sony’s $3,600 Bravia 9 II True RGB TV — here's my verdict</a></li><li><a href="https://www.tomsguide.com/tvs/oled-tvs/sony-bravia-8-ii-review">Is the Sony Bravia 8 II really the King of OLEDs? I tested the set for two weeks to find out</a></li><li><a href="https://www.tomsguide.com/tvs/theres-no-way-around-it-sony-tvs-are-priced-higher-than-most-of-the-competition-heres-what-sonys-doing-right-what-its-doing-wrong-and-what-needs-to-change-in-2026">Sony TV report card 2026: Is the 'Sony tax' still worth paying?</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/tvs/oled-tvs/sony-bravia-9-ii-true-rgb-tv-vs-8-ii-oled-after-testing-both-heres-what-we-recommend</link>
                                                                            <description>
                            <![CDATA[ The Sony Bravia 9 II True RGB TV is one of the top TVs of 2026, and the 8 II OLED is Sony's top OLED. Here's how they compare — from performance to design and price. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">qGgpxMXCbpCPERn6okM8G</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/NTEDMgt3tdBydUaM4Dzixi-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 13 Aug 2026 05:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[OLED TVs]]></category>
                                                    <category><![CDATA[TVs]]></category>
                                                                                                <author><![CDATA[ michael.desjardin@futurenet.com (Michael Desjardin) ]]></author>                    <dc:creator><![CDATA[ Michael Desjardin ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/esytxRqW9GNVZNVCf7BFyV.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Michael Desjardin is a Senior Editor for TVs at Tom&#039;s Guide. He&#039;s been testing and tinkering with TVs professionally for over a decade, previously for Reviewed and USA Today. Michael studied media production and screenwriting at Emerson College. He loves cooking, zoning out to ambient music, and getting way too invested in the Red Sox. He considers himself living proof that TV doesn&#039;t necessarily rot your brain.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/NTEDMgt3tdBydUaM4Dzixi-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A side-by-side composite of the Sony Bravia 8 II OLED and the Bravia 9 II True RGB TV]]></media:description>                                                            <media:text><![CDATA[A side-by-side composite of the Sony Bravia 8 II OLED and the Bravia 9 II True RGB TV]]></media:text>
                                <media:title type="plain"><![CDATA[A side-by-side composite of the Sony Bravia 8 II OLED and the Bravia 9 II True RGB TV]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/NTEDMgt3tdBydUaM4Dzixi-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The <a href="https://www.tomsguide.com/tvs/4k-tvs/sony-bravia-9-ii-true-rgb-tv-review">Sony Bravia 9 II</a> — the brand’s top True RGB TV in 2026 — is one of the <a href="https://www.tomsguide.com/us/best-tvs,review-2224.html">best TVs</a> of the year, thanks to its astoundingly bright, colorful picture and incredible engineering. It’s also one of the priciest TVs on shelves right now.</p><p>The <a href="https://www.tomsguide.com/tvs/oled-tvs/sony-bravia-8-ii-review">Bravia 8 II OLED</a> takes a different path to top-shelf performance. While nowhere near as bright as Sony’s True RGB flagship, its razor-sharp picture excels in ways only an OLED can: with perfect black levels, zero haloing and eye-popping micro-contrast.</p><p>In 2026, these are among the top-performing Sony TVs on shelves. But depending on your budget, living space and viewing habits, one will be better suited to your needs. Here’s my expert take on how to choose between the Bravia 9 II and 8 II.</p>        <div class="featured_product_block featured_block_versus" data-id="015f3266-9669-11f1-b5ee-070fa5512530">            <a href="https://www.tomsguide.com/tvs/4k-tvs/sony-bravia-9-ii-true-rgb-tv-review" data-model-name="Sony Bravia 9 II (2026),Sony Bravia 9 II 65-inch 4K True RGB TV (2026)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/ZWPmY8wjRLa9LQxeFp6gRN.jpg" alt="The Sony Bravia 9 II True RGB TV"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                                                <div class="featured__title">Sony Bravia 9 II</div>                                    </div>                <div class="subtitle__description">                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star half"></span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="90" /></span></div>                                        <p><p>The Bravia 9 II is Sony's top True RGB TV for 2026, so its picture is tremendously bright and vibrant. You won't get the perfect black levels we've come to expect from OLED technology, but if you're comfortable with the price, the Bravia 9 II's powerful (and complex) backlighting make it a better choice than the Bravia 8 II for well-lit rooms and daytime viewing.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_versus" data-id="015f32d4-9669-11f1-ac50-9d5dd39af332">            <a href="https://www.tomsguide.com/tvs/oled-tvs/sony-bravia-8-ii-review" data-model-name="Sony Bravia 8 II QD-OLED TV,Sony Bravia 8 II 65-inch QD-OLED TV,Sony Bravia 8 II 55-inch QD-OLED TV" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:60.47%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/iaTtJpmM5Fctug9jCSNEDb.jpg" alt="Soy Bravia 8 II"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                                                <div class="featured__title">Sony Bravia 8 II</div>                                    </div>                <div class="subtitle__description">                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star half"></span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="70" /></span></div>                                        <p><p>The Bravia 8 II remains Sony's top OLED over a year after its debut, but its presence on shelves is a blessing for folks who want to experience Sony's take on quantum dot-enhanced, OLED-driven performance. Its picture quality is incredible, but its lower peak brightness makes it a better fit for people with dark, well-calibrated home-theater setups.</p></p>                </div>                            </div>        </div><h2 id="sony-bravia-9-ii-vs-bravia-8-ii-specs-compared">Sony Bravia 9 II vs Bravia 8 II: Specs compared</h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Sony Bravia 9 II</p></th><th  ><p>Sony Bravia 8 II</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Sizes</strong></p></td><td  ><p>65", 75", 85", 115"</p></td><td  ><p>42", 48", 55", 65", 77", 83"</p></td></tr><tr><td class="firstcol " ><p><strong>Ports</strong></p></td><td  ><p>2x HDMI 2.1, 2x HDMI 2.0</p></td><td  ><p>2x HDMI 2.1, 2x HDMI 2.0</p></td></tr><tr><td class="firstcol " ><p><strong>Resolution</strong></p></td><td  ><p>3,840 x 2,160p</p></td><td  ><p>3,840 x 2,160p</p></td></tr><tr><td class="firstcol " ><p><strong>Refresh rate</strong></p></td><td  ><p>120Hz</p></td><td  ><p>120Hz</p></td></tr><tr><td class="firstcol " ><p><strong>HDR</strong></p></td><td  ><p>Dolby Vision, HDR10, HLG</p></td><td  ><p>Dolby Vision, HDR10, HLG</p></td></tr><tr><td class="firstcol " ><p><strong>Smart TV software</strong></p></td><td  ><p>Google TV</p></td><td  ><p>Google TV</p></td></tr><tr><td class="firstcol " ><p><strong>ATSC 3.0 support?</strong></p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>XR Processor 4K</p></td><td  ><p>XR Processor 4K</p></td></tr></tbody></table></div><p>These two top-shelf TVs share many of the same specs. The biggest difference between the specs listed above lies in size availability.</p><p>Both TVs come in the ever-popular 65-inch screen size, but the Bravia 9 II offers a more-flexible set of size options for folks who fancy big screens, as it's available in 75-, 85- and 115-inch models, too. The Bravia 8 II, on the other hand, is available in a 55-inch version — something you won't find on the 9 II's side of the ledger.</p><p>Beyond that, these specs are a wash. Both TVs support Dolby Vision and are limited to just two HDMI 2.1-compatible inputs. They also support ATSC 3.0 for 4K over-the-air broadcasts and offer a native refresh rate of 120Hz.</p><p><em><strong>Winner:</strong></em><em> Draw</em></p><h2 id="sony-bravia-9-ii-vs-bravia-8-ii-design">Sony Bravia 9 II vs Bravia 8 II: Design</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="JN72XkGA9FPzPrL5NviTeH" name="Sony-Bravia-9-II--14" alt="Pedestal stand on the Sony Bravia 9 II TV" src="https://cdn.mos.cms.futurecdn.net/JN72XkGA9FPzPrL5NviTeH.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><div  class="fancy-box"><div class="fancy_box-title">Want to learn more?</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Fs3qz5sNLWmSetUgLxCCjE" name="Samsung-S95H-OLED-TV-lifestyle" caption="" alt="A wall-mounted Samsung S95H OLED TV displaying abstract, purple-colored imagery in a modern living room illuminated by sunlight" src="https://cdn.mos.cms.futurecdn.net/Fs3qz5sNLWmSetUgLxCCjE.jpg" mos="" link="" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div><figcaption itemprop="caption description" class=""><span class="credit" itemprop="copyrightHolder">(Image credit: Samsung)</span></figcaption></figure><p class="fancy-box__body-text"><strong>Here's my expert guide to the </strong><a data-analytics-id="inline-link" href="https://www.tomsguide.com/tvs/oled-tvs/matte-vs-glossy-oled-tv-screens-what-should-you-buy-in-2026"><strong>matte or glossy OLED screen </strong></a><strong>debate.</strong></p></div></div><p>These are two wonderfully engineered TVs, but they each flash some design flourishes that ought to be covered. The centerpiece of the Bravia 9 II's outward-facing design is its so-called <em>Mirage</em>-style stand (seen above).</p><p>The center pedestal that props up the panel is outfitted with a special lenticular lens that, when viewed from the front, obscures the sight of any dangling cables behind the TV. Pretty nifty!</p><p>The Bravia 9 II's screen sports a matte-style screen, which does an effective job of blunting the impact of direct glare. To my eye, it's not as aggressive as Samsung's Glare Free screen, so there isn't as much of a purplish tint to the slightly raised black levels it creates by scattering light.</p><p>The RGB LED-lit panel isn't the slimmest on shelves, but its uniform profile gives the entire package an appropriately premium look. It's one of Sony's most thoughtfully designed TVs to date.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="7UHMT8vGL8r5Hk73zKuQYW" name="Sony Bravia 8 II--8" alt="Sony Bravia 8 II" src="https://cdn.mos.cms.futurecdn.net/7UHMT8vGL8r5Hk73zKuQYW.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Bravia 8 II (seen above) takes a different approach to its design, but one that is nevertheless thoughtful, too.</p><p>Rather than connect to a pedestal-style stand in its center, the 8 II's panel sits atop a pair of angular, metal feet. The feet can be connected in a couple of configurations: One configuration elegantly places the panel directly on whatever surface is underneath, while the other configuration lifts the TV several inches up to accommodate a soundbar.</p><p>Lastly, some good news: Both of these TVs ship with similarly excellent remote controls that deliver excellent form and function. However, the Bravia 9 II's remote control is backlit, which makes a <em>huge</em> difference in the dark.</p><p>While I appreciate the flexibility of the Bravia 8 II, I suspect that more people will appreciate the 9 II's twist on a traditional approach. The Mirage stand in particular is a subtle-but-satisfying touch.</p><p><em><strong>Winner: </strong></em><em>Sony Bravia 9 II</em></p><h2 id="sony-bravia-9-ii-vs-bravia-8-ii-performance">Sony Bravia 9 II vs Bravia 8 II: Performance</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="9cSbQAgbJWtympfHXHuVjH" name="Sony-Bravia-9-II--9" alt="Sony Bravia 9 II TV on a desk" src="https://cdn.mos.cms.futurecdn.net/9cSbQAgbJWtympfHXHuVjH.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Before we dive into which of these TVs is the better performer, let's compare their test results. (Both TVs were set to Sony's Professional picture mode when these tests were taken.)</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Sony Bravia 9 II</strong></p></th><th  ><p><strong>Sony Bravia 8 II</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>SDR Brightness (10%, in nits)    </strong></p></td><td  ><p>101</p></td><td  ><p>102</p></td></tr><tr><td class="firstcol " ><p><strong>Delta-E (lower is better)    </strong></p></td><td  ><p>3.6</p></td><td  ><p>3.6</p></td></tr><tr><td class="firstcol " ><p><strong>HDR Brightness (10%, in nits)    </strong></p></td><td  ><p>3,903</p></td><td  ><p>1,584</p></td></tr><tr><td class="firstcol " ><p><strong>UHDA-P3 Gamut Coverage    </strong></p></td><td  ><p>99.18%</p></td><td  ><p>99.99%</p></td></tr><tr><td class="firstcol " ><p><strong>Rec. 2020 Gamut Coverage    </strong></p></td><td  ><p>89.23%</p></td><td  ><p>90.55%</p></td></tr><tr><td class="firstcol " ><p><strong>Input latency (milliseconds)   </strong></p></td><td  ><p>9.8</p></td><td  ><p>16.3</p></td></tr></tbody></table></div><p>I want to get one thing out of the way right off the bat: Both the Bravia 9 II and 8 II serve up sensational picture quality in both SDR and HDR. If you're in the market for top-notch performance with an emphasis on detail, either set will surely satisfy you.</p><p>However, there are some significant differences in <em>how</em> these TVs achieve excellency. Depending on how (and when) you use your TV, one will likely be a better choice than the other.</p><p>In Sony's most-accurate picture mode (Professional), both TVs strive to hit 100 nits of brightness on a 10% white window in SDR. That they each nail this target is a testament to Sony's dynamite engineering. If you want a punchier presentation, you can always dial-in to a different picture mode.</p><p>That being said, the Bravia 9 II has a much higher brightness ceiling for run-of-the-mill SDR content thanks to the power of RGB LED backlighting. As a result, if you do a ton of TV-watching during the day and you typically stick to basic cable, YouTube videos and whatnot, the Bravia 9 II has a significant edge.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="NrhEKJu94eBTTZdFBWfbLC" name="Sony Bravia 8 II--3" alt="Sony Bravia 8 II on a TV stand" src="https://cdn.mos.cms.futurecdn.net/NrhEKJu94eBTTZdFBWfbLC.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>It's a similar story during HDR movies, shows and games. Sony's top OLED TV is no slouch in this department, but on the Bravia 9 II's True RGB screen, specular highlights (small, intense areas of brightness) crackle and pop to the tune of around 4,000 nits.</p><div><blockquote><p>On the Bravia 9 II's True RGB screen, specular highlights (small, intense areas of brightness) crackle and pop to the tune of around 4,000 nits.</p></blockquote></div><p>But brightness isn't the only story. The <em>visual texture </em>of an OLED-driven picture is something that can't quite be replicated on even a top-shelf Mini-LED TV like the Bravia 9 II. With self-lit pixels, the Bravia 8 II is able to drive over 1,500 nits of HDR brightness to tiny clusters of pixels.</p><p>In person, this effect is nothing short of magic. If you're anything like me, in a side-by-side comparison with an LCD TV, your heart will tug you towards this self-emissive magic nine times out of ten. </p><p>A wide range of colors flow freely on both TVs thanks to True RGB and QD-OLED technology, but on average, you'll get brighter color performance with the 9 II's LED backlighting. Regardless, they're both among the most-colorful TVs we've ever tested.</p><p>Once you factor in the Bravia 9 II's superior input latency, the full picture comes into focus. Simply put, it's a better-performing TV due to its overall versatility. Whether gaming, watching sports during the day or dimming the lights for movie night, the Bravia 9 II will meet your needs better than almost every other TV on the market.</p><p>The Bravia 8 II is the TV I'd choose for a home theater-like environment where the ambient lighting conditions are more controllable. It's also not as cut out for competitive gaming. I've had literal dreams about owning the Bravia 8 II, but I can't deny that the 9 II is a better all-around pick for most people.</p><p><em><strong>Winner: </strong></em><em>Sony Bravia 9 II</em></p><h2 id="sony-bravia-9-ii-vs-bravia-8-ii-smart-platform-and-features">Sony Bravia 9 II vs Bravia 8 II: Smart platform and features</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="KSnwrwRCCfPDxERqbv3GUN" name="Sony Bravia 8 II--1-LEDE2" alt="Sony Bravia 8 II" src="https://cdn.mos.cms.futurecdn.net/KSnwrwRCCfPDxERqbv3GUN.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Now that we've got the nitty-gritty, performance-related stuff out of the way, let's talk about something a little more straightforward: features.</p><p>These TVs offer a similar set of bells and whistles, and both models are built around Google TV. It's one of my preferred choices for everyday streaming, as the interface is easy to use and the library of downloadable apps is seemingly endless.</p><p>As mentioned, both TVs are limited to just a pair of HDMI 2.1 inputs and one of those ports is a dedicated eARC port, so folks with multiple gaming devices and a soundbar might feel limited. Fortunately, these inputs support 4K gaming up to 120Hz, which is the top 4K spec for current-generation consoles.</p><p>The software experience is nearly identical across both sets (save for some extra enhancements and picture settings on the Bravia 9 II). This category is a draw.</p><p><em><strong>Winner: </strong></em><em>Draw</em></p><h2 id="sony-bravia-9-ii-vs-bravia-8-ii-verdict">Sony Bravia 9 II vs Bravia 8 II: Verdict</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="pAFcNGLCUTwdmu7DcssvaH" name="Sony-Bravia-9-II--17" alt="The remote for the Sony Bravia 9 II TV" src="https://cdn.mos.cms.futurecdn.net/pAFcNGLCUTwdmu7DcssvaH.jpg" mos="" align="middle" fullscreen="" width="2000" height="1123" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Sony Bravia 9 II</p></th><th  ><p>Sony Bravia 8 II</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Specs (25)</strong></p></td><td  ><p>22</p></td><td  ><p>22</p></td></tr><tr><td class="firstcol " ><p><strong>Design (25)</strong></p></td><td  ><p>25</p></td><td  ><p>24</p></td></tr><tr><td class="firstcol " ><p><strong>Performance (25)</strong></p></td><td  ><p>24</p></td><td  ><p>23</p></td></tr><tr><td class="firstcol " ><p><strong>Features (25)</strong></p></td><td  ><p>22</p></td><td  ><p>22</p></td></tr><tr><td class="firstcol " ><p><strong>Total Score (100)</strong></p></td><td  ><p><strong>93</strong></p></td><td  ><p><strong>91</strong></p></td></tr></tbody></table></div><p>Despite the closeness of these final tallies, it ought to be relatively easy to settle on one of these Sony TVs. I recommend the Bravia 9 II to folks who want the brightest possible picture or people who plan on watching a ton of TV during the day. Additionally, gamers are more likely to synergize with the Bravia 9 II thanks to its lower input latency.</p><p>But if you love the look of an OLED TV — or if you're looking for a new home theater centerpiece — the Bravia 8 II might be closer to your cup of tea. It's not as bright as flagship OLEDs from LG and Samsung, but its HDR highlights leap off the screen nonetheless.</p><p>Regardless of which TV you choose, prepare to pay for the privilege of Sony engineering. The <a href="https://www.bestbuy.com/product/sony-65-class-bravia-9-ii-true-rgb-4k-hdr-google-tv-with-gemini-and-anti-glare-screen/J7XSRH54TJ/sku/6674085" target="_blank" rel="nofollow">65-inch Bravia 9 II is $3,599 at Best Buy</a> right now, and despite the fact that it launched over a year ago, the <a href="https://www.bestbuy.com/product/sony-65-class-bravia-8-ii-oled-4k-uhd-smart-google-tv-2025/J7XSRH5T4L" target="_blank" rel="nofollow">65-inch Bravia 8 II is still $3,299</a>.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ePaJpW"></div>                            </div>                            <script src="https://kwizly.com/embed/ePaJpW.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/tvs/4k-tvs/sony-bravia-9-ii-true-rgb-tv-review">I tested Sony’s $3,600 Bravia 9 II True RGB TV — here's my verdict</a></li><li><a href="https://www.tomsguide.com/tvs/oled-tvs/sony-bravia-8-ii-review">Is the Sony Bravia 8 II really the King of OLEDs? I tested the set for two weeks to find out</a></li><li><a href="https://www.tomsguide.com/tvs/theres-no-way-around-it-sony-tvs-are-priced-higher-than-most-of-the-competition-heres-what-sonys-doing-right-what-its-doing-wrong-and-what-needs-to-change-in-2026">Sony TV report card 2026: Is the 'Sony tax' still worth paying?</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I’ve spent a year testing LiberNovo’s viral Omni office chairs — here’s my final recommendation ]]></title>
                                                                                                <dc:content><![CDATA[ <div  class="fancy-box"><div class="fancy_box-title">LiberNovo Omni Series: At a Glance</div><div class="fancy_box_body"><p class="fancy-box__body-text"><strong>LiberNovo Omni SE:</strong> Best value. Fully mechanical build with the same core 160° recline.<br><a data-analytics-id="inline-link" href="https://libernovo.com/products/libernovo-omni-se-dynamic-ergonomic-chair" target="_blank" rel="nofollow"><strong>From $899 at LiberNovo</strong></a><br><strong>LiberNovo Omni:</strong> Best for back relief. Adds motorized lumbar support and automated stretching.<br><a data-analytics-id="inline-link" href="https://libernovo.com/products/libernovo-omni-dynamic-ergonomic-chair" target="_blank" rel="nofollow"><strong>From $1,099 at LiberNovo</strong></a><br><strong>LiberNovo Omni Pro:</strong> Best for cooling. Adds Active AirFlow seat fans and a metal base.<br><a data-analytics-id="inline-link" href="https://libernovo.com/products/libernovo-omni-pro-dynamic-ergonomic-chair" target="_blank" rel="nofollow"><strong>From $1,299 at LiberNovo</strong></a></p></div></div><p>From its Bionic FlexFit Backrest made up of eight flexible panels to its cushioned seat wrapped in an elastic fabric outer layer, the <a href="https://www.tomsguide.com/home/home-office/libernovo-omni-review">LiberNovo Omni</a> immediately stands out. While still relatively new, it’s easily one of the <a href="https://www.tomsguide.com/home/home-office/best-office-chairs">best office chairs</a> you can buy, especially if you value ergonomics and comfort equally.</p><p>I first reviewed the original LiberNovo Omni back when it launched at the end of 2025. More recently, I reviewed the more affordable <a href="https://www.tomsguide.com/home/home-office/libernovo-omni-se-review">LiberNovo Omni SE</a>. Now, though, I’ve been testing the top-of-the-line LiberNovo Omni Pro. While all three chairs feature a nearly identical design, you might be wondering which is the right pick for your home office.</p><p>If you stumbled upon this now-viral office chair and are dead set on picking one up over other premium options like the iconic <a href="https://www.tomsguide.com/reviews/herman-miller-aeron-chair">Herman Miller Aeron</a> or the one-of-a-kind <a href="https://www.tomsguide.com/reviews/steelcase-karman">Steelcase Karman</a>, here’s everything you need to know about the full LiberNovo Omni lineup based on their design, features, functionality, and, most importantly, adjustability and comfort.</p><p>You can’t go wrong with the LiberNovo Omni, the Omni SE, or the Omni Pro if you’re looking for a supportive yet comfortable chair to spend long hours working or even gaming in. However, now that the lineup has significantly expanded, here’s how to pick the right one for your needs and budget.</p><h3 class="article-body__section" id="section-libernovo-omni-series-specs"><span>LiberNovo Omni Series: Specs</span></h3><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Omni SE</strong></p></th><th  ><p><strong>Omni</strong></p></th><th  ><p><strong>Omni Pro</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>Chair: <a href="https://libernovo.com/products/libernovo-omni-se-dynamic-ergonomic-chair" target="_blank" rel="nofollow">$899</a>, Chair + Footrest Bundle: <a href="https://libernovo.com/products/libernovo-omni-se-dynamic-ergonomic-chair?variant=48086309863662" target="_blank" rel="nofollow">$1,097</a> </p></td><td  ><p>Chair: <a href="https://libernovo.com/products/libernovo-omni-dynamic-ergonomic-chair" target="_blank" rel="nofollow">$1,099</a>, Chair + Footrest Bundle: <a href="https://libernovo.com/products/libernovo-omni-dynamic-ergonomic-chair?variant=47486716870894" target="_blank" rel="nofollow">$1,297</a> </p></td><td  ><p>Chair: <a href="https://libernovo.com/products/libernovo-omni-pro-dynamic-ergonomic-chair" target="_blank" rel="nofollow">$1,299</a>, Chair + Footrest Bundle <a href="https://libernovo.com/products/libernovo-omni-pro-dynamic-ergonomic-chair?variant=48086147563758" target="_blank" rel="nofollow">$1,497</a></p></td></tr><tr><td class="firstcol " ><p><strong>Height range</strong></p></td><td  ><p>38.58 to 46.06 inches</p></td><td  ><p>38.58 to 46.06 inches</p></td><td  ><p>38.58 to 46.06 inches</p></td></tr><tr><td class="firstcol " ><p><strong>Seat width</strong></p></td><td  ><p>21.26 to 21.46 inches </p></td><td  ><p>21.26 inches</p></td><td  ><p>21.26 inches</p></td></tr><tr><td class="firstcol " ><p><strong>Seat depth</strong></p></td><td  ><p>17.72 to 18.9 inches (effective depth via dynamic backrest) </p></td><td  ><p>17.7 to 18.8 inches (effective depth via dynamic backrest) </p></td><td  ><p>17.7 to 18.9 inches (effective depth via dynamic backrest) </p></td></tr><tr><td class="firstcol " ><p><strong>Maximum load</strong></p></td><td  ><p>300 pounds</p></td><td  ><p>300 pounds</p></td><td  ><p>300 pounds</p></td></tr><tr><td class="firstcol " ><p><strong>Maximum recline</strong></p></td><td  ><p>160°</p></td><td  ><p>160°</p></td><td  ><p>160°</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>48 pounds</p></td><td  ><p>48 pounds</p></td><td  ><p>48 pounds</p></td></tr><tr><td class="firstcol " ><p><strong>Material</strong></p></td><td  ><p>Hydrophilic Memory Foam (headrest), elastic fabric (backrest), sponge (backrest middle layer), cushion (seat) </p></td><td  ><p>Hydrophilic Sponge Memory Foam (headrest), elastic fabric (backrest), sponge (backrest middle layer), cushion (seat) </p></td><td  ><p>Hydrophilic Sponge Memory Foam (headrest), Gabriel® Atlantic performance fabric (backrest cover), flexible pressure-relieving foam (backrest middle layer), multi-density foam cushion (seat) </p></td></tr><tr><td class="firstcol " ><p><strong>Colorways</strong></p></td><td  ><p>Black</p></td><td  ><p>Black, gray, green</p></td><td  ><p>Dark gray/black, light gray/white</p></td></tr><tr><td class="firstcol " ><p><strong>Adjustment points</strong></p></td><td  ><p>12</p></td><td  ><p>13</p></td><td  ><p>14</p></td></tr><tr><td class="firstcol " ><p><strong>Powered features</strong></p></td><td  ><p>None</p></td><td  ><p>OmniStretch</p></td><td  ><p>OmniStretch, Active AirFlow</p></td></tr><tr><td class="firstcol " ><p><strong>Warranty</strong></p></td><td  ><p>Frame (5 years)</p></td><td  ><p>Frame (5 years), electronics (2 years)</p></td><td  ><p>Frame (5 years), electronics (2 years)</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-libernovo-omni-series-design"><span>LiberNovo Omni Series: Design</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5374px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="uXj7TJkFHkhFX9PuWG9YYd" name="LiberNovo Omni Collection-7" alt="The LiberNovo Omni, Omni SE and Omni Pro side by side at an angle" src="https://cdn.mos.cms.futurecdn.net/uXj7TJkFHkhFX9PuWG9YYd.jpg" mos="" align="middle" fullscreen="" width="5374" height="3023" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>At first glance, all three chairs in the LiberNovo Omni collection look remarkably similar, though subtle material upgrades and structural details set them apart under the hood.</p><p>Regardless of which model you pick, you’re getting a deep, multi-density seat filled with high-density foam divided into three distinct zones. The rear section is firm to support your hips, the middle offers a medium density, and the front edge is noticeably softer. This provides firm support under your rear without the front lip digging into the undersides of your thighs or glutes.</p><p>The base-level Omni SE and the standard Omni feature seats and backrests wrapped in a breathable elastic fabric. It stretches smoothly around your body as you sit down and offers outstanding comfort for all-day use. However, based on my time testing them, this specific fabric acts like a magnet for pet hair. While a quick vacuum or lint roller brings both chairs back to looking brand new, it is worth keeping in mind if you have pets.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6000px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="xxKWdMJAE5TGmX9RdCi3Vj" name="LiberNovo Omni Collection-1" alt="The LiberNovo Omni Pro office chair in front of a desk showing off its upgraded fabric" src="https://cdn.mos.cms.futurecdn.net/xxKWdMJAE5TGmX9RdCi3Vj.jpg" mos="" align="middle" fullscreen="" width="6000" height="3376" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Omni Pro drops the elastic weave in favor of an upgraded performance fabric across its seat, backrest, and headrest. It's more durable, feels smoother against your clothes, and easily sheds pet hair and debris. The trade-off? You lose just a bit of that plush, immediate surface softness found on the elastic models.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5748px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="ghJ3SmFMXvTdeXwcumTJKd" name="LiberNovo Omni Collection-8" alt="The LiberNovo Omni, Omni SE and Omni Pro seen from below showing off their frames and casters" src="https://cdn.mos.cms.futurecdn.net/ghJ3SmFMXvTdeXwcumTJKd.jpg" mos="" align="middle" fullscreen="" width="5748" height="3234" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The under-seat housing looks nearly identical across all three units, though the standard Omni and Omni Pro feature a dedicated battery compartment to power their motorized functions. The tilt-tension knob — which controls recline resistance on the right side — also varies slightly. The original Omni uses a slightly thicker control dial, whereas the Omni SE and Omni Pro both opt for a sleeker, thinner design.</p><p>Down below, all three models come equipped with floor-safe, dual-wheel casters that handle hardwood, tile, and carpet with ease. The Omni SE sticks to standard black wheels, while the standard Omni upgrades to color-matched hubs in black, gray, or green to match your chosen colorway. The flagship Omni Pro steps things up further, swapping out the reinforced plastic base for a solid metal one paired with quiet-glide casters that are virtually silent on hard floors.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6000px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="ZF2H6568Tv8PbsJCs9Xaih" name="LiberNovo Omni Collection-10" alt="The LiberNovo Omni, Omni SE and Omni Pro seen from behind showing off their Bionic FlexFit backrests" src="https://cdn.mos.cms.futurecdn.net/ZF2H6568Tv8PbsJCs9Xaih.jpg" mos="" align="middle" fullscreen="" width="6000" height="3376" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Finally, LiberNovo’s signature Bionic FlexFit Backrest anchors the entire lineup. Built with eight flexible panels, 16 pivot points, and 14 dual-connection points, the structure keeps your lower, mid, and upper back continuously supported. Since the framework is inherently dynamic, it flexes with your spine as you shift or twist side to side. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="xiMNkKwrCiNFamBmrYVYrj" name="LiberNovo Omni SE-8" alt="A close-up shot of the LiberNovo Omni SE's headrest seen from the back" src="https://cdn.mos.cms.futurecdn.net/xiMNkKwrCiNFamBmrYVYrj.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The multi-angle headrests operate using a similar mechanism, ensuring your neck stays cradled even when you turn your head to look at secondary monitors or someone on the side of your desk. </p><h3 class="article-body__section" id="section-libernovo-omni-series-adjustability"><span>LiberNovo Omni Series: Adjustability</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5694px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="a9hAYhdAjUBZjDDdxnsHCn" name="LiberNovo Omni Collection-6" alt="The LiberNovo Omni, Omni SE and Omni Pro seen from the side showing off their armrests" src="https://cdn.mos.cms.futurecdn.net/a9hAYhdAjUBZjDDdxnsHCn.jpg" mos="" align="middle" fullscreen="" width="5694" height="3204" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Just like their design, adjustability remains mostly the same across the entire LiberNovo Omni lineup. To put it simply, you get 12 adjustment points with the Omni SE, 13 with the Omni, and 14 with the Omni Pro.</p><p>Those extra adjustment points mainly come down to the motorized controls and climate features on the higher-end models. Even so, the base-level Omni SE delivers more or less the same core ergonomic experience as its more premium siblings.</p><p>For starters, all three chairs come equipped with 4D armrests that allow you to adjust their height, width, depth, and rotation angle. The key difference on the Omni SE is the absence of electronic control buttons on the left armrest, as that model is fully mechanical.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5644px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="2j2i8E6iBYVwabRHCo28p4" name="LiberNovo Omni Collection-9" alt="The LiberNovo Omni, Omni SE and Omni Pro seen from the side" src="https://cdn.mos.cms.futurecdn.net/2j2i8E6iBYVwabRHCo28p4.jpg" mos="" align="middle" fullscreen="" width="5644" height="3176" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Underneath the seat, you’ll find a compartment for the rechargeable battery pack on the left side of the Omni and Omni Pro, while the main manual adjustment levers and knobs are located on the right. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="J7kMv4D4U6ULcPxh5cPa2g" name="LiberNovo Omni-07" alt="The adjustment levers and knobs on the left side of the LiberNovo Omni office chair" src="https://cdn.mos.cms.futurecdn.net/J7kMv4D4U6ULcPxh5cPa2g.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The front lever (positioned horizontally) controls the seat height via a standard pneumatic gas lift. The lever directly behind it (positioned vertically) locks in your recline angle. Each chair offers five built-in recline positions — 105, 115, 125, 135, and 160 degrees — allowing you to lock in your preferred angle whether you're typing upright or relaxing. Below those levers, the tilt-tension knob lets you adjust how much resistance you feel when leaning back. </p><p>It’s worth noting that none of these chairs feature a traditional manual seat-depth slider to adjust the position of the seat itself. Instead, the Bionic FlexFit frame and adjustable lumbar support dynamically alter your sitting depth as you sit back in them. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Wh9yqbUwLVQj8QXq5JWKb8" name="LiberNovo Omni SE-5" alt="A close-up shot of the adjustment knob used to control the LiberNovo Omni SE's lumbar support" src="https://cdn.mos.cms.futurecdn.net/Wh9yqbUwLVQj8QXq5JWKb8.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The primary difference between the Omni SE and the two motorized models is how you adjust lower-back support. On the SE, you dial the lumbar mechanism forward or backward using a physical turn-knob behind the backrest. Reaching around to turn it can be a bit awkward, but once you find your sweet spot, you likely won't need to touch it again. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="KAKGC2AkfdNvANqAiu2WoT" name="LiberNovo Omni-04" alt="A closeup shot of the buttons on the LiberNovo Omni's left armrest that you use to control its adjustable lumbar depth" src="https://cdn.mos.cms.futurecdn.net/KAKGC2AkfdNvANqAiu2WoT.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>On the Omni and Omni Pro, that manual knob is replaced by a motorized linear actuator controlled via two buttons on the inside of the left armrest. Pressing the front arrow moves the lumbar support forward into your lower back, while the rear arrow retracts it.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nzQJAmYbHimbCYKvy73UUX" name="LiberNovo Omni-06" alt="A person installing the battery into the compartment on the underside of the LiberNovo Omni office chair" src="https://cdn.mos.cms.futurecdn.net/nzQJAmYbHimbCYKvy73UUX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>To power those motorized adjustments on the Omni and Omni Pro, you’ll need to charge up the included battery pack first. It slides into the under-seat housing effortlessly, and a small built-in handle makes removing it simple. Best of all, LiberNovo uses a standard USB-C port right on the battery itself, so you don't have to worry about losing a proprietary charging cable. </p><h3 class="article-body__section" id="section-libernovo-omni-series-powered-features"><span>LiberNovo Omni Series: Powered features</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="fpJWdcusyrFsqegm9ar9BC" name="Rollable IKEA Workstation-12" alt="A person working on a laptop at a DIY rollable workstation in an office chair they can fully recline in with their feet up on a standalone footstool" src="https://cdn.mos.cms.futurecdn.net/fpJWdcusyrFsqegm9ar9BC.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Besides using battery power to adjust lumbar depth, the Omni and Omni Pro have a few extra tricks up their sleeves that you won’t find on the fully mechanical Omni SE. The first of these is OmniStretch, a motorized spinal decompression and active stretching mode. While you can activate it at any sitting angle, I prefer using it while fully reclined, as the lower-back pressure relief feels much more pronounced that way.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="UJMSuaWnLG4eQK8Q4mHwCP" name="LiberNovo Omni-10" alt="The back of the LiberNovo Omni office chair showing off its motor and the piston that moves the backrest forward or backward" src="https://cdn.mos.cms.futurecdn.net/UJMSuaWnLG4eQK8Q4mHwCP.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>To engage OmniStretch, you press the designated button sitting directly behind the lumbar adjustment arrows on the left armrest. Doing so utilizes the motorized lumbar mechanism in a completely novel way. Instead of remaining locked in a static position, the actuator slowly extends to its maximum depth and then retracts back, giving your lower back and spine a therapeutic stretch.</p><p>The cycle lasts for five minutes, but pressing the button again stops the process early and returns the lumbar support to its original resting position. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5729px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="peDCnG4NG35w9gKcV8KCsD" name="LiberNovo Omni Collection-LIST1" alt="The LiberNovo Omni Pro in front of a desk" src="https://cdn.mos.cms.futurecdn.net/peDCnG4NG35w9gKcV8KCsD.jpg" mos="" align="middle" fullscreen="" width="5729" height="3223" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>If you opt for the top-tier Omni Pro over the standard Omni, you also gain access to a second powered feature: Active AirFlow. While you wouldn't notice it looking at the chair straight on, LiberNovo embedded a high-speed centrifugal cooling fan within the seat frame directly beneath the cushion.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6000px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="fu4CdLDSaVBpvD9ib9qsHJ" name="LiberNovo Omni Collection-3" alt="A close-up shot of the buttons on the left armrest of the LiberNovo Omni Pro" src="https://cdn.mos.cms.futurecdn.net/fu4CdLDSaVBpvD9ib9qsHJ.jpg" mos="" align="middle" fullscreen="" width="6000" height="3376" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>To activate Active AirFlow, you press the rearmost button on the left armrest control pad. The system features two fan speeds: a single press turns it on Low mode (indicated by a blue LED light), while a second press bumps it to High mode (green LED light). A third press turns the fan off completely.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6000px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="wxhiPYiXCqxhWsz8SVXAeN" name="LiberNovo Omni Collection-2" alt="A close-up shot and side view of the LiberNovo Omni Pro's seat and battery" src="https://cdn.mos.cms.futurecdn.net/wxhiPYiXCqxhWsz8SVXAeN.jpg" mos="" align="middle" fullscreen="" width="6000" height="3376" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Testing Active AirFlow on the Omni Pro revealed a thoughtful touch: built-in auto-pause sensors detect when you stand up and temporarily shut the fan off to preserve power. As soon as you sit back down though, the fan automatically spins back up.</p><p>While leaving Active AirFlow enabled and using OmniStretch regularly will drain the power pack over time, battery life impressed me during testing — I was able to go about two full weeks between charges. If you prefer zero downtime, LiberNovo does sell spare battery packs separately, making it easy to hot-swap a fresh one in while the other recharges via USB-C.</p><h3 class="article-body__section" id="section-libernovo-omni-series-which-should-you-buy"><span>LiberNovo Omni Series: Which should you buy?</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5653px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="TmkNfSnK7C4tn4f4UQDxNT" name="LiberNovo Omni Collection-LIST2" alt="The LiberNovo Omni, Omni SE and Omni Pro side by side with their matching StepSync footrests in front of them" src="https://cdn.mos.cms.futurecdn.net/TmkNfSnK7C4tn4f4UQDxNT.jpg" mos="" align="middle" fullscreen="" width="5653" height="3180" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>As someone who has tested all three LiberNovo Omni chairs and spent almost six months using the original Omni as my daily driver, you really can’t go wrong with any of these ergonomic, highly comfortable office chairs. Deciding which model is right for you ultimately comes down to your budget, how much you value those motorized features, and whether or not you have pets.</p><p>If you’re looking for a premium sitting experience that delivers the best value, the LiberNovo Omni SE is the smartest choice. You get almost all of the same baseline adjustability and dynamic support found on the higher-tier models without having to worry about electronics failing over time. While the main frame on all three chairs is backed by a five-year warranty, the electronic components are only covered for two years.</p><p>If you’d rather press armrest buttons than reach behind your back to tweak a turn-knob, the standard LiberNovo Omni is a worthwhile upgrade over the SE. It’s also available in more colorways — including black, gray, and moss green. For anyone dealing with lower-back stiffness during long work shifts, the automated OmniStretch cycle is a genuinely useful feature to have on demand.</p><p>If you want the absolute best LiberNovo has to offer, the Omni Pro steps up with a far more resilient performance fabric, a solid metal base, and Active AirFlow cooling to keep you sweat-free. While it skips the special colorways for now, it comes in a clean, modern dark gray or white finish that sheds pet hair effortlessly.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="SssdYfNcco6WhgfMy3W5B4" name="Librenovo StepSync Footrest-3" alt="A person sitting on the LiberNovo Omni office chair with their feet up on the LiberNovo StepSync footrest in front of a desk" src="https://cdn.mos.cms.futurecdn.net/SssdYfNcco6WhgfMy3W5B4.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>One thing to keep in mind across the entire lineup is budgeting for optional accessories. LiberNovo’s <a href="https://www.tomsguide.com/home/home-office/i-tested-the-worlds-most-futuristic-office-chair-and-realized-ive-been-sitting-wrong-my-whole-life">StepSync footrest</a> is a fantastic addition for shorter users like myself, and its plushly padded top makes taking advantage of that full 160-degree recline infinitely more comfortable.</p><p>While the footrest is pricey on its own, LiberNovo discounts it significantly when you bundle it with a chair, and you can order it color-matched to your setup too.</p><p>Finally, if you fall into a larger or taller height/weight bracket, LiberNovo also has its recently launched Maxis series. Those models mirror the SE, standard, and Pro in terms of features, design, and adjustability, but feature wider frames and higher weight capacities.</p><p>The original Omni made serious waves in the ergonomic chair market when it debuted, and with these newest additions to its lineup, LiberNovo proves it’s definitely here to stay.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/home/home-office/best-standing-desks"><strong>I've tested more than 27 standing desks and these are the best ones for your home office</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/best-picks/best-budget-office-chairs"><strong>Looking for something more affordable? These are the best budget office chairs</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/home/home-office/i-tried-the-sonic-the-hedgehog-office-chair-and-it-actually-makes-ergonomics-fun-and-fast"><strong>I tried the Sonic the Hedgehog office chair — and it actually makes ergonomics fun (and fast)</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/home/home-office/libernovo-omni-vs-omni-se-vs-omni-pro</link>
                                                                            <description>
                            <![CDATA[ LiberNovo now makes three premium office chairs with an almost identical design and I’ve tested them all to help you pick the right one. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">jKswFPYVuAYGp44nMMhyxV</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/V2DuopiRR72nzAhybY6ZiP-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 12 Aug 2026 11:30:00 +0000</pubDate>                                                                                                                                <updated>Thu, 13 Aug 2026 03:06:41 +0000</updated>
                                                                                                                                            <category><![CDATA[Home Office]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                                                                <author><![CDATA[ anthony.spadafora@futurenet.com (Anthony Spadafora) ]]></author>                    <dc:creator><![CDATA[ Anthony Spadafora ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/z73LEoj7FkUjNG85GcWHtH.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Anthony Spadafora is the managing editor for security and home office furniture at Tom’s Guide where he covers everything from data breaches and malware to password managers and the best way to cover your whole home or business with a strong Wi-Fi signal.&lt;/p&gt;&lt;p&gt;Before joining the team, he spent three years covering cybersecurity and B2B tech for ITProPortal while living in South Korea. After moving back to the US. Anthony joined the TechRadar Pro team where he covered these topics along with VPNs, web hosting, online collaboration software and video conferencing for four years. Anthony also has his ears to the ground and is on the lookout for the next major cyberattack or data breach.&lt;/p&gt;&lt;p&gt;Based in Houston, Texas, Anthony also handles VPN testing for both Tom’s Guide and TechRadar. As someone who has worked from home exclusively since 2018, he has reviewed dozens of standing desks as well as office chairs and has taken a closer look at other essential remote working accessories. As part of these reviews, Anthony frequently builds intricate desk setups which is why he’s such a big advocate for cable management and keeping things organized. When he’s not writing, he can be found tinkering with PCs and game consoles, managing cables and making upgrades to his smart home.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/V2DuopiRR72nzAhybY6ZiP-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A three-way composite shot showing the LiberNovo Omni SE, LiberNovo Omni Pro and the LiberNovo Omni]]></media:description>                                                            <media:text><![CDATA[A three-way composite shot showing the LiberNovo Omni SE, LiberNovo Omni Pro and the LiberNovo Omni]]></media:text>
                                <media:title type="plain"><![CDATA[A three-way composite shot showing the LiberNovo Omni SE, LiberNovo Omni Pro and the LiberNovo Omni]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/V2DuopiRR72nzAhybY6ZiP-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div  class="fancy-box"><div class="fancy_box-title">LiberNovo Omni Series: At a Glance</div><div class="fancy_box_body"><p class="fancy-box__body-text"><strong>LiberNovo Omni SE:</strong> Best value. Fully mechanical build with the same core 160° recline.<br><a data-analytics-id="inline-link" href="https://libernovo.com/products/libernovo-omni-se-dynamic-ergonomic-chair" target="_blank" rel="nofollow"><strong>From $899 at LiberNovo</strong></a><br><strong>LiberNovo Omni:</strong> Best for back relief. Adds motorized lumbar support and automated stretching.<br><a data-analytics-id="inline-link" href="https://libernovo.com/products/libernovo-omni-dynamic-ergonomic-chair" target="_blank" rel="nofollow"><strong>From $1,099 at LiberNovo</strong></a><br><strong>LiberNovo Omni Pro:</strong> Best for cooling. Adds Active AirFlow seat fans and a metal base.<br><a data-analytics-id="inline-link" href="https://libernovo.com/products/libernovo-omni-pro-dynamic-ergonomic-chair" target="_blank" rel="nofollow"><strong>From $1,299 at LiberNovo</strong></a></p></div></div><p>From its Bionic FlexFit Backrest made up of eight flexible panels to its cushioned seat wrapped in an elastic fabric outer layer, the <a href="https://www.tomsguide.com/home/home-office/libernovo-omni-review">LiberNovo Omni</a> immediately stands out. While still relatively new, it’s easily one of the <a href="https://www.tomsguide.com/home/home-office/best-office-chairs">best office chairs</a> you can buy, especially if you value ergonomics and comfort equally.</p><p>I first reviewed the original LiberNovo Omni back when it launched at the end of 2025. More recently, I reviewed the more affordable <a href="https://www.tomsguide.com/home/home-office/libernovo-omni-se-review">LiberNovo Omni SE</a>. Now, though, I’ve been testing the top-of-the-line LiberNovo Omni Pro. While all three chairs feature a nearly identical design, you might be wondering which is the right pick for your home office.</p><p>If you stumbled upon this now-viral office chair and are dead set on picking one up over other premium options like the iconic <a href="https://www.tomsguide.com/reviews/herman-miller-aeron-chair">Herman Miller Aeron</a> or the one-of-a-kind <a href="https://www.tomsguide.com/reviews/steelcase-karman">Steelcase Karman</a>, here’s everything you need to know about the full LiberNovo Omni lineup based on their design, features, functionality, and, most importantly, adjustability and comfort.</p><p>You can’t go wrong with the LiberNovo Omni, the Omni SE, or the Omni Pro if you’re looking for a supportive yet comfortable chair to spend long hours working or even gaming in. However, now that the lineup has significantly expanded, here’s how to pick the right one for your needs and budget.</p><h3 class="article-body__section" id="section-libernovo-omni-series-specs"><span>LiberNovo Omni Series: Specs</span></h3><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Omni SE</strong></p></th><th  ><p><strong>Omni</strong></p></th><th  ><p><strong>Omni Pro</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>Chair: <a href="https://libernovo.com/products/libernovo-omni-se-dynamic-ergonomic-chair" target="_blank" rel="nofollow">$899</a>, Chair + Footrest Bundle: <a href="https://libernovo.com/products/libernovo-omni-se-dynamic-ergonomic-chair?variant=48086309863662" target="_blank" rel="nofollow">$1,097</a> </p></td><td  ><p>Chair: <a href="https://libernovo.com/products/libernovo-omni-dynamic-ergonomic-chair" target="_blank" rel="nofollow">$1,099</a>, Chair + Footrest Bundle: <a href="https://libernovo.com/products/libernovo-omni-dynamic-ergonomic-chair?variant=47486716870894" target="_blank" rel="nofollow">$1,297</a> </p></td><td  ><p>Chair: <a href="https://libernovo.com/products/libernovo-omni-pro-dynamic-ergonomic-chair" target="_blank" rel="nofollow">$1,299</a>, Chair + Footrest Bundle <a href="https://libernovo.com/products/libernovo-omni-pro-dynamic-ergonomic-chair?variant=48086147563758" target="_blank" rel="nofollow">$1,497</a></p></td></tr><tr><td class="firstcol " ><p><strong>Height range</strong></p></td><td  ><p>38.58 to 46.06 inches</p></td><td  ><p>38.58 to 46.06 inches</p></td><td  ><p>38.58 to 46.06 inches</p></td></tr><tr><td class="firstcol " ><p><strong>Seat width</strong></p></td><td  ><p>21.26 to 21.46 inches </p></td><td  ><p>21.26 inches</p></td><td  ><p>21.26 inches</p></td></tr><tr><td class="firstcol " ><p><strong>Seat depth</strong></p></td><td  ><p>17.72 to 18.9 inches (effective depth via dynamic backrest) </p></td><td  ><p>17.7 to 18.8 inches (effective depth via dynamic backrest) </p></td><td  ><p>17.7 to 18.9 inches (effective depth via dynamic backrest) </p></td></tr><tr><td class="firstcol " ><p><strong>Maximum load</strong></p></td><td  ><p>300 pounds</p></td><td  ><p>300 pounds</p></td><td  ><p>300 pounds</p></td></tr><tr><td class="firstcol " ><p><strong>Maximum recline</strong></p></td><td  ><p>160°</p></td><td  ><p>160°</p></td><td  ><p>160°</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>48 pounds</p></td><td  ><p>48 pounds</p></td><td  ><p>48 pounds</p></td></tr><tr><td class="firstcol " ><p><strong>Material</strong></p></td><td  ><p>Hydrophilic Memory Foam (headrest), elastic fabric (backrest), sponge (backrest middle layer), cushion (seat) </p></td><td  ><p>Hydrophilic Sponge Memory Foam (headrest), elastic fabric (backrest), sponge (backrest middle layer), cushion (seat) </p></td><td  ><p>Hydrophilic Sponge Memory Foam (headrest), Gabriel® Atlantic performance fabric (backrest cover), flexible pressure-relieving foam (backrest middle layer), multi-density foam cushion (seat) </p></td></tr><tr><td class="firstcol " ><p><strong>Colorways</strong></p></td><td  ><p>Black</p></td><td  ><p>Black, gray, green</p></td><td  ><p>Dark gray/black, light gray/white</p></td></tr><tr><td class="firstcol " ><p><strong>Adjustment points</strong></p></td><td  ><p>12</p></td><td  ><p>13</p></td><td  ><p>14</p></td></tr><tr><td class="firstcol " ><p><strong>Powered features</strong></p></td><td  ><p>None</p></td><td  ><p>OmniStretch</p></td><td  ><p>OmniStretch, Active AirFlow</p></td></tr><tr><td class="firstcol " ><p><strong>Warranty</strong></p></td><td  ><p>Frame (5 years)</p></td><td  ><p>Frame (5 years), electronics (2 years)</p></td><td  ><p>Frame (5 years), electronics (2 years)</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-libernovo-omni-series-design"><span>LiberNovo Omni Series: Design</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5374px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="uXj7TJkFHkhFX9PuWG9YYd" name="LiberNovo Omni Collection-7" alt="The LiberNovo Omni, Omni SE and Omni Pro side by side at an angle" src="https://cdn.mos.cms.futurecdn.net/uXj7TJkFHkhFX9PuWG9YYd.jpg" mos="" align="middle" fullscreen="" width="5374" height="3023" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>At first glance, all three chairs in the LiberNovo Omni collection look remarkably similar, though subtle material upgrades and structural details set them apart under the hood.</p><p>Regardless of which model you pick, you’re getting a deep, multi-density seat filled with high-density foam divided into three distinct zones. The rear section is firm to support your hips, the middle offers a medium density, and the front edge is noticeably softer. This provides firm support under your rear without the front lip digging into the undersides of your thighs or glutes.</p><p>The base-level Omni SE and the standard Omni feature seats and backrests wrapped in a breathable elastic fabric. It stretches smoothly around your body as you sit down and offers outstanding comfort for all-day use. However, based on my time testing them, this specific fabric acts like a magnet for pet hair. While a quick vacuum or lint roller brings both chairs back to looking brand new, it is worth keeping in mind if you have pets.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6000px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="xxKWdMJAE5TGmX9RdCi3Vj" name="LiberNovo Omni Collection-1" alt="The LiberNovo Omni Pro office chair in front of a desk showing off its upgraded fabric" src="https://cdn.mos.cms.futurecdn.net/xxKWdMJAE5TGmX9RdCi3Vj.jpg" mos="" align="middle" fullscreen="" width="6000" height="3376" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Omni Pro drops the elastic weave in favor of an upgraded performance fabric across its seat, backrest, and headrest. It's more durable, feels smoother against your clothes, and easily sheds pet hair and debris. The trade-off? You lose just a bit of that plush, immediate surface softness found on the elastic models.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5748px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="ghJ3SmFMXvTdeXwcumTJKd" name="LiberNovo Omni Collection-8" alt="The LiberNovo Omni, Omni SE and Omni Pro seen from below showing off their frames and casters" src="https://cdn.mos.cms.futurecdn.net/ghJ3SmFMXvTdeXwcumTJKd.jpg" mos="" align="middle" fullscreen="" width="5748" height="3234" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The under-seat housing looks nearly identical across all three units, though the standard Omni and Omni Pro feature a dedicated battery compartment to power their motorized functions. The tilt-tension knob — which controls recline resistance on the right side — also varies slightly. The original Omni uses a slightly thicker control dial, whereas the Omni SE and Omni Pro both opt for a sleeker, thinner design.</p><p>Down below, all three models come equipped with floor-safe, dual-wheel casters that handle hardwood, tile, and carpet with ease. The Omni SE sticks to standard black wheels, while the standard Omni upgrades to color-matched hubs in black, gray, or green to match your chosen colorway. The flagship Omni Pro steps things up further, swapping out the reinforced plastic base for a solid metal one paired with quiet-glide casters that are virtually silent on hard floors.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6000px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="ZF2H6568Tv8PbsJCs9Xaih" name="LiberNovo Omni Collection-10" alt="The LiberNovo Omni, Omni SE and Omni Pro seen from behind showing off their Bionic FlexFit backrests" src="https://cdn.mos.cms.futurecdn.net/ZF2H6568Tv8PbsJCs9Xaih.jpg" mos="" align="middle" fullscreen="" width="6000" height="3376" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Finally, LiberNovo’s signature Bionic FlexFit Backrest anchors the entire lineup. Built with eight flexible panels, 16 pivot points, and 14 dual-connection points, the structure keeps your lower, mid, and upper back continuously supported. Since the framework is inherently dynamic, it flexes with your spine as you shift or twist side to side. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="xiMNkKwrCiNFamBmrYVYrj" name="LiberNovo Omni SE-8" alt="A close-up shot of the LiberNovo Omni SE's headrest seen from the back" src="https://cdn.mos.cms.futurecdn.net/xiMNkKwrCiNFamBmrYVYrj.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The multi-angle headrests operate using a similar mechanism, ensuring your neck stays cradled even when you turn your head to look at secondary monitors or someone on the side of your desk. </p><h3 class="article-body__section" id="section-libernovo-omni-series-adjustability"><span>LiberNovo Omni Series: Adjustability</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5694px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="a9hAYhdAjUBZjDDdxnsHCn" name="LiberNovo Omni Collection-6" alt="The LiberNovo Omni, Omni SE and Omni Pro seen from the side showing off their armrests" src="https://cdn.mos.cms.futurecdn.net/a9hAYhdAjUBZjDDdxnsHCn.jpg" mos="" align="middle" fullscreen="" width="5694" height="3204" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Just like their design, adjustability remains mostly the same across the entire LiberNovo Omni lineup. To put it simply, you get 12 adjustment points with the Omni SE, 13 with the Omni, and 14 with the Omni Pro.</p><p>Those extra adjustment points mainly come down to the motorized controls and climate features on the higher-end models. Even so, the base-level Omni SE delivers more or less the same core ergonomic experience as its more premium siblings.</p><p>For starters, all three chairs come equipped with 4D armrests that allow you to adjust their height, width, depth, and rotation angle. The key difference on the Omni SE is the absence of electronic control buttons on the left armrest, as that model is fully mechanical.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5644px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="2j2i8E6iBYVwabRHCo28p4" name="LiberNovo Omni Collection-9" alt="The LiberNovo Omni, Omni SE and Omni Pro seen from the side" src="https://cdn.mos.cms.futurecdn.net/2j2i8E6iBYVwabRHCo28p4.jpg" mos="" align="middle" fullscreen="" width="5644" height="3176" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Underneath the seat, you’ll find a compartment for the rechargeable battery pack on the left side of the Omni and Omni Pro, while the main manual adjustment levers and knobs are located on the right. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="J7kMv4D4U6ULcPxh5cPa2g" name="LiberNovo Omni-07" alt="The adjustment levers and knobs on the left side of the LiberNovo Omni office chair" src="https://cdn.mos.cms.futurecdn.net/J7kMv4D4U6ULcPxh5cPa2g.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The front lever (positioned horizontally) controls the seat height via a standard pneumatic gas lift. The lever directly behind it (positioned vertically) locks in your recline angle. Each chair offers five built-in recline positions — 105, 115, 125, 135, and 160 degrees — allowing you to lock in your preferred angle whether you're typing upright or relaxing. Below those levers, the tilt-tension knob lets you adjust how much resistance you feel when leaning back. </p><p>It’s worth noting that none of these chairs feature a traditional manual seat-depth slider to adjust the position of the seat itself. Instead, the Bionic FlexFit frame and adjustable lumbar support dynamically alter your sitting depth as you sit back in them. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Wh9yqbUwLVQj8QXq5JWKb8" name="LiberNovo Omni SE-5" alt="A close-up shot of the adjustment knob used to control the LiberNovo Omni SE's lumbar support" src="https://cdn.mos.cms.futurecdn.net/Wh9yqbUwLVQj8QXq5JWKb8.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The primary difference between the Omni SE and the two motorized models is how you adjust lower-back support. On the SE, you dial the lumbar mechanism forward or backward using a physical turn-knob behind the backrest. Reaching around to turn it can be a bit awkward, but once you find your sweet spot, you likely won't need to touch it again. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="KAKGC2AkfdNvANqAiu2WoT" name="LiberNovo Omni-04" alt="A closeup shot of the buttons on the LiberNovo Omni's left armrest that you use to control its adjustable lumbar depth" src="https://cdn.mos.cms.futurecdn.net/KAKGC2AkfdNvANqAiu2WoT.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>On the Omni and Omni Pro, that manual knob is replaced by a motorized linear actuator controlled via two buttons on the inside of the left armrest. Pressing the front arrow moves the lumbar support forward into your lower back, while the rear arrow retracts it.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nzQJAmYbHimbCYKvy73UUX" name="LiberNovo Omni-06" alt="A person installing the battery into the compartment on the underside of the LiberNovo Omni office chair" src="https://cdn.mos.cms.futurecdn.net/nzQJAmYbHimbCYKvy73UUX.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>To power those motorized adjustments on the Omni and Omni Pro, you’ll need to charge up the included battery pack first. It slides into the under-seat housing effortlessly, and a small built-in handle makes removing it simple. Best of all, LiberNovo uses a standard USB-C port right on the battery itself, so you don't have to worry about losing a proprietary charging cable. </p><h3 class="article-body__section" id="section-libernovo-omni-series-powered-features"><span>LiberNovo Omni Series: Powered features</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="fpJWdcusyrFsqegm9ar9BC" name="Rollable IKEA Workstation-12" alt="A person working on a laptop at a DIY rollable workstation in an office chair they can fully recline in with their feet up on a standalone footstool" src="https://cdn.mos.cms.futurecdn.net/fpJWdcusyrFsqegm9ar9BC.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Besides using battery power to adjust lumbar depth, the Omni and Omni Pro have a few extra tricks up their sleeves that you won’t find on the fully mechanical Omni SE. The first of these is OmniStretch, a motorized spinal decompression and active stretching mode. While you can activate it at any sitting angle, I prefer using it while fully reclined, as the lower-back pressure relief feels much more pronounced that way.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="UJMSuaWnLG4eQK8Q4mHwCP" name="LiberNovo Omni-10" alt="The back of the LiberNovo Omni office chair showing off its motor and the piston that moves the backrest forward or backward" src="https://cdn.mos.cms.futurecdn.net/UJMSuaWnLG4eQK8Q4mHwCP.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>To engage OmniStretch, you press the designated button sitting directly behind the lumbar adjustment arrows on the left armrest. Doing so utilizes the motorized lumbar mechanism in a completely novel way. Instead of remaining locked in a static position, the actuator slowly extends to its maximum depth and then retracts back, giving your lower back and spine a therapeutic stretch.</p><p>The cycle lasts for five minutes, but pressing the button again stops the process early and returns the lumbar support to its original resting position. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5729px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="peDCnG4NG35w9gKcV8KCsD" name="LiberNovo Omni Collection-LIST1" alt="The LiberNovo Omni Pro in front of a desk" src="https://cdn.mos.cms.futurecdn.net/peDCnG4NG35w9gKcV8KCsD.jpg" mos="" align="middle" fullscreen="" width="5729" height="3223" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>If you opt for the top-tier Omni Pro over the standard Omni, you also gain access to a second powered feature: Active AirFlow. While you wouldn't notice it looking at the chair straight on, LiberNovo embedded a high-speed centrifugal cooling fan within the seat frame directly beneath the cushion.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6000px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="fu4CdLDSaVBpvD9ib9qsHJ" name="LiberNovo Omni Collection-3" alt="A close-up shot of the buttons on the left armrest of the LiberNovo Omni Pro" src="https://cdn.mos.cms.futurecdn.net/fu4CdLDSaVBpvD9ib9qsHJ.jpg" mos="" align="middle" fullscreen="" width="6000" height="3376" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>To activate Active AirFlow, you press the rearmost button on the left armrest control pad. The system features two fan speeds: a single press turns it on Low mode (indicated by a blue LED light), while a second press bumps it to High mode (green LED light). A third press turns the fan off completely.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6000px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="wxhiPYiXCqxhWsz8SVXAeN" name="LiberNovo Omni Collection-2" alt="A close-up shot and side view of the LiberNovo Omni Pro's seat and battery" src="https://cdn.mos.cms.futurecdn.net/wxhiPYiXCqxhWsz8SVXAeN.jpg" mos="" align="middle" fullscreen="" width="6000" height="3376" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Testing Active AirFlow on the Omni Pro revealed a thoughtful touch: built-in auto-pause sensors detect when you stand up and temporarily shut the fan off to preserve power. As soon as you sit back down though, the fan automatically spins back up.</p><p>While leaving Active AirFlow enabled and using OmniStretch regularly will drain the power pack over time, battery life impressed me during testing — I was able to go about two full weeks between charges. If you prefer zero downtime, LiberNovo does sell spare battery packs separately, making it easy to hot-swap a fresh one in while the other recharges via USB-C.</p><h3 class="article-body__section" id="section-libernovo-omni-series-which-should-you-buy"><span>LiberNovo Omni Series: Which should you buy?</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5653px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="TmkNfSnK7C4tn4f4UQDxNT" name="LiberNovo Omni Collection-LIST2" alt="The LiberNovo Omni, Omni SE and Omni Pro side by side with their matching StepSync footrests in front of them" src="https://cdn.mos.cms.futurecdn.net/TmkNfSnK7C4tn4f4UQDxNT.jpg" mos="" align="middle" fullscreen="" width="5653" height="3180" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>As someone who has tested all three LiberNovo Omni chairs and spent almost six months using the original Omni as my daily driver, you really can’t go wrong with any of these ergonomic, highly comfortable office chairs. Deciding which model is right for you ultimately comes down to your budget, how much you value those motorized features, and whether or not you have pets.</p><p>If you’re looking for a premium sitting experience that delivers the best value, the LiberNovo Omni SE is the smartest choice. You get almost all of the same baseline adjustability and dynamic support found on the higher-tier models without having to worry about electronics failing over time. While the main frame on all three chairs is backed by a five-year warranty, the electronic components are only covered for two years.</p><p>If you’d rather press armrest buttons than reach behind your back to tweak a turn-knob, the standard LiberNovo Omni is a worthwhile upgrade over the SE. It’s also available in more colorways — including black, gray, and moss green. For anyone dealing with lower-back stiffness during long work shifts, the automated OmniStretch cycle is a genuinely useful feature to have on demand.</p><p>If you want the absolute best LiberNovo has to offer, the Omni Pro steps up with a far more resilient performance fabric, a solid metal base, and Active AirFlow cooling to keep you sweat-free. While it skips the special colorways for now, it comes in a clean, modern dark gray or white finish that sheds pet hair effortlessly.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="SssdYfNcco6WhgfMy3W5B4" name="Librenovo StepSync Footrest-3" alt="A person sitting on the LiberNovo Omni office chair with their feet up on the LiberNovo StepSync footrest in front of a desk" src="https://cdn.mos.cms.futurecdn.net/SssdYfNcco6WhgfMy3W5B4.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>One thing to keep in mind across the entire lineup is budgeting for optional accessories. LiberNovo’s <a href="https://www.tomsguide.com/home/home-office/i-tested-the-worlds-most-futuristic-office-chair-and-realized-ive-been-sitting-wrong-my-whole-life">StepSync footrest</a> is a fantastic addition for shorter users like myself, and its plushly padded top makes taking advantage of that full 160-degree recline infinitely more comfortable.</p><p>While the footrest is pricey on its own, LiberNovo discounts it significantly when you bundle it with a chair, and you can order it color-matched to your setup too.</p><p>Finally, if you fall into a larger or taller height/weight bracket, LiberNovo also has its recently launched Maxis series. Those models mirror the SE, standard, and Pro in terms of features, design, and adjustability, but feature wider frames and higher weight capacities.</p><p>The original Omni made serious waves in the ergonomic chair market when it debuted, and with these newest additions to its lineup, LiberNovo proves it’s definitely here to stay.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/home/home-office/best-standing-desks"><strong>I've tested more than 27 standing desks and these are the best ones for your home office</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/best-picks/best-budget-office-chairs"><strong>Looking for something more affordable? These are the best budget office chairs</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/home/home-office/i-tried-the-sonic-the-hedgehog-office-chair-and-it-actually-makes-ergonomics-fun-and-fast"><strong>I tried the Sonic the Hedgehog office chair — and it actually makes ergonomics fun (and fast)</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I’ve worn my Garmin Cirqa and Oura Ring 5 to track my sleep for 10 days: here’s what I’ve noticed ]]></title>
                                                                                                <dc:content><![CDATA[ <p>It seems that 2026 is the year of the screenless fitness tracker. Over the past few months, we’ve seen the release of the Oura Ring 5, Fitbit Air, and now the $199 <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-just-went-hands-on-with-the-garmin-cirqa-and-it-strikes-a-near-perfect-balance-between-the-fitbit-air-and-whoop-5-0"><u>Garmin Cirqa</u></a>, which hit the market in July. It seems that users are moving away from constant notifications buzzing on their wrists and opting for distraction-free health and fitness tracking instead. </p><p>A huge selling point of the screenless tracker is that, without the bright light of a screen and often a smaller, lighter design, it can make sleep tracking more comfortable and less distracting. </p><p>I often remove my smartwatch entirely to sleep, as I find the likes of the Apple Watch Ultra 3 uncomfortable, but have been wearing an Oura Ring to track my sleep for years. Keen to take a look at how the data from the Garmin Cirqa compared, I wore both for 10 nights — read on to find out more. </p>        <div class="featured_product_block featured_block_versus" data-id="97ca34ea-959b-11f1-8924-25f88aec4d66">            <a href="https://www.amazon.com/Oura-Ring-Smart-Fitness-Tracker/dp/B0GRK9KZ2P/ref=sr_1_1_sspa" data-model-name="Ring 5" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:89.63%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/qdMoMB5HJuWQJMnN376rxJ.png" alt="Oura, Ring 5"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                            <div class='featured__brand'>Oura</div>                    <div class="featured__title">Ring 5</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>The Oura Ring 5 is the thinnest and lightest smart ring on the market. It starts at $399 for the silver and black colorways, comes in six finishes, and lasts up to nine days on a charge.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_versus" data-id="725b0602-974f-11f1-93e7-5118a5958abd">            <a href="https://www.amazon.com/Garmin-CIRQATM-Smart-Subscription-French/dp/B0H94C68DZ/" data-model-name="Garmin Cirqa" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:110.30%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/9hSH5VJVhpTbr5YMN8Adsm.png" alt="Garmin Cirqa"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                            <div class='featured__brand'>Garmin</div>                    <div class="featured__title">Cirqa</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>The Garmin Cirqa is a screenless fitness tracker with only a single button to start and stop workouts. Boasting up to ten days of battery and a lightweight design, it's Garmin's answer to the Whoop 5.0 and Fitbit Air.</p></p>                </div>                            </div>        </div><h2 id="garmin-cirqa-vs-oura-ring-5">Garmin Cirqa vs Oura Ring 5</h2><p>Before we dive into the sleep tracking capabilities of the two devices, it seems wise to point out some of the similarities and differences, if you are trying to decide between the two. The Oura Ring 5 is the more expensive of the two trackers, starting at $399 for the basic finishes. You’ll also need to pay an ongoing subscription fee, which costs $5.99 per month. The Garmin Cirqa costs $199 and has no subscription fees. </p><p>Design-wise, the Oura Ring 5 is the smallest, lightest smart ring on the market. It truly disappears, and is the best option for anyone looking for a fitness or sleep tracker that looks like jewelry. The Garmin Cirqa is a stretch wristband with a single button. It’s not exactly small, and it’s bigger and heavier than the <a href="https://www.tomsguide.com/wellness/fitness-trackers/fitbit-air-review">Fitbit Air</a>. You can also buy an additional bicep strap for workouts or team sports.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2500px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="E7nhPKviXpFxywSkX6UbqD" name="Oura Ring 5" alt="photos of the Oura Ring 5" src="https://cdn.mos.cms.futurecdn.net/E7nhPKviXpFxywSkX6UbqD.jpg" mos="" align="middle" fullscreen="" width="2500" height="1406" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Both devices have a battery life that’ll last longer than a week between charges. The Garmin Cirqa lasts 10-11 days; the Oura Ring 5 lasts around nine days, depending on the size of your ring. </p><p>Both are also compatible with iOS and Android. With the Garmin, you’ll see all your data on the Garmin Connect app, whereas Oura uses its own app. Both can be synced with third-party apps like Natural Cycles for advanced female health tracking. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3721px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AjoUYtagaC2cAqN6vVfqiW" name="Garmin Cirqa" alt="Garmin Cirqa" src="https://cdn.mos.cms.futurecdn.net/AjoUYtagaC2cAqN6vVfqiW.jpg" mos="" align="middle" fullscreen="" width="3721" height="2093" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h2 id="the-results">The results </h2><p>But back to sleep. Before I share my results, I feel like I must point out that this test fell during a pretty stressful time, as I was right in the middle of moving house. I’m also a single mom, raising the next Houdini, and often get woken multiple times a night by my toddler climbing into my bed. All this to say, please excuse some of these sleep scores. </p><div ><table><caption>Garmin Cirqa vs Oura Ring 5 sleep data </caption><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Garmin Cirqa</strong></p></td><td  ><p><strong>Oura Ring 5</strong></p></td></tr><tr><td class="firstcol " ><p><strong>July 24</strong></p></td><td  ><p>89/100, Good, 7h 32m, 11:11 pm-6:49 am, Deep: 1h, Light: 4h 34m, REM: 1h 58m, Awake: 6m</p></td><td  ><p>84/100, Good, 6h 57m, 11:06 pm-6:50 am, Deep: 1h 32m, Light: 3h 23m, REM: 2h 3m, Awake: 47m</p></td></tr><tr><td class="firstcol " ><p><strong>July 25</strong></p></td><td  ><p>63/100, Fair, 5h 32m, 12:18 am-7:01 am, Deep: 1h 18m, Light: 2h 54m, REM: 1h 20m, Awake: 1h 11m</p></td><td  ><p>67/100, Fair, 5h 53m, 12:06 am-7:01 am, Deep: 1h 12m, Light: 3h 9m, REM: 1h 33m, Awake: 1h 2m</p></td></tr><tr><td class="firstcol " ><p><strong>July 26 </strong></p></td><td  ><p>84/100, Good, 7h 9m, 12:09 am-7:29 am, Deep: 1h 25m, Light: 4h 10m, REM: 1h 34m, Awake: 11m</p></td><td  ><p>79/100, Good, 7h 3m, 11:35 pm-7:28 am, Deep: 1h 40, Light: 4h 5m, REM: 1h 18m, Awake: 50m</p></td></tr><tr><td class="firstcol " ><p><strong>July 27</strong></p></td><td  ><p>82/100, Good, 6h 28m, 12:34 am-7:09 am, Deep: 1h 21m, Light: 3h 41m, REM: 1h 26m, Awake: 7m</p></td><td  ><p>63/100, Fair, 6h 3m, 12:01 am-7:11 am, Deep: 43m, Light: 3h 17m, REM: 2h 4m, Awake: 1h 7m</p></td></tr><tr><td class="firstcol " ><p><strong>July 28</strong></p></td><td  ><p>74/100, Fair, 5h 58m, 12:42 am-6:43 am, Deep: 1h 17m, Light: 3h 18m, REM: 1h 23m, Awake: 3m</p></td><td  ><p>70/100, Good, 6h 9m, 11:47 pm-6:48 am, Deep: 1h 10m, Light: 3h 30m, REM: 1h 30m, Awake: 52m</p></td></tr><tr><td class="firstcol " ><p><strong>July 29</strong></p></td><td  ><p>75/100, Fair, 6h 34m, 12:06 am-6:50 am, Deep: 1h 28m, Light: 3h 44m, REM: 1h 22m, Awake: 10m</p></td><td  ><p>No data recorded </p></td></tr><tr><td class="firstcol " ><p><strong>July 30</strong></p></td><td  ><p>87/100, Good, 7h 16m duration, 10:37 pm-6:21 am, Deep: 2h 18m, Light: 3h 4m, REM: 1h 54m, Awake: 28m</p></td><td  ><p>75/100, Good, 5h 42m, 12:02 am-6:20 pm, Deep: 1h 20m, Light: 2h 33m, REM: 1h 50m, Awake: 36m</p></td></tr><tr><td class="firstcol " ><p><strong>July 31</strong></p></td><td  ><p>80/100, Good, 6h 24m duration, 11:34 pm - 6:25 am, Deep: 1h 49m, Light: 3h 5m, REM: 1h 30m, Awake: 27m</p></td><td  ><p>78/100, Good, 6h 16m duration, 11:29 pm - 6:25 am, Deep: 1h 34m, Light: 3h 9m, REM: 1h 33m, Awake: 40m</p></td></tr><tr><td class="firstcol " ><p><strong>August 1</strong></p></td><td  ><p>88/100, Good, 7h 43m duration, 11:14 pm - 7:10 am, Deep: 1h 11m, Light: 4h 59m, REM: 1h 33m, Awake: 13m</p></td><td  ><p>87/100, Optimal, 7h 41m duration, 11:01 pm - 7:12 am, Deep: 1h 39m, Light: 3h 52m, REM: 2h 11m, Awake: 30m</p></td></tr><tr><td class="firstcol " ><p><strong>August 2</strong></p></td><td  ><p>84/100, Good, 6h 51m duration, 12:23 am - 7:22 am, Deep: 1h 41m, Light: 3h 16m, REM: 1h 54m, Awake: 8 min </p></td><td  ><p>80/100, Good, 6h 43 min duration, 12:10 am - 7:22 am, Deep: 1h 26m, Light: 3h 30m, REM: 1h 48m, Awake: 29m</p></td></tr></tbody></table></div><p>Of course, there’s no real way of telling which of these devices was more accurate at tracking how much sleep I did (or didn’t) get without going to a sleep lab, but I found it interesting to see that most nights, my overall sleep score and advice was pretty much identical. </p><p>There are a few key differences to point out: my Oura Ring 5 always recorded me as being awake for a lot longer than the Garmin Cirqa, more accurately reflecting the fact that I often lay in bed scrolling on my phone before I went to sleep. A lot of nights, the ‘awake’ part of my Oura sleep graph was at the beginning of the night. </p><p>The sleep duration and stages were also pretty similar throughout the testing, except July 29, when my Oura Ring 5 died overnight, and July 30, when Garmin recorded 90 minutes more sleep. </p><p>It’s worth pointing out I’ve had the Oura Ring 5 on my finger for months, whereas the Garmin Cirqa has only been on my wrist for two weeks, so it could need a little longer for more precise readings. </p><p>That said, overall, the data recorded was pretty similar, and the overall message was clear: I need more sleep. If only Garmin and Oura could relay that information to my toddler.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XkwQ3X"></div>                            </div>                            <script src="https://kwizly.com/embed/XkwQ3X.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/wellness/smartwatches/take-off-that-apple-watch-5-reasons-why-its-okay-to-swap-your-smartwatch-for-a-dumb-watch">I review smartwatches for a living, but these are 5 reasons why I sometimes still wear a 'dumb' watch</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-series-12-everything-we-know-so-far">Apple Watch Series 12 rumors — everything we know so far</a></li><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/garmins-rumored-screen-less-wearable-just-might-be-the-subscription-free-whoop-rival-ive-been-waiting-for">Garmin’s rumored screen-less wearable just might be the subscription-free Whoop rival I’ve been waiting for</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/wellness/fitness-trackers/ive-worn-my-garmin-cirqa-and-oura-ring-5-to-track-my-sleep-for-10-days-heres-what-ive-noticed</link>
                                                                            <description>
                            <![CDATA[ We look at the differences in the data recorded by the two screenless trackers ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Kayr35rhyo8vbUMUVjFZ2V</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/Kcnidm4ub7wGWKky8ByFPB-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 12 Aug 2026 05:30:00 +0000</pubDate>                                                                                                                                <updated>Thu, 13 Aug 2026 19:44:50 +0000</updated>
                                                                                                                                            <category><![CDATA[Fitness Trackers]]></category>
                                                    <category><![CDATA[Wellness]]></category>
                                                    <category><![CDATA[Smartwatches]]></category>
                                                                                                <author><![CDATA[ jane.mcguire@futurenet.com (Jane McGuire) ]]></author>                    <dc:creator><![CDATA[ Jane McGuire ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/vV4Uj3e5TZvBqmmsjT2EU6.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jane McGuire is Tom&#039;s Guide&#039;s Fitness Managing Editor, which means she looks after everything fitness-related — from running gear and fitness trackers to yoga mats and sports bras. An avid runner, Jane has tested and reviewed fitness products for the past five years, so she knows what to look for when finding a good running watch or a pair of shorts with pockets big enough for your smartphone, running gels, and house keys. &lt;/p&gt;&lt;p&gt;Jane has run six marathons — the London Marathon five times, and the Berlin Marathon once -and is still on a quest to tick off all of the marathon majors. Her marathon PR is 3:30, which she ran in the New Balance Supercomp Elite V5&#039;s, but she also spends a lot of time talking about her  ‘joy plan’, where she runs for happiness, not for PR’s. &lt;/p&gt;&lt;p&gt;Previous to Tom’s Guide, Jane worked for Runner’s World, where she co-hosted the Runner’s World podcast. She also presents on a YouTube channel called the Run Testers, alongside other running-mad journalists, where they review the latest shoes, kit, and tech. Her work has also appeared in Coach, Get Sweat Go, and Women’s Health. &lt;/p&gt;&lt;p&gt;When she&#039;s not pounding the pavements, you&#039;ll find Jane striding round the Surrey Hills, taking far too many photos of her spaniel, Toby. &lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/Kcnidm4ub7wGWKky8ByFPB-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[a photo of the Garmin Cirqa and Oura Ring 5]]></media:description>                                                            <media:text><![CDATA[a photo of the Garmin Cirqa and Oura Ring 5]]></media:text>
                                <media:title type="plain"><![CDATA[a photo of the Garmin Cirqa and Oura Ring 5]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/Kcnidm4ub7wGWKky8ByFPB-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>It seems that 2026 is the year of the screenless fitness tracker. Over the past few months, we’ve seen the release of the Oura Ring 5, Fitbit Air, and now the $199 <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-just-went-hands-on-with-the-garmin-cirqa-and-it-strikes-a-near-perfect-balance-between-the-fitbit-air-and-whoop-5-0"><u>Garmin Cirqa</u></a>, which hit the market in July. It seems that users are moving away from constant notifications buzzing on their wrists and opting for distraction-free health and fitness tracking instead. </p><p>A huge selling point of the screenless tracker is that, without the bright light of a screen and often a smaller, lighter design, it can make sleep tracking more comfortable and less distracting. </p><p>I often remove my smartwatch entirely to sleep, as I find the likes of the Apple Watch Ultra 3 uncomfortable, but have been wearing an Oura Ring to track my sleep for years. Keen to take a look at how the data from the Garmin Cirqa compared, I wore both for 10 nights — read on to find out more. </p>        <div class="featured_product_block featured_block_versus" data-id="97ca34ea-959b-11f1-8924-25f88aec4d66">            <a href="https://www.amazon.com/Oura-Ring-Smart-Fitness-Tracker/dp/B0GRK9KZ2P/ref=sr_1_1_sspa" data-model-name="Ring 5" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:89.63%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/qdMoMB5HJuWQJMnN376rxJ.png" alt="Oura, Ring 5"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                            <div class='featured__brand'>Oura</div>                    <div class="featured__title">Ring 5</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>The Oura Ring 5 is the thinnest and lightest smart ring on the market. It starts at $399 for the silver and black colorways, comes in six finishes, and lasts up to nine days on a charge.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_versus" data-id="725b0602-974f-11f1-93e7-5118a5958abd">            <a href="https://www.amazon.com/Garmin-CIRQATM-Smart-Subscription-French/dp/B0H94C68DZ/" data-model-name="Garmin Cirqa" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:110.30%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/9hSH5VJVhpTbr5YMN8Adsm.png" alt="Garmin Cirqa"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                            <div class='featured__brand'>Garmin</div>                    <div class="featured__title">Cirqa</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>The Garmin Cirqa is a screenless fitness tracker with only a single button to start and stop workouts. Boasting up to ten days of battery and a lightweight design, it's Garmin's answer to the Whoop 5.0 and Fitbit Air.</p></p>                </div>                            </div>        </div><h2 id="garmin-cirqa-vs-oura-ring-5">Garmin Cirqa vs Oura Ring 5</h2><p>Before we dive into the sleep tracking capabilities of the two devices, it seems wise to point out some of the similarities and differences, if you are trying to decide between the two. The Oura Ring 5 is the more expensive of the two trackers, starting at $399 for the basic finishes. You’ll also need to pay an ongoing subscription fee, which costs $5.99 per month. The Garmin Cirqa costs $199 and has no subscription fees. </p><p>Design-wise, the Oura Ring 5 is the smallest, lightest smart ring on the market. It truly disappears, and is the best option for anyone looking for a fitness or sleep tracker that looks like jewelry. The Garmin Cirqa is a stretch wristband with a single button. It’s not exactly small, and it’s bigger and heavier than the <a href="https://www.tomsguide.com/wellness/fitness-trackers/fitbit-air-review">Fitbit Air</a>. You can also buy an additional bicep strap for workouts or team sports.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2500px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="E7nhPKviXpFxywSkX6UbqD" name="Oura Ring 5" alt="photos of the Oura Ring 5" src="https://cdn.mos.cms.futurecdn.net/E7nhPKviXpFxywSkX6UbqD.jpg" mos="" align="middle" fullscreen="" width="2500" height="1406" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Both devices have a battery life that’ll last longer than a week between charges. The Garmin Cirqa lasts 10-11 days; the Oura Ring 5 lasts around nine days, depending on the size of your ring. </p><p>Both are also compatible with iOS and Android. With the Garmin, you’ll see all your data on the Garmin Connect app, whereas Oura uses its own app. Both can be synced with third-party apps like Natural Cycles for advanced female health tracking. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3721px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AjoUYtagaC2cAqN6vVfqiW" name="Garmin Cirqa" alt="Garmin Cirqa" src="https://cdn.mos.cms.futurecdn.net/AjoUYtagaC2cAqN6vVfqiW.jpg" mos="" align="middle" fullscreen="" width="3721" height="2093" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h2 id="the-results">The results </h2><p>But back to sleep. Before I share my results, I feel like I must point out that this test fell during a pretty stressful time, as I was right in the middle of moving house. I’m also a single mom, raising the next Houdini, and often get woken multiple times a night by my toddler climbing into my bed. All this to say, please excuse some of these sleep scores. </p><div ><table><caption>Garmin Cirqa vs Oura Ring 5 sleep data </caption><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Garmin Cirqa</strong></p></td><td  ><p><strong>Oura Ring 5</strong></p></td></tr><tr><td class="firstcol " ><p><strong>July 24</strong></p></td><td  ><p>89/100, Good, 7h 32m, 11:11 pm-6:49 am, Deep: 1h, Light: 4h 34m, REM: 1h 58m, Awake: 6m</p></td><td  ><p>84/100, Good, 6h 57m, 11:06 pm-6:50 am, Deep: 1h 32m, Light: 3h 23m, REM: 2h 3m, Awake: 47m</p></td></tr><tr><td class="firstcol " ><p><strong>July 25</strong></p></td><td  ><p>63/100, Fair, 5h 32m, 12:18 am-7:01 am, Deep: 1h 18m, Light: 2h 54m, REM: 1h 20m, Awake: 1h 11m</p></td><td  ><p>67/100, Fair, 5h 53m, 12:06 am-7:01 am, Deep: 1h 12m, Light: 3h 9m, REM: 1h 33m, Awake: 1h 2m</p></td></tr><tr><td class="firstcol " ><p><strong>July 26 </strong></p></td><td  ><p>84/100, Good, 7h 9m, 12:09 am-7:29 am, Deep: 1h 25m, Light: 4h 10m, REM: 1h 34m, Awake: 11m</p></td><td  ><p>79/100, Good, 7h 3m, 11:35 pm-7:28 am, Deep: 1h 40, Light: 4h 5m, REM: 1h 18m, Awake: 50m</p></td></tr><tr><td class="firstcol " ><p><strong>July 27</strong></p></td><td  ><p>82/100, Good, 6h 28m, 12:34 am-7:09 am, Deep: 1h 21m, Light: 3h 41m, REM: 1h 26m, Awake: 7m</p></td><td  ><p>63/100, Fair, 6h 3m, 12:01 am-7:11 am, Deep: 43m, Light: 3h 17m, REM: 2h 4m, Awake: 1h 7m</p></td></tr><tr><td class="firstcol " ><p><strong>July 28</strong></p></td><td  ><p>74/100, Fair, 5h 58m, 12:42 am-6:43 am, Deep: 1h 17m, Light: 3h 18m, REM: 1h 23m, Awake: 3m</p></td><td  ><p>70/100, Good, 6h 9m, 11:47 pm-6:48 am, Deep: 1h 10m, Light: 3h 30m, REM: 1h 30m, Awake: 52m</p></td></tr><tr><td class="firstcol " ><p><strong>July 29</strong></p></td><td  ><p>75/100, Fair, 6h 34m, 12:06 am-6:50 am, Deep: 1h 28m, Light: 3h 44m, REM: 1h 22m, Awake: 10m</p></td><td  ><p>No data recorded </p></td></tr><tr><td class="firstcol " ><p><strong>July 30</strong></p></td><td  ><p>87/100, Good, 7h 16m duration, 10:37 pm-6:21 am, Deep: 2h 18m, Light: 3h 4m, REM: 1h 54m, Awake: 28m</p></td><td  ><p>75/100, Good, 5h 42m, 12:02 am-6:20 pm, Deep: 1h 20m, Light: 2h 33m, REM: 1h 50m, Awake: 36m</p></td></tr><tr><td class="firstcol " ><p><strong>July 31</strong></p></td><td  ><p>80/100, Good, 6h 24m duration, 11:34 pm - 6:25 am, Deep: 1h 49m, Light: 3h 5m, REM: 1h 30m, Awake: 27m</p></td><td  ><p>78/100, Good, 6h 16m duration, 11:29 pm - 6:25 am, Deep: 1h 34m, Light: 3h 9m, REM: 1h 33m, Awake: 40m</p></td></tr><tr><td class="firstcol " ><p><strong>August 1</strong></p></td><td  ><p>88/100, Good, 7h 43m duration, 11:14 pm - 7:10 am, Deep: 1h 11m, Light: 4h 59m, REM: 1h 33m, Awake: 13m</p></td><td  ><p>87/100, Optimal, 7h 41m duration, 11:01 pm - 7:12 am, Deep: 1h 39m, Light: 3h 52m, REM: 2h 11m, Awake: 30m</p></td></tr><tr><td class="firstcol " ><p><strong>August 2</strong></p></td><td  ><p>84/100, Good, 6h 51m duration, 12:23 am - 7:22 am, Deep: 1h 41m, Light: 3h 16m, REM: 1h 54m, Awake: 8 min </p></td><td  ><p>80/100, Good, 6h 43 min duration, 12:10 am - 7:22 am, Deep: 1h 26m, Light: 3h 30m, REM: 1h 48m, Awake: 29m</p></td></tr></tbody></table></div><p>Of course, there’s no real way of telling which of these devices was more accurate at tracking how much sleep I did (or didn’t) get without going to a sleep lab, but I found it interesting to see that most nights, my overall sleep score and advice was pretty much identical. </p><p>There are a few key differences to point out: my Oura Ring 5 always recorded me as being awake for a lot longer than the Garmin Cirqa, more accurately reflecting the fact that I often lay in bed scrolling on my phone before I went to sleep. A lot of nights, the ‘awake’ part of my Oura sleep graph was at the beginning of the night. </p><p>The sleep duration and stages were also pretty similar throughout the testing, except July 29, when my Oura Ring 5 died overnight, and July 30, when Garmin recorded 90 minutes more sleep. </p><p>It’s worth pointing out I’ve had the Oura Ring 5 on my finger for months, whereas the Garmin Cirqa has only been on my wrist for two weeks, so it could need a little longer for more precise readings. </p><p>That said, overall, the data recorded was pretty similar, and the overall message was clear: I need more sleep. If only Garmin and Oura could relay that information to my toddler.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XkwQ3X"></div>                            </div>                            <script src="https://kwizly.com/embed/XkwQ3X.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/wellness/smartwatches/take-off-that-apple-watch-5-reasons-why-its-okay-to-swap-your-smartwatch-for-a-dumb-watch">I review smartwatches for a living, but these are 5 reasons why I sometimes still wear a 'dumb' watch</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-series-12-everything-we-know-so-far">Apple Watch Series 12 rumors — everything we know so far</a></li><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/garmins-rumored-screen-less-wearable-just-might-be-the-subscription-free-whoop-rival-ive-been-waiting-for">Garmin’s rumored screen-less wearable just might be the subscription-free Whoop rival I’ve been waiting for</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I biked 11 miles with the Garmin Instinct 3 vs Samsung Galaxy Watch Ultra 2 — and the winner is clear ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Which rugged smartwatch is the more reliable fitness tracker for cyclists, the new Samsung Galaxy Watch Ultra 2 or the Garmin Instinct 3? I decided to find out. </p><p>Having just tested the <a href="https://www.tomsguide.com/wellness/smartwatches/galaxy-watch-ultra-2-hands-on-review">Galaxy Watch Ultra 2</a> vs <a href="https://www.tomsguide.com/Garmin-Instinct-3-review">Instinct 3</a> while <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-went-e-mountain-biking-in-cougar-country-with-the-new-samsung-galaxy-watch-ultra-2-vs-garmin-instinct-3-and-the-winner-is-clear">e-mountain biking in the Northern Cascades</a> — Garmin won decisively — I decided it was time for round 2. This time, I tested the two watches in a city setting along one of my favorite routes through central Seattle, Washington.</p><h3 class="article-body__section" id="section-i-biked-11-miles-with-the-garmin-instinct-3-vs-samsung-galaxy-watch-ultra-2"><span>I biked 11 miles with the Garmin Instinct 3 vs Samsung Galaxy Watch Ultra 2</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5067px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ZccTmgvN3f5DM4R5Xi6PWW" name="GalaxyUltra2-Instinct3-01" alt="Close-up of the Samsung Galaxy Watch Ultra 2 next to the Garmin Instinct 3 against a bright blue background" src="https://cdn.mos.cms.futurecdn.net/ZccTmgvN3f5DM4R5Xi6PWW.jpg" mos="" align="middle" fullscreen="" width="5067" height="2850" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>With the Samsung on my left wrist and the Garmin on my right, my roughly one-hour ride took me through densely populated neighborhoods, alongside neat rows of postcard-worthy houseboats, beneath towering canopies of evergreens, and past buzzing corporate campuses. </p><p>Read on for the results. </p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Garmin Instinct 3</p></th><th  ><p>Samsung Galaxy Watch Ultra 2</p></th><th  ><p>Strava</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Distance</strong></p></td><td  ><p>10.78 miles</p></td><td  ><p>10.88 miles </p></td><td  ><p>10.93 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Climb</strong></p></td><td  ><p>761 feet</p></td><td  ><p>970 feet</p></td><td  ><p>675 feet</p></td></tr><tr><td class="firstcol " ><p><strong>Average moving speed</strong></p></td><td  ><p>11.7 mph</p></td><td  ><p>11.9 mph</p></td><td  ><p>11.8 mph</p></td></tr><tr><td class="firstcol " ><p><strong>Top speed</strong></p></td><td  ><p>27.7 mph</p></td><td  ><p>26 mph</p></td><td  ><p>27 mph</p></td></tr><tr><td class="firstcol " ><p><strong>Average heart rate</strong></p></td><td  ><p>159 bpm</p></td><td  ><p>159 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Max heart rate</strong></p></td><td  ><p>175 bpm</p></td><td  ><p>175 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Calories burned</strong></p></td><td  ><p>674 total calories</p></td><td  ><p>588 total calories</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Battery usage</strong></p></td><td  ><p>5%</p></td><td  ><p>5%</p></td><td  ><p>n/a</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-all-three-tracking-methods-noted-similar-distance-and-speed"><span>All three tracking methods noted similar distance and speed</span></h3><p>In addition to logging my bike ride with the two smartwatches, I also recorded it using the Strava app on my handlebar-mounted iPhone 16 Plus. Using Strava as our control, all three tracking methods recorded roughly the same total distance, give or take a tenth of a mile or two... but the Samsung was closer.</p><p>The Galaxy Watch Ultra 2, Instinct 3, and Strava also recorded roughly the same average moving and max speed, which is reassuring to see. In this case, assuming Strava is again on the money, the Garmin was a little more accurate than the Samsung. </p><h3 class="article-body__section" id="section-samsung-climb-data-is-again-inflated"><span>Samsung climb data is (again) inflated</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5187px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="WuDuLxY7D8yPDKN9dJM6RP" name="S-Ultra2-G-Instinct3-06" alt="Close-up of the Samsung Galaxy Watch Ultra 2 and Garmin Instinct 3 in the mountains during an e-biking excursion" src="https://cdn.mos.cms.futurecdn.net/WuDuLxY7D8yPDKN9dJM6RP.jpg" mos="" align="middle" fullscreen="" width="5187" height="2918" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Rebecca Michalak )</span></figcaption></figure><p>This is the third time I've tested the Samsung Galaxy Watch Ultra 2 against other devices, and it resulted in noticeably inflated climb data compared to its peers. For example, I discovered the same when I took the <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-trekked-the-cascade-mountains-with-the-apple-watch-ultra-3-vs-garmin-instinct-3-vs-samsung-galaxy-watch-ultra-2-this-is-the-one-id-take-on-my-next-hike">Galaxy Watch Ultra 2 hiking</a> in the North Cascades, and again when I went <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-went-e-mountain-biking-in-cougar-country-with-the-new-samsung-galaxy-watch-ultra-2-vs-garmin-instinct-3-and-the-winner-is-clear">e-mountain biking</a>. </p><p>I've reached out to Samsung for comment on these results and will keep you posted on the brand's response. Meanwhile, Garmin also inflated my uphill efforts, just by a more forgivable amount.</p><p>It's worth noting that this is a bike route I'm deeply familiar with and have <a href="https://www.tomsguide.com/wellness/smartwatches/i-biked-11-miles-with-the-coros-nomad-vs-amazfit-t-rex-3-pro-and-the-results-surprised-me">logged many times</a> with a wide range of trackers. As a result, I've come to expect the total elevation gain for the ride to be somewhere between 675 and 725 feet. </p><h3 class="article-body__section" id="section-heart-rate-data-also-lines-up-nicely"><span>Heart rate data also lines up nicely</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4913px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="BhK5xvMsdXnqJjbLSbK9YN" name="S-Ultra2-G-Instinct3-01" alt="Close-up of the Samsung Galaxy Watch Ultra 2 and Garmin Instinct 3 in the mountains during an e-biking excursion" src="https://cdn.mos.cms.futurecdn.net/BhK5xvMsdXnqJjbLSbK9YN.jpg" mos="" align="middle" fullscreen="" width="4913" height="2764" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Thankfully, elevation gain is the only metric where the data doesn't agree/upset my stomach. Moreover, it warms my heart to see that my average and max heart rates are a perfect match between the Samsung Galaxy Watch Ultra 2 and Garmin Instinct 3 for this ride.</p><p>While the Galaxy Watch Ultra 2 uses Samsung's latest health sensor tech, the Instinct 3 uses Garmin's next-to-latest sensor array.</p><h3 class="article-body__section" id="section-both-watches-performed-well-but-i-d-still-opt-for-the-garmin"><span>Both watches performed well, but I'd still opt for the Garmin</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1977px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="YYtK3yJmCnYFoVcupV4aUN" name="GarminInstinct3-snow-05" alt="Garmin Instinct 3 on a user's wrist shown up-close in between a ski glove and jacket" src="https://cdn.mos.cms.futurecdn.net/YYtK3yJmCnYFoVcupV4aUN.jpg" mos="" align="middle" fullscreen="" width="1977" height="1112" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>From heart rate to battery usage to speed and distance, both the Garmin Instinct 3 and Samsung Galaxy Watch Ultra 2 performed admirably in this 11-mile bike ride tracking comparison. Despite one outlier — Samsung's inflated ascent data — I'm pleasantly impressed by the performance of both.</p><p>Of course, the Garmin Instinct 3 has been my go-to smartwatch for any and all outdoor adventures, from <a href="https://www.tomsguide.com/wellness/smartwatches/i-hiked-up-new-yorks-highest-waterfall-with-the-apple-watch-10-vs-garmin-instinct-3-5-things-i-learned">hitting the trails</a> to <a href="https://www.tomsguide.com/wellness/smartwatches/i-took-the-apple-watch-ultra-3-vs-garmin-instinct-3-snowboarding-and-there-was-one-clear-winner">the slopes</a> to the water. And even though I'm impressed by the Galaxy Watch Ultra 2, I'll likely stick with the Instinct 3 for the foreseeable future for logging these types of activities. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ev1ZaX"></div>                            </div>                            <script src="https://kwizly.com/embed/ev1ZaX.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/wellness/smartwatches/i-biked-11-miles-with-the-garmin-venu-4-vs-suunto-vertical-2-and-theres-a-clear-winner">I biked 11 miles with the Garmin Venu 4 vs Suunto Vertical 2 — and there's a clear winner</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/i-manually-counted-4-000-steps-to-test-the-apple-watch-ultra-3-vs-samsung-galaxy-watch-ultra-2-and-samsung-wins-the-accuracy-battle-with-better-elevation-data-too">I walked 4,000 steps with the Apple Watch Ultra 3 vs Samsung Galaxy Watch Ultra 2 — and the winning margin was razor-thin</a></li><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/exclusive-garmin-cirqa-pm-says-it-just-felt-like-we-had-all-of-the-pieces-in-place-to-launch-a-screen-free-fitness-tracker">Exclusive: Garmin Cirqa PM says ‘it just felt like we had all of the pieces in place’ to launch a screen-free fitness tracker</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/wellness/smartwatches/i-biked-11-miles-with-the-garmin-instinct-3-vs-samsung-galaxy-watch-ultra-2-and-the-winner-is-clear</link>
                                                                            <description>
                            <![CDATA[ Which rugged smartwatch is the more reliable fitness tracker for cyclists, the new Samsung Galaxy Watch Ultra 2 or the Garmin Instinct 3? I decided to find out. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">yXRaP8PjCLBiDpC48jDS5X</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/z4fwvXKWVZz3GTwNXzQkGV-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 11 Aug 2026 06:15:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Smartwatches]]></category>
                                                    <category><![CDATA[Wellness]]></category>
                                                                                                <author><![CDATA[ dan.bracaglia@futurenet.com (Dan Bracaglia) ]]></author>                    <dc:creator><![CDATA[ Dan Bracaglia ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/3Ev8EFrheNxPemMWSBaKcK.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;&lt;br&gt;&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/z4fwvXKWVZz3GTwNXzQkGV-1280-80.jpg">
                                                            <media:credit><![CDATA[Dan Bracaglia/Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Close-up of the Samsung Galaxy Watch Ultra 2 next to the Garmin Instinct 3 against a bright blue background]]></media:description>                                                            <media:text><![CDATA[Close-up of the Samsung Galaxy Watch Ultra 2 next to the Garmin Instinct 3 against a bright blue background]]></media:text>
                                <media:title type="plain"><![CDATA[Close-up of the Samsung Galaxy Watch Ultra 2 next to the Garmin Instinct 3 against a bright blue background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/z4fwvXKWVZz3GTwNXzQkGV-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Which rugged smartwatch is the more reliable fitness tracker for cyclists, the new Samsung Galaxy Watch Ultra 2 or the Garmin Instinct 3? I decided to find out. </p><p>Having just tested the <a href="https://www.tomsguide.com/wellness/smartwatches/galaxy-watch-ultra-2-hands-on-review">Galaxy Watch Ultra 2</a> vs <a href="https://www.tomsguide.com/Garmin-Instinct-3-review">Instinct 3</a> while <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-went-e-mountain-biking-in-cougar-country-with-the-new-samsung-galaxy-watch-ultra-2-vs-garmin-instinct-3-and-the-winner-is-clear">e-mountain biking in the Northern Cascades</a> — Garmin won decisively — I decided it was time for round 2. This time, I tested the two watches in a city setting along one of my favorite routes through central Seattle, Washington.</p><h3 class="article-body__section" id="section-i-biked-11-miles-with-the-garmin-instinct-3-vs-samsung-galaxy-watch-ultra-2"><span>I biked 11 miles with the Garmin Instinct 3 vs Samsung Galaxy Watch Ultra 2</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5067px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ZccTmgvN3f5DM4R5Xi6PWW" name="GalaxyUltra2-Instinct3-01" alt="Close-up of the Samsung Galaxy Watch Ultra 2 next to the Garmin Instinct 3 against a bright blue background" src="https://cdn.mos.cms.futurecdn.net/ZccTmgvN3f5DM4R5Xi6PWW.jpg" mos="" align="middle" fullscreen="" width="5067" height="2850" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>With the Samsung on my left wrist and the Garmin on my right, my roughly one-hour ride took me through densely populated neighborhoods, alongside neat rows of postcard-worthy houseboats, beneath towering canopies of evergreens, and past buzzing corporate campuses. </p><p>Read on for the results. </p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Garmin Instinct 3</p></th><th  ><p>Samsung Galaxy Watch Ultra 2</p></th><th  ><p>Strava</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Distance</strong></p></td><td  ><p>10.78 miles</p></td><td  ><p>10.88 miles </p></td><td  ><p>10.93 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Climb</strong></p></td><td  ><p>761 feet</p></td><td  ><p>970 feet</p></td><td  ><p>675 feet</p></td></tr><tr><td class="firstcol " ><p><strong>Average moving speed</strong></p></td><td  ><p>11.7 mph</p></td><td  ><p>11.9 mph</p></td><td  ><p>11.8 mph</p></td></tr><tr><td class="firstcol " ><p><strong>Top speed</strong></p></td><td  ><p>27.7 mph</p></td><td  ><p>26 mph</p></td><td  ><p>27 mph</p></td></tr><tr><td class="firstcol " ><p><strong>Average heart rate</strong></p></td><td  ><p>159 bpm</p></td><td  ><p>159 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Max heart rate</strong></p></td><td  ><p>175 bpm</p></td><td  ><p>175 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Calories burned</strong></p></td><td  ><p>674 total calories</p></td><td  ><p>588 total calories</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Battery usage</strong></p></td><td  ><p>5%</p></td><td  ><p>5%</p></td><td  ><p>n/a</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-all-three-tracking-methods-noted-similar-distance-and-speed"><span>All three tracking methods noted similar distance and speed</span></h3><p>In addition to logging my bike ride with the two smartwatches, I also recorded it using the Strava app on my handlebar-mounted iPhone 16 Plus. Using Strava as our control, all three tracking methods recorded roughly the same total distance, give or take a tenth of a mile or two... but the Samsung was closer.</p><p>The Galaxy Watch Ultra 2, Instinct 3, and Strava also recorded roughly the same average moving and max speed, which is reassuring to see. In this case, assuming Strava is again on the money, the Garmin was a little more accurate than the Samsung. </p><h3 class="article-body__section" id="section-samsung-climb-data-is-again-inflated"><span>Samsung climb data is (again) inflated</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5187px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="WuDuLxY7D8yPDKN9dJM6RP" name="S-Ultra2-G-Instinct3-06" alt="Close-up of the Samsung Galaxy Watch Ultra 2 and Garmin Instinct 3 in the mountains during an e-biking excursion" src="https://cdn.mos.cms.futurecdn.net/WuDuLxY7D8yPDKN9dJM6RP.jpg" mos="" align="middle" fullscreen="" width="5187" height="2918" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Rebecca Michalak )</span></figcaption></figure><p>This is the third time I've tested the Samsung Galaxy Watch Ultra 2 against other devices, and it resulted in noticeably inflated climb data compared to its peers. For example, I discovered the same when I took the <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-trekked-the-cascade-mountains-with-the-apple-watch-ultra-3-vs-garmin-instinct-3-vs-samsung-galaxy-watch-ultra-2-this-is-the-one-id-take-on-my-next-hike">Galaxy Watch Ultra 2 hiking</a> in the North Cascades, and again when I went <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-went-e-mountain-biking-in-cougar-country-with-the-new-samsung-galaxy-watch-ultra-2-vs-garmin-instinct-3-and-the-winner-is-clear">e-mountain biking</a>. </p><p>I've reached out to Samsung for comment on these results and will keep you posted on the brand's response. Meanwhile, Garmin also inflated my uphill efforts, just by a more forgivable amount.</p><p>It's worth noting that this is a bike route I'm deeply familiar with and have <a href="https://www.tomsguide.com/wellness/smartwatches/i-biked-11-miles-with-the-coros-nomad-vs-amazfit-t-rex-3-pro-and-the-results-surprised-me">logged many times</a> with a wide range of trackers. As a result, I've come to expect the total elevation gain for the ride to be somewhere between 675 and 725 feet. </p><h3 class="article-body__section" id="section-heart-rate-data-also-lines-up-nicely"><span>Heart rate data also lines up nicely</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4913px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="BhK5xvMsdXnqJjbLSbK9YN" name="S-Ultra2-G-Instinct3-01" alt="Close-up of the Samsung Galaxy Watch Ultra 2 and Garmin Instinct 3 in the mountains during an e-biking excursion" src="https://cdn.mos.cms.futurecdn.net/BhK5xvMsdXnqJjbLSbK9YN.jpg" mos="" align="middle" fullscreen="" width="4913" height="2764" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Thankfully, elevation gain is the only metric where the data doesn't agree/upset my stomach. Moreover, it warms my heart to see that my average and max heart rates are a perfect match between the Samsung Galaxy Watch Ultra 2 and Garmin Instinct 3 for this ride.</p><p>While the Galaxy Watch Ultra 2 uses Samsung's latest health sensor tech, the Instinct 3 uses Garmin's next-to-latest sensor array.</p><h3 class="article-body__section" id="section-both-watches-performed-well-but-i-d-still-opt-for-the-garmin"><span>Both watches performed well, but I'd still opt for the Garmin</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1977px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="YYtK3yJmCnYFoVcupV4aUN" name="GarminInstinct3-snow-05" alt="Garmin Instinct 3 on a user's wrist shown up-close in between a ski glove and jacket" src="https://cdn.mos.cms.futurecdn.net/YYtK3yJmCnYFoVcupV4aUN.jpg" mos="" align="middle" fullscreen="" width="1977" height="1112" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>From heart rate to battery usage to speed and distance, both the Garmin Instinct 3 and Samsung Galaxy Watch Ultra 2 performed admirably in this 11-mile bike ride tracking comparison. Despite one outlier — Samsung's inflated ascent data — I'm pleasantly impressed by the performance of both.</p><p>Of course, the Garmin Instinct 3 has been my go-to smartwatch for any and all outdoor adventures, from <a href="https://www.tomsguide.com/wellness/smartwatches/i-hiked-up-new-yorks-highest-waterfall-with-the-apple-watch-10-vs-garmin-instinct-3-5-things-i-learned">hitting the trails</a> to <a href="https://www.tomsguide.com/wellness/smartwatches/i-took-the-apple-watch-ultra-3-vs-garmin-instinct-3-snowboarding-and-there-was-one-clear-winner">the slopes</a> to the water. And even though I'm impressed by the Galaxy Watch Ultra 2, I'll likely stick with the Instinct 3 for the foreseeable future for logging these types of activities. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ev1ZaX"></div>                            </div>                            <script src="https://kwizly.com/embed/ev1ZaX.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/wellness/smartwatches/i-biked-11-miles-with-the-garmin-venu-4-vs-suunto-vertical-2-and-theres-a-clear-winner">I biked 11 miles with the Garmin Venu 4 vs Suunto Vertical 2 — and there's a clear winner</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/i-manually-counted-4-000-steps-to-test-the-apple-watch-ultra-3-vs-samsung-galaxy-watch-ultra-2-and-samsung-wins-the-accuracy-battle-with-better-elevation-data-too">I walked 4,000 steps with the Apple Watch Ultra 3 vs Samsung Galaxy Watch Ultra 2 — and the winning margin was razor-thin</a></li><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/exclusive-garmin-cirqa-pm-says-it-just-felt-like-we-had-all-of-the-pieces-in-place-to-launch-a-screen-free-fitness-tracker">Exclusive: Garmin Cirqa PM says ‘it just felt like we had all of the pieces in place’ to launch a screen-free fitness tracker</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Does the Galaxy Z Fold 8 Ultra make the most use of its screen space? I streamed a bunch of movies and TV shows to find out ]]></title>
                                                                                                <dc:content><![CDATA[ <p>When it comes to streaming movies and TV shows, a larger screen is usually considered the better option. But, that only really works if the screen shape actually conforms to the aspect ratio of the content in question. That's not an issue for most phones or tablet screens, but what about the larger, oddly-shaped foldable displays like the one on the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-ultra-review">Samsung Galaxy Z Fold 8 Ultra</a>?</p><p>I've been testing the Z Fold 8 Ultra for the past few weeks, and it shouldn't surprise anyone that watching video on the larger display means I also have to contend with large areas of blank space around the video. This can be rather irritating, especially in brighter environments that highlight both the display crease and my own reflection.</p><div class="product"><a data-dimension112="13ad7924-9271-11f1-a833-6bcbee429b16" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra" data-dimension48="Galaxy Z Fold 8 Ultra" data-dimension25="$2098" href="https://www.amazon.com/Samsung-Galaxy-Fold8-Violet-Shadow/dp/B0H12DXK8J" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:954px;"><p class="vanilla-image-block" style="padding-top:98.95%;"><img id="4EngEpxMLxWVDrp7aAo2xi" name="Galaxy Z Fold 8 deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/4EngEpxMLxWVDrp7aAo2xi.jpg" mos="" align="middle" fullscreen="" width="954" height="944" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Samsung-Galaxy-Fold8-Violet-Shadow/dp/B0H12DXK8J" target="_blank" rel="nofollow" data-dimension112="13ad7924-9271-11f1-a833-6bcbee429b16" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra" data-dimension48="Galaxy Z Fold 8 Ultra" data-dimension25="$2098">Galaxy Z Fold 8 Ultra: $2098</a></strong><br>The price may have gone up (again), there are are still plenty of reasons to pick up the Z Fold 8 Ultra. There's a large 8-inch foldable display hiding away, alongside a 6.5-inch cover display, trio of main cameras (with a 200MP main lens), powerful performance and excellent battery life.</p><p>Amazon is currently giving away a $350 gift card with each purchase too.<a class="view-deal button" href="https://www.amazon.com/Samsung-Galaxy-Fold8-Violet-Shadow/dp/B0H12DXK8J" target="_blank" rel="nofollow" data-dimension112="13ad7924-9271-11f1-a833-6bcbee429b16" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra" data-dimension48="Galaxy Z Fold 8 Ultra" data-dimension25="$2098">View Deal</a></p></div><p>But as many people will no doubt point out, there are multiple ways to watch videos on the Galaxy Z Fold 8 Ultra. There's the cover display which, while narrower than most phones, offers a traditional viewing experience. The foldable display can also be oriented in portrait or landscape modes, and switching between the two flips the aspect ratio. </p><p>While this may not seem like a big deal, the Z Fold 8 Ultra isn't a perfect square, and that means the flip also changes how video content sits on your phone. But which mode is the better way to watch stuff? I tested the Z Fold 8 Ultra's three viewing experiences against the <a href="https://www.tomsguide.com/phones/iphones/iphone-17-pro-max-review">iPhone 17 Pro Max</a> to find out.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/oFT-YOrakEg" allowfullscreen></iframe></div></div><h2 id="how-i-tested-the-screens">How I tested the screens</h2><p>It's easy to load up some content on a screen and rely on vibes alone to make your conclusion, but I took things a step further by actively measuring everything on screen. This started with the screen itself, measuring between the bezels and calculating the amount of screen space that is actually available.</p><p>I should caveat at this point that this is only a rough calculation, because all four phones have curved corners. This is less of an issue on the Z Fold 8 Ultra because those curves are very slight. However the iPhone 17 Pro Max's corners are larger and more rounded, which means the total screen area is slightly smaller than the math suggests.</p><p>Once the total area of each display was calculated, I got to work streaming, throwing up a bunch of different kinds of content and measuring how much screen space they took up. Content included:</p><ul><li>"X-Men (2000)" (2:39:1) purchased on YouTube</li><li>"X-Men-97" (2:35:1)  on Disney Plus</li><li>"The Emperor's New Groove" (16:9) on Disney Plus</li><li>"Scrubs" (2001) (4:3) on Disney Plus</li><li>"Avengers: Endgame" (2:39:1) on Disney Plus</li><li>"Avengers: Endgame IMAX Enhanced Edition" (1:9:1) on Disney Plus</li><li>Various vertical videos on TikTok</li></ul><p>I set up each video playing on the four screen types, then measured how large each video was. With that in hand, I was able to work out just how much screen space they actually used, and thus, how much space is just sitting there going to waste. Crucially, this means I can figure out the best option for watching content in something close to a full-screen experience.</p><p>I should also note that while a lot of streaming platforms offer a "zoom to fill" option on smart phones and tablets, I have not taken this into account since that essentially crops the video and means you don't see everything that's going on.</p><h2 id="iphone-17-pro-max">iPhone 17 Pro Max</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3438px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="bi6PrNpRHCmk6W6nbvqbne" name="Z Fold 8 ultra video size shots-9" alt="samsung galaxy z fold 8 ultra screen size comparison vs iphone 17 pro max" src="https://cdn.mos.cms.futurecdn.net/bi6PrNpRHCmk6W6nbvqbne.jpg" mos="" align="middle" fullscreen="" width="3438" height="1934" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Height (Inches)</strong></p></td><td  ><p><strong>Width (Inches)</strong></p></td><td  ><p><strong>Total (Sq Inch)</strong></p></td><td  ><p><strong>% Screen Used</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Screen (Landscape)</strong></p></td><td  ><p><strong>2.83</strong></p></td><td  ><p><strong>6.22</strong></p></td><td  ><p><strong>17.60</strong></p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>X-Men (YouTube)</strong></p></td><td  ><p>2.13</p></td><td  ><p>5.12</p></td><td  ><p>10.91</p></td><td  ><p>61.95</p></td></tr><tr><td class="firstcol " ><p><strong>X-Men-97 (D+)</strong></p></td><td  ><p>2.68</p></td><td  ><p>5.12</p></td><td  ><p>13.72</p></td><td  ><p>77.95</p></td></tr><tr><td class="firstcol " ><p><strong>The Emperor's New Groove (D+)</strong></p></td><td  ><p>2.83</p></td><td  ><p>4.76</p></td><td  ><p>13.47</p></td><td  ><p>76.53</p></td></tr><tr><td class="firstcol " ><p><strong>Scrubs (4:3/D+)</strong></p></td><td  ><p>2.83</p></td><td  ><p>3.82</p></td><td  ><p>10.81</p></td><td  ><p>61.41</p></td></tr><tr><td class="firstcol " ><p><strong>Avengers: Endgame (Regular/D+)</strong></p></td><td  ><p>2.13</p></td><td  ><p>5.12</p></td><td  ><p>10.91</p></td><td  ><p>61.95</p></td></tr><tr><td class="firstcol " ><p><strong>Avengers Endgame (IMAX/D+)</strong></p></td><td  ><p>2.68</p></td><td  ><p>5.12</p></td><td  ><p>13.72</p></td><td  ><p>77.95</p></td></tr><tr><td class="firstcol " ><p><strong>TikTok (Portrait)</strong></p></td><td  ><p>5.70</p></td><td  ><p>2.83</p></td><td  ><p>16.13</p></td><td  ><p>91.64</p></td></tr></tbody></table></div><p>The iPhone 17 Pro Max has roughly 17.6 square inches of screen space available, but it seems as though a bunch of the tested content struggles to fill up that space by default. The most efficient use of the screen comes from TikTok, which takes up 92.94% of the screen. This shouldn't be a huge surprise given the platform's vertical video feed that can take up almost the full length of the screen.</p><p>When it comes to horizontal video, the content doesn't fare nearly as well. The worst offender was "Scrubs," though this shouldn't really be a surprise since the early seasons were broadcast in the (then standard) 4:3 aspect ratio. That box-like shape isn't great at filling up wider-screen devices, reflected by the fact it only filled 61.41% of the available space.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="szKHqwyLGQvcjHp8cPTawe" name="Z Fold 8 ultra video size shots-2" alt="samsung galaxy z fold 8 ultra screen size comparison vs iphone 17 pro max" src="https://cdn.mos.cms.futurecdn.net/szKHqwyLGQvcjHp8cPTawe.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Widescreen live action movies didn't do so well either. Both movies have been cropped vertically, and can't take full advantage of the landscape height, but they don't fail to take advantage of the iPhone's width and crop that way as well. In fact, all the movies suffered from this and left at least 1.1 inches of wasted space across both sides of the display. In the end, though, both movies wasted only slightly less space than "Scrubs" did, taking up 61.95% of the usable screen space</p><p>The IMAX edition of "Avengers: Endgame" fared a little better, with the IMAX scenes using up more of the vertical space that the standard aspect ratio. Because of this, the movie, along with the bizarrely proportioned "X-Men-97," used up 77.95% of the iPhone's available screen space. This was closely followed by the 16:9 "Emperor's New Groove," with 76.53%, a difference accounted for by a slightly shorter and narrower video.</p><h2 id="samsung-galaxy-z-fold-8-ultra-cover-display">Samsung Galaxy Z Fold 8 Ultra (Cover Display)</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="S9uSv2YnCG5keeQwVsU4xe" name="Z Fold 8 ultra video size shots-3" alt="samsung galaxy z fold 8 ultra screen size comparison vs iphone 17 pro max" src="https://cdn.mos.cms.futurecdn.net/S9uSv2YnCG5keeQwVsU4xe.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Height (Inches)</strong></p></td><td  ><p><strong>Width (Inches)</strong></p></td><td  ><p><strong>Total (Sq Inch)</strong></p></td><td  ><p><strong>% Screen Used</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Screen (Landscape)</strong></p></td><td  ><p><strong>2.56</strong></p></td><td  ><p><strong>5.94</strong></p></td><td  ><p><strong>15.21</strong></p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>X-Men (YouTube)</strong></p></td><td  ><p>1.77</p></td><td  ><p>4.57</p></td><td  ><p>8.09</p></td><td  ><p>53.19</p></td></tr><tr><td class="firstcol " ><p><strong>X-Men-97 (D+)</strong></p></td><td  ><p>2.56</p></td><td  ><p>5.94</p></td><td  ><p>15.21</p></td><td  ><p>100</p></td></tr><tr><td class="firstcol " ><p><strong>The Emperor's New Groove (D+)</strong></p></td><td  ><p>2.56</p></td><td  ><p>4.25</p></td><td  ><p>10.88</p></td><td  ><p>71.55</p></td></tr><tr><td class="firstcol " ><p><strong>Scrubs (4:3/D+)</strong></p></td><td  ><p>2.56</p></td><td  ><p>3.43</p></td><td  ><p>8.78</p></td><td  ><p>57.74</p></td></tr><tr><td class="firstcol " ><p><strong>Avengers: Endgame (Regular/D+)</strong></p></td><td  ><p>2.56</p></td><td  ><p>5.94</p></td><td  ><p>15.21</p></td><td  ><p>100</p></td></tr><tr><td class="firstcol " ><p><strong>Avengers Endgame (IMAX/D+)</strong></p></td><td  ><p>2.56</p></td><td  ><p>5.20</p></td><td  ><p>13.31</p></td><td  ><p>87.54</p></td></tr><tr><td class="firstcol " ><p><strong>TikTok (Portrait)</strong></p></td><td  ><p>4.57</p></td><td  ><p>2.56</p></td><td  ><p>11.70</p></td><td  ><p>76.94</p></td></tr></tbody></table></div><p>Looking at the results for the Z Fold 8 Ultra's cover display, and you'll see a couple of oddities. Both "X-Men 97" and the standard edition of "Avengers: Endgame" both took up 100% of the screen space. Which is certainly good, though this made me pause and wonder what's going on.</p><p>Checking the measurements of the cover display versus the iPhone 17 Pro Max, and I noticed that the video was actually smaller on the iPhone — despite the fact the 17 Pro Max has almost 2.5 extra square inches of available screen space.</p><p>Weirder still was the fact that my Google-purchased copy of "X-Men" was smaller than "Endgame," taking up a paltry 53.19% of the screen. They were both the same size on the iPhone, but the Z Fold 8 Ultra decided that the black bars must be preserved for this particular movie. This appears to be a YouTube issue, because X-Men on Disney Plus expanded to the full size of the display, just like Endgame did.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3121px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="Jgg4hgUCgAxuobyisY5PTe" name="Z Fold 8 ultra video size shots-7" alt="samsung galaxy z fold 8 ultra screen size comparison vs iphone 17 pro max" src="https://cdn.mos.cms.futurecdn.net/Jgg4hgUCgAxuobyisY5PTe.jpg" mos="" align="middle" fullscreen="" width="3121" height="1756" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The IMAX version of Endgame obviously came out a little worse, since the taller image requires more space than the 8 Ultra's cover display allows — causing black bars at either side of the screen. That said, it still used up 87.54% of the available screen.</p><p>16:9 content like "The Emperor's New Groove" fared a lot worse here, though, since the narrow screen forced the video to shrink at the edges even more than an IMAX movie. Likewise the design meant "Scrubs" left a load more wasted space thanks to its square-ish aspect ratio. Both videos used up a respective 71.55% and 57.74% of the available screen space.</p><p>As for TikTok, this result did surprise me. The vertical videos used up all the available width when playing, but they didn't take full advantage of the screen length. Which again, I assume is down to the 8 Ultra's narrow cover display, and means TikTok only used 76.94% of the available screen space.</p><h2 id="samsung-galaxy-z-fold-8-ultra-foldable-display-portrait">Samsung Galaxy Z Fold 8 Ultra Foldable Display (Portrait)</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3583px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="VdSKDACwu3ujopw3WSWnse" name="Z Fold 8 ultra video size shots-10" alt="samsung galaxy z fold 8 ultra screen size comparison vs iphone 17 pro max" src="https://cdn.mos.cms.futurecdn.net/VdSKDACwu3ujopw3WSWnse.jpg" mos="" align="middle" fullscreen="" width="3583" height="2015" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Height (Inches)</strong></p></td><td  ><p><strong>Width (Inches)</strong></p></td><td  ><p><strong>Total (Sq Inch)</strong></p></td><td  ><p><strong>% Screen Used</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Screen</strong></p></td><td  ><p><strong>5.94</strong></p></td><td  ><p><strong>5.35</strong></p></td><td  ><p><strong>31.78</strong></p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>X-Men (YouTube)</strong></p></td><td  ><p>2.20</p></td><td  ><p>5.35</p></td><td  ><p>11.77</p></td><td  ><p>37.04</p></td></tr><tr><td class="firstcol " ><p><strong>X-Men-97 (D+)</strong></p></td><td  ><p>2.44</p></td><td  ><p>5.35</p></td><td  ><p>13.05</p></td><td  ><p>41.08</p></td></tr><tr><td class="firstcol " ><p><strong>The Emperor's New Groove (D+)</strong></p></td><td  ><p>2.99</p></td><td  ><p>5.03</p></td><td  ><p>15.04</p></td><td  ><p>47.33</p></td></tr><tr><td class="firstcol " ><p><strong>Scrubs (4:3/D+)</strong></p></td><td  ><p>4.01</p></td><td  ><p>5.35</p></td><td  ><p>21.45</p></td><td  ><p>67.51</p></td></tr><tr><td class="firstcol " ><p><strong>Avengers: Endgame (Regular/D+)</strong></p></td><td  ><p>2.24</p></td><td  ><p>5.35</p></td><td  ><p>11.98</p></td><td  ><p>37.71</p></td></tr><tr><td class="firstcol " ><p><strong>Avengers Endgame (IMAX/D+)</strong></p></td><td  ><p>2.99</p></td><td  ><p>5.35</p></td><td  ><p>16.00</p></td><td  ><p>50.34</p></td></tr><tr><td class="firstcol " ><p><strong>TikTok</strong></p></td><td  ><p>5.63</p></td><td  ><p>3.14</p></td><td  ><p>17.68</p></td><td  ><p>55.63</p></td></tr></tbody></table></div><p>The Z Fold 8 Ultra's larger display is the size of two cover displays side by side, which should mean a larger video to watch, right? Well, apparently not. At least not when the phone is in portrait mode. The size of the screen means there is a lot more wasted space, but the videos themselves aren't automatically bigger than they appear on the cover display either.</p><p>Both "X-Men-97" and the standard version of "Avengers: Endgame" ended up being smaller than their counterparts on the Ultra's cover display — in terms of height, width and overall area. Both used a respective 41.08% and 37.71% of the available screen space. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3915px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kti5xxYn8KnniYz2kdTNwe" name="Z Fold 8 ultra video size shots-6" alt="samsung galaxy z fold 8 ultra screen size comparison vs iphone 17 pro max" src="https://cdn.mos.cms.futurecdn.net/kti5xxYn8KnniYz2kdTNwe.jpg" mos="" align="middle" fullscreen="" width="3915" height="2202" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>That only worse performer was X-Men on YouTube, which used up 37.04% thanks to the way YouTube presents the video. That means almost two thirds of the screen is going unused. However, the video itself is larger than what I saw on the 8 Ultra's cover screen and the iPhone 17 Pro Max. So there is still a benefit to using the large screen. </p><p>There is an awful lot of wasted screen space watching in portrait mode. "The Emperor's New Groove" only used 47.33% of the screen, while the IMAX edition of "Endgame" took up just over half (50.34%). TikTok also suffered, using up 55.63% and showed off a video that was both shorter and wider than the one from the iPhone.</p><p>The major winner here is "Scrubs," thanks to the aspect ratio, which means it took up 67.51% of the screen and offered a much larger overall image than we've seen from it so far.</p><h2 id="samsung-galaxy-z-fold-8-ultra-foldable-display-landscape">Samsung Galaxy Z Fold 8 Ultra Foldable Display (Landscape)</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3527px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="MGCMuUBSp4HjqTYptkefge" name="Z Fold 8 ultra video size shots-5" alt="samsung galaxy z fold 8 ultra screen size comparison vs iphone 17 pro max" src="https://cdn.mos.cms.futurecdn.net/MGCMuUBSp4HjqTYptkefge.jpg" mos="" align="middle" fullscreen="" width="3527" height="1984" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The key benefit to watching video in landscape mode is that the entirety of the display crease gets covered up by whatever you're watching, which makes it nearly impossible to see. The other main advantage to watching video this way is that the videos are larger (and less wasteful) than in portrait mode</p><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Height (Inches)</strong></p></td><td  ><p><strong>Width (Inches)</strong></p></td><td  ><p><strong>Total (Sq Inch)</strong></p></td><td  ><p><strong>% Screen Used</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Screen</strong></p></td><td  ><p><strong>5.35</strong></p></td><td  ><p><strong>5.94</strong></p></td><td  ><p><strong>31.78</strong></p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>X-Men (YouTube)</strong></p></td><td  ><p>2.48</p></td><td  ><p>5.94</p></td><td  ><p>14.73</p></td><td  ><p>46.36</p></td></tr><tr><td class="firstcol " ><p><strong>X-Men-97 (D+)</strong></p></td><td  ><p>2.68</p></td><td  ><p>5.94</p></td><td  ><p>15.92</p></td><td  ><p>50.09</p></td></tr><tr><td class="firstcol " ><p><strong>The Emperor's New Groove (D+)</strong></p></td><td  ><p>3.34</p></td><td  ><p>5.55</p></td><td  ><p>18.54</p></td><td  ><p>58.33</p></td></tr><tr><td class="firstcol " ><p><strong>Scrubs (4:3/D+)</strong></p></td><td  ><p>4.48</p></td><td  ><p>5.94</p></td><td  ><p>26.61</p></td><td  ><p>83.74</p></td></tr><tr><td class="firstcol " ><p><strong>Avengers: Endgame (Regular/D+)</strong></p></td><td  ><p>2.48</p></td><td  ><p>5.94</p></td><td  ><p>14.73</p></td><td  ><p>46.36</p></td></tr><tr><td class="firstcol " ><p><strong>Avengers Endgame (IMAX/D+)</strong></p></td><td  ><p>3.15</p></td><td  ><p>5.94</p></td><td  ><p>18.71</p></td><td  ><p>58.88</p></td></tr><tr><td class="firstcol " ><p><strong>TikTok </strong></p></td><td  ><p>5.00</p></td><td  ><p>2.83</p></td><td  ><p>14.15</p></td><td  ><p>44.53</p></td></tr></tbody></table></div><p>The biggest winner is again, "Scrubs," or any other older TV show that was filmed with a 4:3 aspect ratio. The show took up 83.74% of the total screen space, over 16% more than it did in portrait mode. This obviously means that the video is noticeably larger, though the standard definition image does not look great if you're getting up close with the screen.</p><p>Most of the other videos take full advantage of the extra width, with the only exception being "The Emperor's New Groove," which is about 0.4-inches narrower. However the extra height afforded to  16:9 movie means it uses up 58.33% of the screen, compared to the 46.46% utilized by X-Men and the standard version of "Avengers: Endgame."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3604px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="X2djLcD7k7Z3wXX62M8fxe" name="Z Fold 8 ultra video size shots-8" alt="samsung galaxy z fold 8 ultra screen size comparison vs iphone 17 pro max" src="https://cdn.mos.cms.futurecdn.net/X2djLcD7k7Z3wXX62M8fxe.jpg" mos="" align="middle" fullscreen="" width="3604" height="2027" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>"X-Men-97" is 0.2-inches taller in this configuration, meaning its total raises to 50.09%, while the IMAX enhanced edition of "Endgame" fills up 58.88% on account of its extra height.</p><p>The only real loser here is TikTok, which is shorter and narrower in landscape mode, and wastes an extra 11% of the screen compared to portrait mode. That also makes sense, since this orientation is wider than it is long, and that means the vertical videos get squashed down compared to viewing in portrait mode.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WnnvjW"></div>                            </div>                            <script src="https://kwizly.com/embed/WnnvjW.js" async></script><h2 id="verdict">Verdict</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="k8FeDxnevUPmLReuywiMxe" name="Z Fold 8 ultra video size shots-4" alt="samsung galaxy z fold 8 ultra screen size comparison vs iphone 17 pro max" src="https://cdn.mos.cms.futurecdn.net/k8FeDxnevUPmLReuywiMxe.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>With the exception of TikTok, landscape mode actually seems to have the largest overall video size of all four display configurations, barring one. The way "Avengers: Endgame" is presented on the cover display means it is slightly taller on the outer screen, by one tenth of an inch. </p><p>The cover display's aspect ratio means it seems to be uniquely suited to playing live action theatrical releases. Assuming the service you're using actually makes the most of the space, and doesn't do what YouTube did with my copy of X-Men and squashes the whole thing down for no reason.</p><p>As for TikTok, it's clear that the Z Fold 8 Ultra's foldable display is not as well-suited to vertical video as non-folding screens. Likewise, those of you that are bothered about black areas of screen around your video, you may want to avoid foldables for the time being. If you need a larger image to watch, you should probably invest in some kind of tablet. </p><p>But now the one question I have is this: How different would the results have been if I'd had a <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-review-wide-for-the-win">Galaxy Z Fold 8</a> to compare everything to? Samsung has positioned the passport-shaped device as the ideal device for streaming and media after all, but that face-off is going to have to wait.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom’s Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/samsung-phones/i-used-a-thermal-camera-to-see-how-hot-the-galaxy-z-fold-8-ultra-gets-compared-to-the-galaxy-s26-ultra-heres-what-happened">I used a thermal camera to see how hot the Galaxy Z Fold 8 Ultra gets compared to the Galaxy S26 Ultra — here's what happened</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-ultra-vs-galaxy-s26-ultra">I tested the Samsung Galaxy Z Fold 8 Ultra vs Galaxy S26 Ultra for 2 weeks — here’s the one I’d buy</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/i-just-tried-the-new-samsung-dex-on-the-galaxy-z-fold-8-and-it-has-one-huge-upgrade">I just tried the new Samsung DeX on the Galaxy Z Fold 8 — and it has one huge upgrade</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/phones/samsung-phones/does-the-galaxy-z-fold-8-ultra-make-the-most-use-of-its-screen-space-i-streamed-a-bunch-of-movies-and-tv-shows-to-find-out</link>
                                                                            <description>
                            <![CDATA[ The Samsung Galaxy Z fold 8 Ultra has a big screen, but it's also an odd shape — so how does that affect video streaming? ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">JGSy6tUvmFMSt7C5U4Piqe</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/wVDkztfBTjGtEfwDR2dfxe-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 09 Aug 2026 10:45:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[iPhones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/wVDkztfBTjGtEfwDR2dfxe-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[samsung galaxy z fold 8 ultra screen size comparison vs iphone 17 pro max]]></media:description>                                                            <media:text><![CDATA[samsung galaxy z fold 8 ultra screen size comparison vs iphone 17 pro max]]></media:text>
                                <media:title type="plain"><![CDATA[samsung galaxy z fold 8 ultra screen size comparison vs iphone 17 pro max]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/wVDkztfBTjGtEfwDR2dfxe-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>When it comes to streaming movies and TV shows, a larger screen is usually considered the better option. But, that only really works if the screen shape actually conforms to the aspect ratio of the content in question. That's not an issue for most phones or tablet screens, but what about the larger, oddly-shaped foldable displays like the one on the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-ultra-review">Samsung Galaxy Z Fold 8 Ultra</a>?</p><p>I've been testing the Z Fold 8 Ultra for the past few weeks, and it shouldn't surprise anyone that watching video on the larger display means I also have to contend with large areas of blank space around the video. This can be rather irritating, especially in brighter environments that highlight both the display crease and my own reflection.</p><div class="product"><a data-dimension112="13ad7924-9271-11f1-a833-6bcbee429b16" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra" data-dimension48="Galaxy Z Fold 8 Ultra" data-dimension25="$2098" href="https://www.amazon.com/Samsung-Galaxy-Fold8-Violet-Shadow/dp/B0H12DXK8J" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:954px;"><p class="vanilla-image-block" style="padding-top:98.95%;"><img id="4EngEpxMLxWVDrp7aAo2xi" name="Galaxy Z Fold 8 deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/4EngEpxMLxWVDrp7aAo2xi.jpg" mos="" align="middle" fullscreen="" width="954" height="944" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Samsung-Galaxy-Fold8-Violet-Shadow/dp/B0H12DXK8J" target="_blank" rel="nofollow" data-dimension112="13ad7924-9271-11f1-a833-6bcbee429b16" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra" data-dimension48="Galaxy Z Fold 8 Ultra" data-dimension25="$2098">Galaxy Z Fold 8 Ultra: $2098</a></strong><br>The price may have gone up (again), there are are still plenty of reasons to pick up the Z Fold 8 Ultra. There's a large 8-inch foldable display hiding away, alongside a 6.5-inch cover display, trio of main cameras (with a 200MP main lens), powerful performance and excellent battery life.</p><p>Amazon is currently giving away a $350 gift card with each purchase too.<a class="view-deal button" href="https://www.amazon.com/Samsung-Galaxy-Fold8-Violet-Shadow/dp/B0H12DXK8J" target="_blank" rel="nofollow" data-dimension112="13ad7924-9271-11f1-a833-6bcbee429b16" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra" data-dimension48="Galaxy Z Fold 8 Ultra" data-dimension25="$2098">View Deal</a></p></div><p>But as many people will no doubt point out, there are multiple ways to watch videos on the Galaxy Z Fold 8 Ultra. There's the cover display which, while narrower than most phones, offers a traditional viewing experience. The foldable display can also be oriented in portrait or landscape modes, and switching between the two flips the aspect ratio. </p><p>While this may not seem like a big deal, the Z Fold 8 Ultra isn't a perfect square, and that means the flip also changes how video content sits on your phone. But which mode is the better way to watch stuff? I tested the Z Fold 8 Ultra's three viewing experiences against the <a href="https://www.tomsguide.com/phones/iphones/iphone-17-pro-max-review">iPhone 17 Pro Max</a> to find out.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/oFT-YOrakEg" allowfullscreen></iframe></div></div><h2 id="how-i-tested-the-screens">How I tested the screens</h2><p>It's easy to load up some content on a screen and rely on vibes alone to make your conclusion, but I took things a step further by actively measuring everything on screen. This started with the screen itself, measuring between the bezels and calculating the amount of screen space that is actually available.</p><p>I should caveat at this point that this is only a rough calculation, because all four phones have curved corners. This is less of an issue on the Z Fold 8 Ultra because those curves are very slight. However the iPhone 17 Pro Max's corners are larger and more rounded, which means the total screen area is slightly smaller than the math suggests.</p><p>Once the total area of each display was calculated, I got to work streaming, throwing up a bunch of different kinds of content and measuring how much screen space they took up. Content included:</p><ul><li>"X-Men (2000)" (2:39:1) purchased on YouTube</li><li>"X-Men-97" (2:35:1)  on Disney Plus</li><li>"The Emperor's New Groove" (16:9) on Disney Plus</li><li>"Scrubs" (2001) (4:3) on Disney Plus</li><li>"Avengers: Endgame" (2:39:1) on Disney Plus</li><li>"Avengers: Endgame IMAX Enhanced Edition" (1:9:1) on Disney Plus</li><li>Various vertical videos on TikTok</li></ul><p>I set up each video playing on the four screen types, then measured how large each video was. With that in hand, I was able to work out just how much screen space they actually used, and thus, how much space is just sitting there going to waste. Crucially, this means I can figure out the best option for watching content in something close to a full-screen experience.</p><p>I should also note that while a lot of streaming platforms offer a "zoom to fill" option on smart phones and tablets, I have not taken this into account since that essentially crops the video and means you don't see everything that's going on.</p><h2 id="iphone-17-pro-max">iPhone 17 Pro Max</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3438px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="bi6PrNpRHCmk6W6nbvqbne" name="Z Fold 8 ultra video size shots-9" alt="samsung galaxy z fold 8 ultra screen size comparison vs iphone 17 pro max" src="https://cdn.mos.cms.futurecdn.net/bi6PrNpRHCmk6W6nbvqbne.jpg" mos="" align="middle" fullscreen="" width="3438" height="1934" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Height (Inches)</strong></p></td><td  ><p><strong>Width (Inches)</strong></p></td><td  ><p><strong>Total (Sq Inch)</strong></p></td><td  ><p><strong>% Screen Used</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Screen (Landscape)</strong></p></td><td  ><p><strong>2.83</strong></p></td><td  ><p><strong>6.22</strong></p></td><td  ><p><strong>17.60</strong></p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>X-Men (YouTube)</strong></p></td><td  ><p>2.13</p></td><td  ><p>5.12</p></td><td  ><p>10.91</p></td><td  ><p>61.95</p></td></tr><tr><td class="firstcol " ><p><strong>X-Men-97 (D+)</strong></p></td><td  ><p>2.68</p></td><td  ><p>5.12</p></td><td  ><p>13.72</p></td><td  ><p>77.95</p></td></tr><tr><td class="firstcol " ><p><strong>The Emperor's New Groove (D+)</strong></p></td><td  ><p>2.83</p></td><td  ><p>4.76</p></td><td  ><p>13.47</p></td><td  ><p>76.53</p></td></tr><tr><td class="firstcol " ><p><strong>Scrubs (4:3/D+)</strong></p></td><td  ><p>2.83</p></td><td  ><p>3.82</p></td><td  ><p>10.81</p></td><td  ><p>61.41</p></td></tr><tr><td class="firstcol " ><p><strong>Avengers: Endgame (Regular/D+)</strong></p></td><td  ><p>2.13</p></td><td  ><p>5.12</p></td><td  ><p>10.91</p></td><td  ><p>61.95</p></td></tr><tr><td class="firstcol " ><p><strong>Avengers Endgame (IMAX/D+)</strong></p></td><td  ><p>2.68</p></td><td  ><p>5.12</p></td><td  ><p>13.72</p></td><td  ><p>77.95</p></td></tr><tr><td class="firstcol " ><p><strong>TikTok (Portrait)</strong></p></td><td  ><p>5.70</p></td><td  ><p>2.83</p></td><td  ><p>16.13</p></td><td  ><p>91.64</p></td></tr></tbody></table></div><p>The iPhone 17 Pro Max has roughly 17.6 square inches of screen space available, but it seems as though a bunch of the tested content struggles to fill up that space by default. The most efficient use of the screen comes from TikTok, which takes up 92.94% of the screen. This shouldn't be a huge surprise given the platform's vertical video feed that can take up almost the full length of the screen.</p><p>When it comes to horizontal video, the content doesn't fare nearly as well. The worst offender was "Scrubs," though this shouldn't really be a surprise since the early seasons were broadcast in the (then standard) 4:3 aspect ratio. That box-like shape isn't great at filling up wider-screen devices, reflected by the fact it only filled 61.41% of the available space.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="szKHqwyLGQvcjHp8cPTawe" name="Z Fold 8 ultra video size shots-2" alt="samsung galaxy z fold 8 ultra screen size comparison vs iphone 17 pro max" src="https://cdn.mos.cms.futurecdn.net/szKHqwyLGQvcjHp8cPTawe.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Widescreen live action movies didn't do so well either. Both movies have been cropped vertically, and can't take full advantage of the landscape height, but they don't fail to take advantage of the iPhone's width and crop that way as well. In fact, all the movies suffered from this and left at least 1.1 inches of wasted space across both sides of the display. In the end, though, both movies wasted only slightly less space than "Scrubs" did, taking up 61.95% of the usable screen space</p><p>The IMAX edition of "Avengers: Endgame" fared a little better, with the IMAX scenes using up more of the vertical space that the standard aspect ratio. Because of this, the movie, along with the bizarrely proportioned "X-Men-97," used up 77.95% of the iPhone's available screen space. This was closely followed by the 16:9 "Emperor's New Groove," with 76.53%, a difference accounted for by a slightly shorter and narrower video.</p><h2 id="samsung-galaxy-z-fold-8-ultra-cover-display">Samsung Galaxy Z Fold 8 Ultra (Cover Display)</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="S9uSv2YnCG5keeQwVsU4xe" name="Z Fold 8 ultra video size shots-3" alt="samsung galaxy z fold 8 ultra screen size comparison vs iphone 17 pro max" src="https://cdn.mos.cms.futurecdn.net/S9uSv2YnCG5keeQwVsU4xe.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Height (Inches)</strong></p></td><td  ><p><strong>Width (Inches)</strong></p></td><td  ><p><strong>Total (Sq Inch)</strong></p></td><td  ><p><strong>% Screen Used</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Screen (Landscape)</strong></p></td><td  ><p><strong>2.56</strong></p></td><td  ><p><strong>5.94</strong></p></td><td  ><p><strong>15.21</strong></p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>X-Men (YouTube)</strong></p></td><td  ><p>1.77</p></td><td  ><p>4.57</p></td><td  ><p>8.09</p></td><td  ><p>53.19</p></td></tr><tr><td class="firstcol " ><p><strong>X-Men-97 (D+)</strong></p></td><td  ><p>2.56</p></td><td  ><p>5.94</p></td><td  ><p>15.21</p></td><td  ><p>100</p></td></tr><tr><td class="firstcol " ><p><strong>The Emperor's New Groove (D+)</strong></p></td><td  ><p>2.56</p></td><td  ><p>4.25</p></td><td  ><p>10.88</p></td><td  ><p>71.55</p></td></tr><tr><td class="firstcol " ><p><strong>Scrubs (4:3/D+)</strong></p></td><td  ><p>2.56</p></td><td  ><p>3.43</p></td><td  ><p>8.78</p></td><td  ><p>57.74</p></td></tr><tr><td class="firstcol " ><p><strong>Avengers: Endgame (Regular/D+)</strong></p></td><td  ><p>2.56</p></td><td  ><p>5.94</p></td><td  ><p>15.21</p></td><td  ><p>100</p></td></tr><tr><td class="firstcol " ><p><strong>Avengers Endgame (IMAX/D+)</strong></p></td><td  ><p>2.56</p></td><td  ><p>5.20</p></td><td  ><p>13.31</p></td><td  ><p>87.54</p></td></tr><tr><td class="firstcol " ><p><strong>TikTok (Portrait)</strong></p></td><td  ><p>4.57</p></td><td  ><p>2.56</p></td><td  ><p>11.70</p></td><td  ><p>76.94</p></td></tr></tbody></table></div><p>Looking at the results for the Z Fold 8 Ultra's cover display, and you'll see a couple of oddities. Both "X-Men 97" and the standard edition of "Avengers: Endgame" both took up 100% of the screen space. Which is certainly good, though this made me pause and wonder what's going on.</p><p>Checking the measurements of the cover display versus the iPhone 17 Pro Max, and I noticed that the video was actually smaller on the iPhone — despite the fact the 17 Pro Max has almost 2.5 extra square inches of available screen space.</p><p>Weirder still was the fact that my Google-purchased copy of "X-Men" was smaller than "Endgame," taking up a paltry 53.19% of the screen. They were both the same size on the iPhone, but the Z Fold 8 Ultra decided that the black bars must be preserved for this particular movie. This appears to be a YouTube issue, because X-Men on Disney Plus expanded to the full size of the display, just like Endgame did.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3121px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="Jgg4hgUCgAxuobyisY5PTe" name="Z Fold 8 ultra video size shots-7" alt="samsung galaxy z fold 8 ultra screen size comparison vs iphone 17 pro max" src="https://cdn.mos.cms.futurecdn.net/Jgg4hgUCgAxuobyisY5PTe.jpg" mos="" align="middle" fullscreen="" width="3121" height="1756" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The IMAX version of Endgame obviously came out a little worse, since the taller image requires more space than the 8 Ultra's cover display allows — causing black bars at either side of the screen. That said, it still used up 87.54% of the available screen.</p><p>16:9 content like "The Emperor's New Groove" fared a lot worse here, though, since the narrow screen forced the video to shrink at the edges even more than an IMAX movie. Likewise the design meant "Scrubs" left a load more wasted space thanks to its square-ish aspect ratio. Both videos used up a respective 71.55% and 57.74% of the available screen space.</p><p>As for TikTok, this result did surprise me. The vertical videos used up all the available width when playing, but they didn't take full advantage of the screen length. Which again, I assume is down to the 8 Ultra's narrow cover display, and means TikTok only used 76.94% of the available screen space.</p><h2 id="samsung-galaxy-z-fold-8-ultra-foldable-display-portrait">Samsung Galaxy Z Fold 8 Ultra Foldable Display (Portrait)</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3583px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="VdSKDACwu3ujopw3WSWnse" name="Z Fold 8 ultra video size shots-10" alt="samsung galaxy z fold 8 ultra screen size comparison vs iphone 17 pro max" src="https://cdn.mos.cms.futurecdn.net/VdSKDACwu3ujopw3WSWnse.jpg" mos="" align="middle" fullscreen="" width="3583" height="2015" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Height (Inches)</strong></p></td><td  ><p><strong>Width (Inches)</strong></p></td><td  ><p><strong>Total (Sq Inch)</strong></p></td><td  ><p><strong>% Screen Used</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Screen</strong></p></td><td  ><p><strong>5.94</strong></p></td><td  ><p><strong>5.35</strong></p></td><td  ><p><strong>31.78</strong></p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>X-Men (YouTube)</strong></p></td><td  ><p>2.20</p></td><td  ><p>5.35</p></td><td  ><p>11.77</p></td><td  ><p>37.04</p></td></tr><tr><td class="firstcol " ><p><strong>X-Men-97 (D+)</strong></p></td><td  ><p>2.44</p></td><td  ><p>5.35</p></td><td  ><p>13.05</p></td><td  ><p>41.08</p></td></tr><tr><td class="firstcol " ><p><strong>The Emperor's New Groove (D+)</strong></p></td><td  ><p>2.99</p></td><td  ><p>5.03</p></td><td  ><p>15.04</p></td><td  ><p>47.33</p></td></tr><tr><td class="firstcol " ><p><strong>Scrubs (4:3/D+)</strong></p></td><td  ><p>4.01</p></td><td  ><p>5.35</p></td><td  ><p>21.45</p></td><td  ><p>67.51</p></td></tr><tr><td class="firstcol " ><p><strong>Avengers: Endgame (Regular/D+)</strong></p></td><td  ><p>2.24</p></td><td  ><p>5.35</p></td><td  ><p>11.98</p></td><td  ><p>37.71</p></td></tr><tr><td class="firstcol " ><p><strong>Avengers Endgame (IMAX/D+)</strong></p></td><td  ><p>2.99</p></td><td  ><p>5.35</p></td><td  ><p>16.00</p></td><td  ><p>50.34</p></td></tr><tr><td class="firstcol " ><p><strong>TikTok</strong></p></td><td  ><p>5.63</p></td><td  ><p>3.14</p></td><td  ><p>17.68</p></td><td  ><p>55.63</p></td></tr></tbody></table></div><p>The Z Fold 8 Ultra's larger display is the size of two cover displays side by side, which should mean a larger video to watch, right? Well, apparently not. At least not when the phone is in portrait mode. The size of the screen means there is a lot more wasted space, but the videos themselves aren't automatically bigger than they appear on the cover display either.</p><p>Both "X-Men-97" and the standard version of "Avengers: Endgame" ended up being smaller than their counterparts on the Ultra's cover display — in terms of height, width and overall area. Both used a respective 41.08% and 37.71% of the available screen space. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3915px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kti5xxYn8KnniYz2kdTNwe" name="Z Fold 8 ultra video size shots-6" alt="samsung galaxy z fold 8 ultra screen size comparison vs iphone 17 pro max" src="https://cdn.mos.cms.futurecdn.net/kti5xxYn8KnniYz2kdTNwe.jpg" mos="" align="middle" fullscreen="" width="3915" height="2202" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>That only worse performer was X-Men on YouTube, which used up 37.04% thanks to the way YouTube presents the video. That means almost two thirds of the screen is going unused. However, the video itself is larger than what I saw on the 8 Ultra's cover screen and the iPhone 17 Pro Max. So there is still a benefit to using the large screen. </p><p>There is an awful lot of wasted screen space watching in portrait mode. "The Emperor's New Groove" only used 47.33% of the screen, while the IMAX edition of "Endgame" took up just over half (50.34%). TikTok also suffered, using up 55.63% and showed off a video that was both shorter and wider than the one from the iPhone.</p><p>The major winner here is "Scrubs," thanks to the aspect ratio, which means it took up 67.51% of the screen and offered a much larger overall image than we've seen from it so far.</p><h2 id="samsung-galaxy-z-fold-8-ultra-foldable-display-landscape">Samsung Galaxy Z Fold 8 Ultra Foldable Display (Landscape)</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3527px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="MGCMuUBSp4HjqTYptkefge" name="Z Fold 8 ultra video size shots-5" alt="samsung galaxy z fold 8 ultra screen size comparison vs iphone 17 pro max" src="https://cdn.mos.cms.futurecdn.net/MGCMuUBSp4HjqTYptkefge.jpg" mos="" align="middle" fullscreen="" width="3527" height="1984" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The key benefit to watching video in landscape mode is that the entirety of the display crease gets covered up by whatever you're watching, which makes it nearly impossible to see. The other main advantage to watching video this way is that the videos are larger (and less wasteful) than in portrait mode</p><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Height (Inches)</strong></p></td><td  ><p><strong>Width (Inches)</strong></p></td><td  ><p><strong>Total (Sq Inch)</strong></p></td><td  ><p><strong>% Screen Used</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Screen</strong></p></td><td  ><p><strong>5.35</strong></p></td><td  ><p><strong>5.94</strong></p></td><td  ><p><strong>31.78</strong></p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>X-Men (YouTube)</strong></p></td><td  ><p>2.48</p></td><td  ><p>5.94</p></td><td  ><p>14.73</p></td><td  ><p>46.36</p></td></tr><tr><td class="firstcol " ><p><strong>X-Men-97 (D+)</strong></p></td><td  ><p>2.68</p></td><td  ><p>5.94</p></td><td  ><p>15.92</p></td><td  ><p>50.09</p></td></tr><tr><td class="firstcol " ><p><strong>The Emperor's New Groove (D+)</strong></p></td><td  ><p>3.34</p></td><td  ><p>5.55</p></td><td  ><p>18.54</p></td><td  ><p>58.33</p></td></tr><tr><td class="firstcol " ><p><strong>Scrubs (4:3/D+)</strong></p></td><td  ><p>4.48</p></td><td  ><p>5.94</p></td><td  ><p>26.61</p></td><td  ><p>83.74</p></td></tr><tr><td class="firstcol " ><p><strong>Avengers: Endgame (Regular/D+)</strong></p></td><td  ><p>2.48</p></td><td  ><p>5.94</p></td><td  ><p>14.73</p></td><td  ><p>46.36</p></td></tr><tr><td class="firstcol " ><p><strong>Avengers Endgame (IMAX/D+)</strong></p></td><td  ><p>3.15</p></td><td  ><p>5.94</p></td><td  ><p>18.71</p></td><td  ><p>58.88</p></td></tr><tr><td class="firstcol " ><p><strong>TikTok </strong></p></td><td  ><p>5.00</p></td><td  ><p>2.83</p></td><td  ><p>14.15</p></td><td  ><p>44.53</p></td></tr></tbody></table></div><p>The biggest winner is again, "Scrubs," or any other older TV show that was filmed with a 4:3 aspect ratio. The show took up 83.74% of the total screen space, over 16% more than it did in portrait mode. This obviously means that the video is noticeably larger, though the standard definition image does not look great if you're getting up close with the screen.</p><p>Most of the other videos take full advantage of the extra width, with the only exception being "The Emperor's New Groove," which is about 0.4-inches narrower. However the extra height afforded to  16:9 movie means it uses up 58.33% of the screen, compared to the 46.46% utilized by X-Men and the standard version of "Avengers: Endgame."</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3604px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="X2djLcD7k7Z3wXX62M8fxe" name="Z Fold 8 ultra video size shots-8" alt="samsung galaxy z fold 8 ultra screen size comparison vs iphone 17 pro max" src="https://cdn.mos.cms.futurecdn.net/X2djLcD7k7Z3wXX62M8fxe.jpg" mos="" align="middle" fullscreen="" width="3604" height="2027" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>"X-Men-97" is 0.2-inches taller in this configuration, meaning its total raises to 50.09%, while the IMAX enhanced edition of "Endgame" fills up 58.88% on account of its extra height.</p><p>The only real loser here is TikTok, which is shorter and narrower in landscape mode, and wastes an extra 11% of the screen compared to portrait mode. That also makes sense, since this orientation is wider than it is long, and that means the vertical videos get squashed down compared to viewing in portrait mode.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WnnvjW"></div>                            </div>                            <script src="https://kwizly.com/embed/WnnvjW.js" async></script><h2 id="verdict">Verdict</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="k8FeDxnevUPmLReuywiMxe" name="Z Fold 8 ultra video size shots-4" alt="samsung galaxy z fold 8 ultra screen size comparison vs iphone 17 pro max" src="https://cdn.mos.cms.futurecdn.net/k8FeDxnevUPmLReuywiMxe.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>With the exception of TikTok, landscape mode actually seems to have the largest overall video size of all four display configurations, barring one. The way "Avengers: Endgame" is presented on the cover display means it is slightly taller on the outer screen, by one tenth of an inch. </p><p>The cover display's aspect ratio means it seems to be uniquely suited to playing live action theatrical releases. Assuming the service you're using actually makes the most of the space, and doesn't do what YouTube did with my copy of X-Men and squashes the whole thing down for no reason.</p><p>As for TikTok, it's clear that the Z Fold 8 Ultra's foldable display is not as well-suited to vertical video as non-folding screens. Likewise, those of you that are bothered about black areas of screen around your video, you may want to avoid foldables for the time being. If you need a larger image to watch, you should probably invest in some kind of tablet. </p><p>But now the one question I have is this: How different would the results have been if I'd had a <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-review-wide-for-the-win">Galaxy Z Fold 8</a> to compare everything to? Samsung has positioned the passport-shaped device as the ideal device for streaming and media after all, but that face-off is going to have to wait.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom’s Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/samsung-phones/i-used-a-thermal-camera-to-see-how-hot-the-galaxy-z-fold-8-ultra-gets-compared-to-the-galaxy-s26-ultra-heres-what-happened">I used a thermal camera to see how hot the Galaxy Z Fold 8 Ultra gets compared to the Galaxy S26 Ultra — here's what happened</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-ultra-vs-galaxy-s26-ultra">I tested the Samsung Galaxy Z Fold 8 Ultra vs Galaxy S26 Ultra for 2 weeks — here’s the one I’d buy</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/i-just-tried-the-new-samsung-dex-on-the-galaxy-z-fold-8-and-it-has-one-huge-upgrade">I just tried the new Samsung DeX on the Galaxy Z Fold 8 — and it has one huge upgrade</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Google Pixel 11 Pro vs Google Pixel 10 Pro: Biggest upgrades to expect ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Google's Pixel phones may not be the fastest Android smartphones on the market, but they have an identity that few other brands can match. Between Google's clean design language, the Pixel-exclusive software features, and day-one Android updates, Pixel phones continue to attract a loyal following.</p><p>It's now been almost a year since the <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-10-review">Pixel 10</a> series launched, which means it's nearly time for the <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-everything-we-know-so-far">Pixel 11</a> to be released. Google has already confirmed that the new phones will debut at its <a href="https://www.tomsguide.com/phones/google-pixel-phones/made-by-google-2026-preview-pixel-11-pixel-watch-5-pixel-tag-and-more#section-other-possible-appearances">Made by Google event on August 12</a>, so if you're currently using a <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-10-pro-review-a-great-phone-but-it-doesnt-feel-like-much-of-an-upgrade">Pixel 10 Pro</a>, it's probably time to start wondering whether this year's upgrade is worth it. </p><p>We won't know exactly how the <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-pro-everything-we-know-so-far">Pixel 11 Pro</a> vs. Pixel 10 Pro comparison will look like until Google officially announces the new model. But, as is usually the case with Pixel launches, enough leaks and rumors have already surfaced to paint a fairly clear picture of what's coming and whether upgrading this year makes sense.</p><h3 class="article-body__section" id="section-pixel-11-pro-vs-pixel-10-pro-rumored-specs"><span>Pixel 11 Pro vs Pixel 10 Pro: Rumored Specs</span></h3><div ><table><thead><tr><th class="firstcol " ><p>Category</p></th><th  ><p>Google Pixel 11 Pro (rumored)</p></th><th  ><p>Google Pixel 10 Pro</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Display</p></td><td  ><p>6.3-inch Super Actua OLED, 120Hz</p></td><td  ><p>6.3-inch Super Actua OLED, 120Hz</p></td></tr><tr><td class="firstcol " ><p>OS</p></td><td  ><p>Android 17</p></td><td  ><p>Android 16 (upgradable to Android 17)</p></td></tr><tr><td class="firstcol " ><p>Processor</p></td><td  ><p>Tensor G6 (2nm)</p></td><td  ><p>Tensor G5 (3nm)</p></td></tr><tr><td class="firstcol " ><p>RAM</p></td><td  ><p>12GB / 16GB</p></td><td  ><p>16GB</p></td></tr><tr><td class="firstcol " ><p>Storage</p></td><td  ><p>256GB / 512GB / 1TB</p></td><td  ><p>128GB / 256GB / 512GB / 1TB</p></td></tr><tr><td class="firstcol " ><p>Rear Cameras</p></td><td  ><p>50MP main, 48MP ultrawide, 48MP telephoto</p></td><td  ><p>50MP main, 48MP ultrawide, 48MP telephoto</p></td></tr><tr><td class="firstcol " ><p>Front Camera</p></td><td  ><p>42MP</p></td><td  ><p>42MP</p></td></tr><tr><td class="firstcol " ><p>Ingress Protection</p></td><td  ><p>IP68</p></td><td  ><p>IP68</p></td></tr><tr><td class="firstcol " ><p>Battery</p></td><td  ><p>4,850mAh</p></td><td  ><p>4,870mAh</p></td></tr><tr><td class="firstcol " ><p>Charging</p></td><td  ><p>45W wired, 25W wireless Qi2</p></td><td  ><p>30W wired, 25W wireless Qi2</p></td></tr><tr><td class="firstcol " ><p>Colors</p></td><td  ><p>Light Fog, Midnight Haze, Dune, Pine</p></td><td  ><p>Moonstone, Jade, Porcelain, Obsidian</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-tensor-g6-should-bring-a-performance-boost"><span>Tensor G6 should bring a performance boost</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2025px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="Fudiia9dAiNt5cGSDLMqKm" name="tensor2.jpg" alt="Google Pixel Event Tensor chip screenshot" src="https://cdn.mos.cms.futurecdn.net/Fudiia9dAiNt5cGSDLMqKm.jpg" mos="" align="middle" fullscreen="" width="2025" height="1137" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Google)</span></figcaption></figure><p>Google made one of the biggest changes to the Pixel lineup last year with the Tensor G5. On paper, it didn't look dramatically different from the Tensor G4, but behind the scenes, Google made a major shift by moving chip production from Samsung Foundry to TSMC. </p><p>The Tensor G5 was built on TSMC's 3nm (N3P) process, the same manufacturing technology used by chips like the <a href="https://www.tomsguide.com/phones/android-phones/snapdragon-8-elite-gen-5-benchmarks-apples-a19-pro-meets-its-match">Snapdragon 8 Elite Gen 5</a> and Apple's A19 Pro. In theory, that should have translated into much better efficiency and thermals. While there were subtle improvements, the performance gains weren't quite as dramatic as many had expected. </p><p>This year, Google is expected to take another big leap. According to recent leaks, the Pixel 11 Pro will be powered by the Tensor G6, which is <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-could-finally-catch-up-to-samsung-and-apple-on-performance-heres-how">reportedly built on TSMC's more advanced 2nm process</a>. If true, it should bring another meaningful performance jump, while also helping address one of the biggest complaints surrounding recent Pixel phones: heat management. </p><p>In terms of configuration, the Tensor G6 is rumored to move to a new seven-core CPU with a 1+4+2 architecture, featuring one ARM C1-Ultra core clocked at 4.11GHz, four ARM C1-Pro cores at 3.38GHz, and two C1-Pro cores at 2.65GHz. </p><p>Major GPU upgrades aren't expected this year, but the new CPU and upgraded NPU should still deliver a noticeable boost in overall performance compared to the Tensor G5 on Pixel 10 Pro.</p><h3 class="article-body__section" id="section-mediatek-modem-could-finally-fix-connectivity"><span>MediaTek modem could finally fix connectivity</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="C7gz77MxGy32jtDGNLZjr" name="Google Pixel 10 Pro XL hands-on" alt="Google Pixel 10 Pro XL hands-on." src="https://cdn.mos.cms.futurecdn.net/C7gz77MxGy32jtDGNLZjr.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide / John Velasco)</span></figcaption></figure><p>Alongside the Tensor G6, Google is also expected to make another major hardware change by finally <a href="https://www.tomsguide.com/phones/google-pixel-phones/pixel-11-specs-leak-reveals-what-upgrades-to-expect-and-some-concerning-downgrades">replacing Samsung's modem with a MediaTek modem.</a></p><p>According to recent leaks, the <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-pro-everything-we-know-so-far">Pixel 11 Pro</a> will use MediaTek's M90 modem, which should help address the cellular connectivity and signal issues that have plagued Pixel phones for the past few generations. </p><p>The MediaTek M90 is rated for download speeds of up to 12Gbps and also promises up to an 18% improvement in power efficiency thanks to AI-powered optimizations. </p><p>Since the cellular modem is one of the biggest battery drains on any smartphone, a more efficient modem could noticeably improve battery life, especially as the Pixel 11 series is <a href="https://www.tomsguide.com/phones/google-pixel-phones/pixel-11-battery-capacity-just-leaked-and-it-has-me-worried-about-googles-next-flagship">rumored to feature a slightly smaller battery this year</a>.</p><h3 class="article-body__section" id="section-256gb-will-become-the-new-base-storage-option"><span>256GB will become the new base storage option</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PGSxoavmxetgJVhWQJcjD5" name="Google Pixel 10 hands-on" alt="Google Pixel 10 hands-on." src="https://cdn.mos.cms.futurecdn.net/PGSxoavmxetgJVhWQJcjD5.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide / John Velasco)</span></figcaption></figure><p>Another upgrade (or rather a forced upgrade) is expected to come to the Pixel 11 Pro's base storage. According to recent leaks, Google is dropping the 128GB model entirely. Instead, the <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-just-leaked-via-amazon-heres-the-specs-colors-and-obligatory-price-hike">Pixel 11 Pro is expected to start with 256GB of storage</a>, giving buyers more space out of the box.</p><p>That's certainly good news if you've been running out of storage on previous Pixel phones. The catch, though, is that Google is reportedly reducing the RAM on the base model. While the Pixel 10 Pro came with 16GB of RAM across the lineup, the entry-level Pixel 11 Pro is expected to pair its 256GB of storage with just 12GB of RAM. </p><p>Pricing is also expected to increase. The Pixel 11 Pro is rumored to <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-just-leaked-via-amazon-heres-the-specs-colors-and-obligatory-price-hike">start at $1,099</a>. That said, if you compare it to the 256GB Pixel 10 Pro, the price is expected to be roughly the same. The trade-off is that you'll be getting more storage by default, but less RAM than before.</p><h3 class="article-body__section" id="section-a-new-kind-of-notification-led-could-be-coming"><span>A new kind of notification LED could be coming</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Ew4zuorgkGJi2y43LdCL54" name="Pixel 11 Pro leak" alt="Google Pixel 11 Pro leaked image" src="https://cdn.mos.cms.futurecdn.net/Ew4zuorgkGJi2y43LdCL54.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Evan Blass)</span></figcaption></figure><p>It wouldn't be a Pixel launch without Google introducing a fun little hardware feature, and this year, that appears to be a new glowing LED on the back of the phone. </p><p>Google has been gradually adopting this glowing light design across its products. We've already seen it on the new <a href="https://www.tomsguide.com/audio/smart-speakers/google-home-speaker-review">Google Home Speaker</a> and during the <a href="https://www.tomsguide.com/computing/laptops/google-announces-high-end-googlebook-laptops-to-compete-with-macbooks-heres-what-you-need-to-know">brief Googlebook showcase</a> earlier this year, and according to recent leaks, it's now making its way to the Pixel 11 Pro as well. </p><p>The new light, reportedly <a href="https://bsky.app/profile/rquandt.bsky.social/post/3ms7jpb45v22w" target="_blank">called HiLight</a>, is expected to replace the thermometer sensor on the back of the phone. Google has even <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-pro-fold-images-just-leaked-ahead-of-launch-see-it-from-every-angle-including-a-weird-led">teased the circular LED</a> in a few promotional materials already. </p><p>According to leaks, it will light up when you're talking to Gemini, and users will also be able to assign different lighting effects to specific contacts and notifications.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ODqRrX"></div>                            </div>                            <script src="https://kwizly.com/embed/ODqRrX.js" async></script><h3 class="article-body__section" id="section-120x-zoom"><span>120x zoom </span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="yPtn8Mx2qPRE4iNYe5BWF6" name="Google Pixel 10 hands-on" alt="Google Pixel 10 hands-on." src="https://cdn.mos.cms.futurecdn.net/yPtn8Mx2qPRE4iNYe5BWF6.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide / John Velasco)</span></figcaption></figure><p>One camera upgrade expected on the Pixel 11 Pro is improved zoom. Google introduced <a href="https://www.tomsguide.com/phones/google-pixel-phones/i-captured-these-100x-pro-res-zoom-photos-with-the-pixel-10-pro-xl-and-the-results-blew-me-away">Pro Res Zoom with the Pixel 10 Pro</a>, allowing users to zoom in up to 100x using a combination of its telephoto camera and AI. This year, the company is reportedly taking things a step further with support for up to 120x zoom. </p><p>The leak comes from Evan Blass, who <a href="https://evleaks.substack.com/p/p11p" target="_blank">shared</a> what appears to be official Pixel 11 Pro marketing material ahead of next week's Made by Google event. That makes this particular leak seem fairly credible.</p><p>That said, I don't think this will be the only camera upgrade Google announces. The company usually spends a good chunk of its launch event talking about new camera features, so I'd be surprised if 120x zoom ends up being the headline change. </p><p>There's likely a lot more coming to the Pixel 11 Pro's camera system than what we've seen in the leaks so far.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/google-pixel-phones/pixel-11-battery-capacity-just-leaked-and-it-has-me-worried-about-googles-next-flagship">Pixel 11 battery capacity just leaked and it has me worried about Google's next flagship</a></li><li><a href="https://www.tomsguide.com/phones/google-pixel-phones/ive-been-using-the-pixel-10-pro-for-2-months-and-i-regret-the-upgrade">I've been using the Pixel 10 Pro for 2 months — and I regret the upgrade</a></li><li><a href="https://www.tomsguide.com/phones/how-i-use-google-maps-to-time-travel-avoid-bad-air-and-survive-zero-service">How I use Google Maps to time travel, avoid bad air, and survive zero service</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/phones/google-pixel-phones/pixel-10-pro-vs-11-pro-5-expected-upgrades</link>
                                                                            <description>
                            <![CDATA[ The Pixel 11 Pro is on the way, and these five upgrades over Pixel 10 Pro could make it worth the wait ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">BD6PFqNAJ7HnmBdU4Sbg5W</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/BktoXan9vxAVCBVHwmqXe-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 09 Aug 2026 05:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Google Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sanuj Bhatia ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/8p5BvMVA7cnu5AWkxnTjRC.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/BktoXan9vxAVCBVHwmqXe-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide / John Velasco]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Google Pixel 10 Pro XL hands-on.]]></media:description>                                                            <media:text><![CDATA[Google Pixel 10 Pro XL hands-on.]]></media:text>
                                <media:title type="plain"><![CDATA[Google Pixel 10 Pro XL hands-on.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/BktoXan9vxAVCBVHwmqXe-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Google's Pixel phones may not be the fastest Android smartphones on the market, but they have an identity that few other brands can match. Between Google's clean design language, the Pixel-exclusive software features, and day-one Android updates, Pixel phones continue to attract a loyal following.</p><p>It's now been almost a year since the <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-10-review">Pixel 10</a> series launched, which means it's nearly time for the <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-everything-we-know-so-far">Pixel 11</a> to be released. Google has already confirmed that the new phones will debut at its <a href="https://www.tomsguide.com/phones/google-pixel-phones/made-by-google-2026-preview-pixel-11-pixel-watch-5-pixel-tag-and-more#section-other-possible-appearances">Made by Google event on August 12</a>, so if you're currently using a <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-10-pro-review-a-great-phone-but-it-doesnt-feel-like-much-of-an-upgrade">Pixel 10 Pro</a>, it's probably time to start wondering whether this year's upgrade is worth it. </p><p>We won't know exactly how the <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-pro-everything-we-know-so-far">Pixel 11 Pro</a> vs. Pixel 10 Pro comparison will look like until Google officially announces the new model. But, as is usually the case with Pixel launches, enough leaks and rumors have already surfaced to paint a fairly clear picture of what's coming and whether upgrading this year makes sense.</p><h3 class="article-body__section" id="section-pixel-11-pro-vs-pixel-10-pro-rumored-specs"><span>Pixel 11 Pro vs Pixel 10 Pro: Rumored Specs</span></h3><div ><table><thead><tr><th class="firstcol " ><p>Category</p></th><th  ><p>Google Pixel 11 Pro (rumored)</p></th><th  ><p>Google Pixel 10 Pro</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Display</p></td><td  ><p>6.3-inch Super Actua OLED, 120Hz</p></td><td  ><p>6.3-inch Super Actua OLED, 120Hz</p></td></tr><tr><td class="firstcol " ><p>OS</p></td><td  ><p>Android 17</p></td><td  ><p>Android 16 (upgradable to Android 17)</p></td></tr><tr><td class="firstcol " ><p>Processor</p></td><td  ><p>Tensor G6 (2nm)</p></td><td  ><p>Tensor G5 (3nm)</p></td></tr><tr><td class="firstcol " ><p>RAM</p></td><td  ><p>12GB / 16GB</p></td><td  ><p>16GB</p></td></tr><tr><td class="firstcol " ><p>Storage</p></td><td  ><p>256GB / 512GB / 1TB</p></td><td  ><p>128GB / 256GB / 512GB / 1TB</p></td></tr><tr><td class="firstcol " ><p>Rear Cameras</p></td><td  ><p>50MP main, 48MP ultrawide, 48MP telephoto</p></td><td  ><p>50MP main, 48MP ultrawide, 48MP telephoto</p></td></tr><tr><td class="firstcol " ><p>Front Camera</p></td><td  ><p>42MP</p></td><td  ><p>42MP</p></td></tr><tr><td class="firstcol " ><p>Ingress Protection</p></td><td  ><p>IP68</p></td><td  ><p>IP68</p></td></tr><tr><td class="firstcol " ><p>Battery</p></td><td  ><p>4,850mAh</p></td><td  ><p>4,870mAh</p></td></tr><tr><td class="firstcol " ><p>Charging</p></td><td  ><p>45W wired, 25W wireless Qi2</p></td><td  ><p>30W wired, 25W wireless Qi2</p></td></tr><tr><td class="firstcol " ><p>Colors</p></td><td  ><p>Light Fog, Midnight Haze, Dune, Pine</p></td><td  ><p>Moonstone, Jade, Porcelain, Obsidian</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-tensor-g6-should-bring-a-performance-boost"><span>Tensor G6 should bring a performance boost</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2025px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="Fudiia9dAiNt5cGSDLMqKm" name="tensor2.jpg" alt="Google Pixel Event Tensor chip screenshot" src="https://cdn.mos.cms.futurecdn.net/Fudiia9dAiNt5cGSDLMqKm.jpg" mos="" align="middle" fullscreen="" width="2025" height="1137" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Google)</span></figcaption></figure><p>Google made one of the biggest changes to the Pixel lineup last year with the Tensor G5. On paper, it didn't look dramatically different from the Tensor G4, but behind the scenes, Google made a major shift by moving chip production from Samsung Foundry to TSMC. </p><p>The Tensor G5 was built on TSMC's 3nm (N3P) process, the same manufacturing technology used by chips like the <a href="https://www.tomsguide.com/phones/android-phones/snapdragon-8-elite-gen-5-benchmarks-apples-a19-pro-meets-its-match">Snapdragon 8 Elite Gen 5</a> and Apple's A19 Pro. In theory, that should have translated into much better efficiency and thermals. While there were subtle improvements, the performance gains weren't quite as dramatic as many had expected. </p><p>This year, Google is expected to take another big leap. According to recent leaks, the Pixel 11 Pro will be powered by the Tensor G6, which is <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-could-finally-catch-up-to-samsung-and-apple-on-performance-heres-how">reportedly built on TSMC's more advanced 2nm process</a>. If true, it should bring another meaningful performance jump, while also helping address one of the biggest complaints surrounding recent Pixel phones: heat management. </p><p>In terms of configuration, the Tensor G6 is rumored to move to a new seven-core CPU with a 1+4+2 architecture, featuring one ARM C1-Ultra core clocked at 4.11GHz, four ARM C1-Pro cores at 3.38GHz, and two C1-Pro cores at 2.65GHz. </p><p>Major GPU upgrades aren't expected this year, but the new CPU and upgraded NPU should still deliver a noticeable boost in overall performance compared to the Tensor G5 on Pixel 10 Pro.</p><h3 class="article-body__section" id="section-mediatek-modem-could-finally-fix-connectivity"><span>MediaTek modem could finally fix connectivity</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="C7gz77MxGy32jtDGNLZjr" name="Google Pixel 10 Pro XL hands-on" alt="Google Pixel 10 Pro XL hands-on." src="https://cdn.mos.cms.futurecdn.net/C7gz77MxGy32jtDGNLZjr.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide / John Velasco)</span></figcaption></figure><p>Alongside the Tensor G6, Google is also expected to make another major hardware change by finally <a href="https://www.tomsguide.com/phones/google-pixel-phones/pixel-11-specs-leak-reveals-what-upgrades-to-expect-and-some-concerning-downgrades">replacing Samsung's modem with a MediaTek modem.</a></p><p>According to recent leaks, the <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-pro-everything-we-know-so-far">Pixel 11 Pro</a> will use MediaTek's M90 modem, which should help address the cellular connectivity and signal issues that have plagued Pixel phones for the past few generations. </p><p>The MediaTek M90 is rated for download speeds of up to 12Gbps and also promises up to an 18% improvement in power efficiency thanks to AI-powered optimizations. </p><p>Since the cellular modem is one of the biggest battery drains on any smartphone, a more efficient modem could noticeably improve battery life, especially as the Pixel 11 series is <a href="https://www.tomsguide.com/phones/google-pixel-phones/pixel-11-battery-capacity-just-leaked-and-it-has-me-worried-about-googles-next-flagship">rumored to feature a slightly smaller battery this year</a>.</p><h3 class="article-body__section" id="section-256gb-will-become-the-new-base-storage-option"><span>256GB will become the new base storage option</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PGSxoavmxetgJVhWQJcjD5" name="Google Pixel 10 hands-on" alt="Google Pixel 10 hands-on." src="https://cdn.mos.cms.futurecdn.net/PGSxoavmxetgJVhWQJcjD5.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide / John Velasco)</span></figcaption></figure><p>Another upgrade (or rather a forced upgrade) is expected to come to the Pixel 11 Pro's base storage. According to recent leaks, Google is dropping the 128GB model entirely. Instead, the <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-just-leaked-via-amazon-heres-the-specs-colors-and-obligatory-price-hike">Pixel 11 Pro is expected to start with 256GB of storage</a>, giving buyers more space out of the box.</p><p>That's certainly good news if you've been running out of storage on previous Pixel phones. The catch, though, is that Google is reportedly reducing the RAM on the base model. While the Pixel 10 Pro came with 16GB of RAM across the lineup, the entry-level Pixel 11 Pro is expected to pair its 256GB of storage with just 12GB of RAM. </p><p>Pricing is also expected to increase. The Pixel 11 Pro is rumored to <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-just-leaked-via-amazon-heres-the-specs-colors-and-obligatory-price-hike">start at $1,099</a>. That said, if you compare it to the 256GB Pixel 10 Pro, the price is expected to be roughly the same. The trade-off is that you'll be getting more storage by default, but less RAM than before.</p><h3 class="article-body__section" id="section-a-new-kind-of-notification-led-could-be-coming"><span>A new kind of notification LED could be coming</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Ew4zuorgkGJi2y43LdCL54" name="Pixel 11 Pro leak" alt="Google Pixel 11 Pro leaked image" src="https://cdn.mos.cms.futurecdn.net/Ew4zuorgkGJi2y43LdCL54.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Evan Blass)</span></figcaption></figure><p>It wouldn't be a Pixel launch without Google introducing a fun little hardware feature, and this year, that appears to be a new glowing LED on the back of the phone. </p><p>Google has been gradually adopting this glowing light design across its products. We've already seen it on the new <a href="https://www.tomsguide.com/audio/smart-speakers/google-home-speaker-review">Google Home Speaker</a> and during the <a href="https://www.tomsguide.com/computing/laptops/google-announces-high-end-googlebook-laptops-to-compete-with-macbooks-heres-what-you-need-to-know">brief Googlebook showcase</a> earlier this year, and according to recent leaks, it's now making its way to the Pixel 11 Pro as well. </p><p>The new light, reportedly <a href="https://bsky.app/profile/rquandt.bsky.social/post/3ms7jpb45v22w" target="_blank">called HiLight</a>, is expected to replace the thermometer sensor on the back of the phone. Google has even <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-pro-fold-images-just-leaked-ahead-of-launch-see-it-from-every-angle-including-a-weird-led">teased the circular LED</a> in a few promotional materials already. </p><p>According to leaks, it will light up when you're talking to Gemini, and users will also be able to assign different lighting effects to specific contacts and notifications.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ODqRrX"></div>                            </div>                            <script src="https://kwizly.com/embed/ODqRrX.js" async></script><h3 class="article-body__section" id="section-120x-zoom"><span>120x zoom </span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="yPtn8Mx2qPRE4iNYe5BWF6" name="Google Pixel 10 hands-on" alt="Google Pixel 10 hands-on." src="https://cdn.mos.cms.futurecdn.net/yPtn8Mx2qPRE4iNYe5BWF6.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide / John Velasco)</span></figcaption></figure><p>One camera upgrade expected on the Pixel 11 Pro is improved zoom. Google introduced <a href="https://www.tomsguide.com/phones/google-pixel-phones/i-captured-these-100x-pro-res-zoom-photos-with-the-pixel-10-pro-xl-and-the-results-blew-me-away">Pro Res Zoom with the Pixel 10 Pro</a>, allowing users to zoom in up to 100x using a combination of its telephoto camera and AI. This year, the company is reportedly taking things a step further with support for up to 120x zoom. </p><p>The leak comes from Evan Blass, who <a href="https://evleaks.substack.com/p/p11p" target="_blank">shared</a> what appears to be official Pixel 11 Pro marketing material ahead of next week's Made by Google event. That makes this particular leak seem fairly credible.</p><p>That said, I don't think this will be the only camera upgrade Google announces. The company usually spends a good chunk of its launch event talking about new camera features, so I'd be surprised if 120x zoom ends up being the headline change. </p><p>There's likely a lot more coming to the Pixel 11 Pro's camera system than what we've seen in the leaks so far.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/google-pixel-phones/pixel-11-battery-capacity-just-leaked-and-it-has-me-worried-about-googles-next-flagship">Pixel 11 battery capacity just leaked and it has me worried about Google's next flagship</a></li><li><a href="https://www.tomsguide.com/phones/google-pixel-phones/ive-been-using-the-pixel-10-pro-for-2-months-and-i-regret-the-upgrade">I've been using the Pixel 10 Pro for 2 months — and I regret the upgrade</a></li><li><a href="https://www.tomsguide.com/phones/how-i-use-google-maps-to-time-travel-avoid-bad-air-and-survive-zero-service">How I use Google Maps to time travel, avoid bad air, and survive zero service</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ On Cloudmonster 3 vs On Cloudmonster 3 Hyper: Which running shoe should you buy? ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The Cloudmonster 3 might be the quintessential On running shoe, showcasing the brand’s distinctive pod design and delivering what I consider to be a classic On ride, which is a little firmer than you get from most sneakers these days.</p><p>Building on the success of the original Cloudmonster, On has expanded the line-up to include the Cloudmonster Hyper super-shoe over the past two years, and right now there are actually three Cloudmonster models to consider — the Cloudmonster 3, Cloudmonster 3 Hyper, and <a href="https://www.tomsguide.com/wellness/running/i-ran-45-miles-in-the-on-cloudmonster-3-hyper-ls-and-its-my-favorite-on-running-shoe-ever">Cloudmonster 3 Hyper LS</a>.</p><p>The Cloudmonster 3 is the classic On daily trainer, while the Hyper models are super-trainers designed to be lighter and more versatile, at a higher price. </p><p>I’ve run a lot of miles in all three shoes, and for me, the Cloudmonster gets better and better as you rise through the ranks, but there are pros and cons to each model, which I’ll expand upon in my On Cloudmonster 3 vs On Cloudmonster 3 Hyper comparison.</p>        <div class="featured_product_block featured_block_hero" data-id="edde5548-917a-11f1-87f8-f9ec8a545a96">            <a href="https://www.on.com/en-us/products/cloudmonster-3-w-3wg1003/womens/brook-flurry-shoes-3WG10035256" data-model-name="On On Cloudmonster 3" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/8yuovvi3pCmQoXKotpjZ7o.jpg" alt="On Cloudmonster 3"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>On</div>                                        <div class="featured__title">Cloudmonster 3</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>The standard model of the Cloudmonster 3 comes in the widest variety of colors and uses three layers of On's signature CloudTec cushioning in the midsole. It's a comfortable daily trainer for easy runs and great for general use, too.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="edde55d4-917a-11f1-942c-fde03dec4cb2">            <a href="https://www.on.com/en-us/products/cloudmonster-3-hyper-3wg1004/womens/ivory-flurry-shoes-3WG10045262" data-model-name="On Cloudmonster 3 Hyper" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/5WzcNdV6CMQY6CfKHAuMoM.jpg" alt="On Cloudmonster 3 Hyper"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>On</div>                                        <div class="featured__title">Cloudmonster 3 Hyper</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>The Cloudmonster 3 Hyper uses a dual-density midsole with a layer of Helion HF foam on top of CloudTec pods. This creates a softer, springier ride than you get from the standard Cloudmonster, though at a higher price.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="edde5642-917a-11f1-95b7-fbaac2b04314">            <a href="https://www.on.com/en-us/products/cloudmonster-3-hyper-ls-u-3ug1001/unisex/lily-limelight-shoes-3UG10014906" data-model-name="On LightSpray Cloudmonster 3 Hyper" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/KZL3ibiSpjUMSqqw34u2o4.jpg" alt="On Cloudmonster 3 Hyper LS"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>On</div>                                        <div class="featured__title">Cloudmonster 3 Hyper LS</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>The LightSpray model of the Cloudmonster 3 Hyper is the lightest, bounciest, and most versatile shoe in the lineup. It's a fantastic super-trainer, but it costs a lot more than the other Cloudmonsters, and the fit might not work for everyone.</p></p>                </div>                            </div>        </div><h3 class="article-body__section" id="section-on-cloudmonster-3-vs-on-cloudmonster-3-hyper-price-and-availability"><span>On Cloudmonster 3 vs On Cloudmonster 3 Hyper: Price and availability</span></h3><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/VvDbXfNoSmamKxA2WPiG5D.jpg" alt="On Cloudmonster 3" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/cJTfZJKj66NjJyZKmLFEnJ.jpg" alt="On Cloudmonster 3 Hyper " /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/hWZq42gVTqCNngZS2iUsQ8.jpg" alt="On Cloudmonster 3 Hyper LS" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>The On Cloudmonster 3 is the cheapest version of the shoe and costs $190/£180. The price rises to $220/£210 for the On Cloudmonster 3 Hyper, while the On Cloudmonster 3 Hyper LS is $280/£270.</p><h3 class="article-body__section" id="section-on-cloudmonster-3-vs-on-cloudmonster-3-hyper-design-and-fit"><span>On Cloudmonster 3 vs On Cloudmonster 3 Hyper: Design and fit</span></h3><p>The Cloudmonster 3 is available in 18 colors and there’s a wide option of the shoe. There are five colors of the Cloudmonster 3 Hyper and four of the Cloudmonster 3 Hyper LS.</p><p>All three shoes fit me well in my normal running shoe size, but the Cloudmonster 3 Hyper LS uses On’s Lightspray upper technology, which means you can’t adjust the fit. If you have high arches or a wide foot, it might not work as well for you as the standard uppers on the Cloudmonster 3 and 3 Hyper.</p><p>All three shoes have a 6mm drop, but the stack height rises with the price. The Cloudmonster 3 is 35mm at the heel and 29mm at the forefoot; the Cloudmonster 3 Hyper is 39.5mm at the heel and 33.5 at the forefoot; and the Cloudmonster 3 Hyper LS is 45mm at the heel and 39mm at the forefoot.</p><p>Conversely, the weight drops. In my US men’s size 9.5 the Cloudmonster 3 weighs 10.7oz; the Cloudmonster 3 Hyper is 9.5oz; the Cloudmonster 3 Hyper LS is just 7.6oz.</p><h3 class="article-body__section" id="section-upper"><span>Upper</span></h3><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/BC4iEvVKjEZWJyQRCUk2AD.jpg" alt="On Cloudmonster 3" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/k5bAPVFv8rZEvKVYmip6pJ.jpg" alt="On Cloudmonster 3 Hyper " /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/GPgxVKERSJWADbpxJHa3g7.jpg" alt="On Cloudmonster 3 Hyper LS" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>The Cloudmonster 3 and Cloudmonster 3 Hyper both have conventional, comfortable uppers that hold the foot well and proved breathable enough for me during testing.</p><p>Things get spicier with the one-piece LightSpray upper on the LS model, which makes the shoe a lot lighter, but also means you can’t adjust the fit. </p><p>I know several runners who struggle with this upper, but I love the fit and feel of LightSpray myself, which I find holds the foot well and is comfortable for long distances.</p><h3 class="article-body__section" id="section-midsole"><span>Midsole</span></h3><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/5Z3EZmM4wAiWSp5m6ARD7D.jpg" alt="On Cloudmonster 3" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Nrwa5RaFvXSfCvBJ3fbBoJ.jpg" alt="On Cloudmonster 3 Hyper " /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ccd84GirLGnSAg4GYjjzP8.jpg" alt="On Cloudmonster 3 Hyper LS" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>The midsole of the Cloudmonster 3 features a triple layer of On’s CloudTec pods made with Helion foam.</p><p>It’s CloudTec all the way up in the shoe, whereas with the Hyper models, CloudTec is used as a frame on the bottom of the midsole, with On’s Helion HF foam used for the top layer.</p><p>This springy, PEBA-based foam is what makes the Hyper models super-trainers, creating a more versatile ride and a lighter design overall.</p><h3 class="article-body__section" id="section-outsole"><span>Outsole</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5139px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="FJmANucmTMhgJGHsyKgJ68" name="On Cloudmonster 3 Hyper LS-6" alt="On Cloudmonster 3 Hyper LS" src="https://cdn.mos.cms.futurecdn.net/FJmANucmTMhgJGHsyKgJ68.jpg" mos="" align="middle" fullscreen="" width="5139" height="2891" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>All three shoes have podded outsoles with all of the pods around the heel and forefoot covered by a thick layer of rubber. Durability shouldn’t be a concern with any of the shoes, and they all gripped well for me during testing.</p><h3 class="article-body__section" id="section-on-cloudmonster-3-vs-on-cloudmonster-3-hyper-running-performance"><span>On Cloudmonster 3 vs On Cloudmonster 3 Hyper: Running performance</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4573px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="oeu9seuzLdxdtqfNi4Ewx7" name="On Cloudmonster 3 Hyper LS-LIST2" alt="On Cloudmonster 3 Hyper LS" src="https://cdn.mos.cms.futurecdn.net/oeu9seuzLdxdtqfNi4Ewx7.jpg" mos="" align="middle" fullscreen="" width="4573" height="2572" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I’ve run over 30 miles in each of the Cloudmonster shoes, and nearly 50 in the Cloudmonster 3 Hyper LS, which for me is the pick of the bunch, if you don’t mind its high price and fixed fit.</p><p>The standard Cloudmonster 3 is the firmest of the trio, with the full CloudTec midsole doing a good job of absorbing the impact of running, but not providing much energy return.</p><p>I found it worked best for easy runs, where the rockered shape of the shoe helped me to roll through my footstrike, but it lacked the punchy feel I like for faster efforts.</p><p>The Cloudmonster 3 Hyper is a step-up on this front thanks to the Helion HF foam in the midsole. It’s a softer, more comfortable shoe, and worked well for long, easy and steady runs in my testing.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CJDdBF2aDcygYoq7LVhquH" name="On Cloudmonster 3 Hyper" alt="On Cloudmonster 3 Hyper" src="https://cdn.mos.cms.futurecdn.net/CJDdBF2aDcygYoq7LVhquH.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>It’s still not ideal for faster workouts, though, which is where the Cloudmonster 3 Hyper LS clearly excels compared to the other models.</p><p>The LS model is lighter and springier, and I loved doing tempo runs in it in particular. It also has the biggest range of the three shoes for me — it’s great for very easy runs, but you can push to your fastest speeds in interval sessions too, I found.</p><p>All three shoes handle easy runs well, then the ride gets softer, springier and more versatile as you move from the Cloudmonster 3 to the 3 Hyper and to the 3 Hyper LS.</p><h3 class="article-body__section" id="section-on-cloudmonster-3-vs-on-cloudmonster-3-hyper-verdict"><span>On Cloudmonster 3 vs On Cloudmonster 3 Hyper: Verdict</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="VoKJTxZRPMaHTnyrrcQuKD" name="On Cloudmonster 3" alt="On Cloudmonster 3" src="https://cdn.mos.cms.futurecdn.net/VoKJTxZRPMaHTnyrrcQuKD.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The On Cloudmonster 3 is a solid, good-looking shoe that will handle your easy runs and works well for lifestyle use, and it comes in the widest variety of colors at the lowest price of the trio.</p><p>I think it’s worth stepping up to a Hyper model for running, though. The Cloudmonster 3 Hyper is a better daily trainer that can pick up steady runs and is brilliant for long efforts in particular; it also looks great for general use in my opinion — I wear it all the time for this, months after I finished testing it.</p><p>The Cloudmonster 3 Hyper LS is the best running shoe of the three and one of the most versatile and impressive super-trainers available from any brand.</p><p>It’s prohibitively expensive, however, and the fit won’t work for everyone. The On Cloudmonster 3 Hyper hits the sweet spot of the line-up overall, but if you can try on the LS model and like the fit, it might be worth paying the extra to get such a great all-rounder running shoe.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/wellness/running/on-cloudmonster-3-vs-on-cloudmonster-3-hyper-which-running-shoe-should-you-buy</link>
                                                                            <description>
                            <![CDATA[ The On Cloudmonster line-up contains the best daily trainers available from the brand, with options to suit different budgets and ride preferences. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">i7vdg5Gcx3riBB8kzuzQLk</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/GM99eyp5L3xrDwJHYkcjB8-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 08 Aug 2026 11:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Running]]></category>
                                                    <category><![CDATA[Wellness]]></category>
                                                    <category><![CDATA[Fitness]]></category>
                                                                                                                    <dc:creator><![CDATA[ Nick Harris-Fry ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/J5Jjp49GUVjLZEbjEkTex.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nick has been a journalist since 2012 and has spent most of that time writing about health and fitness for a variety of publications. Nick spent nine years working on the Coach magazine and website before moving to the fitness team at Tom’s Guide in 2024. Nick is a keen runner and also the founder of YouTube channel &lt;a href=&quot;https://www.youtube.com/channel/UCOBM9FasII4dKbyE_HKkbjw&quot;&gt;The Run Testers&lt;/a&gt;, which specialises in reviewing running shoes, watches, headphones and other gear.&lt;/p&gt;&lt;p&gt;Nick has covered all aspects of health and fitness throughout his career, interviewing experts and celebrities, trying fitness classes and running marathons, all in the name of providing readers with the information they need to get the most out of an active lifestyle.&lt;/p&gt;&lt;p&gt;Nick ran his first marathon in 2016 after six weeks of training for a magazine feature and subsequently became obsessed with the sport. He now has PBs of 2hr 25min for the marathon and 15min 30sec for 5K, and has run 16 marathons in total, as well as a 50-mile ultramarathon.&lt;/p&gt;&lt;p&gt;Nick runs 60-90 miles a week and races regularly with his club, which gives him a lot of opportunity to test out running gear: he has tested and reviewed hundreds of pairs of running shoes, as well as fitness trackers, running watches, sports headphones, treadmills, and all manner of other kit. Nick is also a qualified Run Leader in the UK.&lt;/p&gt;&lt;p&gt;Nick is an established expert in the health and fitness area and along with writing for several publications, including &lt;a href=&quot;https://www.livescience.com/author/nick-harris-fry&quot;&gt;Live Science&lt;/a&gt;, &lt;a href=&quot;https://www.expertreviews.co.uk/authors/nick-harris-fry&quot;&gt;Expert Reviews&lt;/a&gt;, &lt;a href=&quot;https://www.wareable.com/author/n.harris-fry&quot;&gt;Wareable&lt;/a&gt;, &lt;a href=&quot;https://www.coachweb.com/author/nick-harris-fry&quot;&gt;Coach&lt;/a&gt; and &lt;a href=&quot;https://www.getsweatgo.com/author/n.harrisfry&quot;&gt;Get Sweat Go&lt;/a&gt;, he has been quoted on &lt;a href=&quot;https://www.theguardian.com/thefilter/2024/oct/20/if-you-pay-more-than-4-youre-being-ripped-off-the-fair-price-for-14-everyday-items-from-cleaning-spray-to-olive-oil&quot;&gt;The Guardian&lt;/a&gt; and &lt;a href=&quot;https://www.independent.co.uk/life-style/health-and-families/london-marathon-2021-date-training-tips-summer-running-a9482486.html&quot;&gt;The Independent&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Nick graduated from the University of York in 2010 with a degree in Politics, Philosophy and Economics and worked in the NHS for three years, during which time he completed his NCTJ Diploma in Journalism at News Associates in London. Before starting on Coach and moving into health and fitness, Nick worked as a football journalist and lived in Kathmandu, Nepal for two years.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/GM99eyp5L3xrDwJHYkcjB8-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[On Cloudmonster 3 vs On Cloudmonster 3 Hyper]]></media:description>                                                            <media:text><![CDATA[On Cloudmonster 3 vs On Cloudmonster 3 Hyper]]></media:text>
                                <media:title type="plain"><![CDATA[On Cloudmonster 3 vs On Cloudmonster 3 Hyper]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/GM99eyp5L3xrDwJHYkcjB8-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The Cloudmonster 3 might be the quintessential On running shoe, showcasing the brand’s distinctive pod design and delivering what I consider to be a classic On ride, which is a little firmer than you get from most sneakers these days.</p><p>Building on the success of the original Cloudmonster, On has expanded the line-up to include the Cloudmonster Hyper super-shoe over the past two years, and right now there are actually three Cloudmonster models to consider — the Cloudmonster 3, Cloudmonster 3 Hyper, and <a href="https://www.tomsguide.com/wellness/running/i-ran-45-miles-in-the-on-cloudmonster-3-hyper-ls-and-its-my-favorite-on-running-shoe-ever">Cloudmonster 3 Hyper LS</a>.</p><p>The Cloudmonster 3 is the classic On daily trainer, while the Hyper models are super-trainers designed to be lighter and more versatile, at a higher price. </p><p>I’ve run a lot of miles in all three shoes, and for me, the Cloudmonster gets better and better as you rise through the ranks, but there are pros and cons to each model, which I’ll expand upon in my On Cloudmonster 3 vs On Cloudmonster 3 Hyper comparison.</p>        <div class="featured_product_block featured_block_hero" data-id="edde5548-917a-11f1-87f8-f9ec8a545a96">            <a href="https://www.on.com/en-us/products/cloudmonster-3-w-3wg1003/womens/brook-flurry-shoes-3WG10035256" data-model-name="On On Cloudmonster 3" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/8yuovvi3pCmQoXKotpjZ7o.jpg" alt="On Cloudmonster 3"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>On</div>                                        <div class="featured__title">Cloudmonster 3</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>The standard model of the Cloudmonster 3 comes in the widest variety of colors and uses three layers of On's signature CloudTec cushioning in the midsole. It's a comfortable daily trainer for easy runs and great for general use, too.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="edde55d4-917a-11f1-942c-fde03dec4cb2">            <a href="https://www.on.com/en-us/products/cloudmonster-3-hyper-3wg1004/womens/ivory-flurry-shoes-3WG10045262" data-model-name="On Cloudmonster 3 Hyper" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/5WzcNdV6CMQY6CfKHAuMoM.jpg" alt="On Cloudmonster 3 Hyper"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>On</div>                                        <div class="featured__title">Cloudmonster 3 Hyper</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>The Cloudmonster 3 Hyper uses a dual-density midsole with a layer of Helion HF foam on top of CloudTec pods. This creates a softer, springier ride than you get from the standard Cloudmonster, though at a higher price.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="edde5642-917a-11f1-95b7-fbaac2b04314">            <a href="https://www.on.com/en-us/products/cloudmonster-3-hyper-ls-u-3ug1001/unisex/lily-limelight-shoes-3UG10014906" data-model-name="On LightSpray Cloudmonster 3 Hyper" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/KZL3ibiSpjUMSqqw34u2o4.jpg" alt="On Cloudmonster 3 Hyper LS"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>On</div>                                        <div class="featured__title">Cloudmonster 3 Hyper LS</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>The LightSpray model of the Cloudmonster 3 Hyper is the lightest, bounciest, and most versatile shoe in the lineup. It's a fantastic super-trainer, but it costs a lot more than the other Cloudmonsters, and the fit might not work for everyone.</p></p>                </div>                            </div>        </div><h3 class="article-body__section" id="section-on-cloudmonster-3-vs-on-cloudmonster-3-hyper-price-and-availability"><span>On Cloudmonster 3 vs On Cloudmonster 3 Hyper: Price and availability</span></h3><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/VvDbXfNoSmamKxA2WPiG5D.jpg" alt="On Cloudmonster 3" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/cJTfZJKj66NjJyZKmLFEnJ.jpg" alt="On Cloudmonster 3 Hyper " /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/hWZq42gVTqCNngZS2iUsQ8.jpg" alt="On Cloudmonster 3 Hyper LS" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>The On Cloudmonster 3 is the cheapest version of the shoe and costs $190/£180. The price rises to $220/£210 for the On Cloudmonster 3 Hyper, while the On Cloudmonster 3 Hyper LS is $280/£270.</p><h3 class="article-body__section" id="section-on-cloudmonster-3-vs-on-cloudmonster-3-hyper-design-and-fit"><span>On Cloudmonster 3 vs On Cloudmonster 3 Hyper: Design and fit</span></h3><p>The Cloudmonster 3 is available in 18 colors and there’s a wide option of the shoe. There are five colors of the Cloudmonster 3 Hyper and four of the Cloudmonster 3 Hyper LS.</p><p>All three shoes fit me well in my normal running shoe size, but the Cloudmonster 3 Hyper LS uses On’s Lightspray upper technology, which means you can’t adjust the fit. If you have high arches or a wide foot, it might not work as well for you as the standard uppers on the Cloudmonster 3 and 3 Hyper.</p><p>All three shoes have a 6mm drop, but the stack height rises with the price. The Cloudmonster 3 is 35mm at the heel and 29mm at the forefoot; the Cloudmonster 3 Hyper is 39.5mm at the heel and 33.5 at the forefoot; and the Cloudmonster 3 Hyper LS is 45mm at the heel and 39mm at the forefoot.</p><p>Conversely, the weight drops. In my US men’s size 9.5 the Cloudmonster 3 weighs 10.7oz; the Cloudmonster 3 Hyper is 9.5oz; the Cloudmonster 3 Hyper LS is just 7.6oz.</p><h3 class="article-body__section" id="section-upper"><span>Upper</span></h3><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/BC4iEvVKjEZWJyQRCUk2AD.jpg" alt="On Cloudmonster 3" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/k5bAPVFv8rZEvKVYmip6pJ.jpg" alt="On Cloudmonster 3 Hyper " /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/GPgxVKERSJWADbpxJHa3g7.jpg" alt="On Cloudmonster 3 Hyper LS" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>The Cloudmonster 3 and Cloudmonster 3 Hyper both have conventional, comfortable uppers that hold the foot well and proved breathable enough for me during testing.</p><p>Things get spicier with the one-piece LightSpray upper on the LS model, which makes the shoe a lot lighter, but also means you can’t adjust the fit. </p><p>I know several runners who struggle with this upper, but I love the fit and feel of LightSpray myself, which I find holds the foot well and is comfortable for long distances.</p><h3 class="article-body__section" id="section-midsole"><span>Midsole</span></h3><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/5Z3EZmM4wAiWSp5m6ARD7D.jpg" alt="On Cloudmonster 3" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Nrwa5RaFvXSfCvBJ3fbBoJ.jpg" alt="On Cloudmonster 3 Hyper " /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ccd84GirLGnSAg4GYjjzP8.jpg" alt="On Cloudmonster 3 Hyper LS" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>The midsole of the Cloudmonster 3 features a triple layer of On’s CloudTec pods made with Helion foam.</p><p>It’s CloudTec all the way up in the shoe, whereas with the Hyper models, CloudTec is used as a frame on the bottom of the midsole, with On’s Helion HF foam used for the top layer.</p><p>This springy, PEBA-based foam is what makes the Hyper models super-trainers, creating a more versatile ride and a lighter design overall.</p><h3 class="article-body__section" id="section-outsole"><span>Outsole</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5139px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="FJmANucmTMhgJGHsyKgJ68" name="On Cloudmonster 3 Hyper LS-6" alt="On Cloudmonster 3 Hyper LS" src="https://cdn.mos.cms.futurecdn.net/FJmANucmTMhgJGHsyKgJ68.jpg" mos="" align="middle" fullscreen="" width="5139" height="2891" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>All three shoes have podded outsoles with all of the pods around the heel and forefoot covered by a thick layer of rubber. Durability shouldn’t be a concern with any of the shoes, and they all gripped well for me during testing.</p><h3 class="article-body__section" id="section-on-cloudmonster-3-vs-on-cloudmonster-3-hyper-running-performance"><span>On Cloudmonster 3 vs On Cloudmonster 3 Hyper: Running performance</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4573px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="oeu9seuzLdxdtqfNi4Ewx7" name="On Cloudmonster 3 Hyper LS-LIST2" alt="On Cloudmonster 3 Hyper LS" src="https://cdn.mos.cms.futurecdn.net/oeu9seuzLdxdtqfNi4Ewx7.jpg" mos="" align="middle" fullscreen="" width="4573" height="2572" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I’ve run over 30 miles in each of the Cloudmonster shoes, and nearly 50 in the Cloudmonster 3 Hyper LS, which for me is the pick of the bunch, if you don’t mind its high price and fixed fit.</p><p>The standard Cloudmonster 3 is the firmest of the trio, with the full CloudTec midsole doing a good job of absorbing the impact of running, but not providing much energy return.</p><p>I found it worked best for easy runs, where the rockered shape of the shoe helped me to roll through my footstrike, but it lacked the punchy feel I like for faster efforts.</p><p>The Cloudmonster 3 Hyper is a step-up on this front thanks to the Helion HF foam in the midsole. It’s a softer, more comfortable shoe, and worked well for long, easy and steady runs in my testing.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CJDdBF2aDcygYoq7LVhquH" name="On Cloudmonster 3 Hyper" alt="On Cloudmonster 3 Hyper" src="https://cdn.mos.cms.futurecdn.net/CJDdBF2aDcygYoq7LVhquH.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>It’s still not ideal for faster workouts, though, which is where the Cloudmonster 3 Hyper LS clearly excels compared to the other models.</p><p>The LS model is lighter and springier, and I loved doing tempo runs in it in particular. It also has the biggest range of the three shoes for me — it’s great for very easy runs, but you can push to your fastest speeds in interval sessions too, I found.</p><p>All three shoes handle easy runs well, then the ride gets softer, springier and more versatile as you move from the Cloudmonster 3 to the 3 Hyper and to the 3 Hyper LS.</p><h3 class="article-body__section" id="section-on-cloudmonster-3-vs-on-cloudmonster-3-hyper-verdict"><span>On Cloudmonster 3 vs On Cloudmonster 3 Hyper: Verdict</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="VoKJTxZRPMaHTnyrrcQuKD" name="On Cloudmonster 3" alt="On Cloudmonster 3" src="https://cdn.mos.cms.futurecdn.net/VoKJTxZRPMaHTnyrrcQuKD.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The On Cloudmonster 3 is a solid, good-looking shoe that will handle your easy runs and works well for lifestyle use, and it comes in the widest variety of colors at the lowest price of the trio.</p><p>I think it’s worth stepping up to a Hyper model for running, though. The Cloudmonster 3 Hyper is a better daily trainer that can pick up steady runs and is brilliant for long efforts in particular; it also looks great for general use in my opinion — I wear it all the time for this, months after I finished testing it.</p><p>The Cloudmonster 3 Hyper LS is the best running shoe of the three and one of the most versatile and impressive super-trainers available from any brand.</p><p>It’s prohibitively expensive, however, and the fit won’t work for everyone. The On Cloudmonster 3 Hyper hits the sweet spot of the line-up overall, but if you can try on the LS model and like the fit, it might be worth paying the extra to get such a great all-rounder running shoe.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I drove the Subaru Crosstrek and Hyundai Venue for a week — here's the sub-$40K SUV I'd buy with my own money ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Just last week I put the <a href="https://www.tomsguide.com/vehicle-tech/i-drove-the-subaru-forester-and-mazda-cx-5-for-week-heres-the-usd40k-crossover-suv-i-recommend">Subaru Forester and Mazda CX-5</a> to the test, and while they’re the right size and price for most families, I prefer something a bit smaller. That’s why I drove the <a href="https://www.subaru.com/vehicles/crosstrek/hybrid/2026.html" target="_blank">Subaru Crosstrek</a> and <a href="https://www.hyundaiusa.com/us/en/vehicles/venue" target="_blank">Hyundai Venue</a> for a week to see how these compact crossovers compare to each other.</p><p>While the base trims of both models are quite affordable, there’s a substantial price gap between the two specific trims I tested. The 2026 Subaru Crosstrek Limited Hybrid commands an as-tested price of $38,015, while the 2026 Hyundai Venue SEL with Two-Tone Roof comes in at a far more attractive $24,440.</p><p>With a spread of roughly $15,000, it raises the question of what you’re actually getting extra — or missing out on — by choosing one over the other. After calculating their real-world fuel economy and factoring in their feature packages, I was surprised by the one I ended up recommending.</p><figure class="inline-layout"><div style="min-height: 400px;"><fw-embed-feed channel="toms_guide" playlist="gOdY2y" mode="row" player_placement="bottom-right"></fw-embed-feed></div></figure><h2 class="article-body__section" id="section-subaru-crosstrek-vs-hyundai-venue-specifications"><span>Subaru Crosstrek vs. Hyundai Venue: Specifications</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2026 Subaru Crosstrek Limited Hybrid</strong></p></th><th  ><p><strong>2026 Hyundai Venue SEL w/2-Tone Roof</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price Tested</strong></p></td><td  ><p>$38,015</p></td><td  ><p>$24,440</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ><p>36 mpg city / 36 mpg highway / 36 mpg combined</p></td><td  ><p>29 mpg city / 33 mpg highway / 31 mpg combined</p></td></tr><tr><td class="firstcol " ><p><strong>Engine</strong></p></td><td  ><p>2.5-liter 4-cylinder SUBARU BOXER Engine (Hybrid Type)</p></td><td  ><p>1.6L  DOHC 4-Cylinder Engine</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Tank Capacity</strong></p></td><td  ><p>16.6 gallons</p></td><td  ><p>11.9 gallons</p></td></tr><tr><td class="firstcol " ><p><strong>Horsepower</strong></p></td><td  ><p>194 hp</p></td><td  ><p>121 hp</p></td></tr><tr><td class="firstcol " ><p><strong>Wheels</strong></p></td><td  ><p>18-inches</p></td><td  ><p>17-inches</p></td></tr><tr><td class="firstcol " ><p><strong>MSRP</strong></p></td><td  ><p>$34,995</p></td><td  ><p>$22,600</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-subaru-crosstrek-vs-hyundai-venue-design"><span>Subaru Crosstrek vs. Hyundai Venue: Design</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/vr8bDmWBhviucfgwikpeHR.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/exVbcpxDR9hJgSjtVMPoHG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/95BWNi44mu9u2XZirSw5FR.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/QrBGfiCawwuBJqZnZHGsLG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/V8fZtFNsrVosQ8hAzd6Z9R.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/NiCpdVrhXbJRWALabXV9MG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/AHv2AB6mZHDC6RA8aszNBR.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/E5Hcx2CAeo8VmCNudPKoGG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/dMj23i8JCLWG2VmoS8Ad7R.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/tcV7DJfBAxHLuDCRS2D8HG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure></figure><p>Despite both being classified as compact crossovers, they sport two contrasting personalities — each with its own set of pros and cons.</p><p>For example, I love how the 2026 Hyundai Venue SEL looks almost like a <a href="https://www.tomsguide.com/vehicle-tech/evs/i-drove-the-mini-cooper-countryman-ev-for-a-week-and-its-the-most-thrilling-ride-ive-tested-this-year">Mini Cooper Countryman</a> from afar, thanks to its two-tone color scheme featuring a white accented roof that contrasts nicely against the blue paint job. However, that sporty-meets-modern aesthetic shifts the moment you step inside, revealing exactly where Hyundai kept costs down. The cabin relies heavily on hard plastics and simple textures, giving the interior a noticeably spartan, budget-first feel.</p><p>On the other hand, the Subaru Crosstrek takes my vote for overall design by leaning fully into its rugged, adventure-ready identity. With its aggressive body cladding, functional roof rails, high ground clearance, and wide stance, it looks built for weekend getaways straight off the lot. Inside, the Crosstrek backs up those exterior promises with a significantly higher-end cabin — featuring contrast stitching, soft-touch materials, and a massive vertical touchscreen display that instantly makes the space feel more modern and substantial.</p><p><strong>Winner:</strong> Subaru Crosstrek</p><h2 class="article-body__section" id="section-subaru-crosstrek-vs-hyundai-venue-fuel-economy"><span>Subaru Crosstrek vs. Hyundai Venue: Fuel economy</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2026 Subaru Crosstrek Limited Hybrid</strong></p></th><th  ><p><strong>2026 Hyundai Venue SEL w/2-Tone Roof</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Total Miles Driven</strong></p></td><td  ><p>334.5 miles</p></td><td  ><p>133.1 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Average Fuel Economy</strong></p></td><td  ><p>38.4 mpg</p></td><td  ><p>37.8 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best short distance fuel economy</strong></p></td><td  ><p>53.6 mpg</p></td><td  ><p>49.6 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best long distance fuel economy</strong></p></td><td  ><p>41.8 mpg</p></td><td  ><p>40.6 mpg</p></td></tr></tbody></table></div><p>Looking strictly at the numbers above, both crossovers deliver impressive efficiency during my week testing each of them.</p><p>The Venue completely shatters my expectations. Against its 31 mpg EPA combined rating, it delivers an impressive 37.8 mpg real-world average. It even notches a 40.6 mpg high on long-distance highway runs and hits 49.6 mpg on short city trips. Those figures prove the raw efficiency of its pure-gas powertrain. Remember, the Venue isn't a hybrid — so it squeezes every drop of fuel efficiency out of a modest 1.6-liter 4-cylinder engine and a lightweight front-wheel-drive frame.</p><p>Still, the Subaru Crosstrek Limited Hybrid takes the crown. It beats the Venue across every single metric I track, averaging 38.4 mpg overall and hitting a staggering 53.6 mpg on short city drives. More importantly, it delivers those numbers while providing noticeably stronger performance. The Crosstrek punches harder under acceleration, offers standard all-wheel drive, and is way more confident on highways — all without sacrificing an ounce of power.</p><p><strong>Winner:</strong> Subaru Crosstrek</p><h2 class="article-body__section" id="section-subaru-crosstrek-vs-hyundai-venue-driving-performance"><span>Subaru Crosstrek vs. Hyundai Venue: Driving performance</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/4vQiTJ7EY6Y67zBk5jaoDG.gif" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ZDio264oev9T2JYrwejDAR.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/BhDLKgPdqnpwG4id7YFZ9R.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/dvtMbmoh6xdrJHhDR6pX6R.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>Right out of the gate, these two crossovers pull in completely different directions behind the wheel — and the Crosstrek delivers the superior drive.</p><p>Under the hood, a 2.5-liter 4-cylinder Boxer engine pairs with electric motors to generate 194 horsepower. That setup translates directly to instant off-the-line torque, snappy overtaking power on highways, and a remarkably quiet engine at cruising speeds. Add in Subaru's legendary Symmetrical All-Wheel Drive, and the Crosstrek tackles inclement weather with a level of confidence the front-wheel-drive Venue simply cannot match.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/gPocVTdHqFjWy2YNuPCtX3.gif" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Nru4bXqQ4bYEmb3vaB3xKG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/5E8ixCPMwPgMqhoQTFGfJG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/raLmSiqQ98CW2oEc9oajNG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure></figure><p>By comparison, the Hyundai Venue relies on a 1.6-liter engine that cranks out 121 horsepower and 113 lb-ft of torque, meaning it lacks that instant punch under acceleration. While its nimble steering makes easy work of tight city streets and cramped parking spaces, the engine works drastically harder to get up to speed compared to the Crosstrek’s effortless power delivery.</p><p><strong>Winner:</strong> Subaru Crosstrek</p><h2 class="article-body__section" id="section-subaru-crosstrek-vs-hyundai-venue-comfort"><span>Subaru Crosstrek vs. Hyundai Venue: Comfort</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/U8Jbo9p9caMuVXDfywDt8R.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ZiRyfHsUijaDEkBbKbfZNG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/7raoEFUxjckw3tnsUmtB8R.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/zn2G5eGEDwZufj4sKQZkNG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/PbRaGdcGvXLrFKLgpixuDF.gif" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/xGgjCAh2HYjnKUp5BXjce.gif" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/VxcLpXAqKggCqwaMCqpT6R.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/AeLZgK26T2tJzonr8eEXJG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/6HJzEDoTovZKcU7rxHSMnQ.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/qp3At5DPi73wiJAYb8nwHG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure></figure><p>As I mentioned earlier, these crossovers fit the ideal footprint I want for my next car — but the Crosstrek again proves it offers more of what I want when it comes to daily comfort.</p><p>It provides a far more accommodating environment for everyone inside. Up front, plush seats make long-distance drives a breeze, while rear passengers enjoy significantly more legroom to stretch out. Sure, it’s tighter than many midsize SUVs I test, but for a compact crossover, it offers plenty of space, alongside a larger trunk that easily accommodates larger sized packages with ease.</p><p>Other comforts I enjoy in the Crosstrek include driver-assistance tech like Subaru’s EyeSight adaptive cruise control, which continuously impresses me with how gently it brakes when cars abruptly cut into my lane. While I much prefer its massive 11.6-inch vertical touchscreen display, the native software interface does feel a bit dated  — but standard <a href="https://www.tomsguide.com/reference/apple-carplay">Apple CarPlay</a> and <a href="https://www.tomsguide.com/reference/android-auto-faq">Android Auto</a> integration easily make up for it.</p><p>In contrast, the Hyundai Venue feels noticeably tighter. Rear passengers get stuck with just 34.3 inches of legroom, and to make matters worse, Hyundai omits a center fold-down armrest for resting arms or holding beverages. Up front, the Venue’s main infotainment display is hilariously tiny and looks washed out in bright sunlight.</p><p><strong>Winner:</strong> Subaru Crosstrek</p><h2 class="article-body__section" id="section-subaru-crosstrek-vs-hyundai-venue-value"><span>Subaru Crosstrek vs. Hyundai Venue: Value</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/sHvVz93JHYRmo3EimYGSU3.gif" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/zdGnD6W5FWytCnWn5bh2MG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/tmpmZ9kxYQXWEHTxTK546G.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/CtWrHVT8cXejrzMPSTf6rE.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/st8fvqeYYowbdAgmiZ7aQG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure></figure><p>At first glance, the $24,440 as-tested price tag of the Hyundai Venue SEL makes it look like an easy value winner. In an era where finding a new car under $25K is rare, Hyundai offers a compelling option with the Venue — especially when it comes to savings at the pump.</p><p>That efficiency stands out as one of the Venue's biggest selling points because it delivers hybrid-like fuel economy without the hybrid price tag. But for me, the advantages end there, as everything else feels lackluster compared to the Crosstrek. The Venue's only real premium convenience feature is adaptive cruise control. Even then, unlike every other Hyundai I test, it lacks a dedicated button for lane-centering assist. Add in its smaller footprint, tight rear legroom, and bland cabin, and its limitations quickly become apparent.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/qrzv7KVzSUcUdrpX67MhuF.gif" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/FWC7NxtW6quZNjPXgDyH8R.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/tPpQQUHnh3jouKQmmUgQ8R.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uap6WDo2jxnrbab3zX2rqQ.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/qL2qUSHpdVpspMjikRjfnQ.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/8rhznvRvaFG2jWbAua8JAQ.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>While the 2026 Subaru Crosstrek Limited Hybrid requires a larger upfront investment, it fully justifies its $38,015 as-tested price. It delivers superior driving performance, standard all-wheel drive, and a cabin packed with premium features. You get a power driver’s seat with lumbar support, power moonroof, 10-speaker Harman Kardon sound system, and steering-responsive headlights. And if that's not enough to lock in its value proposition, the Crosstrek adds a 360-degree Surround View Monitor and a vastly superior ADAS suite.</p><p>When I factor in its hybrid fuel economy, superior capability, and feature set, the Crosstrek delivers far more long-term value for your investment.</p><p><strong>Winner:</strong> Subaru Crosstrek</p><h2 class="article-body__section" id="section-subaru-crosstrek-vs-hyundai-venue-verdict"><span>Subaru Crosstrek vs. Hyundai Venue: Verdict</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/pmXhaWwbfAoL8UYCSTJYCR.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/qBeSFFVC9ng5ajDse8qSMG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/KuCpquvf3YVU4MXvMuFuDR.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/yBU898ZkuqGfgz3yXNMdRG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ULN3mmDXrgDv7r37NBkC6R.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/st8fvqeYYowbdAgmiZ7aQG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uap6WDo2jxnrbab3zX2rqQ.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/tcV7DJfBAxHLuDCRS2D8HG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure></figure><p>While this head-to-head matchup ends in a landslide victory for the 2026 Subaru Crosstrek Limited Hybrid, declaring a winner comes down to what you value most in a daily driver.</p><p>If your absolute top priority is spending as little money as humanly possible while maximizing fuel economy, the Hyundai Venue deserves a serious look. For an as-tested price of $24,440, it delivers staggering real-world efficiency that rivals hybrids without the hybrid price premium. It’s light, easy to park, and remarkably cheap to buy in this economy, making it a smart choice for budget-first commuters who simply want low-cost transportation.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2026 Subaru Crosstrek Limited Hybrid</strong></p></th><th  ><p><strong>2026 Hyundai Venue SEL w/2-Tone Roof</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Design</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Driving Performance</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Comfort</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Value</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Total</strong></p></td><td  ><p>5</p></td><td  ><p>0</p></td></tr></tbody></table></div><p>However, the Subaru Crosstrek operates in an entirely different league. What’s even remarkable is that the base trim trades in convenience features and less fuel economy, but the Limited Hybrid is still the compelling option. It completely dominates in driving performance, ride comfort, passenger space, interior refinement, and technology over the Venue.</p><p>If you can stretch your budget, the Crosstrek isn't just the better crossover here — it’s the one I’d buy with my own money.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XjaYlO"></div>                            </div>                            <script src="https://kwizly.com/embed/XjaYlO.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/vehicle-tech/evs/im-not-anxious-that-its-getting-darker-earlier-with-this-thermal-camera-for-my-car-heres-why">I'm not anxious that it's getting darker earlier with this thermal camera for my car — here's why</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/i-borrowed-the-new-nissan-leaf-for-a-day-and-this-affordable-ev-nails-it">I just test drove the new Nissan Leaf — and it's irresistible at under $30,000</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/crabwalking-with-the-gmc-sierra-ev-is-the-weirdest-thing-ive-ever-done-with-a-car-and-its-actually-pretty-useful">CrabWalking with the GMC Sierra EV is the weirdest thing I’ve ever done with a car — and it’s actually pretty useful</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/vehicle-tech/i-drove-the-subaru-crosstrek-and-hyundai-venue-for-a-week-heres-the-sub-usd40k-suv-id-buy-with-my-own-money</link>
                                                                            <description>
                            <![CDATA[ I put the 2026 Subaru Crosstrek Limited Hybrid and 2026 Hyundai Venue SEL to the test by driving them for a week each to prove which is worth your money. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">kJvPfLCPkKozyv9EDtqzaC</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/KBjnQvPq3Bp6MMUaKjzoaZ-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 08 Aug 2026 10:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Vehicle Tech]]></category>
                                                                                                <author><![CDATA[ john.velasco@futurenet.com (John Velasco) ]]></author>                    <dc:creator><![CDATA[ John Velasco ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/TSj224oX8d5ERXaDs8pDGd.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/KBjnQvPq3Bp6MMUaKjzoaZ-1280-80.jpg">
                                                            <media:credit><![CDATA[John Velasco / Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[2026-Subaru-Crosstrek-vs-2026-Hyundai-Venue.]]></media:description>                                                            <media:text><![CDATA[2026-Subaru-Crosstrek-vs-2026-Hyundai-Venue.]]></media:text>
                                <media:title type="plain"><![CDATA[2026-Subaru-Crosstrek-vs-2026-Hyundai-Venue.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/KBjnQvPq3Bp6MMUaKjzoaZ-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Just last week I put the <a href="https://www.tomsguide.com/vehicle-tech/i-drove-the-subaru-forester-and-mazda-cx-5-for-week-heres-the-usd40k-crossover-suv-i-recommend">Subaru Forester and Mazda CX-5</a> to the test, and while they’re the right size and price for most families, I prefer something a bit smaller. That’s why I drove the <a href="https://www.subaru.com/vehicles/crosstrek/hybrid/2026.html" target="_blank">Subaru Crosstrek</a> and <a href="https://www.hyundaiusa.com/us/en/vehicles/venue" target="_blank">Hyundai Venue</a> for a week to see how these compact crossovers compare to each other.</p><p>While the base trims of both models are quite affordable, there’s a substantial price gap between the two specific trims I tested. The 2026 Subaru Crosstrek Limited Hybrid commands an as-tested price of $38,015, while the 2026 Hyundai Venue SEL with Two-Tone Roof comes in at a far more attractive $24,440.</p><p>With a spread of roughly $15,000, it raises the question of what you’re actually getting extra — or missing out on — by choosing one over the other. After calculating their real-world fuel economy and factoring in their feature packages, I was surprised by the one I ended up recommending.</p><figure class="inline-layout"><div style="min-height: 400px;"><fw-embed-feed channel="toms_guide" playlist="gOdY2y" mode="row" player_placement="bottom-right"></fw-embed-feed></div></figure><h2 class="article-body__section" id="section-subaru-crosstrek-vs-hyundai-venue-specifications"><span>Subaru Crosstrek vs. Hyundai Venue: Specifications</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2026 Subaru Crosstrek Limited Hybrid</strong></p></th><th  ><p><strong>2026 Hyundai Venue SEL w/2-Tone Roof</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price Tested</strong></p></td><td  ><p>$38,015</p></td><td  ><p>$24,440</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ><p>36 mpg city / 36 mpg highway / 36 mpg combined</p></td><td  ><p>29 mpg city / 33 mpg highway / 31 mpg combined</p></td></tr><tr><td class="firstcol " ><p><strong>Engine</strong></p></td><td  ><p>2.5-liter 4-cylinder SUBARU BOXER Engine (Hybrid Type)</p></td><td  ><p>1.6L  DOHC 4-Cylinder Engine</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Tank Capacity</strong></p></td><td  ><p>16.6 gallons</p></td><td  ><p>11.9 gallons</p></td></tr><tr><td class="firstcol " ><p><strong>Horsepower</strong></p></td><td  ><p>194 hp</p></td><td  ><p>121 hp</p></td></tr><tr><td class="firstcol " ><p><strong>Wheels</strong></p></td><td  ><p>18-inches</p></td><td  ><p>17-inches</p></td></tr><tr><td class="firstcol " ><p><strong>MSRP</strong></p></td><td  ><p>$34,995</p></td><td  ><p>$22,600</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-subaru-crosstrek-vs-hyundai-venue-design"><span>Subaru Crosstrek vs. Hyundai Venue: Design</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/vr8bDmWBhviucfgwikpeHR.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/exVbcpxDR9hJgSjtVMPoHG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/95BWNi44mu9u2XZirSw5FR.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/QrBGfiCawwuBJqZnZHGsLG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/V8fZtFNsrVosQ8hAzd6Z9R.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/NiCpdVrhXbJRWALabXV9MG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/AHv2AB6mZHDC6RA8aszNBR.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/E5Hcx2CAeo8VmCNudPKoGG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/dMj23i8JCLWG2VmoS8Ad7R.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/tcV7DJfBAxHLuDCRS2D8HG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure></figure><p>Despite both being classified as compact crossovers, they sport two contrasting personalities — each with its own set of pros and cons.</p><p>For example, I love how the 2026 Hyundai Venue SEL looks almost like a <a href="https://www.tomsguide.com/vehicle-tech/evs/i-drove-the-mini-cooper-countryman-ev-for-a-week-and-its-the-most-thrilling-ride-ive-tested-this-year">Mini Cooper Countryman</a> from afar, thanks to its two-tone color scheme featuring a white accented roof that contrasts nicely against the blue paint job. However, that sporty-meets-modern aesthetic shifts the moment you step inside, revealing exactly where Hyundai kept costs down. The cabin relies heavily on hard plastics and simple textures, giving the interior a noticeably spartan, budget-first feel.</p><p>On the other hand, the Subaru Crosstrek takes my vote for overall design by leaning fully into its rugged, adventure-ready identity. With its aggressive body cladding, functional roof rails, high ground clearance, and wide stance, it looks built for weekend getaways straight off the lot. Inside, the Crosstrek backs up those exterior promises with a significantly higher-end cabin — featuring contrast stitching, soft-touch materials, and a massive vertical touchscreen display that instantly makes the space feel more modern and substantial.</p><p><strong>Winner:</strong> Subaru Crosstrek</p><h2 class="article-body__section" id="section-subaru-crosstrek-vs-hyundai-venue-fuel-economy"><span>Subaru Crosstrek vs. Hyundai Venue: Fuel economy</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2026 Subaru Crosstrek Limited Hybrid</strong></p></th><th  ><p><strong>2026 Hyundai Venue SEL w/2-Tone Roof</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Total Miles Driven</strong></p></td><td  ><p>334.5 miles</p></td><td  ><p>133.1 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Average Fuel Economy</strong></p></td><td  ><p>38.4 mpg</p></td><td  ><p>37.8 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best short distance fuel economy</strong></p></td><td  ><p>53.6 mpg</p></td><td  ><p>49.6 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best long distance fuel economy</strong></p></td><td  ><p>41.8 mpg</p></td><td  ><p>40.6 mpg</p></td></tr></tbody></table></div><p>Looking strictly at the numbers above, both crossovers deliver impressive efficiency during my week testing each of them.</p><p>The Venue completely shatters my expectations. Against its 31 mpg EPA combined rating, it delivers an impressive 37.8 mpg real-world average. It even notches a 40.6 mpg high on long-distance highway runs and hits 49.6 mpg on short city trips. Those figures prove the raw efficiency of its pure-gas powertrain. Remember, the Venue isn't a hybrid — so it squeezes every drop of fuel efficiency out of a modest 1.6-liter 4-cylinder engine and a lightweight front-wheel-drive frame.</p><p>Still, the Subaru Crosstrek Limited Hybrid takes the crown. It beats the Venue across every single metric I track, averaging 38.4 mpg overall and hitting a staggering 53.6 mpg on short city drives. More importantly, it delivers those numbers while providing noticeably stronger performance. The Crosstrek punches harder under acceleration, offers standard all-wheel drive, and is way more confident on highways — all without sacrificing an ounce of power.</p><p><strong>Winner:</strong> Subaru Crosstrek</p><h2 class="article-body__section" id="section-subaru-crosstrek-vs-hyundai-venue-driving-performance"><span>Subaru Crosstrek vs. Hyundai Venue: Driving performance</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/4vQiTJ7EY6Y67zBk5jaoDG.gif" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ZDio264oev9T2JYrwejDAR.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/BhDLKgPdqnpwG4id7YFZ9R.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/dvtMbmoh6xdrJHhDR6pX6R.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>Right out of the gate, these two crossovers pull in completely different directions behind the wheel — and the Crosstrek delivers the superior drive.</p><p>Under the hood, a 2.5-liter 4-cylinder Boxer engine pairs with electric motors to generate 194 horsepower. That setup translates directly to instant off-the-line torque, snappy overtaking power on highways, and a remarkably quiet engine at cruising speeds. Add in Subaru's legendary Symmetrical All-Wheel Drive, and the Crosstrek tackles inclement weather with a level of confidence the front-wheel-drive Venue simply cannot match.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/gPocVTdHqFjWy2YNuPCtX3.gif" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Nru4bXqQ4bYEmb3vaB3xKG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/5E8ixCPMwPgMqhoQTFGfJG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/raLmSiqQ98CW2oEc9oajNG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure></figure><p>By comparison, the Hyundai Venue relies on a 1.6-liter engine that cranks out 121 horsepower and 113 lb-ft of torque, meaning it lacks that instant punch under acceleration. While its nimble steering makes easy work of tight city streets and cramped parking spaces, the engine works drastically harder to get up to speed compared to the Crosstrek’s effortless power delivery.</p><p><strong>Winner:</strong> Subaru Crosstrek</p><h2 class="article-body__section" id="section-subaru-crosstrek-vs-hyundai-venue-comfort"><span>Subaru Crosstrek vs. Hyundai Venue: Comfort</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/U8Jbo9p9caMuVXDfywDt8R.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ZiRyfHsUijaDEkBbKbfZNG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/7raoEFUxjckw3tnsUmtB8R.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/zn2G5eGEDwZufj4sKQZkNG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/PbRaGdcGvXLrFKLgpixuDF.gif" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/xGgjCAh2HYjnKUp5BXjce.gif" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/VxcLpXAqKggCqwaMCqpT6R.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/AeLZgK26T2tJzonr8eEXJG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/6HJzEDoTovZKcU7rxHSMnQ.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/qp3At5DPi73wiJAYb8nwHG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure></figure><p>As I mentioned earlier, these crossovers fit the ideal footprint I want for my next car — but the Crosstrek again proves it offers more of what I want when it comes to daily comfort.</p><p>It provides a far more accommodating environment for everyone inside. Up front, plush seats make long-distance drives a breeze, while rear passengers enjoy significantly more legroom to stretch out. Sure, it’s tighter than many midsize SUVs I test, but for a compact crossover, it offers plenty of space, alongside a larger trunk that easily accommodates larger sized packages with ease.</p><p>Other comforts I enjoy in the Crosstrek include driver-assistance tech like Subaru’s EyeSight adaptive cruise control, which continuously impresses me with how gently it brakes when cars abruptly cut into my lane. While I much prefer its massive 11.6-inch vertical touchscreen display, the native software interface does feel a bit dated  — but standard <a href="https://www.tomsguide.com/reference/apple-carplay">Apple CarPlay</a> and <a href="https://www.tomsguide.com/reference/android-auto-faq">Android Auto</a> integration easily make up for it.</p><p>In contrast, the Hyundai Venue feels noticeably tighter. Rear passengers get stuck with just 34.3 inches of legroom, and to make matters worse, Hyundai omits a center fold-down armrest for resting arms or holding beverages. Up front, the Venue’s main infotainment display is hilariously tiny and looks washed out in bright sunlight.</p><p><strong>Winner:</strong> Subaru Crosstrek</p><h2 class="article-body__section" id="section-subaru-crosstrek-vs-hyundai-venue-value"><span>Subaru Crosstrek vs. Hyundai Venue: Value</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/sHvVz93JHYRmo3EimYGSU3.gif" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/zdGnD6W5FWytCnWn5bh2MG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/tmpmZ9kxYQXWEHTxTK546G.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/CtWrHVT8cXejrzMPSTf6rE.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/st8fvqeYYowbdAgmiZ7aQG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure></figure><p>At first glance, the $24,440 as-tested price tag of the Hyundai Venue SEL makes it look like an easy value winner. In an era where finding a new car under $25K is rare, Hyundai offers a compelling option with the Venue — especially when it comes to savings at the pump.</p><p>That efficiency stands out as one of the Venue's biggest selling points because it delivers hybrid-like fuel economy without the hybrid price tag. But for me, the advantages end there, as everything else feels lackluster compared to the Crosstrek. The Venue's only real premium convenience feature is adaptive cruise control. Even then, unlike every other Hyundai I test, it lacks a dedicated button for lane-centering assist. Add in its smaller footprint, tight rear legroom, and bland cabin, and its limitations quickly become apparent.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/qrzv7KVzSUcUdrpX67MhuF.gif" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/FWC7NxtW6quZNjPXgDyH8R.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/tPpQQUHnh3jouKQmmUgQ8R.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uap6WDo2jxnrbab3zX2rqQ.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/qL2qUSHpdVpspMjikRjfnQ.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/8rhznvRvaFG2jWbAua8JAQ.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>While the 2026 Subaru Crosstrek Limited Hybrid requires a larger upfront investment, it fully justifies its $38,015 as-tested price. It delivers superior driving performance, standard all-wheel drive, and a cabin packed with premium features. You get a power driver’s seat with lumbar support, power moonroof, 10-speaker Harman Kardon sound system, and steering-responsive headlights. And if that's not enough to lock in its value proposition, the Crosstrek adds a 360-degree Surround View Monitor and a vastly superior ADAS suite.</p><p>When I factor in its hybrid fuel economy, superior capability, and feature set, the Crosstrek delivers far more long-term value for your investment.</p><p><strong>Winner:</strong> Subaru Crosstrek</p><h2 class="article-body__section" id="section-subaru-crosstrek-vs-hyundai-venue-verdict"><span>Subaru Crosstrek vs. Hyundai Venue: Verdict</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/pmXhaWwbfAoL8UYCSTJYCR.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/qBeSFFVC9ng5ajDse8qSMG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/KuCpquvf3YVU4MXvMuFuDR.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/yBU898ZkuqGfgz3yXNMdRG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ULN3mmDXrgDv7r37NBkC6R.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/st8fvqeYYowbdAgmiZ7aQG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uap6WDo2jxnrbab3zX2rqQ.jpg" alt="2026 Subaru Crosstrek review." /><figcaption>2026 Subaru Crosstrek.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/tcV7DJfBAxHLuDCRS2D8HG.jpg" alt="2026 Hyundai Venue review." /><figcaption>2026 Hyundai Venue.<small role="credit">John Velasco</small></figcaption></figure></figure><p>While this head-to-head matchup ends in a landslide victory for the 2026 Subaru Crosstrek Limited Hybrid, declaring a winner comes down to what you value most in a daily driver.</p><p>If your absolute top priority is spending as little money as humanly possible while maximizing fuel economy, the Hyundai Venue deserves a serious look. For an as-tested price of $24,440, it delivers staggering real-world efficiency that rivals hybrids without the hybrid price premium. It’s light, easy to park, and remarkably cheap to buy in this economy, making it a smart choice for budget-first commuters who simply want low-cost transportation.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2026 Subaru Crosstrek Limited Hybrid</strong></p></th><th  ><p><strong>2026 Hyundai Venue SEL w/2-Tone Roof</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Design</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Driving Performance</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Comfort</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Value</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Total</strong></p></td><td  ><p>5</p></td><td  ><p>0</p></td></tr></tbody></table></div><p>However, the Subaru Crosstrek operates in an entirely different league. What’s even remarkable is that the base trim trades in convenience features and less fuel economy, but the Limited Hybrid is still the compelling option. It completely dominates in driving performance, ride comfort, passenger space, interior refinement, and technology over the Venue.</p><p>If you can stretch your budget, the Crosstrek isn't just the better crossover here — it’s the one I’d buy with my own money.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XjaYlO"></div>                            </div>                            <script src="https://kwizly.com/embed/XjaYlO.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/vehicle-tech/evs/im-not-anxious-that-its-getting-darker-earlier-with-this-thermal-camera-for-my-car-heres-why">I'm not anxious that it's getting darker earlier with this thermal camera for my car — here's why</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/i-borrowed-the-new-nissan-leaf-for-a-day-and-this-affordable-ev-nails-it">I just test drove the new Nissan Leaf — and it's irresistible at under $30,000</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/crabwalking-with-the-gmc-sierra-ev-is-the-weirdest-thing-ive-ever-done-with-a-car-and-its-actually-pretty-useful">CrabWalking with the GMC Sierra EV is the weirdest thing I’ve ever done with a car — and it’s actually pretty useful</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Samsung Galaxy Z Fold 8 Ultra vs Galaxy Z Fold 7 — are this year's upgrades really worth it? ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-ultra-review">Samsung Galaxy Z Fold 8 Ultra</a> is a fantastic foldable, with a lot of great upgrades that (mostly) stands up to the Ultra moniker. But the <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-7-review">Galaxy Z Fold 7 </a>was also a fantastic foldable when it was released last year, with our review declaring it to be the foldable phone we've been waiting for.</p><p>Obviously this leaves us with a few questions that need answering. The Z Fold 8 Ultra is the better phone, but is it still good enough to supplant the Z Fold 7 as the foldable you should buy? After all, the Z Fold 8 Ultra is more expensive, and the Z Fold 7 is likely to get some price cuts in the wake of the Ultra's launch.</p><p>So how does the Galaxy Z Fold 8 Ultra compare to the Galaxy Z Fold 7, and which of these foldables is right for you?</p><h3 class="article-body__section" id="section-samsung-galaxy-z-fold-8-ultra-vs-samsung-galaxy-z-fold-7-specs"><span>Samsung Galaxy Z Fold 8 Ultra vs Samsung Galaxy Z Fold 7: Specs</span></h3><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Samsung Galazy Z Fold 8 Ultra</strong></p></td><td  ><p><strong>Samsung Galazy Z Fold 7</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>From $2,099</p></td><td  ><p>From $1,999</p></td></tr><tr><td class="firstcol " ><p><strong>Main Display</strong></p></td><td  ><p>8 inches AMOLED (2184 x 1968, 1-120Hz)</p></td><td  ><p>8 inches AMOLED (2184 x 1968, 1-120Hz)</p></td></tr><tr><td class="firstcol " ><p><strong>Cover Display</strong></p></td><td  ><p>6.5 inches AMOLED (2520 x 1080, 1-120Hz)</p></td><td  ><p>6.5 inches AMOLED (2520 x 1080, 1-120Hz)</p></td></tr><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>Snapdragon 8 Elite Gen 5 for Galaxy</p></td><td  ><p>Snapdragon 8 Elite </p></td></tr><tr><td class="firstcol " ><p><strong>RAM</strong></p></td><td  ><p>12GB / 16GB</p></td><td  ><p>12GB / 16GB</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>256GB / 512GB / 1TB</p></td><td  ><p>256GB / 512GB / 1TB</p></td></tr><tr><td class="firstcol " ><p><strong>Front Camera</strong></p></td><td  ><p>10MP, 10MP</p></td><td  ><p>10MP, 10MP</p></td></tr><tr><td class="firstcol " ><p><strong>Rear Camera</strong></p></td><td  ><p>200MP wide, 50MP ultra-wide, 10MP telephoto (3x optical)</p></td><td  ><p>200MP wide, 12MP ultra-wide, 10MP telephoto ( 3x opticazoom)</p></td></tr><tr><td class="firstcol " ><p><strong>Battery</strong></p></td><td  ><p>5,000 mAh</p></td><td  ><p>4,400 mAh</p></td></tr><tr><td class="firstcol " ><p><strong>Charging</strong></p></td><td  ><p>45W wired, 20W wireless</p></td><td  ><p>25W wired, 15W wireless</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>158.4 x 72.8 x 8.9 mm (6.24 x 2.87 x 0.35 inches) folded, 143.2 x 158.4 x 4.2 mm (5.64 x 6.24 x 0.16 inches) unfolded</p></td><td  ><p>158.4 x 72.8 x 8.9 mm (6.24 x 2.87 x 0.35 inches) folded, 143.2 x 158.4 x 4.2 mm (5.64 x 6.24 x 0.17 inches) unfolded</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>215 grams (7.5 ounces)</p></td><td  ><p>215 grams (7.5 ounces)</p></td></tr><tr><td class="firstcol " ><p><strong>IP Rating</strong></p></td><td  ><p>IP48</p></td><td  ><p>IP48</p></td></tr><tr><td class="firstcol " ><p>Colors</p></td><td  ><p>Violet shadow, Cream, Graphite, Violet Green (online exclusive)</p></td><td  ><p>Blue Shadow, Silver Shadow, Jet-black, Mint</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-samsung-galaxy-z-fold-8-ultra-vs-samsung-galaxy-z-fold-7-price-availability"><span>Samsung Galaxy Z Fold 8 Ultra vs Samsung Galaxy Z Fold 7: Price & availability</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3328px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="T6UGidvhwk5Am5sBqHvBVS" name="Z Fold 8 Ultra vs Z Fold 7-8" alt="samsung galaxy z fold 7 and galaxy z fold 8 ultra" src="https://cdn.mos.cms.futurecdn.net/T6UGidvhwk5Am5sBqHvBVS.jpg" mos="" align="middle" fullscreen="" width="3328" height="1872" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Samsung Galaxy Z Fold 7 has been on sale since last July, with prices starting at $1,999 for a model with 12GB of RAM and 256GB of storage. 512GB is available for $2,199, while a 1TB model with 16GB of RAM can be purchased for $2,499. </p><p>Color options include Silver Shadow, Jet Black, Blue Shadow and the Samsung-exclusive Mint. This phone is also likely to be discounted in the wake of the Z 8 series launch, since it's already a year old.</p><p>The Samsung Galaxy Z Fold 8 Ultra goes on sale on August 7, with prices starting at $2,199 for a model with 12GB of RAM and 256GB storage. 512GB raises the price to $2,299, while 1TB with 16GB of RAM will set you back $2,699.</p><p>Color options include Violet Shadow, Cream, Graphite and the Samsung-exclusive Green Shadow.</p><h3 class="article-body__section" id="section-samsung-galaxy-z-fold-8-ultra-vs-samsung-galaxy-z-fold-7-design-and-display"><span>Samsung Galaxy Z Fold 8 Ultra vs Samsung Galaxy Z Fold 7: Design and Display</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="TWaz6ndtJJBBsfEpVDj2cS" name="Z Fold 8 Ultra vs Z Fold 7-2" alt="samsung galaxy z fold 7 and galaxy z fold 8 ultra" src="https://cdn.mos.cms.futurecdn.net/TWaz6ndtJJBBsfEpVDj2cS.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Samsung didn't offer any bold redesigns with the Z Fold 8 Ultra, and the new foldable's shape and size is more or less identical to the Galaxy Z Fold 7. They're not quite the same, since Z Fold 7 cases don't appear to fit on the back of the 8 Ultra, but it's close enough that you'd need precise measuring tools to notice.</p><p>The biggest upgrade is that the Z Fold 8 Ultra features a new <a href="https://www.tomsguide.com/phones/samsung-phones/ive-seen-the-galaxy-z-fold-8s-flex-titanium-screen-and-apple-should-be-nervous">Flex Titanium display</a>, which offers improved durability and significantly less creasing in the middle. <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-doesnt-have-a-crease-free-display-but-its-the-closest-samsung-has-ever-got-to-one">It's not quite crease-free</a>, but it is almost invisible compared to the Z Fold 7. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2417px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="xYL3dLrXaNVRNg92GfxqsR" name="Z Fold 8 Ultra vs Z Fold 7-4" alt="samsung galaxy z fold 7 and galaxy z fold 8 ultra" src="https://cdn.mos.cms.futurecdn.net/xYL3dLrXaNVRNg92GfxqsR.jpg" mos="" align="middle" fullscreen="" width="2417" height="1360" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Fold 8 Ultra also has a much better screen when it comes to dealing with bright light. Both phones have the same high resolution screens and adaptive 1-120Hz refresh rates, but the Z Fold 7 isn't nearly as bright as the 8 Ultra. In fact, last year's foldable recorded a peak brightness of 2,245 nits, while the Z Fold 8 Ultra hit 2,687 nits. </p>                    <div class= "tiktok-wrapper" style="min-height: 750px;"><blockquote class="tiktok-embed" cite="https://www.tiktok.com/@mspoonyg/video/7666429528071294222" data-video-id="7666429528071294222" style="max-width: 605px; min-width: 325px;">                        <section>                            <a target="_blank" title="@mspoonyg" href="https://www.tiktok.com/@mspoonyg">@mspoonyg</a>                            <p></p><a target="_blank" title="♬ Thank You for Sunshine - House Duduk Music" href="https://www.tiktok.com/music/Thank-You-for-Sunshine-7650727836295612417">♬ Thank You for Sunshine - House Duduk Music</a></section>                    </blockquote></div>                <p>The <a href="https://www.tomsguide.com/phones/samsung-phones/i-took-the-galaxy-z-fold-8-ultra-and-fold-7-outside-and-the-difference-is-astonishing">anti-reflective coating on the newer foldable</a> also makes it a lot easier to use the Fold 8 Ultra in bright conditions, and it makes a shocking amount of difference in reducing glare. By which I mean you won't see your own silhouette staring back at you nearly as much.</p><h3 class="article-body__section" id="section-samsung-galaxy-z-fold-8-ultra-vs-samsung-galaxy-z-fold-7-performance"><span>Samsung Galaxy Z Fold 8 Ultra vs Samsung Galaxy Z Fold 7: Performance</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2891px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="xqV8DFuJtvGXYn6VEmv86S" name="Z Fold 8 Ultra vs Z Fold 7-9" alt="samsung galaxy z fold 7 and galaxy z fold 8 ultra" src="https://cdn.mos.cms.futurecdn.net/xqV8DFuJtvGXYn6VEmv86S.jpg" mos="" align="middle" fullscreen="" width="2891" height="1626" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Galaxy Z Fold 8 Ultra is the first Galaxy foldable to feature the custom "for Galaxy" chipset, which means it shares the same <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-s26-performance-face-off-snapdragon-8-elite-gen-5-vs-exynos-2600">Snapdragon 8 Elite Gen 5 for Galaxy chipset</a> as the Galaxy S26 series. Older foldables utilized Snapdragon's standard flagship chip, so the Z Fold 7 arrived running the same Snapdragon 8 Elite as countless other non-Samsung phones.</p><p>While the off-the-shelf chip is no slouch, the upgrade to a For Galaxy chipset means that the <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-vs-fold-8-ultra-vs-flip-8-benchmarked-the-results-are-in">Z Fold 8 Ultra gets to enjoy a performance boost</a> compared to its predecessor.</p><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Geekbench (Single/Multicore)</strong></p></td><td  ><p><strong>3DMark Solar Bay Unlimited</strong></p></td><td  ><p><strong>Geekbench AI</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 8 Ultra</strong></p></td><td  ><p>3,733/11,457</p></td><td  ><p>49.24/12,950</p></td><td  ><p>71715</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 7</strong></p></td><td  ><p>3,052/9,735</p></td><td  ><p>41.21/10,812</p></td><td  ><p>61299</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy S26 Ultra</strong></p></td><td  ><p>3,785 / 11,563</p></td><td  ><p>49.37 / 12,984</p></td><td  ><p>83047 (TensorFlow Lite QNN)</p></td></tr></tbody></table></div><p>As you can see in the table above, the Z Fold 8 Ultra finished Geekbench 6 with a single-core score of 3,733 and a multi-core score of 11,457. That's compared to the 3,052 and 9,735 scores recorded by the Z Fold 7 during the same benchmarking test. That's quite the jump, especially on the multi-core testing.</p><p>Graphics performance is a pretty similar story, with the Z Fold 8 Ultra scoring 12,950 in 3DMark's Solar Bay Unlimited benchmark test, with an average framerate of 49.24 fps. The Z Fold 7 came out with 10,912 and 41.21 fps which, while not terrible performance, seriously lags behind. Geekbench's AI test is more of the same with the Z Fold 8 Ultra coming in with a score of 71,715 to the Z Fold 7's 59,663.</p><h3 class="article-body__section" id="section-samsung-galaxy-z-fold-8-ultra-vs-samsung-galaxy-z-fold-7-cameras"><span>Samsung Galaxy Z Fold 8 Ultra vs Samsung Galaxy Z Fold 7: Cameras</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3519px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="WcYimQVpPWYAFuWxKQJdES" name="Z Fold 8 Ultra vs Z Fold 7-6" alt="samsung galaxy z fold 7 and galaxy z fold 8 ultra" src="https://cdn.mos.cms.futurecdn.net/WcYimQVpPWYAFuWxKQJdES.jpg" mos="" align="middle" fullscreen="" width="3519" height="1979" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The camera situation on the Galaxy Z Fold 8 Ultra is a little hit and miss, though the same is true of the Z Fold 7. Both phones share the same 200MP main camera lens, 10MP telephoto lens with 3x optical zoom and a pair of 10MP selfie cameras (one for each screen). </p><p>However, the 8 Ultra's ultrawide camera has been given a much-needed update, increasing the resolution to 50MP — among smaller changes. But saying the phones both have similar camera hardware doesn't really tell us how different the photos actually are — especially now that software plays such a huge part in the process.</p><iframe allow="" height="395" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=2c06f5cc-90f5-11f1-ba1b-0e6f42328d7d"></iframe><p>You'd think that the quality of the 200MP main lens would be identical across both phones, but that actually isn't the case. They seem alike at first glance, but the Z Fold 8 Ultra is actually picking up a lot more detail compared to its predecessor. </p><p>The text on this mail box is a lot more legible, and the finer details in the brickwork stand out a lot more. Overall, the Fold 8 Ultra delivers a much clearer and crisper image.</p><iframe allow="" height="395" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=17b020c6-90f5-11f1-ba1b-0e6f42328d7d"></iframe><p>Despite the big bump in resolution, the difference in the ultrawide shots are pretty subtle — just as they were when I tested the cameras for the Galaxy Z Fold 8 Ultra review. The Z Fold 8 Ultra offers crisper image quality and a slightly brighter photo overall. At a glance, most won't be able to pick up the subtleties of how the two cameras are different.</p><iframe allow="" height="395" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=40a85188-90f5-11f1-ba1b-0e6f42328d7d"></iframe><p>Macro shots aren't that dissimilar either, and both phones are able to capture the smaller details from close-up shots. However, the Z Fold 7's shot is noticeably more washed out, and doesn't feature the same deeper coloring of the Z Fold 8 Ultra.</p><iframe allow="" height="395" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=e8c3cc5e-90f4-11f1-ba1b-0e6f42328d7d"></iframe><p>The selfie camera quality is more or less identical on both phones. Some areas are clearer than others, depending on which side you're looking at, but that seems to be due to the variations on focus rather than the actual quality of the final shot. The Z Fold 8 Ultra is a little bit brighter, though.</p><iframe allow="" height="395" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=cfc2f298-90f4-11f1-ba1b-0e6f42328d7d"></iframe><p>Portrait mode is exactly the same, with the exact same focus variations and brightness difference as the regular selfie mode. Neither photo has any particular characteristics that make it superior to the other, and the bokeh effect looks exactly the same across both devices.</p><iframe allow="" height="395" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=7fe0a734-90f4-11f1-ba1b-0e6f42328d7d"></iframe><p>Speaking of identical, the same is true of the telephoto lens at 3x optical zoom. The quality of the shot on both phones is pretty poor, and it's an upgrade Samsung desperately needs to make ahead of the Z Fold 9 launch next year.</p><iframe allow="" height="395" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=afe785b0-90f4-11f1-ba1b-0e6f42328d7d"></iframe><p>Pushing the magnification up to 10x doesn't make any difference either. While the details are being picked up by the camera, the actual quality of the final shot is atrocious compared to other flagship phones that cost considerably less money — including Samsung's own Galaxy S26 Ultra.</p><iframe allow="" height="395" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=00141e9a-90f5-11f1-ba1b-0e6f42328d7d"></iframe><p>Samsung made a point of emphasizing how much it was improving low light capabilities with the Z Fold 8 Ultra, and it definitely looks like it's succeeded. Compared to the Z Fold 7, the night-time shots are brighter, crisper and pick up a lot more detail from the mail box. In fact, the Z Fold 7 shot blurs out the letters V and R around the crown at the top</p><p>Samsung has clearly made some improvements to the Galaxy Z Fold 8 Ultra, especially where low light photography is concerned. But a lot of the daytime upgrades seem to be a lot more subtle, and less noticeable to the casual observer. Whether that minor boost is worth it for you all depends on which phone you have, and whether the Z Fold 8 Ultra's other upgrades matter to you or not.</p><h3 class="article-body__section" id="section-samsung-galaxy-z-fold-8-ultra-vs-samsung-galaxy-z-fold-7-battery-charging"><span>Samsung Galaxy Z Fold 8 Ultra vs Samsung Galaxy Z Fold 7: Battery & charging</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3531px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="imtV2afR8StvoQEVHJmnSS" name="Z Fold 8 Ultra vs Z Fold 7-10" alt="samsung galaxy z fold 7 and galaxy z fold 8 ultra" src="https://cdn.mos.cms.futurecdn.net/imtV2afR8StvoQEVHJmnSS.jpg" mos="" align="middle" fullscreen="" width="3531" height="1986" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>One of the biggest upgrades on the Galaxy Z Fold 8 Ultra is the fact that the <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-vs-fold-8-ultra-vs-flip-8-battery-tests-silicon-carbon-pays-off">battery life is so much better now</a>. This is thanks to a higher capacity silicon carbon battery with 5,000 mAh capacity, compared to 4,400 mAh for the Fold 7. Our custom battery test, which involves web-surfing over a 5G connection until the power runs out, clocked the Z Fold 8 Ultra's battery life at 14 hours and 33 minutes.</p><p>While this isn't as good as the Galaxy S26 Ultra, it is almost four hours longer than the Galaxy Z Fold 7's 10 hours and 44 minutes of battery life. Under 11 hours is pretty disappointing, but hitting 14+ hours means the Z Fold 8 Ultra is far more likely to make it through a single day without recharging.</p><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Hours : Minutes</strong></p></td><td  ><p><strong>Charging % in 30 minutes</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 8 Ultra</strong></p></td><td  ><p>14:33</p></td><td  ><p>76%</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 7</strong></p></td><td  ><p>10:44</p></td><td  ><p>54%</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy S26 Ultra</strong></p></td><td  ><p>16:10</p></td><td  ><p>77%</p></td></tr></tbody></table></div><p>The Z Fold 8 Ultra offers 45W wired charging compared to the Z Fold 7's 25W. That faster charging allows the phone to reclaim 76% of its battery life in just 30 minutes, compared to 54% on the Z Fold 7. Wireless charging has also increased by 5W, with up to 20W Qi2 speeds on the Z Fold 8 Ultra — though the embedded magnets are still missing from the phone.</p><h3 class="article-body__section" id="section-samsung-galaxy-z-fold-8-ultra-vs-samsung-galaxy-z-fold-7-verdict"><span>Samsung Galaxy Z Fold 8 Ultra vs Samsung Galaxy Z Fold 7: Verdict</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3187px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="ibSFwbJGnJU62HeZzyCu4S" name="Z Fold 8 Ultra vs Z Fold 7-LIST" alt="samsung galaxy z fold 7 and galaxy z fold 8 ultra" src="https://cdn.mos.cms.futurecdn.net/ibSFwbJGnJU62HeZzyCu4S.jpg" mos="" align="middle" fullscreen="" width="3187" height="1793" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Samsung Galaxy Z Fold 8 Ultra has a lot of upgrades compared to last year, and the majority of them are available in areas that actually matter to your everyday use of the phone. Battery life is significantly improved, performance has taken a pretty big jump and the bright, anti-reflective display makes it significantly nicer to use this phone in a variety of conditions. </p><p>Those are all notable quality of life improvements that could make the Z Fold 8 Ultra the foldable of choice for most people. The camera changes are subtle, with the biggest difference being low-light performance.</p><p>Overall. the Fold 7 is still a very good foldable, especially when you can find it for a sizable discount. But if you're in the market for a new foldable phone, the Fold 8 Ultra is hands-down the better option.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom’s Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/samsung-phones/i-just-tried-the-new-samsung-dex-on-the-galaxy-z-fold-8-and-it-has-one-huge-upgrade">I just tried the new Samsung DeX on the Galaxy Z Fold 8 — and it has one huge upgrade</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/3-big-ways-the-iphone-ultra-could-beat-the-galaxy-z-fold-8">iPhone Ultra vs Galaxy Z Fold 8 — here's 3 big ways Apple could win</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-vs-fold-8-ultra-camera-test-is-the-telephoto-zoom-worth-the-extra-usd200">I tested the Galaxy Z Fold 8 vs. Fold 8 Ultra to see if the lack of a telephoto zoom is a dealbreaker</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-ultra-vs-galaxy-z-fold-7-are-this-years-upgrades-really-worth-it</link>
                                                                            <description>
                            <![CDATA[ Is the Galaxy Z Fold 8 Ultra really a worthy upgrade over the Galaxy Z Fold 7? We put both phones to the test ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">iSrvHa6ZNdEiyKXRBpmYGJ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/PQzuLPfoynftVZMYbb3hGS-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 08 Aug 2026 04:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/PQzuLPfoynftVZMYbb3hGS-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[samsung galaxy z fold 7 and galaxy z fold 8 ultra]]></media:description>                                                            <media:text><![CDATA[samsung galaxy z fold 7 and galaxy z fold 8 ultra]]></media:text>
                                <media:title type="plain"><![CDATA[samsung galaxy z fold 7 and galaxy z fold 8 ultra]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/PQzuLPfoynftVZMYbb3hGS-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-ultra-review">Samsung Galaxy Z Fold 8 Ultra</a> is a fantastic foldable, with a lot of great upgrades that (mostly) stands up to the Ultra moniker. But the <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-7-review">Galaxy Z Fold 7 </a>was also a fantastic foldable when it was released last year, with our review declaring it to be the foldable phone we've been waiting for.</p><p>Obviously this leaves us with a few questions that need answering. The Z Fold 8 Ultra is the better phone, but is it still good enough to supplant the Z Fold 7 as the foldable you should buy? After all, the Z Fold 8 Ultra is more expensive, and the Z Fold 7 is likely to get some price cuts in the wake of the Ultra's launch.</p><p>So how does the Galaxy Z Fold 8 Ultra compare to the Galaxy Z Fold 7, and which of these foldables is right for you?</p><h3 class="article-body__section" id="section-samsung-galaxy-z-fold-8-ultra-vs-samsung-galaxy-z-fold-7-specs"><span>Samsung Galaxy Z Fold 8 Ultra vs Samsung Galaxy Z Fold 7: Specs</span></h3><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Samsung Galazy Z Fold 8 Ultra</strong></p></td><td  ><p><strong>Samsung Galazy Z Fold 7</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>From $2,099</p></td><td  ><p>From $1,999</p></td></tr><tr><td class="firstcol " ><p><strong>Main Display</strong></p></td><td  ><p>8 inches AMOLED (2184 x 1968, 1-120Hz)</p></td><td  ><p>8 inches AMOLED (2184 x 1968, 1-120Hz)</p></td></tr><tr><td class="firstcol " ><p><strong>Cover Display</strong></p></td><td  ><p>6.5 inches AMOLED (2520 x 1080, 1-120Hz)</p></td><td  ><p>6.5 inches AMOLED (2520 x 1080, 1-120Hz)</p></td></tr><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>Snapdragon 8 Elite Gen 5 for Galaxy</p></td><td  ><p>Snapdragon 8 Elite </p></td></tr><tr><td class="firstcol " ><p><strong>RAM</strong></p></td><td  ><p>12GB / 16GB</p></td><td  ><p>12GB / 16GB</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>256GB / 512GB / 1TB</p></td><td  ><p>256GB / 512GB / 1TB</p></td></tr><tr><td class="firstcol " ><p><strong>Front Camera</strong></p></td><td  ><p>10MP, 10MP</p></td><td  ><p>10MP, 10MP</p></td></tr><tr><td class="firstcol " ><p><strong>Rear Camera</strong></p></td><td  ><p>200MP wide, 50MP ultra-wide, 10MP telephoto (3x optical)</p></td><td  ><p>200MP wide, 12MP ultra-wide, 10MP telephoto ( 3x opticazoom)</p></td></tr><tr><td class="firstcol " ><p><strong>Battery</strong></p></td><td  ><p>5,000 mAh</p></td><td  ><p>4,400 mAh</p></td></tr><tr><td class="firstcol " ><p><strong>Charging</strong></p></td><td  ><p>45W wired, 20W wireless</p></td><td  ><p>25W wired, 15W wireless</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>158.4 x 72.8 x 8.9 mm (6.24 x 2.87 x 0.35 inches) folded, 143.2 x 158.4 x 4.2 mm (5.64 x 6.24 x 0.16 inches) unfolded</p></td><td  ><p>158.4 x 72.8 x 8.9 mm (6.24 x 2.87 x 0.35 inches) folded, 143.2 x 158.4 x 4.2 mm (5.64 x 6.24 x 0.17 inches) unfolded</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>215 grams (7.5 ounces)</p></td><td  ><p>215 grams (7.5 ounces)</p></td></tr><tr><td class="firstcol " ><p><strong>IP Rating</strong></p></td><td  ><p>IP48</p></td><td  ><p>IP48</p></td></tr><tr><td class="firstcol " ><p>Colors</p></td><td  ><p>Violet shadow, Cream, Graphite, Violet Green (online exclusive)</p></td><td  ><p>Blue Shadow, Silver Shadow, Jet-black, Mint</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-samsung-galaxy-z-fold-8-ultra-vs-samsung-galaxy-z-fold-7-price-availability"><span>Samsung Galaxy Z Fold 8 Ultra vs Samsung Galaxy Z Fold 7: Price & availability</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3328px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="T6UGidvhwk5Am5sBqHvBVS" name="Z Fold 8 Ultra vs Z Fold 7-8" alt="samsung galaxy z fold 7 and galaxy z fold 8 ultra" src="https://cdn.mos.cms.futurecdn.net/T6UGidvhwk5Am5sBqHvBVS.jpg" mos="" align="middle" fullscreen="" width="3328" height="1872" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Samsung Galaxy Z Fold 7 has been on sale since last July, with prices starting at $1,999 for a model with 12GB of RAM and 256GB of storage. 512GB is available for $2,199, while a 1TB model with 16GB of RAM can be purchased for $2,499. </p><p>Color options include Silver Shadow, Jet Black, Blue Shadow and the Samsung-exclusive Mint. This phone is also likely to be discounted in the wake of the Z 8 series launch, since it's already a year old.</p><p>The Samsung Galaxy Z Fold 8 Ultra goes on sale on August 7, with prices starting at $2,199 for a model with 12GB of RAM and 256GB storage. 512GB raises the price to $2,299, while 1TB with 16GB of RAM will set you back $2,699.</p><p>Color options include Violet Shadow, Cream, Graphite and the Samsung-exclusive Green Shadow.</p><h3 class="article-body__section" id="section-samsung-galaxy-z-fold-8-ultra-vs-samsung-galaxy-z-fold-7-design-and-display"><span>Samsung Galaxy Z Fold 8 Ultra vs Samsung Galaxy Z Fold 7: Design and Display</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="TWaz6ndtJJBBsfEpVDj2cS" name="Z Fold 8 Ultra vs Z Fold 7-2" alt="samsung galaxy z fold 7 and galaxy z fold 8 ultra" src="https://cdn.mos.cms.futurecdn.net/TWaz6ndtJJBBsfEpVDj2cS.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Samsung didn't offer any bold redesigns with the Z Fold 8 Ultra, and the new foldable's shape and size is more or less identical to the Galaxy Z Fold 7. They're not quite the same, since Z Fold 7 cases don't appear to fit on the back of the 8 Ultra, but it's close enough that you'd need precise measuring tools to notice.</p><p>The biggest upgrade is that the Z Fold 8 Ultra features a new <a href="https://www.tomsguide.com/phones/samsung-phones/ive-seen-the-galaxy-z-fold-8s-flex-titanium-screen-and-apple-should-be-nervous">Flex Titanium display</a>, which offers improved durability and significantly less creasing in the middle. <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-doesnt-have-a-crease-free-display-but-its-the-closest-samsung-has-ever-got-to-one">It's not quite crease-free</a>, but it is almost invisible compared to the Z Fold 7. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2417px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="xYL3dLrXaNVRNg92GfxqsR" name="Z Fold 8 Ultra vs Z Fold 7-4" alt="samsung galaxy z fold 7 and galaxy z fold 8 ultra" src="https://cdn.mos.cms.futurecdn.net/xYL3dLrXaNVRNg92GfxqsR.jpg" mos="" align="middle" fullscreen="" width="2417" height="1360" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Fold 8 Ultra also has a much better screen when it comes to dealing with bright light. Both phones have the same high resolution screens and adaptive 1-120Hz refresh rates, but the Z Fold 7 isn't nearly as bright as the 8 Ultra. In fact, last year's foldable recorded a peak brightness of 2,245 nits, while the Z Fold 8 Ultra hit 2,687 nits. </p>                    <div class= "tiktok-wrapper" style="min-height: 750px;"><blockquote class="tiktok-embed" cite="https://www.tiktok.com/@mspoonyg/video/7666429528071294222" data-video-id="7666429528071294222" style="max-width: 605px; min-width: 325px;">                        <section>                            <a target="_blank" title="@mspoonyg" href="https://www.tiktok.com/@mspoonyg">@mspoonyg</a>                            <p></p><a target="_blank" title="♬ Thank You for Sunshine - House Duduk Music" href="https://www.tiktok.com/music/Thank-You-for-Sunshine-7650727836295612417">♬ Thank You for Sunshine - House Duduk Music</a></section>                    </blockquote></div>                <p>The <a href="https://www.tomsguide.com/phones/samsung-phones/i-took-the-galaxy-z-fold-8-ultra-and-fold-7-outside-and-the-difference-is-astonishing">anti-reflective coating on the newer foldable</a> also makes it a lot easier to use the Fold 8 Ultra in bright conditions, and it makes a shocking amount of difference in reducing glare. By which I mean you won't see your own silhouette staring back at you nearly as much.</p><h3 class="article-body__section" id="section-samsung-galaxy-z-fold-8-ultra-vs-samsung-galaxy-z-fold-7-performance"><span>Samsung Galaxy Z Fold 8 Ultra vs Samsung Galaxy Z Fold 7: Performance</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2891px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="xqV8DFuJtvGXYn6VEmv86S" name="Z Fold 8 Ultra vs Z Fold 7-9" alt="samsung galaxy z fold 7 and galaxy z fold 8 ultra" src="https://cdn.mos.cms.futurecdn.net/xqV8DFuJtvGXYn6VEmv86S.jpg" mos="" align="middle" fullscreen="" width="2891" height="1626" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Galaxy Z Fold 8 Ultra is the first Galaxy foldable to feature the custom "for Galaxy" chipset, which means it shares the same <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-s26-performance-face-off-snapdragon-8-elite-gen-5-vs-exynos-2600">Snapdragon 8 Elite Gen 5 for Galaxy chipset</a> as the Galaxy S26 series. Older foldables utilized Snapdragon's standard flagship chip, so the Z Fold 7 arrived running the same Snapdragon 8 Elite as countless other non-Samsung phones.</p><p>While the off-the-shelf chip is no slouch, the upgrade to a For Galaxy chipset means that the <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-vs-fold-8-ultra-vs-flip-8-benchmarked-the-results-are-in">Z Fold 8 Ultra gets to enjoy a performance boost</a> compared to its predecessor.</p><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Geekbench (Single/Multicore)</strong></p></td><td  ><p><strong>3DMark Solar Bay Unlimited</strong></p></td><td  ><p><strong>Geekbench AI</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 8 Ultra</strong></p></td><td  ><p>3,733/11,457</p></td><td  ><p>49.24/12,950</p></td><td  ><p>71715</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 7</strong></p></td><td  ><p>3,052/9,735</p></td><td  ><p>41.21/10,812</p></td><td  ><p>61299</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy S26 Ultra</strong></p></td><td  ><p>3,785 / 11,563</p></td><td  ><p>49.37 / 12,984</p></td><td  ><p>83047 (TensorFlow Lite QNN)</p></td></tr></tbody></table></div><p>As you can see in the table above, the Z Fold 8 Ultra finished Geekbench 6 with a single-core score of 3,733 and a multi-core score of 11,457. That's compared to the 3,052 and 9,735 scores recorded by the Z Fold 7 during the same benchmarking test. That's quite the jump, especially on the multi-core testing.</p><p>Graphics performance is a pretty similar story, with the Z Fold 8 Ultra scoring 12,950 in 3DMark's Solar Bay Unlimited benchmark test, with an average framerate of 49.24 fps. The Z Fold 7 came out with 10,912 and 41.21 fps which, while not terrible performance, seriously lags behind. Geekbench's AI test is more of the same with the Z Fold 8 Ultra coming in with a score of 71,715 to the Z Fold 7's 59,663.</p><h3 class="article-body__section" id="section-samsung-galaxy-z-fold-8-ultra-vs-samsung-galaxy-z-fold-7-cameras"><span>Samsung Galaxy Z Fold 8 Ultra vs Samsung Galaxy Z Fold 7: Cameras</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3519px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="WcYimQVpPWYAFuWxKQJdES" name="Z Fold 8 Ultra vs Z Fold 7-6" alt="samsung galaxy z fold 7 and galaxy z fold 8 ultra" src="https://cdn.mos.cms.futurecdn.net/WcYimQVpPWYAFuWxKQJdES.jpg" mos="" align="middle" fullscreen="" width="3519" height="1979" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The camera situation on the Galaxy Z Fold 8 Ultra is a little hit and miss, though the same is true of the Z Fold 7. Both phones share the same 200MP main camera lens, 10MP telephoto lens with 3x optical zoom and a pair of 10MP selfie cameras (one for each screen). </p><p>However, the 8 Ultra's ultrawide camera has been given a much-needed update, increasing the resolution to 50MP — among smaller changes. But saying the phones both have similar camera hardware doesn't really tell us how different the photos actually are — especially now that software plays such a huge part in the process.</p><iframe allow="" height="395" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=2c06f5cc-90f5-11f1-ba1b-0e6f42328d7d"></iframe><p>You'd think that the quality of the 200MP main lens would be identical across both phones, but that actually isn't the case. They seem alike at first glance, but the Z Fold 8 Ultra is actually picking up a lot more detail compared to its predecessor. </p><p>The text on this mail box is a lot more legible, and the finer details in the brickwork stand out a lot more. Overall, the Fold 8 Ultra delivers a much clearer and crisper image.</p><iframe allow="" height="395" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=17b020c6-90f5-11f1-ba1b-0e6f42328d7d"></iframe><p>Despite the big bump in resolution, the difference in the ultrawide shots are pretty subtle — just as they were when I tested the cameras for the Galaxy Z Fold 8 Ultra review. The Z Fold 8 Ultra offers crisper image quality and a slightly brighter photo overall. At a glance, most won't be able to pick up the subtleties of how the two cameras are different.</p><iframe allow="" height="395" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=40a85188-90f5-11f1-ba1b-0e6f42328d7d"></iframe><p>Macro shots aren't that dissimilar either, and both phones are able to capture the smaller details from close-up shots. However, the Z Fold 7's shot is noticeably more washed out, and doesn't feature the same deeper coloring of the Z Fold 8 Ultra.</p><iframe allow="" height="395" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=e8c3cc5e-90f4-11f1-ba1b-0e6f42328d7d"></iframe><p>The selfie camera quality is more or less identical on both phones. Some areas are clearer than others, depending on which side you're looking at, but that seems to be due to the variations on focus rather than the actual quality of the final shot. The Z Fold 8 Ultra is a little bit brighter, though.</p><iframe allow="" height="395" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=cfc2f298-90f4-11f1-ba1b-0e6f42328d7d"></iframe><p>Portrait mode is exactly the same, with the exact same focus variations and brightness difference as the regular selfie mode. Neither photo has any particular characteristics that make it superior to the other, and the bokeh effect looks exactly the same across both devices.</p><iframe allow="" height="395" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=7fe0a734-90f4-11f1-ba1b-0e6f42328d7d"></iframe><p>Speaking of identical, the same is true of the telephoto lens at 3x optical zoom. The quality of the shot on both phones is pretty poor, and it's an upgrade Samsung desperately needs to make ahead of the Z Fold 9 launch next year.</p><iframe allow="" height="395" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=afe785b0-90f4-11f1-ba1b-0e6f42328d7d"></iframe><p>Pushing the magnification up to 10x doesn't make any difference either. While the details are being picked up by the camera, the actual quality of the final shot is atrocious compared to other flagship phones that cost considerably less money — including Samsung's own Galaxy S26 Ultra.</p><iframe allow="" height="395" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=00141e9a-90f5-11f1-ba1b-0e6f42328d7d"></iframe><p>Samsung made a point of emphasizing how much it was improving low light capabilities with the Z Fold 8 Ultra, and it definitely looks like it's succeeded. Compared to the Z Fold 7, the night-time shots are brighter, crisper and pick up a lot more detail from the mail box. In fact, the Z Fold 7 shot blurs out the letters V and R around the crown at the top</p><p>Samsung has clearly made some improvements to the Galaxy Z Fold 8 Ultra, especially where low light photography is concerned. But a lot of the daytime upgrades seem to be a lot more subtle, and less noticeable to the casual observer. Whether that minor boost is worth it for you all depends on which phone you have, and whether the Z Fold 8 Ultra's other upgrades matter to you or not.</p><h3 class="article-body__section" id="section-samsung-galaxy-z-fold-8-ultra-vs-samsung-galaxy-z-fold-7-battery-charging"><span>Samsung Galaxy Z Fold 8 Ultra vs Samsung Galaxy Z Fold 7: Battery & charging</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3531px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="imtV2afR8StvoQEVHJmnSS" name="Z Fold 8 Ultra vs Z Fold 7-10" alt="samsung galaxy z fold 7 and galaxy z fold 8 ultra" src="https://cdn.mos.cms.futurecdn.net/imtV2afR8StvoQEVHJmnSS.jpg" mos="" align="middle" fullscreen="" width="3531" height="1986" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>One of the biggest upgrades on the Galaxy Z Fold 8 Ultra is the fact that the <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-vs-fold-8-ultra-vs-flip-8-battery-tests-silicon-carbon-pays-off">battery life is so much better now</a>. This is thanks to a higher capacity silicon carbon battery with 5,000 mAh capacity, compared to 4,400 mAh for the Fold 7. Our custom battery test, which involves web-surfing over a 5G connection until the power runs out, clocked the Z Fold 8 Ultra's battery life at 14 hours and 33 minutes.</p><p>While this isn't as good as the Galaxy S26 Ultra, it is almost four hours longer than the Galaxy Z Fold 7's 10 hours and 44 minutes of battery life. Under 11 hours is pretty disappointing, but hitting 14+ hours means the Z Fold 8 Ultra is far more likely to make it through a single day without recharging.</p><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Hours : Minutes</strong></p></td><td  ><p><strong>Charging % in 30 minutes</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 8 Ultra</strong></p></td><td  ><p>14:33</p></td><td  ><p>76%</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 7</strong></p></td><td  ><p>10:44</p></td><td  ><p>54%</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy S26 Ultra</strong></p></td><td  ><p>16:10</p></td><td  ><p>77%</p></td></tr></tbody></table></div><p>The Z Fold 8 Ultra offers 45W wired charging compared to the Z Fold 7's 25W. That faster charging allows the phone to reclaim 76% of its battery life in just 30 minutes, compared to 54% on the Z Fold 7. Wireless charging has also increased by 5W, with up to 20W Qi2 speeds on the Z Fold 8 Ultra — though the embedded magnets are still missing from the phone.</p><h3 class="article-body__section" id="section-samsung-galaxy-z-fold-8-ultra-vs-samsung-galaxy-z-fold-7-verdict"><span>Samsung Galaxy Z Fold 8 Ultra vs Samsung Galaxy Z Fold 7: Verdict</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3187px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="ibSFwbJGnJU62HeZzyCu4S" name="Z Fold 8 Ultra vs Z Fold 7-LIST" alt="samsung galaxy z fold 7 and galaxy z fold 8 ultra" src="https://cdn.mos.cms.futurecdn.net/ibSFwbJGnJU62HeZzyCu4S.jpg" mos="" align="middle" fullscreen="" width="3187" height="1793" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Samsung Galaxy Z Fold 8 Ultra has a lot of upgrades compared to last year, and the majority of them are available in areas that actually matter to your everyday use of the phone. Battery life is significantly improved, performance has taken a pretty big jump and the bright, anti-reflective display makes it significantly nicer to use this phone in a variety of conditions. </p><p>Those are all notable quality of life improvements that could make the Z Fold 8 Ultra the foldable of choice for most people. The camera changes are subtle, with the biggest difference being low-light performance.</p><p>Overall. the Fold 7 is still a very good foldable, especially when you can find it for a sizable discount. But if you're in the market for a new foldable phone, the Fold 8 Ultra is hands-down the better option.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom’s Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/samsung-phones/i-just-tried-the-new-samsung-dex-on-the-galaxy-z-fold-8-and-it-has-one-huge-upgrade">I just tried the new Samsung DeX on the Galaxy Z Fold 8 — and it has one huge upgrade</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/3-big-ways-the-iphone-ultra-could-beat-the-galaxy-z-fold-8">iPhone Ultra vs Galaxy Z Fold 8 — here's 3 big ways Apple could win</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-vs-fold-8-ultra-camera-test-is-the-telephoto-zoom-worth-the-extra-usd200">I tested the Galaxy Z Fold 8 vs. Fold 8 Ultra to see if the lack of a telephoto zoom is a dealbreaker</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ iPhone 18 Pro Max vs Google Pixel 11 Pro XL: Everything we know so far ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Summer’s still here, but things are already heating up as we close out the season and enter a busy fall. That’s because flagship phone season is officially upon us, with several marquee devices tipped to launch soon.</p><p>Two of the most exciting are arguably the <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-rumors-everything-we-know-so-far">iPhone 18 Pro Max</a> and <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-pro-everything-we-know-so-far">Google Pixel 11 Pro</a> XL. The latter’s expected to arrive first, with the next <a href="https://www.tomsguide.com/phones/google-pixel-phones/made-by-google-2026-preview-pixel-11-pixel-watch-5-pixel-tag-and-more">Made by Google event slated for August 12</a>. Meanwhile, Apple’s roadmap isn’t as clearly defined. Rumors suggest Apple could break from tradition by staggering the reveals of its <a href="https://www.tomsguide.com/phones/iphones/iphone-18-rumors-everything-we-know-so-far">iPhone 18</a> lineup — releasing the <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-launch-date-tipped-in-new-gurman-report-and-we-have-a-fresh-look-at-the-design">18 Pro and 18 Pro Max first</a> during its typical September event, followed by the standard <a href="https://www.tomsguide.com/phones/iphones/iphone-18-release-schedule-could-be-changing-but-this-rumor-makes-no-sense">iPhone 18 later on</a>.</p><p>Below, I’ll break down all the latest details and rumors surrounding the iPhone 18 Pro Max and Pixel 11 Pro XL so you know what both flagships have to offer — and ultimately, which one I'm most excited about.</p><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-pixel-11-pro-xl-rumored-specs"><span>iPhone 18 Pro Max vs. Pixel 11 Pro XL: Rumored specs</span></h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>iPhone 18 Pro Max (Rumored)</strong></p></td><td  ><p><strong>Pixel 11 Pro XL (Rumored)</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Starting Price</strong></p></td><td  ><p>$1,199 – $1,299</p></td><td  ><p>$1,299 - $1,399</p></td></tr><tr><td class="firstcol " ><p><strong>Display</strong></p></td><td  ><p>6.9-inch OLED</p></td><td  ><p>6.8-inch OLED</p></td></tr><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>A20 Pro</p></td><td  ><p>Tensor G6</p></td></tr><tr><td class="firstcol " ><p><strong>RAM</strong></p></td><td  ><p>12GB</p></td><td  ><p>12GB, 16GB</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>256GB to 2TB</p></td><td  ><p>256GB to 1TB</p></td></tr><tr><td class="firstcol " ><p><strong>Rear Cameras</strong></p></td><td  ><p>48MP main, 48MP ultrawide, 48MP Telephoto w/4x optical zoom</p></td><td  ><p>50MP main, 50MP ultrawide, 48MP telephoto w/5x optical zoom</p></td></tr><tr><td class="firstcol " ><p><strong>Front Camera</strong></p></td><td  ><p>18MP</p></td><td  ><p>42MP</p></td></tr><tr><td class="firstcol " ><p><strong>Battery & Charging</strong></p></td><td  ><p>5,567 mAh</p></td><td  ><p>5,115 mAh</p></td></tr><tr><td class="firstcol " ><p><strong>Charging</strong></p></td><td  ><p>45W wired, 25W MagSafe</p></td><td  ><p>45W wired, 25W wireless</p></td></tr><tr><td class="firstcol " ><p><strong>IP Rating</strong></p></td><td  ><p>IP68</p></td><td  ><p>IP68</p></td></tr><tr><td class="firstcol " ><p><strong>Software</strong></p></td><td  ><p>iOS 27</p></td><td  ><p>Android 17</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Dark Cherry, Light Blue, and Silver-Gray</p></td><td  ><p>Dune, Light Fog, Pine, and Sterling</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-pixel-11-pro-xl-price-and-release-date"><span>iPhone 18 Pro Max vs. Pixel 11 Pro XL: Price and release date</span></h2><p>Both flagships are trending toward higher starting price tags, with Google reportedly <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-release-date-and-prices-leak-as-official-august-12-pixel-event-invites-go-out">bumping its entry point to $1,299</a> while doubling base storage to 256GB. Even though that represents a $100 price hike over the Pixel 10 Pro XL, getting double the storage helps soften the blow.</p><p>Meanwhile, Apple has maintained a $1,199 starting price for the last few generations, but the iPhone 18 Pro Max is rumored to get a price bump — with analyst estimates pointing to <a href="https://www.tomsguide.com/phones/iphones/usd1-299-iphone-18-pro-max-analyst-now-predicts-usd200-price-hike-for-apples-next-flagship-phone">$1,299, and possibly as high as $1,399.</a></p><p>Based on the rumors the iPhone 18 Pro Max would go on sale September 18, which would be about a week after the rumored Apple event on September 9th. The <a href="https://www.tomsguide.com/phones/google-pixel-phones/made-by-google-2026-preview-pixel-11-pixel-watch-5-pixel-tag-and-more">Made by Pixel event</a> is August 12th, and the new Pixel 11 Pro series has an expected release date of August 20th.</p><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-pixel-11-pro-xl-design-and-display"><span>iPhone 18 Pro Max vs. Pixel 11 Pro XL: Design and display</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="LbefpNm2WLBAMjLa5GySiV" name="iPhone 17 Pro Max-25" alt="iPhone 17 Pro Max" src="https://cdn.mos.cms.futurecdn.net/LbefpNm2WLBAMjLa5GySiV.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Apple is expected to keep the display size unchanged for the iPhone 18 Pro Max, but its 6.9-inch panel could feature one major upgrade: a smaller, <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-dynamic-island-mystery-solved-heres-what-to-expect">much more discreet Dynamic Island cutout</a>. Reports suggest Apple has found a way to move key Face ID components under the glass, allowing the display cutout itself to shrink.</p><p>One of the most underrated improvements Apple recently made to its displays was adding an advanced anti-reflection coating that does a far better job of minimizing glare. Having tested this feature firsthand against competing phones, we expect the iPhone 18 Pro Max to get the same treatment.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="TBYraHW2jopiVsMRak8QgV" name="iPhone 18 Pro colors Weibo" alt="iPhone 18 Pro colors: purple, brown, burgundy" src="https://cdn.mos.cms.futurecdn.net/TBYraHW2jopiVsMRak8QgV.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Since Apple gave the lineup a massive visual overhaul last generation with a wider camera plateau on the back, we don't anticipate any drastic design changes this year. However, the iPhone 18 Pro Max is rumored to be <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-tipped-to-be-heaviest-iphone-ever-heres-3-reasons-why-thats-a-good-thing">the heaviest iPhone yet</a> due to a larger capacity battery. While the overall aesthetic will remain largely familiar, fresh color options — with <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-leaked-colors-include-a-stunning-new-dark-cherry-option">Dark Cherry, Light Blue, and Silver-Gray</a> rumored for the lineup — could still give buyers a reason to upgrade.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:656px;"><p class="vanilla-image-block" style="padding-top:56.40%;"><img id="8897kp7dMTMmu9uULdRdmC" name="image (2)" alt="leaked google pixel 11 pro xl images" src="https://cdn.mos.cms.futurecdn.net/8897kp7dMTMmu9uULdRdmC.jpg" mos="" align="middle" fullscreen="" width="656" height="370" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Evan Blass)</span></figcaption></figure><p>Google has carved out a distinct design identity for its phones, and that overall aesthetic is unlikely to change drastically with the Pixel 11 Pro XL — meaning it will likely keep the same elongated, pill-shaped camera island, rounded corners, and flat edges.</p><p>One of the more intriguing rumors involves a new addition on the back alongside those cameras, referred to as the <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-just-leaked-via-amazon-heres-the-specs-colors-and-obligatory-price-hike">"Pixel Glow."</a> This multicolored light array is reportedly designed to animate and change colors based on notifications, though it remains to be seen whether it will offer any extra utility beyond basic visual alerts.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="sgoWioBJYVGyL3PcephgBe" name="Google-Pixel-10-Pro-XL-04" alt="Google Pixel 10 Pro XL display" src="https://cdn.mos.cms.futurecdn.net/sgoWioBJYVGyL3PcephgBe.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Display leaks have been sparse so far, but the Pixel 11 Pro XL screen is expected to remain at 6.8 inches. It's worth noting that the Pixel 10 Pro XL already features one of the brightest panels on the market, peaking at an impressive 2,555 nits. Google could up the ante even further to improve outdoor visibility under direct sunlight.</p><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-pixel-11-pro-xl-cameras"><span>iPhone 18 Pro Max vs. Pixel 11 Pro XL: Cameras</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="oj8hrKE6qoSEzNpYXzxEvi" name="iphone-18-pro-concept2-aptenod" alt="iPhone 18 Pro concept design from Aptenod on YouTube" src="https://cdn.mos.cms.futurecdn.net/oj8hrKE6qoSEzNpYXzxEvi.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Aptenod / YouTube)</span></figcaption></figure><p>I really enjoy taking photos with the <a href="https://www.tomsguide.com/phones/i-took-the-the-iphone-17-pro-max-vs-pixel-10-pro-xl-to-a-botanic-garden-for-a-macro-photography-shootout-heres-the-winner">iPhone 17 Pro Max and Pixel 10 Pro XL</a>, but Apple’s flagship ultimately came out on top in my <a href="https://www.tomsguide.com/phones/i-shot-over-200-photos-with-the-iphone-17-pro-max-vs-pixel-10-pro-xl-heres-the-winner">head-to-head camera testing</a>. While the rumored camera specs of the iPhone 18 Pro Max appear identical on paper — a triple 48MP setup with a 4x optical zoom telephoto lens — it's <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-maxs-biggest-upgrade-may-have-just-been-confirmed-and-its-a-photography-game-changer">reportedly getting upgraded Sony sensors</a>.</p><p>On top of that, a <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-could-be-the-first-iphone-to-get-a-variable-aperture-why-that-matters">variable aperture system</a> is rumored to finally debut on this model. This would give users direct control over physical depth of field and exposure, making it easier to naturally blur backgrounds or create silky long-exposure effects on flowing water.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3192px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="2QR8xigK9PqQaEACmiF7KU" name="iPhone 17 Pro Max vs Pixel 10 Pro XL" alt="iPhone 17 Pro Max vs Pixel 10 Pro XL held in the hand." src="https://cdn.mos.cms.futurecdn.net/2QR8xigK9PqQaEACmiF7KU.jpg" mos="" align="middle" fullscreen="" width="3192" height="1796" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide / John Velasco)</span></figcaption></figure><p>Even though the Pixel 10 Pro XL fell slightly behind its rival overall, its telephoto performance surprised me the most. That’s promising, as early leaks hint that the Pixel 11 Pro XL could <a href="https://www.notebookcheck.net/Pixel-11-Pro-marketing-leak-reveals-long-awaited-telephoto-upgrade.1359006.0.html" target="_blank">achieve an even longer 120x max zoom</a>.</p><p>Combined with enhancements to <a href="https://www.tomsguide.com/phones/google-pixel-phones/i-captured-these-100x-pro-res-zoom-photos-with-the-pixel-10-pro-xl-and-the-results-blew-me-away">Pro Res Zoom</a>, it could widen the gap over the iPhone in long-range shooting. I also expect new image processing algorithms to further boost the Pixel 11 Pro XL’s photo output, especially in low light.</p><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-pixel-11-pro-xl-performance"><span>iPhone 18 Pro Max vs. Pixel 11 Pro XL: Performance</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="rXU9oPZxktC27Y25crMpt" name="Google Pixel 10 Pro XL hands-on" alt="Google Pixel 10 Pro XL hands-on." src="https://cdn.mos.cms.futurecdn.net/rXU9oPZxktC27Y25crMpt.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide / John Velasco)</span></figcaption></figure><p>We could be entering a new era with the iPhone 18 Pro Max and Pixel 11 Pro XL, as both flagships are rumored to transition to a cutting-edge 2-nanometer manufacturing process. Google’s Tensor processors have trailed Apple's silicon for as long as I can remember, but the <a href="https://www.tomsguide.com/phones/google-pixel-phones/pixel-11-specs-leak-reveals-what-upgrades-to-expect-and-some-concerning-downgrades">Tensor G6</a> could finally prove to critics that Google can build a serious contender.</p><p>Reportedly manufactured on TSMC's 2nm node, the Tensor G6 could feature a revamped seven-core CPU layout. This architectural leap should boost peak performance while significantly improving thermal and power efficiency.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2p68W9mHAAZd9qESYGbtvV" name="iPhone 17 Pro Max-22" alt="iPhone 17 Pro Max" src="https://cdn.mos.cms.futurecdn.net/2p68W9mHAAZd9qESYGbtvV.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Meanwhile, the iPhone 18 Pro Max is bound to be a performance juggernaut, especially with rumors pointing to a 2nm build for its <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-and-pro-max-5-big-upgrades-that-could-make-them-my-all-time-favorite-iphones">A20 Pro chip</a>. Given the impressive benchmark scores delivered by the A19 Pro, this node shrink suggests even greater generational gains for Apple's top flagship.</p><p>In order to keep those speeds sustained, the iPhone 18 Pro Max may also introduce a <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-tipped-to-be-heaviest-iphone-ever-heres-3-reasons-why-thats-a-good-thing">redesigned stainless-steel vapor chamber</a>. While that cooling mechanism might contribute to a heavier phone overall, it should give the iPhone 18 Pro Max the ability  to handle processor-intensive tasks and heavy gaming without throttling.</p><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-pixel-11-pro-xl-battery-and-charging"><span>iPhone 18 Pro Max vs. Pixel 11 Pro XL: Battery and charging</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Z36PyFcjo2FykonrLpPVbA" name="PXL_20250902_160313645" alt="Google pixelsnap chargers" src="https://cdn.mos.cms.futurecdn.net/Z36PyFcjo2FykonrLpPVbA.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Over the past year, we've seen outstanding battery endurance across the board, but according to our lab testing, Google still has more to prove than Apple. While early leaks pointed to a <a href="https://www.tomsguide.com/phones/google-pixel-phones/pixel-11-battery-capacity-just-leaked-and-it-has-me-worried-about-googles-next-flagship">capacity drop down to 5,000 mAh</a>, a more recent leak suggests the Pixel 11 Pro XL will pack a <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-just-leaked-via-amazon-heres-the-specs-colors-and-obligatory-price-hike">5,115 mAh battery</a>. That's still technically smaller than the Pixel 10 Pro XL's cell, meaning any battery life improvements will hinge heavily on the power efficiency of the Tensor G6.</p><p>Charging speeds for the Pixel 11 Pro XL are expected to remain unchanged at 45W wired and 25W wireless. And after the previous generation finally introduced magnetic wireless charging via <a href="https://www.tomsguide.com/phones/google-pixel-phones/pixelsnap-is-the-pixel-10-upgrade-everyone-should-be-the-most-excited-about-heres-why">PixelSnap</a>, I expect that standard to return here as well.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vcpyruzmXoHQdiZQFnYduV" name="iPhone 17 Pro Max-28" alt="iPhone 17 Pro Max" src="https://cdn.mos.cms.futurecdn.net/vcpyruzmXoHQdiZQFnYduV.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Meanwhile, the iPhone 18 Pro Max is expected to be the heaviest model to date — a trade-off largely attributed to a massive 5,567 mAh capacity spotted in <a href="https://weibo.com/6048569942/5316883085788374" target="_blank">recent regulatory filings</a>. Paired with the efficiency gains of the new 2nm A20 Pro chip, Apple’s flagship could deliver substantial battery life improvements.</p><p>When it comes to charging, the iPhone 18 Pro Max may simply inherit its predecessor's specs, though rumors suggest wired charging could see a slight bump to 45W to put it on par with Google, while 25W MagSafe support will almost certainly return.</p><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-pixel-11-pro-xl-software-and-ai"><span>iPhone 18 Pro Max vs. Pixel 11 Pro XL: Software and AI</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1794px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="iopeLDvPGawviRJFdMxca5" name="iOS 27 Siri AI" alt="iOS 27 Siri AI running on iPhone 17 Pro." src="https://cdn.mos.cms.futurecdn.net/iopeLDvPGawviRJFdMxca5.jpg" mos="" align="middle" fullscreen="" width="1794" height="1009" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: John Velasco / Tom's Guide)</span></figcaption></figure><p>Having tested the <a href="https://www.tomsguide.com/phones/iphones/ios-27-public-beta-hands-on-preview-the-new-siri-and-apple-intelligence-features-completely-changed-how-i-use-my-iphone">iOS 27 beta</a> for a while now — including <a href="https://www.tomsguide.com/phones/iphones/i-spent-a-week-with-siri-ai-here-are-my-honest-pros-and-cons">early access to the revamped Siri A</a>I — I'm confident the software experience on the iPhone 18 Pro Max will feel smooth and familiar. From overall <a href="https://www.tomsguide.com/phones/iphones/apple-says-ios-27-runs-much-smoother-than-ios-26-we-put-it-to-the-test">interface speed and responsiveness</a> to helpful everyday additions like <a href="https://www.tomsguide.com/phones/iphones/the-clever-ios-27-wallet-upgrade-that-means-you-will-never-have-to-carry-a-physical-loyalty-card-again">custom Wallet passes</a> and an updated Camera app, there's a lot to look forward to when the final release arrives.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gEtj6Knu3kZnoSeCRH6ZnQ" name="iOS 27 beta.GIF" alt="iOS 27 beta showing Reframe tool." src="https://cdn.mos.cms.futurecdn.net/gEtj6Knu3kZnoSeCRH6ZnQ.gif" mos="" align="middle" fullscreen="" width="1280" height="720" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: John Velasco / Tom's Guide)</span></figcaption></figure><p>iOS 27 also packs plenty of Apple Intelligence features. My favorite so far is <a href="https://www.tomsguide.com/phones/iphones/i-just-installed-the-ios-27-beta-and-reframe-is-unlike-any-other-ai-feature-ive-come-across">Reframe</a>, which uses AI to adjust photo perspectives after capture. Siri is also far more conversational thanks to improved contextual understandin and I’ve come to rely on it much more while driving with <a href="https://www.tomsguide.com/phones/iphones/i-just-tried-siri-ai-in-the-ios-27-carplay-beta-and-this-assistant-is-way-more-helpful-than-before">CarPlay</a>. Plus, just like with other AI chatbots, I really appreciate that all my past interactions are saved and searchable inside the dedicated <a href="https://www.tomsguide.com/phones/iphones/the-new-siri-app-in-ios-27-is-keeping-receipts-on-everything-you-ask-heres-how-to-auto-delete-your-chats">Siri app</a>.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="McK6twcQkRCVFZWGW4Atk" name="Google Pixel 10 Pro XL hands-on" alt="Google Pixel 10 Pro XL hands-on." src="https://cdn.mos.cms.futurecdn.net/McK6twcQkRCVFZWGW4Atk.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide / John Velasco)</span></figcaption></figure><p>Apple has made tremendous strides in the AI race, but Google still holds the crown. While <a href="https://www.tomsguide.com/phones/google-pixel-phones/android-17-officially-rolls-out-to-pixel-devices-with-new-features-screen-reactions-bubbles-gaming-mode-and-more">Android 17</a> will launch alongside the Pixel 11, it’s still unclear what exclusive software capabilities will accompany the rollout. Gemini has already proven to be the most capable assistant on any smartphone, seamlessly handling complex multimodal tasks — like placing a <a href="https://www.tomsguide.com/phones/samsung-phones/i-just-asked-gemini-on-the-galaxy-s26-to-order-dunkin-donuts-for-me-and-24-minutes-later-it-got-delivered-to-my-door">Dunkin' order for me through DoorDash</a>.</p><p>I’m eager to test the new <a href="https://www.tomsguide.com/ai/google-just-revealed-gemini-intelligence-and-it-could-change-android-forever">Gemini Intelligence</a> features Google showcased at <a href="https://www.tomsguide.com/phones/live/the-android-show-google-i-o-edition-live-all-the-latest-android-gemini-ai-and-android-xr-news-as-it-happens">The Android Show: Google I/O Edition</a>, especially given the deeper integrations coming to <a href="https://www.tomsguide.com/phones/android-auto-is-about-to-change-the-way-you-drive-3d-google-maps-redesigned-interface-video-support-gemini-and-more">Android Auto</a>. It remains to be seen what additional tools Google will keep exclusive to the Pixel 11 Pro XL, but one thing is certain: Google continues to set the bar for AI on smartphones, and I expect the Pixel 11 Pro XL will only cement that lead.  </p><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-pixel-11-pro-xl-outlook"><span>iPhone 18 Pro Max vs. Pixel 11 Pro XL: Outlook</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3788px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="waMbC84rwYqCAZxCfgYVaU" name="iPhone 17 Pro Max vs Pixel 10 Pro XL" alt="iPhone 17 Pro Max vs Pixel 10 Pro XL held in the hand." src="https://cdn.mos.cms.futurecdn.net/waMbC84rwYqCAZxCfgYVaU.jpg" mos="" align="middle" fullscreen="" width="3788" height="2131" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide / John Velasco)</span></figcaption></figure><p>The battle between the iPhone 18 Pro Max and the Pixel 11 Pro XL is the matchup I'm looking forward to the most, with both manufacturers targeting major hardware and software upgrades.</p><p>Apple is focusing heavily on physical refinement and optical versatility. With rumored features like a mechanical variable-aperture main sensor, 2nm A20 Pro chip, stainless-steel vapor chamber, and a massive 5,567 mAh battery, the iPhone 18 Pro Max is positioning itself as an absolute hardware powerhouse.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ev12aX"></div>                            </div>                            <script src="https://kwizly.com/embed/ev12aX.js" async></script><p>Google, on the other hand, should continue to focus its efforts on what it does best: deeper AI integration. The Pixel 11 Pro XL's transition to a 2nm Tensor G6 chip could finally deliver the sustained performance that previous Tensor chips lacked. Throw in an extended 120x zoom range, system-level Gemini AI features that Apple still can't match, and perhaps a novel “Pixel Glow” notification tool, and Google makes a compelling case for the flagship crown.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom’s Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-vs-fold-8-ultra-camera-test-is-the-telephoto-zoom-worth-the-extra-usd200">Galaxy Z Fold 8 vs. Fold 8 Ultra camera zoom test: Don't spend the extra $200 until you see this</a></li><li><a href="https://www.tomsguide.com/phones/google-pixel-phones/this-is-the-pixel-11-pro-fold-and-this-is-when-pre-orders-officially-start">This is the Pixel 11 Pro Fold — and this is when pre-orders officially start</a></li><li><a href="https://www.tomsguide.com/phones/i-asked-siri-ai-and-gemini-a-series-of-increasingly-bizarre-questions-to-see-how-they-responded-heres-what-happened">I asked Siri AI and Gemini a series of increasingly bizarre questions to see how they responded —here's what happened</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/phones/iphone-18-pro-max-vs-google-pixel-11-pro-xl-everything-we-know-so-far</link>
                                                                            <description>
                            <![CDATA[ The iPhone 18 Pro Max and Pixel 11 Pro XL are arguably going to be the two biggest phone releases in the next couple of months, so here's how they stack up so far based on the rumors. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">h66k4FcYS8wc9cFhA5VA4o</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/ciEBhFCebeUKqZmbiS6b8V-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 07 Aug 2026 09:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Phones]]></category>
                                                                                                <author><![CDATA[ john.velasco@futurenet.com (John Velasco) ]]></author>                    <dc:creator><![CDATA[ John Velasco ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/TSj224oX8d5ERXaDs8pDGd.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/ciEBhFCebeUKqZmbiS6b8V-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide / John Velasco]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[iPhone 17 Pro Max vs Pixel 10 Pro XL held in the hand.]]></media:description>                                                            <media:text><![CDATA[iPhone 17 Pro Max vs Pixel 10 Pro XL held in the hand.]]></media:text>
                                <media:title type="plain"><![CDATA[iPhone 17 Pro Max vs Pixel 10 Pro XL held in the hand.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/ciEBhFCebeUKqZmbiS6b8V-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Summer’s still here, but things are already heating up as we close out the season and enter a busy fall. That’s because flagship phone season is officially upon us, with several marquee devices tipped to launch soon.</p><p>Two of the most exciting are arguably the <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-rumors-everything-we-know-so-far">iPhone 18 Pro Max</a> and <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-pro-everything-we-know-so-far">Google Pixel 11 Pro</a> XL. The latter’s expected to arrive first, with the next <a href="https://www.tomsguide.com/phones/google-pixel-phones/made-by-google-2026-preview-pixel-11-pixel-watch-5-pixel-tag-and-more">Made by Google event slated for August 12</a>. Meanwhile, Apple’s roadmap isn’t as clearly defined. Rumors suggest Apple could break from tradition by staggering the reveals of its <a href="https://www.tomsguide.com/phones/iphones/iphone-18-rumors-everything-we-know-so-far">iPhone 18</a> lineup — releasing the <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-launch-date-tipped-in-new-gurman-report-and-we-have-a-fresh-look-at-the-design">18 Pro and 18 Pro Max first</a> during its typical September event, followed by the standard <a href="https://www.tomsguide.com/phones/iphones/iphone-18-release-schedule-could-be-changing-but-this-rumor-makes-no-sense">iPhone 18 later on</a>.</p><p>Below, I’ll break down all the latest details and rumors surrounding the iPhone 18 Pro Max and Pixel 11 Pro XL so you know what both flagships have to offer — and ultimately, which one I'm most excited about.</p><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-pixel-11-pro-xl-rumored-specs"><span>iPhone 18 Pro Max vs. Pixel 11 Pro XL: Rumored specs</span></h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>iPhone 18 Pro Max (Rumored)</strong></p></td><td  ><p><strong>Pixel 11 Pro XL (Rumored)</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Starting Price</strong></p></td><td  ><p>$1,199 – $1,299</p></td><td  ><p>$1,299 - $1,399</p></td></tr><tr><td class="firstcol " ><p><strong>Display</strong></p></td><td  ><p>6.9-inch OLED</p></td><td  ><p>6.8-inch OLED</p></td></tr><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>A20 Pro</p></td><td  ><p>Tensor G6</p></td></tr><tr><td class="firstcol " ><p><strong>RAM</strong></p></td><td  ><p>12GB</p></td><td  ><p>12GB, 16GB</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>256GB to 2TB</p></td><td  ><p>256GB to 1TB</p></td></tr><tr><td class="firstcol " ><p><strong>Rear Cameras</strong></p></td><td  ><p>48MP main, 48MP ultrawide, 48MP Telephoto w/4x optical zoom</p></td><td  ><p>50MP main, 50MP ultrawide, 48MP telephoto w/5x optical zoom</p></td></tr><tr><td class="firstcol " ><p><strong>Front Camera</strong></p></td><td  ><p>18MP</p></td><td  ><p>42MP</p></td></tr><tr><td class="firstcol " ><p><strong>Battery & Charging</strong></p></td><td  ><p>5,567 mAh</p></td><td  ><p>5,115 mAh</p></td></tr><tr><td class="firstcol " ><p><strong>Charging</strong></p></td><td  ><p>45W wired, 25W MagSafe</p></td><td  ><p>45W wired, 25W wireless</p></td></tr><tr><td class="firstcol " ><p><strong>IP Rating</strong></p></td><td  ><p>IP68</p></td><td  ><p>IP68</p></td></tr><tr><td class="firstcol " ><p><strong>Software</strong></p></td><td  ><p>iOS 27</p></td><td  ><p>Android 17</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Dark Cherry, Light Blue, and Silver-Gray</p></td><td  ><p>Dune, Light Fog, Pine, and Sterling</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-pixel-11-pro-xl-price-and-release-date"><span>iPhone 18 Pro Max vs. Pixel 11 Pro XL: Price and release date</span></h2><p>Both flagships are trending toward higher starting price tags, with Google reportedly <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-release-date-and-prices-leak-as-official-august-12-pixel-event-invites-go-out">bumping its entry point to $1,299</a> while doubling base storage to 256GB. Even though that represents a $100 price hike over the Pixel 10 Pro XL, getting double the storage helps soften the blow.</p><p>Meanwhile, Apple has maintained a $1,199 starting price for the last few generations, but the iPhone 18 Pro Max is rumored to get a price bump — with analyst estimates pointing to <a href="https://www.tomsguide.com/phones/iphones/usd1-299-iphone-18-pro-max-analyst-now-predicts-usd200-price-hike-for-apples-next-flagship-phone">$1,299, and possibly as high as $1,399.</a></p><p>Based on the rumors the iPhone 18 Pro Max would go on sale September 18, which would be about a week after the rumored Apple event on September 9th. The <a href="https://www.tomsguide.com/phones/google-pixel-phones/made-by-google-2026-preview-pixel-11-pixel-watch-5-pixel-tag-and-more">Made by Pixel event</a> is August 12th, and the new Pixel 11 Pro series has an expected release date of August 20th.</p><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-pixel-11-pro-xl-design-and-display"><span>iPhone 18 Pro Max vs. Pixel 11 Pro XL: Design and display</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="LbefpNm2WLBAMjLa5GySiV" name="iPhone 17 Pro Max-25" alt="iPhone 17 Pro Max" src="https://cdn.mos.cms.futurecdn.net/LbefpNm2WLBAMjLa5GySiV.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Apple is expected to keep the display size unchanged for the iPhone 18 Pro Max, but its 6.9-inch panel could feature one major upgrade: a smaller, <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-dynamic-island-mystery-solved-heres-what-to-expect">much more discreet Dynamic Island cutout</a>. Reports suggest Apple has found a way to move key Face ID components under the glass, allowing the display cutout itself to shrink.</p><p>One of the most underrated improvements Apple recently made to its displays was adding an advanced anti-reflection coating that does a far better job of minimizing glare. Having tested this feature firsthand against competing phones, we expect the iPhone 18 Pro Max to get the same treatment.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="TBYraHW2jopiVsMRak8QgV" name="iPhone 18 Pro colors Weibo" alt="iPhone 18 Pro colors: purple, brown, burgundy" src="https://cdn.mos.cms.futurecdn.net/TBYraHW2jopiVsMRak8QgV.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Since Apple gave the lineup a massive visual overhaul last generation with a wider camera plateau on the back, we don't anticipate any drastic design changes this year. However, the iPhone 18 Pro Max is rumored to be <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-tipped-to-be-heaviest-iphone-ever-heres-3-reasons-why-thats-a-good-thing">the heaviest iPhone yet</a> due to a larger capacity battery. While the overall aesthetic will remain largely familiar, fresh color options — with <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-leaked-colors-include-a-stunning-new-dark-cherry-option">Dark Cherry, Light Blue, and Silver-Gray</a> rumored for the lineup — could still give buyers a reason to upgrade.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:656px;"><p class="vanilla-image-block" style="padding-top:56.40%;"><img id="8897kp7dMTMmu9uULdRdmC" name="image (2)" alt="leaked google pixel 11 pro xl images" src="https://cdn.mos.cms.futurecdn.net/8897kp7dMTMmu9uULdRdmC.jpg" mos="" align="middle" fullscreen="" width="656" height="370" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Evan Blass)</span></figcaption></figure><p>Google has carved out a distinct design identity for its phones, and that overall aesthetic is unlikely to change drastically with the Pixel 11 Pro XL — meaning it will likely keep the same elongated, pill-shaped camera island, rounded corners, and flat edges.</p><p>One of the more intriguing rumors involves a new addition on the back alongside those cameras, referred to as the <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-just-leaked-via-amazon-heres-the-specs-colors-and-obligatory-price-hike">"Pixel Glow."</a> This multicolored light array is reportedly designed to animate and change colors based on notifications, though it remains to be seen whether it will offer any extra utility beyond basic visual alerts.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="sgoWioBJYVGyL3PcephgBe" name="Google-Pixel-10-Pro-XL-04" alt="Google Pixel 10 Pro XL display" src="https://cdn.mos.cms.futurecdn.net/sgoWioBJYVGyL3PcephgBe.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Display leaks have been sparse so far, but the Pixel 11 Pro XL screen is expected to remain at 6.8 inches. It's worth noting that the Pixel 10 Pro XL already features one of the brightest panels on the market, peaking at an impressive 2,555 nits. Google could up the ante even further to improve outdoor visibility under direct sunlight.</p><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-pixel-11-pro-xl-cameras"><span>iPhone 18 Pro Max vs. Pixel 11 Pro XL: Cameras</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="oj8hrKE6qoSEzNpYXzxEvi" name="iphone-18-pro-concept2-aptenod" alt="iPhone 18 Pro concept design from Aptenod on YouTube" src="https://cdn.mos.cms.futurecdn.net/oj8hrKE6qoSEzNpYXzxEvi.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Aptenod / YouTube)</span></figcaption></figure><p>I really enjoy taking photos with the <a href="https://www.tomsguide.com/phones/i-took-the-the-iphone-17-pro-max-vs-pixel-10-pro-xl-to-a-botanic-garden-for-a-macro-photography-shootout-heres-the-winner">iPhone 17 Pro Max and Pixel 10 Pro XL</a>, but Apple’s flagship ultimately came out on top in my <a href="https://www.tomsguide.com/phones/i-shot-over-200-photos-with-the-iphone-17-pro-max-vs-pixel-10-pro-xl-heres-the-winner">head-to-head camera testing</a>. While the rumored camera specs of the iPhone 18 Pro Max appear identical on paper — a triple 48MP setup with a 4x optical zoom telephoto lens — it's <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-maxs-biggest-upgrade-may-have-just-been-confirmed-and-its-a-photography-game-changer">reportedly getting upgraded Sony sensors</a>.</p><p>On top of that, a <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-could-be-the-first-iphone-to-get-a-variable-aperture-why-that-matters">variable aperture system</a> is rumored to finally debut on this model. This would give users direct control over physical depth of field and exposure, making it easier to naturally blur backgrounds or create silky long-exposure effects on flowing water.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3192px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="2QR8xigK9PqQaEACmiF7KU" name="iPhone 17 Pro Max vs Pixel 10 Pro XL" alt="iPhone 17 Pro Max vs Pixel 10 Pro XL held in the hand." src="https://cdn.mos.cms.futurecdn.net/2QR8xigK9PqQaEACmiF7KU.jpg" mos="" align="middle" fullscreen="" width="3192" height="1796" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide / John Velasco)</span></figcaption></figure><p>Even though the Pixel 10 Pro XL fell slightly behind its rival overall, its telephoto performance surprised me the most. That’s promising, as early leaks hint that the Pixel 11 Pro XL could <a href="https://www.notebookcheck.net/Pixel-11-Pro-marketing-leak-reveals-long-awaited-telephoto-upgrade.1359006.0.html" target="_blank">achieve an even longer 120x max zoom</a>.</p><p>Combined with enhancements to <a href="https://www.tomsguide.com/phones/google-pixel-phones/i-captured-these-100x-pro-res-zoom-photos-with-the-pixel-10-pro-xl-and-the-results-blew-me-away">Pro Res Zoom</a>, it could widen the gap over the iPhone in long-range shooting. I also expect new image processing algorithms to further boost the Pixel 11 Pro XL’s photo output, especially in low light.</p><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-pixel-11-pro-xl-performance"><span>iPhone 18 Pro Max vs. Pixel 11 Pro XL: Performance</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="rXU9oPZxktC27Y25crMpt" name="Google Pixel 10 Pro XL hands-on" alt="Google Pixel 10 Pro XL hands-on." src="https://cdn.mos.cms.futurecdn.net/rXU9oPZxktC27Y25crMpt.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide / John Velasco)</span></figcaption></figure><p>We could be entering a new era with the iPhone 18 Pro Max and Pixel 11 Pro XL, as both flagships are rumored to transition to a cutting-edge 2-nanometer manufacturing process. Google’s Tensor processors have trailed Apple's silicon for as long as I can remember, but the <a href="https://www.tomsguide.com/phones/google-pixel-phones/pixel-11-specs-leak-reveals-what-upgrades-to-expect-and-some-concerning-downgrades">Tensor G6</a> could finally prove to critics that Google can build a serious contender.</p><p>Reportedly manufactured on TSMC's 2nm node, the Tensor G6 could feature a revamped seven-core CPU layout. This architectural leap should boost peak performance while significantly improving thermal and power efficiency.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2p68W9mHAAZd9qESYGbtvV" name="iPhone 17 Pro Max-22" alt="iPhone 17 Pro Max" src="https://cdn.mos.cms.futurecdn.net/2p68W9mHAAZd9qESYGbtvV.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Meanwhile, the iPhone 18 Pro Max is bound to be a performance juggernaut, especially with rumors pointing to a 2nm build for its <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-and-pro-max-5-big-upgrades-that-could-make-them-my-all-time-favorite-iphones">A20 Pro chip</a>. Given the impressive benchmark scores delivered by the A19 Pro, this node shrink suggests even greater generational gains for Apple's top flagship.</p><p>In order to keep those speeds sustained, the iPhone 18 Pro Max may also introduce a <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-tipped-to-be-heaviest-iphone-ever-heres-3-reasons-why-thats-a-good-thing">redesigned stainless-steel vapor chamber</a>. While that cooling mechanism might contribute to a heavier phone overall, it should give the iPhone 18 Pro Max the ability  to handle processor-intensive tasks and heavy gaming without throttling.</p><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-pixel-11-pro-xl-battery-and-charging"><span>iPhone 18 Pro Max vs. Pixel 11 Pro XL: Battery and charging</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Z36PyFcjo2FykonrLpPVbA" name="PXL_20250902_160313645" alt="Google pixelsnap chargers" src="https://cdn.mos.cms.futurecdn.net/Z36PyFcjo2FykonrLpPVbA.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Over the past year, we've seen outstanding battery endurance across the board, but according to our lab testing, Google still has more to prove than Apple. While early leaks pointed to a <a href="https://www.tomsguide.com/phones/google-pixel-phones/pixel-11-battery-capacity-just-leaked-and-it-has-me-worried-about-googles-next-flagship">capacity drop down to 5,000 mAh</a>, a more recent leak suggests the Pixel 11 Pro XL will pack a <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-just-leaked-via-amazon-heres-the-specs-colors-and-obligatory-price-hike">5,115 mAh battery</a>. That's still technically smaller than the Pixel 10 Pro XL's cell, meaning any battery life improvements will hinge heavily on the power efficiency of the Tensor G6.</p><p>Charging speeds for the Pixel 11 Pro XL are expected to remain unchanged at 45W wired and 25W wireless. And after the previous generation finally introduced magnetic wireless charging via <a href="https://www.tomsguide.com/phones/google-pixel-phones/pixelsnap-is-the-pixel-10-upgrade-everyone-should-be-the-most-excited-about-heres-why">PixelSnap</a>, I expect that standard to return here as well.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vcpyruzmXoHQdiZQFnYduV" name="iPhone 17 Pro Max-28" alt="iPhone 17 Pro Max" src="https://cdn.mos.cms.futurecdn.net/vcpyruzmXoHQdiZQFnYduV.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Meanwhile, the iPhone 18 Pro Max is expected to be the heaviest model to date — a trade-off largely attributed to a massive 5,567 mAh capacity spotted in <a href="https://weibo.com/6048569942/5316883085788374" target="_blank">recent regulatory filings</a>. Paired with the efficiency gains of the new 2nm A20 Pro chip, Apple’s flagship could deliver substantial battery life improvements.</p><p>When it comes to charging, the iPhone 18 Pro Max may simply inherit its predecessor's specs, though rumors suggest wired charging could see a slight bump to 45W to put it on par with Google, while 25W MagSafe support will almost certainly return.</p><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-pixel-11-pro-xl-software-and-ai"><span>iPhone 18 Pro Max vs. Pixel 11 Pro XL: Software and AI</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1794px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="iopeLDvPGawviRJFdMxca5" name="iOS 27 Siri AI" alt="iOS 27 Siri AI running on iPhone 17 Pro." src="https://cdn.mos.cms.futurecdn.net/iopeLDvPGawviRJFdMxca5.jpg" mos="" align="middle" fullscreen="" width="1794" height="1009" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: John Velasco / Tom's Guide)</span></figcaption></figure><p>Having tested the <a href="https://www.tomsguide.com/phones/iphones/ios-27-public-beta-hands-on-preview-the-new-siri-and-apple-intelligence-features-completely-changed-how-i-use-my-iphone">iOS 27 beta</a> for a while now — including <a href="https://www.tomsguide.com/phones/iphones/i-spent-a-week-with-siri-ai-here-are-my-honest-pros-and-cons">early access to the revamped Siri A</a>I — I'm confident the software experience on the iPhone 18 Pro Max will feel smooth and familiar. From overall <a href="https://www.tomsguide.com/phones/iphones/apple-says-ios-27-runs-much-smoother-than-ios-26-we-put-it-to-the-test">interface speed and responsiveness</a> to helpful everyday additions like <a href="https://www.tomsguide.com/phones/iphones/the-clever-ios-27-wallet-upgrade-that-means-you-will-never-have-to-carry-a-physical-loyalty-card-again">custom Wallet passes</a> and an updated Camera app, there's a lot to look forward to when the final release arrives.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gEtj6Knu3kZnoSeCRH6ZnQ" name="iOS 27 beta.GIF" alt="iOS 27 beta showing Reframe tool." src="https://cdn.mos.cms.futurecdn.net/gEtj6Knu3kZnoSeCRH6ZnQ.gif" mos="" align="middle" fullscreen="" width="1280" height="720" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: John Velasco / Tom's Guide)</span></figcaption></figure><p>iOS 27 also packs plenty of Apple Intelligence features. My favorite so far is <a href="https://www.tomsguide.com/phones/iphones/i-just-installed-the-ios-27-beta-and-reframe-is-unlike-any-other-ai-feature-ive-come-across">Reframe</a>, which uses AI to adjust photo perspectives after capture. Siri is also far more conversational thanks to improved contextual understandin and I’ve come to rely on it much more while driving with <a href="https://www.tomsguide.com/phones/iphones/i-just-tried-siri-ai-in-the-ios-27-carplay-beta-and-this-assistant-is-way-more-helpful-than-before">CarPlay</a>. Plus, just like with other AI chatbots, I really appreciate that all my past interactions are saved and searchable inside the dedicated <a href="https://www.tomsguide.com/phones/iphones/the-new-siri-app-in-ios-27-is-keeping-receipts-on-everything-you-ask-heres-how-to-auto-delete-your-chats">Siri app</a>.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="McK6twcQkRCVFZWGW4Atk" name="Google Pixel 10 Pro XL hands-on" alt="Google Pixel 10 Pro XL hands-on." src="https://cdn.mos.cms.futurecdn.net/McK6twcQkRCVFZWGW4Atk.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide / John Velasco)</span></figcaption></figure><p>Apple has made tremendous strides in the AI race, but Google still holds the crown. While <a href="https://www.tomsguide.com/phones/google-pixel-phones/android-17-officially-rolls-out-to-pixel-devices-with-new-features-screen-reactions-bubbles-gaming-mode-and-more">Android 17</a> will launch alongside the Pixel 11, it’s still unclear what exclusive software capabilities will accompany the rollout. Gemini has already proven to be the most capable assistant on any smartphone, seamlessly handling complex multimodal tasks — like placing a <a href="https://www.tomsguide.com/phones/samsung-phones/i-just-asked-gemini-on-the-galaxy-s26-to-order-dunkin-donuts-for-me-and-24-minutes-later-it-got-delivered-to-my-door">Dunkin' order for me through DoorDash</a>.</p><p>I’m eager to test the new <a href="https://www.tomsguide.com/ai/google-just-revealed-gemini-intelligence-and-it-could-change-android-forever">Gemini Intelligence</a> features Google showcased at <a href="https://www.tomsguide.com/phones/live/the-android-show-google-i-o-edition-live-all-the-latest-android-gemini-ai-and-android-xr-news-as-it-happens">The Android Show: Google I/O Edition</a>, especially given the deeper integrations coming to <a href="https://www.tomsguide.com/phones/android-auto-is-about-to-change-the-way-you-drive-3d-google-maps-redesigned-interface-video-support-gemini-and-more">Android Auto</a>. It remains to be seen what additional tools Google will keep exclusive to the Pixel 11 Pro XL, but one thing is certain: Google continues to set the bar for AI on smartphones, and I expect the Pixel 11 Pro XL will only cement that lead.  </p><h2 class="article-body__section" id="section-iphone-18-pro-max-vs-pixel-11-pro-xl-outlook"><span>iPhone 18 Pro Max vs. Pixel 11 Pro XL: Outlook</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3788px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="waMbC84rwYqCAZxCfgYVaU" name="iPhone 17 Pro Max vs Pixel 10 Pro XL" alt="iPhone 17 Pro Max vs Pixel 10 Pro XL held in the hand." src="https://cdn.mos.cms.futurecdn.net/waMbC84rwYqCAZxCfgYVaU.jpg" mos="" align="middle" fullscreen="" width="3788" height="2131" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide / John Velasco)</span></figcaption></figure><p>The battle between the iPhone 18 Pro Max and the Pixel 11 Pro XL is the matchup I'm looking forward to the most, with both manufacturers targeting major hardware and software upgrades.</p><p>Apple is focusing heavily on physical refinement and optical versatility. With rumored features like a mechanical variable-aperture main sensor, 2nm A20 Pro chip, stainless-steel vapor chamber, and a massive 5,567 mAh battery, the iPhone 18 Pro Max is positioning itself as an absolute hardware powerhouse.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ev12aX"></div>                            </div>                            <script src="https://kwizly.com/embed/ev12aX.js" async></script><p>Google, on the other hand, should continue to focus its efforts on what it does best: deeper AI integration. The Pixel 11 Pro XL's transition to a 2nm Tensor G6 chip could finally deliver the sustained performance that previous Tensor chips lacked. Throw in an extended 120x zoom range, system-level Gemini AI features that Apple still can't match, and perhaps a novel “Pixel Glow” notification tool, and Google makes a compelling case for the flagship crown.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom’s Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-vs-fold-8-ultra-camera-test-is-the-telephoto-zoom-worth-the-extra-usd200">Galaxy Z Fold 8 vs. Fold 8 Ultra camera zoom test: Don't spend the extra $200 until you see this</a></li><li><a href="https://www.tomsguide.com/phones/google-pixel-phones/this-is-the-pixel-11-pro-fold-and-this-is-when-pre-orders-officially-start">This is the Pixel 11 Pro Fold — and this is when pre-orders officially start</a></li><li><a href="https://www.tomsguide.com/phones/i-asked-siri-ai-and-gemini-a-series-of-increasingly-bizarre-questions-to-see-how-they-responded-heres-what-happened">I asked Siri AI and Gemini a series of increasingly bizarre questions to see how they responded —here's what happened</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I tested the Samsung Galaxy Z Fold 8 Ultra vs Galaxy S26 Ultra for 2 weeks — here’s the one I’d buy  ]]></title>
                                                                                                <dc:content><![CDATA[ <p>What’s in a name? In the case of the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-ultra-review">Galaxy Z Fold 8 Ultra</a>, the “Ultra” part is supposed to signal to buyers that Samsung’s flagship foldable is a higher tier of phone. And in many ways it is, from the super bright display with less of a crease to the silicon-carbon battery (a first for Samsung phones).</p><p>But at $2,099, is the Fold 8 Ultra truly an “Ultra” phone? I’ve been testing it for a couple weeks, and while there’s plenty of great upgrades, there are some ways the Fold 8 Ultra falls short of the $1,299 <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s26-ultra-review">Galaxy S26 Ultra</a>. After testing these two phones side by side, including taking lots of photos, here’s the one I'd buy.</p><h3 class="article-body__section" id="section-galaxy-fold-8-ultra-vs-galaxy-s26-ultra-specs-compared"><span>Galaxy Fold 8 Ultra vs Galaxy S26 Ultra: Specs Compared</span></h3><div ><table><tbody><tr><td class="firstcol " ><p><strong></strong></p></td><td  ><p><strong>Galaxy S26 Ultra</strong></p></td><td  ><p><strong>Galaxy Z Fold 8 Ultra</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Starting Price</strong></p></td><td  ><p><strong>$1,299</strong> (256GB)</p></td><td  ><p><strong>$2,099</strong> (256GB)</p></td></tr><tr><td class="firstcol " ><p><strong>Form Factor</strong></p></td><td  ><p>Traditional Slab / Glass-and-Metal Sandwich</p></td><td  ><p>Dual-screen Foldable</p></td></tr><tr><td class="firstcol " ><p><strong>Main Display</strong></p></td><td  ><p><strong>6.9-inch</strong> Dynamic LTPO AMOLED 2X</p><p>• 1440 x 3120 px (QHD+)</p><p>• 120Hz adaptive refresh rate</p><p>• Privacy Display</p></td><td  ><p><strong>8.0-inch</strong> Dynamic LTPO AMOLED 2X (Inner)</p><p>• 2256 x 2504 px</p><p>• 120Hz adaptive refresh rate</p><p>• Anti-reflective coating</p></td></tr><tr><td class="firstcol " ><p><strong>Cover Display</strong></p></td><td  ><p>N/A</p></td><td  ><p><strong>6.5-inch</strong> Dynamic LTPO AMOLED 2X</p><p>• 1080 x 2520 px, 120Hz</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>163.6 x 78.1 x 7.9 mm</p></td><td  ><p><strong>Folded:</strong> 158.4 x 72.8 x 8.9 mm</p><p><strong>Unfolded:</strong> 158.4 x 143.2 x 4.1 mm</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>214 g</p></td><td  ><p>215 g</p></td></tr><tr><td class="firstcol " ><p><strong>RAM Options</strong></p></td><td  ><p>12 GB (256GB/512GB) / 16 GB (1TB)</p></td><td  ><p>12 GB (256GB/512GB) / 16 GB (1TB)</p></td></tr><tr><td class="firstcol " ><p><strong>Storage Options</strong></p></td><td  ><p>256 GB / 512 GB / 1 TB (UFS 4.0)</p></td><td  ><p>256 GB / 512 GB / 1 TB</p></td></tr><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>Qualcomm Snapdragon 8 Elite Gen 5</p></td><td  ><p>Qualcomm Snapdragon 8 Elite Gen 5</p></td></tr><tr><td class="firstcol " ><p><strong>Durability Rating</strong></p></td><td  ><p><strong>IP68</strong> (Dust-tight + 1.5m water)</p></td><td  ><p><strong>IP48</strong> (Particle protection >1mm + 1m water)</p></td></tr><tr><td class="firstcol " ><p><strong>S Pen Support</strong></p></td><td  ><p><strong>Yes</strong> (Built-in slot)</p></td><td  ><p><strong>No</strong> (Not supported)</p></td></tr><tr><td class="firstcol " ><p><strong>Rear Cameras</strong></p></td><td  ><p>• 200 MP Main (OIS)</p><p>• 50 MP Ultrawide</p><p>• 10 MP 3x Telephoto</p><p>• 50 MP 5x Periscope Zoom</p></td><td  ><p>• 200 MP Main (OIS)</p><p>• 50 MP Ultrawide</p><p>• 10 MP 3x Telephoto</p></td></tr><tr><td class="firstcol " ><p><strong>Zoom Range</strong></p></td><td  ><p>Up to 100x Space Zoom</p></td><td  ><p>Up to 30x Space Zoom</p></td></tr><tr><td class="firstcol " ><p><strong>Selfie Cameras</strong></p></td><td  ><p>12 MP (Single)</p></td><td  ><p>10 MP Cover Screen + 10 MP Inner Display</p></td></tr><tr><td class="firstcol " ><p><strong>Battery Capacity</strong></p></td><td  ><p>5,000 mAh</p></td><td  ><p>5,000 mAh</p></td></tr><tr><td class="firstcol " ><p><strong>Charging Speeds</strong></p></td><td  ><p>60W Wired / 25W Wireless / 4.5W Reverse</p></td><td  ><p>45W Wired / 20W Wireless / 4.5W Reverse</p></td></tr><tr><td class="firstcol " ><p><strong>Operating System</strong></p></td><td  ><p>Android 16 (One UI 8.5)</p></td><td  ><p>Android 17 (One UI 9.0)</p></td></tr><tr><td class="firstcol " ><p><strong>Color Options</strong></p></td><td  ><p>Titanium Gray, Titanium Black, Titanium Silver, Titanium Violet</p></td><td  ><p>Graphite, Cream, Violet Shadow, Green Shadow (Samsung Online Exclusive)</p></td></tr></tbody></table></div><div class="product"><a data-dimension112="e44b0efe-91d9-11f1-8044-8165f725d951" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra: up to $1,200 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Fold 8 Ultra: up to $1,200 off w/ trade-in @ Samsung" href="https://www.samsung.com/us/smartphones/galaxy-z-fold8-ultra/buy/galaxy-z-fold8-ultra-256gb-unlocked-sku-sm-f976uzvaxaa/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:600px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="XUkFwYXYpdYjL4TYYivxEg" name="Samsung Galaxy Z Fold 8 Ultra deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/XUkFwYXYpdYjL4TYYivxEg.jpg" mos="" align="middle" fullscreen="" width="600" height="600" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Fold 8 Ultra: </strong><a href="https://www.samsung.com/us/smartphones/galaxy-z-fold8-ultra/buy/galaxy-z-fold8-ultra-256gb-unlocked-sku-sm-f976uzvaxaa/" target="_blank" rel="nofollow" data-dimension112="e44b0efe-91d9-11f1-8044-8165f725d951" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra: up to $1,200 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Fold 8 Ultra: up to $1,200 off w/ trade-in @ Samsung" data-dimension25=""><strong>up to $1,200 off w/ trade-in @ Samsung</strong></a><br>The Galaxy Z Fold 8 Ultra features an 8-inch main display, 6.5-inch cover display and triple camera setup that includes a 200MP main, 50MP ultra-wide, and 10MP 3x telephoto lens. In our <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-ultra-review">Galaxy Z Fold 8 Ultra review</a>, we said its greatly reduced crease, upgraded silicon carbon battery, faster charging, and upgraded ultrawide camera make it a great upgrade.<a class="view-deal button" href="https://www.samsung.com/us/smartphones/galaxy-z-fold8-ultra/buy/galaxy-z-fold8-ultra-256gb-unlocked-sku-sm-f976uzvaxaa/" target="_blank" rel="nofollow" data-dimension112="e44b0efe-91d9-11f1-8044-8165f725d951" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra: up to $1,200 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Fold 8 Ultra: up to $1,200 off w/ trade-in @ Samsung" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="62e34dc6-91da-11f1-bb9e-2bbcd957c9c7" data-action="Deal Block" data-label="Galaxy S26 Ultra" data-dimension48="Galaxy S26 Ultra" data-dimension25="$1049" href="https://www.bestbuy.com/product/samsung-galaxy-s26-ultra-256gb-unlocked-cobalt-violet/JJGRF36YJC" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1475px;"><p class="vanilla-image-block" style="padding-top:101.69%;"><img id="pTo28Fx9tATQs3gfbYBFL5" name="Galaxy S26 Ultra deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/pTo28Fx9tATQs3gfbYBFL5.jpg" mos="" align="middle" fullscreen="" width="1475" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Galaxy S26 Ultra features a 6.9-inch 3120 x 1440 AMOLED display w/ 120Hz refresh, Snapdragon 8 Elite Gen 5 CPU, 12GB of RAM, and 256GB of storage. You also get a 200MP main (f/1.4), 50MP ultra wide (f/1.9), 10MP (f/2.4) telephoto w/3x optical zoom, and a 50MP (f/2.9) telephoto w/5x optical zoom. There's also a 5,000 mAh battery. In our <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s26-ultra-review" data-dimension112="62e34dc6-91da-11f1-bb9e-2bbcd957c9c7" data-action="Deal Block" data-label="Galaxy S26 Ultra" data-dimension48="Galaxy S26 Ultra" data-dimension25="$1049">Galaxy S26 Ultra review</a>, we said the Editor's Choice phone is super smart, sleek and fast. <a class="view-deal button" href="https://www.bestbuy.com/product/samsung-galaxy-s26-ultra-256gb-unlocked-cobalt-violet/JJGRF36YJC" target="_blank" rel="nofollow" data-dimension112="62e34dc6-91da-11f1-bb9e-2bbcd957c9c7" data-action="Deal Block" data-label="Galaxy S26 Ultra" data-dimension48="Galaxy S26 Ultra" data-dimension25="$1049">View Deal</a></p></div><h3 class="article-body__section" id="section-galaxy-z-fold-8-ultra-vs-galaxy-s26-ultra-design-and-durability"><span>Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra: Design and durability</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2801px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="wVVitwh992iiUo4GDVZM7F" name="Galaxy Z Fold 8 Ultra review-22" alt="samsung galaxy z fold 8 ultra review images" src="https://cdn.mos.cms.futurecdn.net/wVVitwh992iiUo4GDVZM7F.jpg" mos="" align="middle" fullscreen="" width="2801" height="1576" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Galaxy Z Fold 8 Ultra </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Galaxy Z Fold 8 Ultra is remarkably light and compact for a phone that unfurls to an 8-inch display. It weighs just 7.58 ounces, which is barely heavier than the Galaxy S26 Ultra that limits you to a 6.9-inch screen.</p><p>In addition, the Fold 8 Ultra is only 4.1mm thin when it’s opened, which is even thinner than the Fold 7. Still, when closed the Galaxy S26 Ultra is a millimeter thinner, which is expected for a slab phone.</p><div ><table><caption>Galaxy Z Fold 8 Ultra vs. S26 Ultra: Size and weight</caption><tbody><tr><td class="firstcol " ><p><strong></strong></p></td><td  ><p><strong>State</strong></p></td><td  ><p><strong>Dimensions (H × W × D)</strong></p></td><td  ><p><strong>Weight</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Samsung Galaxy Z Fold 8 Ultra</strong></p></td><td  ><p><strong>Unfolded (Open)</strong></p></td><td  ><p>6.24 × 5.64 × 0.16 in (158.4 × 143.2 × 4.1 mm)</p></td><td  ><p>7.58 oz (215 g)</p></td></tr><tr><td class="firstcol empty" ></td><td  ><p><strong>Folded (Closed)</strong></p></td><td  ><p>6.24 × 2.87 × 0.35 in (158.4 × 72.8 × 8.9 mm)</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Samsung Galaxy S26 Ultra</strong></p></td><td  ><p><strong>Standard</strong></p></td><td  ><p>6.44 × 3.07 × 0.31 in (163.6 × 78.1 × 7.9 mm)</p></td><td  ><p>7.55 oz (214 g)</p></td></tr></tbody></table></div><p>The Fold 8 Ultra may be thinner, but it’s definitely not ready for a day at the beach. This foldable is once again IP48 rated, which means it can withstand being submerged in water for 30 minutes — but it is not dust resistant.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3733px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="YpCNYCr6ACAQ2JPhGn3KuK" name="Galaxy S26 Ultra review-LIST2" alt="Samsung Galaxy S26 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/YpCNYCr6ACAQ2JPhGn3KuK.jpg" mos="" align="middle" fullscreen="" width="3733" height="2100" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>However, the Galaxy S26 Ultra carries an IP68 rating, which means the phone is dust tight. It’s also worth mentioning that other foldables are rated IP68, including the Motorola Razr Fold and Google Pixel 10 Pro Fold.</p><h3 class="article-body__section" id="section-galaxy-z-fold-8-ultra-vs-galaxy-s26-ultra-displays"><span>Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra: Displays</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3462px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="s4PcUkqvHoinhjuVyNZ6gW" name="Samsung Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra-2" alt="Samsung Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra" src="https://cdn.mos.cms.futurecdn.net/s4PcUkqvHoinhjuVyNZ6gW.jpg" mos="" align="middle" fullscreen="" width="3462" height="1947" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Galaxy Z Fold 8 packs dual screens: a 6.5-inch cover display that’s fine for running apps (if a bit cramped for typing) and a huge 8-inch main display. And the S26 Ultra has a 6.9-inch panel.</p><p>The main reason to get the Fold 8 Ultra is the bigger main display. With 8 inches at your disposal, you get a more immersive video watching experience, as well as the ability to run apps side by side.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="iGEKAZXpueuG4YxyKtptrR" name="Fold 8 Ultra vs S26 Ultra displays" alt="Samsung Galaxy Z Fold 8 Ultra and Galaxy S26 Ultra in hand" src="https://cdn.mos.cms.futurecdn.net/iGEKAZXpueuG4YxyKtptrR.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>What you don’t get is the S26 Ultra’s Privacy Display, which narrows the viewing angle for any snoops around you and can even black out just parts of the display.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="sY6mMGM5VbiNoDMrS3Gt4h" name="Galaxy S26 Ultra privacy screen LIST" alt="Samsung Galaxy S26 Ultra showing Privacy Display" src="https://cdn.mos.cms.futurecdn.net/sY6mMGM5VbiNoDMrS3Gt4h.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I really like that the Fold 8 Ultra features an anti-reflective coating that seriously cuts down on glare when you’re outside. Plus, thanks to Samsung’s Flex Titanium technology, the Galaxy Z Fold 8’s crease is much less visible than previous Samsung foldable phones. It’s still there, but more subtle.</p><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Brightness HDR (nits)</strong></p></td><td  ><p><strong>Color (DCI-P3)</strong></p></td><td  ><p><strong>Accuracy (Delta-E)</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold  Ultra</strong></p></td><td  ><p>2,687</p></td><td  ><p>116.6% (Natural)</p></td><td  ><p>0.2</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy S26 Ultra</strong></p></td><td  ><p>1,806</p></td><td  ><p>90.6% (Natural)</p></td><td  ><p>0.22</p></td></tr></tbody></table></div><p>Thanks to a brighter screen, I also found using the Z Fold 8 outside in direct sunlight a lot easier, whether I was browsing the web or just taking or reviewing photos. On previous Samsung Folds, I mostly used the external screen for taking pics.</p><p>In our lab testing the Z Fold 8 Ultra hit 2,687 nits of brightness with HDR content. That’s considerably higher than the S26 Ultra’s 1,806 nits.</p><h3 class="article-body__section" id="section-galaxy-z-fold-8-ultra-vs-galaxy-s26-ultra-s-pen"><span>Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra: S Pen</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4345px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AQBTHresRLkR56MSUmEFMM" name="Galaxy S26 Ultra review-17" alt="Samsung Galaxy S26 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/AQBTHresRLkR56MSUmEFMM.jpg" mos="" align="middle" fullscreen="" width="4345" height="2444" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Samsung ditched the S Pen on the <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-7-review">Galaxy Z Fold 7</a> in order to make a thinner design and it’s still missing on the Fold 8 Ultra. Without a built-in digitizer for the screen, you simply can’t use an S Pen.</p><p>Meanwhile, the S26 Ultra has an S Pen built into the design. So you can use the stylus for taking notes, drawing and making fine edits on the go. </p><p>I spoke to Samsung executives about the missing S Pen on the Fold and they’re <a href="https://www.tomsguide.com/phones/samsung-phones/no-the-fold-8-doesnt-have-an-s-pen-but-samsung-is-exploring-its-return-for-future-folds">“open” to bringing it back</a>.</p><h3 class="article-body__section" id="section-galaxy-z-fold-8-ultra-vs-galaxy-s26-ultra-cameras"><span>Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra: Cameras</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3441px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="TnA5425ZLKYYYgLYV3DJDG" name="Samsung Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra-3" alt="Samsung Galaxy Z Fold 8 Ultra and Galaxy S26 Ultra rear cameras" src="https://cdn.mos.cms.futurecdn.net/TnA5425ZLKYYYgLYV3DJDG.jpg" mos="" align="middle" fullscreen="" width="3441" height="1936" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Galaxy Z Fold 8 Ultra has an <em>Ultra-ish</em> camera setup, starting with a 200MP main camera and 50MP ultraside, same as on the Galaxy S26 Ultra. But the new foldable falls down in the zoom department.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/aepV355MZkiSHL9bNuGfBo.jpg" alt="Galaxy Z Fold 8 Ultra vs Galaxy S26 Ultra photo comparisons" /><figcaption>Galaxy Z Fold 8 Ultra<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ttHc5QQrF7xwUSmwWn8QBo.jpg" alt="Galaxy Z Fold 8 Ultra vs Galaxy S26 Ultra photo comparisons" /><figcaption>Galaxy S26 Ultra<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/BKQv5NjgvAqWQGAzbbDNsi.jpg" alt="Galaxy Z Fold 8 Ultra vs Galaxy S26 Ultra photo comparisons" /><figcaption>Galaxy Z Fold 8 Ultra<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Tbcsv6heCjtKjWPzdCbZsi.jpg" alt="Galaxy Z Fold 8 Ultra vs Galaxy S26 Ultra photo comparisons" /><figcaption>Galaxy S26 Ultra<small role="credit">Tom's Guide</small></figcaption></figure></figure><p>Let’s start with the good news. In most conditions, the main and ultrawide cameras on the Fold 8 and S26 Ultra turned in nearly identical results, whether it was flower close-up ultra-wide shots of Bryant Park or portraits. Panoramas were similar, too.</p><iframe allow="" height="395" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=b187e00e-91d0-11f1-ba1b-0e6f42328d7d"></iframe><p>It’s when you try to get in close that the Fold 8, well, folds. While the S26 Ultra packs dual telephoto zoom lenses at 3x and 5x with a maximum of 100x digital zoom, the Fold 8 Ultra has only a single 10MP telephoto lens with 3x optical zoom and 30x digital zoom.</p><p>Check out this close-up of an ice cream truck. At 30x, you can make out all of the menu names underneath the pictures of the cones on the S26 Ultra. On the Fold 8 Ultra it’s just a bunch of blobs.</p><iframe allow="" height="395" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=3ddb19aa-91d0-11f1-ba1b-0e6f42328d7d"></iframe><p>Same thing with this shot of a medieval scholar sculpture on the side of a New York City building. At 10x, you can make out more details in his face, hair and garb. And at 30x the Fold 8’s Ultra’s shot looks like an impressionist painting by comparison.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/uKqxNfpVJr8eBRAQFcvTFi.jpg" alt="Galaxy Z Fold 8 Ultra vs Galaxy S26 Ultra photo comparisons" /><figcaption>Galaxy Z Fold 8 Ultra - 10x<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/KuTqZjwfj6Cj3esegBBuii.jpg" alt="Galaxy Z Fold 8 Ultra vs Galaxy S26 Ultra photo comparisons" /><figcaption>Galaxy S26 Ultra - 10x<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/GdFLdXVo8dWBJ9L5eHYGxh.jpg" alt="Galaxy Z Fold 8 Ultra vs Galaxy S26 Ultra photo comparisons" /><figcaption>Galaxy Z Fold 8 Ultra - 30x<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/iuHdLkoLEJZT8xfG94DUFi.jpg" alt="Galaxy Z Fold 8 Ultra vs Galaxy S26 Ultra photo comparisons" /><figcaption>Galaxy S26 Ultra - 30x<small role="credit">Tom's Guide</small></figcaption></figure></figure><p>The S26 Ultra has a slight selfie advantage, too, with a 12MP front camera. The Fold 8 Ultra has dual 10MP shooters. But the results are pretty close in my eyes. The advantage the Fold has is that you can flip around the cover display and take super sharp selfies with the rear cameras.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/Qtm4PmZ2UEHeBpzsJ86rgi.jpg" alt="Galaxy Z Fold 8 Ultra vs Galaxy S26 Ultra photo comparisons" /><figcaption>Galaxy Z Fold 8 Ultra - Main camera<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/e8xVg6WGnZz9BPZSEvcrni.jpg" alt="Galaxy Z Fold 8 Ultra vs Galaxy S26 Ultra photo comparisons" /><figcaption>Galaxy Z Fold 8 Ultra - Front camera<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/2jRFCRn8ANYoQ8b5WJRcoi.jpg" alt="Galaxy Z Fold 8 Ultra vs Galaxy S26 Ultra photo comparisons" /><figcaption>Galaxy S26 Ultra<small role="credit">Tom's Guide</small></figcaption></figure></figure><p>I’d say the Fold 8 Ultra and S26 Ultra are fairly evenly matched in low-light settings. In this photo of a record player in near darkness, the S26 Ultra delivered a brighter and crisper shot. The colors look more realistic too, especially in the pink macrame.</p><iframe allow="" height="395" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=d70c81d2-91cf-11f1-ba1b-0e6f42328d7d"></iframe><p>However, while the S26 Ultra gave me a brighter shot of the bottles in this bar, especially the blue Casa Azul, the text looks sharper through the Fold 8 Ultra.</p><iframe allow="" height="395" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=b8df2c0a-91cf-11f1-ba1b-0e6f42328d7d"></iframe><h3 class="article-body__section" id="section-galaxy-z-fold-8-ultra-vs-galaxy-s26-ultra-performance"><span>Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra: Performance</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3684px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="bFv6s9UZuRZHPMckD5pxaL" name="Galaxy S26 Ultra review-27" alt="Samsung Galaxy S26 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/bFv6s9UZuRZHPMckD5pxaL.jpg" mos="" align="middle" fullscreen="" width="3684" height="2072" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Galaxy S26 Ultra </span><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Packing the same Snapdragon 8 Elite Gen 5 chip for Galaxy, the Galaxy Z Fold 8 Ultra and S26 Ultra are both multitasking powerhouses, and they’re both great for gaming.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="yAdRaBVHZ6CPwD4QtQ3UxE" name="fold 8 ultra gaming" alt="Playing Wuthering Waves on Galaxy Z Fold 8 Ultra" src="https://cdn.mos.cms.futurecdn.net/yAdRaBVHZ6CPwD4QtQ3UxE.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>In our lab tests, the S26 Ultra finished slightly ahead in Geekbench, 3DMark graphics and Geekbench AI, but I wouldn’t say it’s a big difference.</p><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Geekbench 6 (Single/Multicore)</strong></p></td><td  ><p><strong>3DMark Solar Bay Unlimited</strong></p></td><td  ><p><strong>Geekbench AI</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 8 Ultra</strong></p></td><td  ><p>3,110/10,578</p></td><td  ><p>49.24/12,950</p></td><td  ><p>71715</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy S26 Ultra</strong></p></td><td  ><p>3,733/11,457</p></td><td  ><p>49.37 / 12,984</p></td><td  ><p>83047 </p></td></tr></tbody></table></div><p>The S26 Ultra could be helped by the fact that it has vapor chamber cooling, while the Fold 8 Ultra does not.</p><p>I played Wuthering Waves on both the Fold 8 Ultra and S26 Ultra, and it was more immersive on the Fold because of its large display. But I found it a touch smoother on the S26 Ultra.</p><h3 class="article-body__section" id="section-galaxy-z-fold-8-ultra-vs-galaxy-s26-ultra-battery-life-and-charging"><span>Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra: Battery life and charging</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2907px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="w8dEoJdD9j97ChKpUrPWwF" name="Galaxy S26 Ultra review" alt="Samsung Galaxy S26 Ultra with 60W charger" src="https://cdn.mos.cms.futurecdn.net/w8dEoJdD9j97ChKpUrPWwF.jpg" mos="" align="middle" fullscreen="" width="2907" height="1635" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Samsung has made the leap to silicon-carbon battery tech with the Fold 8 Ultra, going from 4,400 mAh on the Fold 7 to 5,000 mAh on its latest foldable. That’s the same capacity as the S26 Ultra albeit with lithium ion.</p><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Hours:Mins</strong></p></td><td  ><p><strong>15-min charge</strong></p></td><td  ><p><strong>30-min charge</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 8</strong></p></td><td  ><p>14:33</p></td><td  ><p>49%</p></td><td  ><p>76%</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy S26 Ultra</strong></p></td><td  ><p>16:40 </p></td><td  ><p>41%</p></td><td  ><p>77%</p></td></tr></tbody></table></div><p>On the Tom’s Guide battery test, which involves continuous web surfing over 5G, the Galaxy Z Fold 8 Ultra lasted an impressive 14 hours and 33 minutes. That’s a huge upgrade over the 11 hours turned in by the Fold 7.</p><p>The Galaxy S26 Ultra lasted an even longer 16 hours and 40 minutes, but keep in mind that it was powering a smaller 6.9-inch display compared to the 8-inch screen on the Fold 8.</p><p>The Fold 8 offers 45W wired charging and 20W wireless charging, compared to 60W wired and 25W wireless on the S26 Ultra. But the phones turned in similar results in our wired charging test.</p><p>The Fold 8 Ultra got to 76% in 30 minutes versus 77% for the S26 Ultra. Note that neither phone has built-in magnets for Qi 2 charging, so you’ll have to buy a case with that feature.</p><h3 class="article-body__section" id="section-galaxy-z-fold-8-ultra-vs-galaxy-s26-ultra-software-and-special-features"><span>Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra: Software and special features</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4592px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="dSkYa6nb5vfELq9CZP9HkM" name="Galaxy S26 Ultra review-21" alt="Samsung Galaxy S26 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/dSkYa6nb5vfELq9CZP9HkM.jpg" mos="" align="middle" fullscreen="" width="4592" height="2583" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Both the Galaxy Z Fold 8 Ultra and Galaxy S26 Ultra offer a bunch of AI features that come in handy, including automated actions with Gemini (like helping to book dinner reservations or even vacations), Call Screening and Now Brief for summarizing your daily schedule. They also both let you transform your photos with a simple voice prompt.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3617px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="TFyBCFPuPGGHLrmtZ8NaYL" name="Galaxy S26 Ultra review-6" alt="Samsung Galaxy S26 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/TFyBCFPuPGGHLrmtZ8NaYL.jpg" mos="" align="middle" fullscreen="" width="3617" height="2035" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>However, the Fold 8 Ultra offers a few unique tricks of its own. This includes Now Nudge in Split View, which can give you quick hints for opening a second app on its own screen to save time. And My FanCam can automatically follow a subject in your video, cropping the clip on the fly.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FTAPbqnyMxnn72TGFVq4Eg" name="Galaxy Z Fold 8 Ultra-29" alt="Galaxy Z Fold 8 Ultra Flex Mode" src="https://cdn.mos.cms.futurecdn.net/FTAPbqnyMxnn72TGFVq4Eg.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Galaxy Z Fold 8 Ultra Flex Mode </span><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Plus, unlike the Galaxy S26 Ultra, the Fold 8 Ultra boasts a Flex Mode for using the foldable like a mini laptop. And when shooting photos and videos you can use the Cover Screen preview feature to let the subjects see themselves in real time.</p><h3 class="article-body__section" id="section-galaxy-z-fold-8-ultra-vs-galaxy-s26-ultra-verdict"><span>Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra: Verdict</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2046px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="nyEE9BKEyuBBNQFxKmYmcP" name="Samsung Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra-4" alt="Samsung Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra-4" src="https://cdn.mos.cms.futurecdn.net/nyEE9BKEyuBBNQFxKmYmcP.jpg" mos="" align="middle" fullscreen="" width="2046" height="1151" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I’m not going to say that calling the Galaxy Z Fold 8 Ultra an Ultra phone is false advertising, but you do have to make a bunch of trade-offs versus the Galaxy S26 Ultra.</p><p>With the foldable you don’t get an S Pen or an IP68 rating for dust resistance, and the S26 Ultra offers both a more powerful telephoto zoom and Privacy Display feature. Plus, the S26 Ultra lasted longer on a charge.</p><p>However, the Galaxy Z Fold 8 Ultra is a very versatile foldable phone that grants you a much bigger display, the ability to run up three apps at once and handy AI tools like Now Nudge with Split View.</p><p>But at $2,099, the Fold 8 Ultra costs $800 more than the S26 Ultra. So you really, really want to own a foldable if you’re going that route. </p><p>Bottom line: If you want the ultimate multi-tasking powerhouse, get the Fold 8 Ultra. But if you want the biggest zoom, best-in-class privacy and an S Pen, snag the S26 Ultra for less.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-ultra-vs-galaxy-s26-ultra</link>
                                                                            <description>
                            <![CDATA[ I compared the Galaxy Z Fold 8 Ultra vs Galaxy S26 Ultra side by side in terms of design, durability, features and performance to help you pick the right flagship for you. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">pWm7apZ2eAGEG6QZmCkxgn</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/A6iyDHHwEjWBJKYW5FPrpW-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 07 Aug 2026 04:30:00 +0000</pubDate>                                                                                                                                <updated>Thu, 13 Aug 2026 11:25:19 +0000</updated>
                                                                                                                                            <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Mark Spoonauer ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/wtAspSzVfcKLB4JEd39AMo.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Mark Spoonauer is the global editor in chief of Tom&#039;s Guide and has covered technology for over 20 years. He oversees the direction of Tom&#039;s Guide and leads a team of over 25 journalists to bring you our expert buying guides, reviews, news, how-to articles, deals and other coverage.&lt;/p&gt;&lt;p&gt;Mark has a passion for covering all things mobile, having reviewed dozens of smartphones and other gadgets. He enjoys testing the top mobile devices and putting them up against each other in our in-depth face-offs. He also works hand in hand with our editors and testing team to continually improve how we evaluate products. &lt;/p&gt;&lt;p&gt;Having led Tom&#039;s Guide since 2013, Mark has focused on growing the core tech coverage of the site while also expanding into new areas, such as entertainment, fitness and home, recruiting talented writers and editors to help our readers figure out what to buy and how to get the most out of the products and services they use every day. &lt;/p&gt;&lt;p&gt;Mark has spoken at key industry events and appears regularly on TV to discuss the latest trends, including &lt;a href=&quot;https://cheddar.com/media/pixel-watch-gets-a-release-date-at-google-i-o-2022&quot;&gt;Cheddar&lt;/a&gt;, Fox 5, &lt;a href=&quot;https://www.foxbusiness.com/technology/apple-march-event-5g-iphone&quot;&gt;Fox Business&lt;/a&gt; and other outlets. Mark was previously editor in chief of Laptop Mag, and his work has appeared in Wired, Popular Science and Inc. Follow him on Twitter at @mspoonauer.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/A6iyDHHwEjWBJKYW5FPrpW-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Samsung Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra]]></media:description>                                                            <media:text><![CDATA[Samsung Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra]]></media:text>
                                <media:title type="plain"><![CDATA[Samsung Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/A6iyDHHwEjWBJKYW5FPrpW-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>What’s in a name? In the case of the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-ultra-review">Galaxy Z Fold 8 Ultra</a>, the “Ultra” part is supposed to signal to buyers that Samsung’s flagship foldable is a higher tier of phone. And in many ways it is, from the super bright display with less of a crease to the silicon-carbon battery (a first for Samsung phones).</p><p>But at $2,099, is the Fold 8 Ultra truly an “Ultra” phone? I’ve been testing it for a couple weeks, and while there’s plenty of great upgrades, there are some ways the Fold 8 Ultra falls short of the $1,299 <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s26-ultra-review">Galaxy S26 Ultra</a>. After testing these two phones side by side, including taking lots of photos, here’s the one I'd buy.</p><h3 class="article-body__section" id="section-galaxy-fold-8-ultra-vs-galaxy-s26-ultra-specs-compared"><span>Galaxy Fold 8 Ultra vs Galaxy S26 Ultra: Specs Compared</span></h3><div ><table><tbody><tr><td class="firstcol " ><p><strong></strong></p></td><td  ><p><strong>Galaxy S26 Ultra</strong></p></td><td  ><p><strong>Galaxy Z Fold 8 Ultra</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Starting Price</strong></p></td><td  ><p><strong>$1,299</strong> (256GB)</p></td><td  ><p><strong>$2,099</strong> (256GB)</p></td></tr><tr><td class="firstcol " ><p><strong>Form Factor</strong></p></td><td  ><p>Traditional Slab / Glass-and-Metal Sandwich</p></td><td  ><p>Dual-screen Foldable</p></td></tr><tr><td class="firstcol " ><p><strong>Main Display</strong></p></td><td  ><p><strong>6.9-inch</strong> Dynamic LTPO AMOLED 2X</p><p>• 1440 x 3120 px (QHD+)</p><p>• 120Hz adaptive refresh rate</p><p>• Privacy Display</p></td><td  ><p><strong>8.0-inch</strong> Dynamic LTPO AMOLED 2X (Inner)</p><p>• 2256 x 2504 px</p><p>• 120Hz adaptive refresh rate</p><p>• Anti-reflective coating</p></td></tr><tr><td class="firstcol " ><p><strong>Cover Display</strong></p></td><td  ><p>N/A</p></td><td  ><p><strong>6.5-inch</strong> Dynamic LTPO AMOLED 2X</p><p>• 1080 x 2520 px, 120Hz</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>163.6 x 78.1 x 7.9 mm</p></td><td  ><p><strong>Folded:</strong> 158.4 x 72.8 x 8.9 mm</p><p><strong>Unfolded:</strong> 158.4 x 143.2 x 4.1 mm</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>214 g</p></td><td  ><p>215 g</p></td></tr><tr><td class="firstcol " ><p><strong>RAM Options</strong></p></td><td  ><p>12 GB (256GB/512GB) / 16 GB (1TB)</p></td><td  ><p>12 GB (256GB/512GB) / 16 GB (1TB)</p></td></tr><tr><td class="firstcol " ><p><strong>Storage Options</strong></p></td><td  ><p>256 GB / 512 GB / 1 TB (UFS 4.0)</p></td><td  ><p>256 GB / 512 GB / 1 TB</p></td></tr><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>Qualcomm Snapdragon 8 Elite Gen 5</p></td><td  ><p>Qualcomm Snapdragon 8 Elite Gen 5</p></td></tr><tr><td class="firstcol " ><p><strong>Durability Rating</strong></p></td><td  ><p><strong>IP68</strong> (Dust-tight + 1.5m water)</p></td><td  ><p><strong>IP48</strong> (Particle protection >1mm + 1m water)</p></td></tr><tr><td class="firstcol " ><p><strong>S Pen Support</strong></p></td><td  ><p><strong>Yes</strong> (Built-in slot)</p></td><td  ><p><strong>No</strong> (Not supported)</p></td></tr><tr><td class="firstcol " ><p><strong>Rear Cameras</strong></p></td><td  ><p>• 200 MP Main (OIS)</p><p>• 50 MP Ultrawide</p><p>• 10 MP 3x Telephoto</p><p>• 50 MP 5x Periscope Zoom</p></td><td  ><p>• 200 MP Main (OIS)</p><p>• 50 MP Ultrawide</p><p>• 10 MP 3x Telephoto</p></td></tr><tr><td class="firstcol " ><p><strong>Zoom Range</strong></p></td><td  ><p>Up to 100x Space Zoom</p></td><td  ><p>Up to 30x Space Zoom</p></td></tr><tr><td class="firstcol " ><p><strong>Selfie Cameras</strong></p></td><td  ><p>12 MP (Single)</p></td><td  ><p>10 MP Cover Screen + 10 MP Inner Display</p></td></tr><tr><td class="firstcol " ><p><strong>Battery Capacity</strong></p></td><td  ><p>5,000 mAh</p></td><td  ><p>5,000 mAh</p></td></tr><tr><td class="firstcol " ><p><strong>Charging Speeds</strong></p></td><td  ><p>60W Wired / 25W Wireless / 4.5W Reverse</p></td><td  ><p>45W Wired / 20W Wireless / 4.5W Reverse</p></td></tr><tr><td class="firstcol " ><p><strong>Operating System</strong></p></td><td  ><p>Android 16 (One UI 8.5)</p></td><td  ><p>Android 17 (One UI 9.0)</p></td></tr><tr><td class="firstcol " ><p><strong>Color Options</strong></p></td><td  ><p>Titanium Gray, Titanium Black, Titanium Silver, Titanium Violet</p></td><td  ><p>Graphite, Cream, Violet Shadow, Green Shadow (Samsung Online Exclusive)</p></td></tr></tbody></table></div><div class="product"><a data-dimension112="e44b0efe-91d9-11f1-8044-8165f725d951" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra: up to $1,200 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Fold 8 Ultra: up to $1,200 off w/ trade-in @ Samsung" href="https://www.samsung.com/us/smartphones/galaxy-z-fold8-ultra/buy/galaxy-z-fold8-ultra-256gb-unlocked-sku-sm-f976uzvaxaa/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:600px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="XUkFwYXYpdYjL4TYYivxEg" name="Samsung Galaxy Z Fold 8 Ultra deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/XUkFwYXYpdYjL4TYYivxEg.jpg" mos="" align="middle" fullscreen="" width="600" height="600" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Fold 8 Ultra: </strong><a href="https://www.samsung.com/us/smartphones/galaxy-z-fold8-ultra/buy/galaxy-z-fold8-ultra-256gb-unlocked-sku-sm-f976uzvaxaa/" target="_blank" rel="nofollow" data-dimension112="e44b0efe-91d9-11f1-8044-8165f725d951" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra: up to $1,200 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Fold 8 Ultra: up to $1,200 off w/ trade-in @ Samsung" data-dimension25=""><strong>up to $1,200 off w/ trade-in @ Samsung</strong></a><br>The Galaxy Z Fold 8 Ultra features an 8-inch main display, 6.5-inch cover display and triple camera setup that includes a 200MP main, 50MP ultra-wide, and 10MP 3x telephoto lens. In our <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-ultra-review">Galaxy Z Fold 8 Ultra review</a>, we said its greatly reduced crease, upgraded silicon carbon battery, faster charging, and upgraded ultrawide camera make it a great upgrade.<a class="view-deal button" href="https://www.samsung.com/us/smartphones/galaxy-z-fold8-ultra/buy/galaxy-z-fold8-ultra-256gb-unlocked-sku-sm-f976uzvaxaa/" target="_blank" rel="nofollow" data-dimension112="e44b0efe-91d9-11f1-8044-8165f725d951" data-action="Deal Block" data-label="Galaxy Z Fold 8 Ultra: up to $1,200 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Fold 8 Ultra: up to $1,200 off w/ trade-in @ Samsung" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="62e34dc6-91da-11f1-bb9e-2bbcd957c9c7" data-action="Deal Block" data-label="Galaxy S26 Ultra" data-dimension48="Galaxy S26 Ultra" data-dimension25="$1049" href="https://www.bestbuy.com/product/samsung-galaxy-s26-ultra-256gb-unlocked-cobalt-violet/JJGRF36YJC" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1475px;"><p class="vanilla-image-block" style="padding-top:101.69%;"><img id="pTo28Fx9tATQs3gfbYBFL5" name="Galaxy S26 Ultra deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/pTo28Fx9tATQs3gfbYBFL5.jpg" mos="" align="middle" fullscreen="" width="1475" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Galaxy S26 Ultra features a 6.9-inch 3120 x 1440 AMOLED display w/ 120Hz refresh, Snapdragon 8 Elite Gen 5 CPU, 12GB of RAM, and 256GB of storage. You also get a 200MP main (f/1.4), 50MP ultra wide (f/1.9), 10MP (f/2.4) telephoto w/3x optical zoom, and a 50MP (f/2.9) telephoto w/5x optical zoom. There's also a 5,000 mAh battery. In our <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s26-ultra-review" data-dimension112="62e34dc6-91da-11f1-bb9e-2bbcd957c9c7" data-action="Deal Block" data-label="Galaxy S26 Ultra" data-dimension48="Galaxy S26 Ultra" data-dimension25="$1049">Galaxy S26 Ultra review</a>, we said the Editor's Choice phone is super smart, sleek and fast. <a class="view-deal button" href="https://www.bestbuy.com/product/samsung-galaxy-s26-ultra-256gb-unlocked-cobalt-violet/JJGRF36YJC" target="_blank" rel="nofollow" data-dimension112="62e34dc6-91da-11f1-bb9e-2bbcd957c9c7" data-action="Deal Block" data-label="Galaxy S26 Ultra" data-dimension48="Galaxy S26 Ultra" data-dimension25="$1049">View Deal</a></p></div><h3 class="article-body__section" id="section-galaxy-z-fold-8-ultra-vs-galaxy-s26-ultra-design-and-durability"><span>Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra: Design and durability</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2801px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="wVVitwh992iiUo4GDVZM7F" name="Galaxy Z Fold 8 Ultra review-22" alt="samsung galaxy z fold 8 ultra review images" src="https://cdn.mos.cms.futurecdn.net/wVVitwh992iiUo4GDVZM7F.jpg" mos="" align="middle" fullscreen="" width="2801" height="1576" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Galaxy Z Fold 8 Ultra </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Galaxy Z Fold 8 Ultra is remarkably light and compact for a phone that unfurls to an 8-inch display. It weighs just 7.58 ounces, which is barely heavier than the Galaxy S26 Ultra that limits you to a 6.9-inch screen.</p><p>In addition, the Fold 8 Ultra is only 4.1mm thin when it’s opened, which is even thinner than the Fold 7. Still, when closed the Galaxy S26 Ultra is a millimeter thinner, which is expected for a slab phone.</p><div ><table><caption>Galaxy Z Fold 8 Ultra vs. S26 Ultra: Size and weight</caption><tbody><tr><td class="firstcol " ><p><strong></strong></p></td><td  ><p><strong>State</strong></p></td><td  ><p><strong>Dimensions (H × W × D)</strong></p></td><td  ><p><strong>Weight</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Samsung Galaxy Z Fold 8 Ultra</strong></p></td><td  ><p><strong>Unfolded (Open)</strong></p></td><td  ><p>6.24 × 5.64 × 0.16 in (158.4 × 143.2 × 4.1 mm)</p></td><td  ><p>7.58 oz (215 g)</p></td></tr><tr><td class="firstcol empty" ></td><td  ><p><strong>Folded (Closed)</strong></p></td><td  ><p>6.24 × 2.87 × 0.35 in (158.4 × 72.8 × 8.9 mm)</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Samsung Galaxy S26 Ultra</strong></p></td><td  ><p><strong>Standard</strong></p></td><td  ><p>6.44 × 3.07 × 0.31 in (163.6 × 78.1 × 7.9 mm)</p></td><td  ><p>7.55 oz (214 g)</p></td></tr></tbody></table></div><p>The Fold 8 Ultra may be thinner, but it’s definitely not ready for a day at the beach. This foldable is once again IP48 rated, which means it can withstand being submerged in water for 30 minutes — but it is not dust resistant.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3733px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="YpCNYCr6ACAQ2JPhGn3KuK" name="Galaxy S26 Ultra review-LIST2" alt="Samsung Galaxy S26 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/YpCNYCr6ACAQ2JPhGn3KuK.jpg" mos="" align="middle" fullscreen="" width="3733" height="2100" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>However, the Galaxy S26 Ultra carries an IP68 rating, which means the phone is dust tight. It’s also worth mentioning that other foldables are rated IP68, including the Motorola Razr Fold and Google Pixel 10 Pro Fold.</p><h3 class="article-body__section" id="section-galaxy-z-fold-8-ultra-vs-galaxy-s26-ultra-displays"><span>Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra: Displays</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3462px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="s4PcUkqvHoinhjuVyNZ6gW" name="Samsung Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra-2" alt="Samsung Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra" src="https://cdn.mos.cms.futurecdn.net/s4PcUkqvHoinhjuVyNZ6gW.jpg" mos="" align="middle" fullscreen="" width="3462" height="1947" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Galaxy Z Fold 8 packs dual screens: a 6.5-inch cover display that’s fine for running apps (if a bit cramped for typing) and a huge 8-inch main display. And the S26 Ultra has a 6.9-inch panel.</p><p>The main reason to get the Fold 8 Ultra is the bigger main display. With 8 inches at your disposal, you get a more immersive video watching experience, as well as the ability to run apps side by side.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="iGEKAZXpueuG4YxyKtptrR" name="Fold 8 Ultra vs S26 Ultra displays" alt="Samsung Galaxy Z Fold 8 Ultra and Galaxy S26 Ultra in hand" src="https://cdn.mos.cms.futurecdn.net/iGEKAZXpueuG4YxyKtptrR.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>What you don’t get is the S26 Ultra’s Privacy Display, which narrows the viewing angle for any snoops around you and can even black out just parts of the display.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="sY6mMGM5VbiNoDMrS3Gt4h" name="Galaxy S26 Ultra privacy screen LIST" alt="Samsung Galaxy S26 Ultra showing Privacy Display" src="https://cdn.mos.cms.futurecdn.net/sY6mMGM5VbiNoDMrS3Gt4h.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I really like that the Fold 8 Ultra features an anti-reflective coating that seriously cuts down on glare when you’re outside. Plus, thanks to Samsung’s Flex Titanium technology, the Galaxy Z Fold 8’s crease is much less visible than previous Samsung foldable phones. It’s still there, but more subtle.</p><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Brightness HDR (nits)</strong></p></td><td  ><p><strong>Color (DCI-P3)</strong></p></td><td  ><p><strong>Accuracy (Delta-E)</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold  Ultra</strong></p></td><td  ><p>2,687</p></td><td  ><p>116.6% (Natural)</p></td><td  ><p>0.2</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy S26 Ultra</strong></p></td><td  ><p>1,806</p></td><td  ><p>90.6% (Natural)</p></td><td  ><p>0.22</p></td></tr></tbody></table></div><p>Thanks to a brighter screen, I also found using the Z Fold 8 outside in direct sunlight a lot easier, whether I was browsing the web or just taking or reviewing photos. On previous Samsung Folds, I mostly used the external screen for taking pics.</p><p>In our lab testing the Z Fold 8 Ultra hit 2,687 nits of brightness with HDR content. That’s considerably higher than the S26 Ultra’s 1,806 nits.</p><h3 class="article-body__section" id="section-galaxy-z-fold-8-ultra-vs-galaxy-s26-ultra-s-pen"><span>Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra: S Pen</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4345px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AQBTHresRLkR56MSUmEFMM" name="Galaxy S26 Ultra review-17" alt="Samsung Galaxy S26 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/AQBTHresRLkR56MSUmEFMM.jpg" mos="" align="middle" fullscreen="" width="4345" height="2444" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Samsung ditched the S Pen on the <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-7-review">Galaxy Z Fold 7</a> in order to make a thinner design and it’s still missing on the Fold 8 Ultra. Without a built-in digitizer for the screen, you simply can’t use an S Pen.</p><p>Meanwhile, the S26 Ultra has an S Pen built into the design. So you can use the stylus for taking notes, drawing and making fine edits on the go. </p><p>I spoke to Samsung executives about the missing S Pen on the Fold and they’re <a href="https://www.tomsguide.com/phones/samsung-phones/no-the-fold-8-doesnt-have-an-s-pen-but-samsung-is-exploring-its-return-for-future-folds">“open” to bringing it back</a>.</p><h3 class="article-body__section" id="section-galaxy-z-fold-8-ultra-vs-galaxy-s26-ultra-cameras"><span>Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra: Cameras</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3441px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="TnA5425ZLKYYYgLYV3DJDG" name="Samsung Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra-3" alt="Samsung Galaxy Z Fold 8 Ultra and Galaxy S26 Ultra rear cameras" src="https://cdn.mos.cms.futurecdn.net/TnA5425ZLKYYYgLYV3DJDG.jpg" mos="" align="middle" fullscreen="" width="3441" height="1936" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The Galaxy Z Fold 8 Ultra has an <em>Ultra-ish</em> camera setup, starting with a 200MP main camera and 50MP ultraside, same as on the Galaxy S26 Ultra. But the new foldable falls down in the zoom department.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/aepV355MZkiSHL9bNuGfBo.jpg" alt="Galaxy Z Fold 8 Ultra vs Galaxy S26 Ultra photo comparisons" /><figcaption>Galaxy Z Fold 8 Ultra<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ttHc5QQrF7xwUSmwWn8QBo.jpg" alt="Galaxy Z Fold 8 Ultra vs Galaxy S26 Ultra photo comparisons" /><figcaption>Galaxy S26 Ultra<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/BKQv5NjgvAqWQGAzbbDNsi.jpg" alt="Galaxy Z Fold 8 Ultra vs Galaxy S26 Ultra photo comparisons" /><figcaption>Galaxy Z Fold 8 Ultra<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Tbcsv6heCjtKjWPzdCbZsi.jpg" alt="Galaxy Z Fold 8 Ultra vs Galaxy S26 Ultra photo comparisons" /><figcaption>Galaxy S26 Ultra<small role="credit">Tom's Guide</small></figcaption></figure></figure><p>Let’s start with the good news. In most conditions, the main and ultrawide cameras on the Fold 8 and S26 Ultra turned in nearly identical results, whether it was flower close-up ultra-wide shots of Bryant Park or portraits. Panoramas were similar, too.</p><iframe allow="" height="395" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=b187e00e-91d0-11f1-ba1b-0e6f42328d7d"></iframe><p>It’s when you try to get in close that the Fold 8, well, folds. While the S26 Ultra packs dual telephoto zoom lenses at 3x and 5x with a maximum of 100x digital zoom, the Fold 8 Ultra has only a single 10MP telephoto lens with 3x optical zoom and 30x digital zoom.</p><p>Check out this close-up of an ice cream truck. At 30x, you can make out all of the menu names underneath the pictures of the cones on the S26 Ultra. On the Fold 8 Ultra it’s just a bunch of blobs.</p><iframe allow="" height="395" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=3ddb19aa-91d0-11f1-ba1b-0e6f42328d7d"></iframe><p>Same thing with this shot of a medieval scholar sculpture on the side of a New York City building. At 10x, you can make out more details in his face, hair and garb. And at 30x the Fold 8’s Ultra’s shot looks like an impressionist painting by comparison.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/uKqxNfpVJr8eBRAQFcvTFi.jpg" alt="Galaxy Z Fold 8 Ultra vs Galaxy S26 Ultra photo comparisons" /><figcaption>Galaxy Z Fold 8 Ultra - 10x<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/KuTqZjwfj6Cj3esegBBuii.jpg" alt="Galaxy Z Fold 8 Ultra vs Galaxy S26 Ultra photo comparisons" /><figcaption>Galaxy S26 Ultra - 10x<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/GdFLdXVo8dWBJ9L5eHYGxh.jpg" alt="Galaxy Z Fold 8 Ultra vs Galaxy S26 Ultra photo comparisons" /><figcaption>Galaxy Z Fold 8 Ultra - 30x<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/iuHdLkoLEJZT8xfG94DUFi.jpg" alt="Galaxy Z Fold 8 Ultra vs Galaxy S26 Ultra photo comparisons" /><figcaption>Galaxy S26 Ultra - 30x<small role="credit">Tom's Guide</small></figcaption></figure></figure><p>The S26 Ultra has a slight selfie advantage, too, with a 12MP front camera. The Fold 8 Ultra has dual 10MP shooters. But the results are pretty close in my eyes. The advantage the Fold has is that you can flip around the cover display and take super sharp selfies with the rear cameras.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/Qtm4PmZ2UEHeBpzsJ86rgi.jpg" alt="Galaxy Z Fold 8 Ultra vs Galaxy S26 Ultra photo comparisons" /><figcaption>Galaxy Z Fold 8 Ultra - Main camera<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/e8xVg6WGnZz9BPZSEvcrni.jpg" alt="Galaxy Z Fold 8 Ultra vs Galaxy S26 Ultra photo comparisons" /><figcaption>Galaxy Z Fold 8 Ultra - Front camera<small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/2jRFCRn8ANYoQ8b5WJRcoi.jpg" alt="Galaxy Z Fold 8 Ultra vs Galaxy S26 Ultra photo comparisons" /><figcaption>Galaxy S26 Ultra<small role="credit">Tom's Guide</small></figcaption></figure></figure><p>I’d say the Fold 8 Ultra and S26 Ultra are fairly evenly matched in low-light settings. In this photo of a record player in near darkness, the S26 Ultra delivered a brighter and crisper shot. The colors look more realistic too, especially in the pink macrame.</p><iframe allow="" height="395" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=d70c81d2-91cf-11f1-ba1b-0e6f42328d7d"></iframe><p>However, while the S26 Ultra gave me a brighter shot of the bottles in this bar, especially the blue Casa Azul, the text looks sharper through the Fold 8 Ultra.</p><iframe allow="" height="395" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=b8df2c0a-91cf-11f1-ba1b-0e6f42328d7d"></iframe><h3 class="article-body__section" id="section-galaxy-z-fold-8-ultra-vs-galaxy-s26-ultra-performance"><span>Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra: Performance</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3684px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="bFv6s9UZuRZHPMckD5pxaL" name="Galaxy S26 Ultra review-27" alt="Samsung Galaxy S26 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/bFv6s9UZuRZHPMckD5pxaL.jpg" mos="" align="middle" fullscreen="" width="3684" height="2072" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Galaxy S26 Ultra </span><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Packing the same Snapdragon 8 Elite Gen 5 chip for Galaxy, the Galaxy Z Fold 8 Ultra and S26 Ultra are both multitasking powerhouses, and they’re both great for gaming.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="yAdRaBVHZ6CPwD4QtQ3UxE" name="fold 8 ultra gaming" alt="Playing Wuthering Waves on Galaxy Z Fold 8 Ultra" src="https://cdn.mos.cms.futurecdn.net/yAdRaBVHZ6CPwD4QtQ3UxE.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>In our lab tests, the S26 Ultra finished slightly ahead in Geekbench, 3DMark graphics and Geekbench AI, but I wouldn’t say it’s a big difference.</p><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Geekbench 6 (Single/Multicore)</strong></p></td><td  ><p><strong>3DMark Solar Bay Unlimited</strong></p></td><td  ><p><strong>Geekbench AI</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 8 Ultra</strong></p></td><td  ><p>3,110/10,578</p></td><td  ><p>49.24/12,950</p></td><td  ><p>71715</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy S26 Ultra</strong></p></td><td  ><p>3,733/11,457</p></td><td  ><p>49.37 / 12,984</p></td><td  ><p>83047 </p></td></tr></tbody></table></div><p>The S26 Ultra could be helped by the fact that it has vapor chamber cooling, while the Fold 8 Ultra does not.</p><p>I played Wuthering Waves on both the Fold 8 Ultra and S26 Ultra, and it was more immersive on the Fold because of its large display. But I found it a touch smoother on the S26 Ultra.</p><h3 class="article-body__section" id="section-galaxy-z-fold-8-ultra-vs-galaxy-s26-ultra-battery-life-and-charging"><span>Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra: Battery life and charging</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2907px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="w8dEoJdD9j97ChKpUrPWwF" name="Galaxy S26 Ultra review" alt="Samsung Galaxy S26 Ultra with 60W charger" src="https://cdn.mos.cms.futurecdn.net/w8dEoJdD9j97ChKpUrPWwF.jpg" mos="" align="middle" fullscreen="" width="2907" height="1635" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Samsung has made the leap to silicon-carbon battery tech with the Fold 8 Ultra, going from 4,400 mAh on the Fold 7 to 5,000 mAh on its latest foldable. That’s the same capacity as the S26 Ultra albeit with lithium ion.</p><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Hours:Mins</strong></p></td><td  ><p><strong>15-min charge</strong></p></td><td  ><p><strong>30-min charge</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy Z Fold 8</strong></p></td><td  ><p>14:33</p></td><td  ><p>49%</p></td><td  ><p>76%</p></td></tr><tr><td class="firstcol " ><p><strong>Galaxy S26 Ultra</strong></p></td><td  ><p>16:40 </p></td><td  ><p>41%</p></td><td  ><p>77%</p></td></tr></tbody></table></div><p>On the Tom’s Guide battery test, which involves continuous web surfing over 5G, the Galaxy Z Fold 8 Ultra lasted an impressive 14 hours and 33 minutes. That’s a huge upgrade over the 11 hours turned in by the Fold 7.</p><p>The Galaxy S26 Ultra lasted an even longer 16 hours and 40 minutes, but keep in mind that it was powering a smaller 6.9-inch display compared to the 8-inch screen on the Fold 8.</p><p>The Fold 8 offers 45W wired charging and 20W wireless charging, compared to 60W wired and 25W wireless on the S26 Ultra. But the phones turned in similar results in our wired charging test.</p><p>The Fold 8 Ultra got to 76% in 30 minutes versus 77% for the S26 Ultra. Note that neither phone has built-in magnets for Qi 2 charging, so you’ll have to buy a case with that feature.</p><h3 class="article-body__section" id="section-galaxy-z-fold-8-ultra-vs-galaxy-s26-ultra-software-and-special-features"><span>Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra: Software and special features</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4592px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="dSkYa6nb5vfELq9CZP9HkM" name="Galaxy S26 Ultra review-21" alt="Samsung Galaxy S26 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/dSkYa6nb5vfELq9CZP9HkM.jpg" mos="" align="middle" fullscreen="" width="4592" height="2583" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Both the Galaxy Z Fold 8 Ultra and Galaxy S26 Ultra offer a bunch of AI features that come in handy, including automated actions with Gemini (like helping to book dinner reservations or even vacations), Call Screening and Now Brief for summarizing your daily schedule. They also both let you transform your photos with a simple voice prompt.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3617px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="TFyBCFPuPGGHLrmtZ8NaYL" name="Galaxy S26 Ultra review-6" alt="Samsung Galaxy S26 Ultra shown in hand" src="https://cdn.mos.cms.futurecdn.net/TFyBCFPuPGGHLrmtZ8NaYL.jpg" mos="" align="middle" fullscreen="" width="3617" height="2035" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>However, the Fold 8 Ultra offers a few unique tricks of its own. This includes Now Nudge in Split View, which can give you quick hints for opening a second app on its own screen to save time. And My FanCam can automatically follow a subject in your video, cropping the clip on the fly.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FTAPbqnyMxnn72TGFVq4Eg" name="Galaxy Z Fold 8 Ultra-29" alt="Galaxy Z Fold 8 Ultra Flex Mode" src="https://cdn.mos.cms.futurecdn.net/FTAPbqnyMxnn72TGFVq4Eg.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Galaxy Z Fold 8 Ultra Flex Mode </span><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Plus, unlike the Galaxy S26 Ultra, the Fold 8 Ultra boasts a Flex Mode for using the foldable like a mini laptop. And when shooting photos and videos you can use the Cover Screen preview feature to let the subjects see themselves in real time.</p><h3 class="article-body__section" id="section-galaxy-z-fold-8-ultra-vs-galaxy-s26-ultra-verdict"><span>Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra: Verdict</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2046px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="nyEE9BKEyuBBNQFxKmYmcP" name="Samsung Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra-4" alt="Samsung Galaxy Z Fold 8 Ultra vs. Galaxy S26 Ultra-4" src="https://cdn.mos.cms.futurecdn.net/nyEE9BKEyuBBNQFxKmYmcP.jpg" mos="" align="middle" fullscreen="" width="2046" height="1151" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>I’m not going to say that calling the Galaxy Z Fold 8 Ultra an Ultra phone is false advertising, but you do have to make a bunch of trade-offs versus the Galaxy S26 Ultra.</p><p>With the foldable you don’t get an S Pen or an IP68 rating for dust resistance, and the S26 Ultra offers both a more powerful telephoto zoom and Privacy Display feature. Plus, the S26 Ultra lasted longer on a charge.</p><p>However, the Galaxy Z Fold 8 Ultra is a very versatile foldable phone that grants you a much bigger display, the ability to run up three apps at once and handy AI tools like Now Nudge with Split View.</p><p>But at $2,099, the Fold 8 Ultra costs $800 more than the S26 Ultra. So you really, really want to own a foldable if you’re going that route. </p><p>Bottom line: If you want the ultimate multi-tasking powerhouse, get the Fold 8 Ultra. But if you want the biggest zoom, best-in-class privacy and an S Pen, snag the S26 Ultra for less.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Google Pixel 11 Pro XL vs Samsung Galaxy S26 Ultra — which Android flagship will win? ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-pro-everything-we-know-so-far">Google Pixel 11 Pro XL</a> is set to launch at the August 12 Made by Google event, alongside the rest of the <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-everything-we-know-so-far">Pixel 11</a> series. If past releases are anything to go by, this should be the flagship Google phone for the year, with the largest display, best battery life and all the other things that make premium phones worth having. </p><p>But the question still remains, how will it compare to other flagships like the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s26-ultra-review">Samsung Galaxy S26 Ultra</a>? Pixel phones typically lag behind their rivals in the hardware department, and while they do make up some of the distance with robust AI and software features, it still feels like something is missing. A new phone is a new opportunity to one-up the competition, but will the Pixel 11 Pro XL actually catch up to the Galaxy S26 Ultra?</p><p>Here's our rundown of Pixel 11 Pro XL vs Samsung Galaxy S26 Ultra, based on all the rumors and leaks we've heard so far.</p><h3 class="article-body__section" id="section-google-pixel-11-pro-xl-vs-samsung-galaxy-s26-ultra-specs"><span>Google Pixel 11 Pro XL vs Samsung Galaxy S26 Ultra: Specs</span></h3><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Google Pixel 11 Pro XL (rumored)</strong></p></td><td  ><p><strong>Samsung Galaxy S26 Ultra</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>From $1,299</p></td><td  ><p>From $1,299</p></td></tr><tr><td class="firstcol " ><p><strong>Display</strong></p></td><td  ><p>6.8-inch OLED</p></td><td  ><p>6.9-inch AMOLD</p></td></tr><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>Tensor G6</p></td><td  ><p>Snapdragon 8 Elite Gen 5 for Galaxy</p></td></tr><tr><td class="firstcol " ><p><strong>RAM</strong></p></td><td  ><p>12GB / 16GB</p></td><td  ><p>12GB / 16GB</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>256GB / 512GB / 1TB</p></td><td  ><p>256GB / 512GB / 1TB</p></td></tr><tr><td class="firstcol " ><p><strong>Front Camera</strong></p></td><td  ><p>42MP</p></td><td  ><p>12MP</p></td></tr><tr><td class="firstcol " ><p><strong>Rear Camera</strong></p></td><td  ><p>50MP main, 48MP ultrawide, 48MP telephoto (5x zoom)</p></td><td  ><p>200MP main, 50MP ultrawide, 50MP telelphoto (5x zoom), 10MP telelphoto (3MP)</p></td></tr><tr><td class="firstcol " ><p><strong>Battery</strong></p></td><td  ><p>5,115 mAh</p></td><td  ><p>5,000 mAh</p></td></tr><tr><td class="firstcol " ><p><strong>Charging</strong></p></td><td  ><p>45W wired, 25W wireless</p></td><td  ><p>45W wired, 25W wireless</p></td></tr><tr><td class="firstcol " ><p><strong>Operating System</strong></p></td><td  ><p>Android 16</p></td><td  ><p>One UI 8.5</p></td></tr><tr><td class="firstcol " ><p><strong>Size</strong></p></td><td  ><p>6.4 x 3.01 x 0.33 inches</p></td><td  ><p>6.44 x 3.07 x 0.31 inches</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-google-pixel-11-pro-xl-vs-samsung-galaxy-s26-ultra-price-availability"><span>Google Pixel 11 Pro XL vs Samsung Galaxy S26 Ultra: Price & availability</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:656px;"><p class="vanilla-image-block" style="padding-top:56.40%;"><img id="8897kp7dMTMmu9uULdRdmC" name="image (2)" alt="leaked google pixel 11 pro xl images" src="https://cdn.mos.cms.futurecdn.net/8897kp7dMTMmu9uULdRdmC.jpg" mos="" align="middle" fullscreen="" width="656" height="370" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Evan Blass)</span></figcaption></figure><p>The Samsung Galaxy S26 Ultra is available right now, with a starting price of $1,299 for a model with 256GB of storage and 12GB of RAM. However, given the phone is a few months old, we have started seeing some significant discounts from various retailers — including Samsung itself.</p><p>The Google Pixel 11 Pro XL is expected to cost $100 more than last year's model, meaning the phone may start at $1,299. The cheapest model will reportedly come with 256GB of storage once again, but it may feature a memory downgrade with just 12GB of RAM — compared to 16GB in the <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-10-pro-xl-review">Pixel 10 Pro XL</a>.</p><p>In other words, it looks like both phones will cost the same amount for similar core specs. </p><p>The Pixel 11 Pro XL release date isn't known right now, but new Google typically opens pre-orders for new Pixel devices at the end of the launch event, with the release day scheduled one to two weeks later. So expect to have your hands on a Pixel 11 Pro XL before the end of the month.</p><h3 class="article-body__section" id="section-google-pixel-11-pro-xl-vs-samsung-galaxy-s26-ultra-design-display"><span>Google Pixel 11 Pro XL vs Samsung Galaxy S26 Ultra: Design & display</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nmC8mEhVxiXZQUnUDWbEKm" name="Samsung-Galaxy-S26-Ultra-home-screen" alt="Front view of Samsung Galaxy S26 Ultra held up against a brick wall" src="https://cdn.mos.cms.futurecdn.net/nmC8mEhVxiXZQUnUDWbEKm.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Samsung Galaxy S26 Ultra is the larger of the two phones, rocking a 6.9-inch screen, measuring 6.44 x 3.07 x 0.31 in and weighing 7.55 oz. Meanwhile the Pixel 11 Pro XL is expected to come with a 6.8-inch display, measure 6.4 x 30.1 x 0.33 inches and weigh 7.9 ounces. That means, despite being slightly smaller, it is a heavier device — though part of that will come from the <a href="https://www.tomsguide.com/phones/what-is-qi2-wireless-charging">Qi2 magnets</a> in the back of the 11 Pro XL.</p><p>The 11 Pro XL's screen is tipped to be brighter, with<a href="https://www.tomsguide.com/phones/google-pixel-phones/pixel-11-specs-leak-reveals-what-upgrades-to-expect-and-some-concerning-downgrades"> leaks promising a 3,600 nit display</a>, compared to the 2,600 nit S26 Ultra. This should prove beneficial for the 11 Pro XL in bright situations, though it's unclear if it will have an anti-reflective coating the same way Samsung offers. Likewise, it's unlikely we'll see the <a href="https://www.tomsguide.com/phones/samsung-phones/the-galaxy-s26-ultras-privacy-display-is-more-exciting-to-me-than-any-ai-feature">Privacy Display</a> features from Google anytime soon.</p><p>Both phones should offer rounded corners, though Google has the horizontal triple-lens camera bar while Samsung has stuck with the vertical quad-lens system for another generation. However Samsung's phone lacks the "<a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-just-leaked-via-amazon-heres-the-specs-colors-and-obligatory-price-hike">Pixel Glow</a>" feature that's rumored to be coming to all Pixel 11 phones, and is expected to serve as a notification light on the back of the device.</p><h3 class="article-body__section" id="section-google-pixel-11-pro-xl-vs-samsung-galaxy-s26-ultra-performance"><span>Google Pixel 11 Pro XL vs Samsung Galaxy S26 Ultra: Performance</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:656px;"><p class="vanilla-image-block" style="padding-top:56.40%;"><img id="MMVKYt4EStWuesGovSJ8oC" name="image (3)" alt="leaked google pixel 11 pro xl images" src="https://cdn.mos.cms.futurecdn.net/MMVKYt4EStWuesGovSJ8oC.jpg" mos="" align="middle" fullscreen="" width="656" height="370" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Evan Blass)</span></figcaption></figure><p>Performance is not the area Google usually excels at, especially since it moved to Tensor chips. Considering this, and how high the performance benchmarks are for Galaxy S26 Ultra's <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-s26-performance-face-off-snapdragon-8-elite-gen-5-vs-exynos-2600">Snapdragon 8 Elite Gen 5 for Galaxy</a>, we should not expect to see the Pixel 11 Pro XL topping any benchmark leagues following its release.</p><p>That's especially true when you remember some of the rumored changes coming to this year's <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-tensor-g5-and-g6-chips-forecasted-to-lag-behind-apple-and-qualcomm">Tensor G6 chip</a>. The G6 is rumored to drop to seven cores, instead of the usual eight, though it will be built on TSMC's 2nm process — which improves transistor density, and in the process boosts performance and power efficiency. To make matters worse, Google is utilizing a <a href="https://www.tomsguide.com/ai/google-to-remove-samsung-from-its-tensor-g6-modem-heres-why-that-matters">MediaTek M90 modem,</a> which is several years old at this point.</p><p>There's more to performance than benchmarks and the latest hardware, but considering Google's track record with weak performance, you'd have thought it would make more of an effort.</p><p>The 11 Pro XL is also expected to come with a new <a href="https://www.tomsguide.com/phones/google-pixel-phones/tensor-g6-chipset-could-give-the-pixel-11-the-biggest-security-upgrade-since-pixel-6-heres-how">Titan M3 security chip</a>, which will supposedly feature a new "Tensor Processing Unit" and offer forwards-compatible protection against whatever future cyberattacks bad actors might develop — though how that compares to the latest version of Samsung's Knox isn't clear.</p><h3 class="article-body__section" id="section-google-pixel-11-pro-xl-vs-samsung-galaxy-s26-ultra-cameras"><span>Google Pixel 11 Pro XL vs Samsung Galaxy S26 Ultra: Cameras</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2715px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="vbGrCLaZGfUvCojyg8YYUd" name="Galaxy S26 Ultra 24 hours-12" alt="Samsung Galaxy S26 Ultra" src="https://cdn.mos.cms.futurecdn.net/vbGrCLaZGfUvCojyg8YYUd.jpg" mos="" align="middle" fullscreen="" width="2715" height="1527" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>On paper the Galaxy S26 Ultra has the advantage in the camera department. The phone is equipped with a 200MP main camera lens, partnered with a 50MP ultrawide lens, 50MP telephoto lens with 5x optical zoom and a 10MP secondary telephoto capable of 3x optical zoom — plus a 12MP selfie camera on the front.</p><p>In contrast, the <a href="https://www.tomsguide.com/phones/google-pixel-phones/pixel-11-specs-leak-reveals-what-upgrades-to-expect-and-some-concerning-downgrades">Pixel 11 Pro XL is expected to come with a 50MP main camera</a>, 48MP ultrawide and a 48MP telephoto lens with 5x optical zoom (and up to <a href="https://www.androidheadlines.com/2026/08/new-leaks-confirm-the-pixel-11-pros-120x-zoom-feature.html" target="_blank">120x AI assisted digital zoom</a>). There's no word on what sort of resolution to expect from the selfie camera, but you shouldn't expect anything less than the 42MP lens from the Pixel 10 Pro XL.</p><p>Obviously we won't know how much better or worse the Pixel 11 Pro XL's cameras are compared to S26 Ultra until we actually get our hands on the phone. Camera hardware only tells you so much, especially with how important software has become to the photography process. So we'll have to do some thorough hands-on testing </p><h3 class="article-body__section" id="section-google-pixel-11-pro-xl-vs-samsung-galaxy-s26-ultra-software-ai"><span>Google Pixel 11 Pro XL vs Samsung Galaxy S26 Ultra: Software & AI</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1154px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="XT3UDi3a4UHzdbWs5SN5P3" name="Pixel 11 render" alt="Pixel 11 render" src="https://cdn.mos.cms.futurecdn.net/XT3UDi3a4UHzdbWs5SN5P3.jpg" mos="" align="middle" fullscreen="" width="1154" height="649" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: OnLeaks / Android Headlines)</span></figcaption></figure><p>Software is easily the area where Pixel phones excel, especially since the 11 Pro XL will be several months newer than the Galaxy S26 Ultra. The phone will have the usual array of software benefits, including first-in-line access to the latest Android updates, quarterly Pixel drops with new features, and the latest and best AI Google has to offer.</p><p>Samsung usually isn't that far behind, though. While One UI has had some hiccups in rolling out to everyone, Samsung tends to be pretty good at getting new updates to users fairly quickly. Just not as quickly as Google does with Pixel.</p><p>Likewise Samsung has invested a lot in AI, and there's been a lot of crossover between Pixel and Galaxy phones when it comes to the latest features. So we won't know for sure who has the best AI suite until Google actually reveals what the Pixel 11 series has to offer.</p><h3 class="article-body__section" id="section-google-pixel-11-pro-xl-vs-samsung-galaxy-s26-ultra-battery-charging"><span>Google Pixel 11 Pro XL vs Samsung Galaxy S26 Ultra: Battery & charging</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3755px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="iGGyvv7a4hQPrn26YbFnid" name="Galaxy S26 Ultra 24 hours-11" alt="Samsung Galaxy S26 Ultra" src="https://cdn.mos.cms.futurecdn.net/iGGyvv7a4hQPrn26YbFnid.jpg" mos="" align="middle" fullscreen="" width="3755" height="2112" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Battery life is another thing Pixels flag on compared to Samsung, but we won't know how much has changed until we actually test the 11 Pro XL's battery life for ourselves. However, the phone has a slightly smaller 5,115 mAh battery compared to the Pixel 10 Pro XL, which doesn't fill us with a lot of confidence.</p><p>The 10 Pro XL lasted 14 hours and 35 minutes in our custom battery test, compared to the 16 hours and 10 minutes recorded by the S26 Ultra. If the Pixel 10 Pro XL can't beat the S26 Ultra's 5,000 mAh battery life, then a smaller Pixel 11 Pro XL isn't likely to have much luck. </p><p>But you can't always predict these things ahead of time, and we will see what results the lab testing reveals following the 11 Pro XL's release.</p><p>The Pixel 11 Pro XL is also expected to offer 45W charging, which is slightly below that of the S26 Ultra's 60W speeds. However the two should be equal on the wireless charging front, with 25W Qi2.2 speeds, even if the Galaxy doesn't have the same built-in magnets as the Pixel. That said, the Galaxy S26 Ultra still offers reverse wireless charging, which Google scrapped last year.</p><h3 class="article-body__section" id="section-google-pixel-11-pro-xl-vs-samsung-galaxy-s26-ultra-outlook"><span>Google Pixel 11 Pro XL vs Samsung Galaxy S26 Ultra: Outlook</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:720px;"><p class="vanilla-image-block" style="padding-top:47.50%;"><img id="NP4Rd3TAo75Gm8MjECHatb" name="ezgif-4049ff33819a97ae" alt="Google Pixel 11 teaser gif with pixel glow effect" src="https://cdn.mos.cms.futurecdn.net/NP4Rd3TAo75Gm8MjECHatb.gif" mos="" align="middle" fullscreen="" width="720" height="342" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Google)</span></figcaption></figure><p>We know a lot about the Pixel 11 Pro XL, even if the official reveal isn't scheduled until August 12. Sadly everything we've heard suggests that this is a basic run of the mill hardware upgrade from Google, which means it's going to struggle to compete with the Galaxy S26 Ultra — which is our pick for the best Android phone.</p><p>That said, we can't make an absolute decision until we have both phones in our possession, and compare their performance side by side. A lot of factors don't show up on the specs sheet, and the only way to figure out which phone is better is with hands-on testing. Performance, cameras and battery life are the main three.</p><p>So for now, it looks like Samsung may have the edge in a bunch of areas, even if Google hasn't quite given up yet. Still, for the time being, we're just going to have to be patient to see what Google actually has in store for us.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom’s Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-vs-fold-8-ultra-camera-test-is-the-telephoto-zoom-worth-the-extra-usd200">Galaxy Z Fold 8 vs. Fold 8 Ultra camera zoom test: Don't spend the extra $200 until you see this</a></li><li><a href="https://www.tomsguide.com/phones/google-pixel-phones/this-is-the-pixel-11-pro-fold-and-this-is-when-pre-orders-officially-start">This is the Pixel 11 Pro Fold — and this is when pre-orders officially start</a></li><li><a href="https://www.tomsguide.com/phones/i-asked-siri-ai-and-gemini-a-series-of-increasingly-bizarre-questions-to-see-how-they-responded-heres-what-happened">I asked Siri AI and Gemini a series of increasingly bizarre questions to see how they responded —here's what happened</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/phones/samsung-phones/google-pixel-11-pro-xl-vs-samsung-galaxy-s26-ultra-which-android-flagship-will-be-the-better-choice</link>
                                                                            <description>
                            <![CDATA[ Google Pixel 11 Pro XL is coming, but how to the leaks and rumors compare to Samsung's flagship Galaxy S26 Ultra? ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Sqe9zms7f8LMXLwpxzBkmC</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/VfrarXRYBeYovgGwXRgoEX-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 06 Aug 2026 08:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Google Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/VfrarXRYBeYovgGwXRgoEX-1280-80.jpg">
                                                            <media:credit><![CDATA[Evan Blass / Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[google pixel 11 pro vs samsung galaxy s26 ultra]]></media:description>                                                            <media:text><![CDATA[google pixel 11 pro vs samsung galaxy s26 ultra]]></media:text>
                                <media:title type="plain"><![CDATA[google pixel 11 pro vs samsung galaxy s26 ultra]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/VfrarXRYBeYovgGwXRgoEX-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-pro-everything-we-know-so-far">Google Pixel 11 Pro XL</a> is set to launch at the August 12 Made by Google event, alongside the rest of the <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-everything-we-know-so-far">Pixel 11</a> series. If past releases are anything to go by, this should be the flagship Google phone for the year, with the largest display, best battery life and all the other things that make premium phones worth having. </p><p>But the question still remains, how will it compare to other flagships like the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s26-ultra-review">Samsung Galaxy S26 Ultra</a>? Pixel phones typically lag behind their rivals in the hardware department, and while they do make up some of the distance with robust AI and software features, it still feels like something is missing. A new phone is a new opportunity to one-up the competition, but will the Pixel 11 Pro XL actually catch up to the Galaxy S26 Ultra?</p><p>Here's our rundown of Pixel 11 Pro XL vs Samsung Galaxy S26 Ultra, based on all the rumors and leaks we've heard so far.</p><h3 class="article-body__section" id="section-google-pixel-11-pro-xl-vs-samsung-galaxy-s26-ultra-specs"><span>Google Pixel 11 Pro XL vs Samsung Galaxy S26 Ultra: Specs</span></h3><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Google Pixel 11 Pro XL (rumored)</strong></p></td><td  ><p><strong>Samsung Galaxy S26 Ultra</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>From $1,299</p></td><td  ><p>From $1,299</p></td></tr><tr><td class="firstcol " ><p><strong>Display</strong></p></td><td  ><p>6.8-inch OLED</p></td><td  ><p>6.9-inch AMOLD</p></td></tr><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>Tensor G6</p></td><td  ><p>Snapdragon 8 Elite Gen 5 for Galaxy</p></td></tr><tr><td class="firstcol " ><p><strong>RAM</strong></p></td><td  ><p>12GB / 16GB</p></td><td  ><p>12GB / 16GB</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>256GB / 512GB / 1TB</p></td><td  ><p>256GB / 512GB / 1TB</p></td></tr><tr><td class="firstcol " ><p><strong>Front Camera</strong></p></td><td  ><p>42MP</p></td><td  ><p>12MP</p></td></tr><tr><td class="firstcol " ><p><strong>Rear Camera</strong></p></td><td  ><p>50MP main, 48MP ultrawide, 48MP telephoto (5x zoom)</p></td><td  ><p>200MP main, 50MP ultrawide, 50MP telelphoto (5x zoom), 10MP telelphoto (3MP)</p></td></tr><tr><td class="firstcol " ><p><strong>Battery</strong></p></td><td  ><p>5,115 mAh</p></td><td  ><p>5,000 mAh</p></td></tr><tr><td class="firstcol " ><p><strong>Charging</strong></p></td><td  ><p>45W wired, 25W wireless</p></td><td  ><p>45W wired, 25W wireless</p></td></tr><tr><td class="firstcol " ><p><strong>Operating System</strong></p></td><td  ><p>Android 16</p></td><td  ><p>One UI 8.5</p></td></tr><tr><td class="firstcol " ><p><strong>Size</strong></p></td><td  ><p>6.4 x 3.01 x 0.33 inches</p></td><td  ><p>6.44 x 3.07 x 0.31 inches</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-google-pixel-11-pro-xl-vs-samsung-galaxy-s26-ultra-price-availability"><span>Google Pixel 11 Pro XL vs Samsung Galaxy S26 Ultra: Price & availability</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:656px;"><p class="vanilla-image-block" style="padding-top:56.40%;"><img id="8897kp7dMTMmu9uULdRdmC" name="image (2)" alt="leaked google pixel 11 pro xl images" src="https://cdn.mos.cms.futurecdn.net/8897kp7dMTMmu9uULdRdmC.jpg" mos="" align="middle" fullscreen="" width="656" height="370" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Evan Blass)</span></figcaption></figure><p>The Samsung Galaxy S26 Ultra is available right now, with a starting price of $1,299 for a model with 256GB of storage and 12GB of RAM. However, given the phone is a few months old, we have started seeing some significant discounts from various retailers — including Samsung itself.</p><p>The Google Pixel 11 Pro XL is expected to cost $100 more than last year's model, meaning the phone may start at $1,299. The cheapest model will reportedly come with 256GB of storage once again, but it may feature a memory downgrade with just 12GB of RAM — compared to 16GB in the <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-10-pro-xl-review">Pixel 10 Pro XL</a>.</p><p>In other words, it looks like both phones will cost the same amount for similar core specs. </p><p>The Pixel 11 Pro XL release date isn't known right now, but new Google typically opens pre-orders for new Pixel devices at the end of the launch event, with the release day scheduled one to two weeks later. So expect to have your hands on a Pixel 11 Pro XL before the end of the month.</p><h3 class="article-body__section" id="section-google-pixel-11-pro-xl-vs-samsung-galaxy-s26-ultra-design-display"><span>Google Pixel 11 Pro XL vs Samsung Galaxy S26 Ultra: Design & display</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nmC8mEhVxiXZQUnUDWbEKm" name="Samsung-Galaxy-S26-Ultra-home-screen" alt="Front view of Samsung Galaxy S26 Ultra held up against a brick wall" src="https://cdn.mos.cms.futurecdn.net/nmC8mEhVxiXZQUnUDWbEKm.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The Samsung Galaxy S26 Ultra is the larger of the two phones, rocking a 6.9-inch screen, measuring 6.44 x 3.07 x 0.31 in and weighing 7.55 oz. Meanwhile the Pixel 11 Pro XL is expected to come with a 6.8-inch display, measure 6.4 x 30.1 x 0.33 inches and weigh 7.9 ounces. That means, despite being slightly smaller, it is a heavier device — though part of that will come from the <a href="https://www.tomsguide.com/phones/what-is-qi2-wireless-charging">Qi2 magnets</a> in the back of the 11 Pro XL.</p><p>The 11 Pro XL's screen is tipped to be brighter, with<a href="https://www.tomsguide.com/phones/google-pixel-phones/pixel-11-specs-leak-reveals-what-upgrades-to-expect-and-some-concerning-downgrades"> leaks promising a 3,600 nit display</a>, compared to the 2,600 nit S26 Ultra. This should prove beneficial for the 11 Pro XL in bright situations, though it's unclear if it will have an anti-reflective coating the same way Samsung offers. Likewise, it's unlikely we'll see the <a href="https://www.tomsguide.com/phones/samsung-phones/the-galaxy-s26-ultras-privacy-display-is-more-exciting-to-me-than-any-ai-feature">Privacy Display</a> features from Google anytime soon.</p><p>Both phones should offer rounded corners, though Google has the horizontal triple-lens camera bar while Samsung has stuck with the vertical quad-lens system for another generation. However Samsung's phone lacks the "<a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-11-just-leaked-via-amazon-heres-the-specs-colors-and-obligatory-price-hike">Pixel Glow</a>" feature that's rumored to be coming to all Pixel 11 phones, and is expected to serve as a notification light on the back of the device.</p><h3 class="article-body__section" id="section-google-pixel-11-pro-xl-vs-samsung-galaxy-s26-ultra-performance"><span>Google Pixel 11 Pro XL vs Samsung Galaxy S26 Ultra: Performance</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:656px;"><p class="vanilla-image-block" style="padding-top:56.40%;"><img id="MMVKYt4EStWuesGovSJ8oC" name="image (3)" alt="leaked google pixel 11 pro xl images" src="https://cdn.mos.cms.futurecdn.net/MMVKYt4EStWuesGovSJ8oC.jpg" mos="" align="middle" fullscreen="" width="656" height="370" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Evan Blass)</span></figcaption></figure><p>Performance is not the area Google usually excels at, especially since it moved to Tensor chips. Considering this, and how high the performance benchmarks are for Galaxy S26 Ultra's <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-s26-performance-face-off-snapdragon-8-elite-gen-5-vs-exynos-2600">Snapdragon 8 Elite Gen 5 for Galaxy</a>, we should not expect to see the Pixel 11 Pro XL topping any benchmark leagues following its release.</p><p>That's especially true when you remember some of the rumored changes coming to this year's <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-tensor-g5-and-g6-chips-forecasted-to-lag-behind-apple-and-qualcomm">Tensor G6 chip</a>. The G6 is rumored to drop to seven cores, instead of the usual eight, though it will be built on TSMC's 2nm process — which improves transistor density, and in the process boosts performance and power efficiency. To make matters worse, Google is utilizing a <a href="https://www.tomsguide.com/ai/google-to-remove-samsung-from-its-tensor-g6-modem-heres-why-that-matters">MediaTek M90 modem,</a> which is several years old at this point.</p><p>There's more to performance than benchmarks and the latest hardware, but considering Google's track record with weak performance, you'd have thought it would make more of an effort.</p><p>The 11 Pro XL is also expected to come with a new <a href="https://www.tomsguide.com/phones/google-pixel-phones/tensor-g6-chipset-could-give-the-pixel-11-the-biggest-security-upgrade-since-pixel-6-heres-how">Titan M3 security chip</a>, which will supposedly feature a new "Tensor Processing Unit" and offer forwards-compatible protection against whatever future cyberattacks bad actors might develop — though how that compares to the latest version of Samsung's Knox isn't clear.</p><h3 class="article-body__section" id="section-google-pixel-11-pro-xl-vs-samsung-galaxy-s26-ultra-cameras"><span>Google Pixel 11 Pro XL vs Samsung Galaxy S26 Ultra: Cameras</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2715px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="vbGrCLaZGfUvCojyg8YYUd" name="Galaxy S26 Ultra 24 hours-12" alt="Samsung Galaxy S26 Ultra" src="https://cdn.mos.cms.futurecdn.net/vbGrCLaZGfUvCojyg8YYUd.jpg" mos="" align="middle" fullscreen="" width="2715" height="1527" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>On paper the Galaxy S26 Ultra has the advantage in the camera department. The phone is equipped with a 200MP main camera lens, partnered with a 50MP ultrawide lens, 50MP telephoto lens with 5x optical zoom and a 10MP secondary telephoto capable of 3x optical zoom — plus a 12MP selfie camera on the front.</p><p>In contrast, the <a href="https://www.tomsguide.com/phones/google-pixel-phones/pixel-11-specs-leak-reveals-what-upgrades-to-expect-and-some-concerning-downgrades">Pixel 11 Pro XL is expected to come with a 50MP main camera</a>, 48MP ultrawide and a 48MP telephoto lens with 5x optical zoom (and up to <a href="https://www.androidheadlines.com/2026/08/new-leaks-confirm-the-pixel-11-pros-120x-zoom-feature.html" target="_blank">120x AI assisted digital zoom</a>). There's no word on what sort of resolution to expect from the selfie camera, but you shouldn't expect anything less than the 42MP lens from the Pixel 10 Pro XL.</p><p>Obviously we won't know how much better or worse the Pixel 11 Pro XL's cameras are compared to S26 Ultra until we actually get our hands on the phone. Camera hardware only tells you so much, especially with how important software has become to the photography process. So we'll have to do some thorough hands-on testing </p><h3 class="article-body__section" id="section-google-pixel-11-pro-xl-vs-samsung-galaxy-s26-ultra-software-ai"><span>Google Pixel 11 Pro XL vs Samsung Galaxy S26 Ultra: Software & AI</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1154px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="XT3UDi3a4UHzdbWs5SN5P3" name="Pixel 11 render" alt="Pixel 11 render" src="https://cdn.mos.cms.futurecdn.net/XT3UDi3a4UHzdbWs5SN5P3.jpg" mos="" align="middle" fullscreen="" width="1154" height="649" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: OnLeaks / Android Headlines)</span></figcaption></figure><p>Software is easily the area where Pixel phones excel, especially since the 11 Pro XL will be several months newer than the Galaxy S26 Ultra. The phone will have the usual array of software benefits, including first-in-line access to the latest Android updates, quarterly Pixel drops with new features, and the latest and best AI Google has to offer.</p><p>Samsung usually isn't that far behind, though. While One UI has had some hiccups in rolling out to everyone, Samsung tends to be pretty good at getting new updates to users fairly quickly. Just not as quickly as Google does with Pixel.</p><p>Likewise Samsung has invested a lot in AI, and there's been a lot of crossover between Pixel and Galaxy phones when it comes to the latest features. So we won't know for sure who has the best AI suite until Google actually reveals what the Pixel 11 series has to offer.</p><h3 class="article-body__section" id="section-google-pixel-11-pro-xl-vs-samsung-galaxy-s26-ultra-battery-charging"><span>Google Pixel 11 Pro XL vs Samsung Galaxy S26 Ultra: Battery & charging</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3755px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="iGGyvv7a4hQPrn26YbFnid" name="Galaxy S26 Ultra 24 hours-11" alt="Samsung Galaxy S26 Ultra" src="https://cdn.mos.cms.futurecdn.net/iGGyvv7a4hQPrn26YbFnid.jpg" mos="" align="middle" fullscreen="" width="3755" height="2112" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Battery life is another thing Pixels flag on compared to Samsung, but we won't know how much has changed until we actually test the 11 Pro XL's battery life for ourselves. However, the phone has a slightly smaller 5,115 mAh battery compared to the Pixel 10 Pro XL, which doesn't fill us with a lot of confidence.</p><p>The 10 Pro XL lasted 14 hours and 35 minutes in our custom battery test, compared to the 16 hours and 10 minutes recorded by the S26 Ultra. If the Pixel 10 Pro XL can't beat the S26 Ultra's 5,000 mAh battery life, then a smaller Pixel 11 Pro XL isn't likely to have much luck. </p><p>But you can't always predict these things ahead of time, and we will see what results the lab testing reveals following the 11 Pro XL's release.</p><p>The Pixel 11 Pro XL is also expected to offer 45W charging, which is slightly below that of the S26 Ultra's 60W speeds. However the two should be equal on the wireless charging front, with 25W Qi2.2 speeds, even if the Galaxy doesn't have the same built-in magnets as the Pixel. That said, the Galaxy S26 Ultra still offers reverse wireless charging, which Google scrapped last year.</p><h3 class="article-body__section" id="section-google-pixel-11-pro-xl-vs-samsung-galaxy-s26-ultra-outlook"><span>Google Pixel 11 Pro XL vs Samsung Galaxy S26 Ultra: Outlook</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:720px;"><p class="vanilla-image-block" style="padding-top:47.50%;"><img id="NP4Rd3TAo75Gm8MjECHatb" name="ezgif-4049ff33819a97ae" alt="Google Pixel 11 teaser gif with pixel glow effect" src="https://cdn.mos.cms.futurecdn.net/NP4Rd3TAo75Gm8MjECHatb.gif" mos="" align="middle" fullscreen="" width="720" height="342" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Google)</span></figcaption></figure><p>We know a lot about the Pixel 11 Pro XL, even if the official reveal isn't scheduled until August 12. Sadly everything we've heard suggests that this is a basic run of the mill hardware upgrade from Google, which means it's going to struggle to compete with the Galaxy S26 Ultra — which is our pick for the best Android phone.</p><p>That said, we can't make an absolute decision until we have both phones in our possession, and compare their performance side by side. A lot of factors don't show up on the specs sheet, and the only way to figure out which phone is better is with hands-on testing. Performance, cameras and battery life are the main three.</p><p>So for now, it looks like Samsung may have the edge in a bunch of areas, even if Google hasn't quite given up yet. Still, for the time being, we're just going to have to be patient to see what Google actually has in store for us.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom’s Guide</span></h3><ul><li><a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-vs-fold-8-ultra-camera-test-is-the-telephoto-zoom-worth-the-extra-usd200">Galaxy Z Fold 8 vs. Fold 8 Ultra camera zoom test: Don't spend the extra $200 until you see this</a></li><li><a href="https://www.tomsguide.com/phones/google-pixel-phones/this-is-the-pixel-11-pro-fold-and-this-is-when-pre-orders-officially-start">This is the Pixel 11 Pro Fold — and this is when pre-orders officially start</a></li><li><a href="https://www.tomsguide.com/phones/i-asked-siri-ai-and-gemini-a-series-of-increasingly-bizarre-questions-to-see-how-they-responded-heres-what-happened">I asked Siri AI and Gemini a series of increasingly bizarre questions to see how they responded —here's what happened</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I trekked the Cascade Mountains with the Apple Watch Ultra 3 vs Garmin Instinct 3 vs Samsung Galaxy Watch Ultra 2 — this is the one I'd take on my next hike ]]></title>
                                                                                                <dc:content><![CDATA[ <p>I just got back from a trip to North Cascade National Park where I experienced the grandeur of jagged mountain peaks, dynamic waterfalls, cerulean rivers, and breathtaking glaciers. Of course, I logged each day of my adventure using a menagerie of the <a href="https://www.tomsguide.com/wellness/smartwatches/best-smartwatch">best smartwatches</a>. </p><p>To kick things off, my partner and I hiked to Blue Lake, a seriously stunning alpine lake accessible via a well-maintained out-and-back trail. I’m in the process of reviewing the new <a href="https://www.tomsguide.com/wellness/smartwatches/galaxy-watch-ultra-2-hands-on-review">Samsung Galaxy Watch Ultra 2,</a> so this seemed like the perfect opportunity to test it against its direct competitor, the <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-3-review">Apple Watch Ultra 3</a>, and my current go-to smartwatch for adventure tracking, the<a href="https://www.tomsguide.com/Garmin-Instinct-3-review"> Garmin Instinct 3</a>. </p><p>With just two wrists of my own, I asked my partner to rock the Apple Watch Ultra 3 (worn on her left wrist), while I wore the Galaxy Watch Ultra 2 on my left wrist and the Garmin Instinct 3 on my right wrist before embarking on our Cascadian trek. I also ran Strava from my iPhone 16 Plus. </p><h3 class="article-body__section" id="section-apple-watch-vs-galaxy-watch-vs-garmin-hike-data-compared"><span>Apple Watch vs Galaxy Watch vs Garmin: hike data compared</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:62.50%;"><img id="xoZDPwJqpS7WJwaQ37erf9" name="Blue-Lake" alt="Scenic photo of Blue Lake in the Cascade Mountains with swimmers, glaciers, and trees" src="https://cdn.mos.cms.futurecdn.net/xoZDPwJqpS7WJwaQ37erf9.jpg" mos="" align="middle" fullscreen="" width="4032" height="2520" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia)</span></figcaption></figure><p>Three hours, five miles, roughly a thousand feet of climb, and one very chilly swim later, we returned to the car, where I carefully logged the results from each device. The outcome of the comparison was crystal clear; one wearable proved more capable and up to the task than the others. Read on to find out which. </p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Apple Watch Ultra 3</p></th><th  ><p>Samsung Galaxy Watch Ultra 2</p></th><th  ><p>Garmin Instinct 3</p></th><th  ><p>Strava </p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Distance</strong></p></td><td  ><p>5.02 miles</p></td><td  ><p>4.97 miles</p></td><td  ><p>5.17 miles</p></td><td  ><p>5.26 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Workout time</strong></p></td><td  ><p>3 hours 6 mins </p></td><td  ><p>3 hours 8 mins</p></td><td  ><p>3 hours 8 mins</p></td><td  ><p>3 hours 6 mins</p></td></tr><tr><td class="firstcol " ><p><strong>Elevation gain</strong></p></td><td  ><p>1,169 feet</p></td><td  ><p>1,700 feet</p></td><td  ><p>1,050 feet</p></td><td  ><p>878 feet</p></td></tr><tr><td class="firstcol " ><p><strong>Average pace </strong></p></td><td  ><p>37 mins 04 secs per mile</p></td><td  ><p>37 mins 43 secs per mile</p></td><td  ><p>36 mins 27 secs per mile</p></td><td  ><p>35 mins 21 secs per mile</p></td></tr><tr><td class="firstcol " ><p><strong>Battery drain</strong></p></td><td  ><p>18%</p></td><td  ><p>18%</p></td><td  ><p>6%</p></td><td  ><p>n/a</p></td></tr></tbody></table></div><p>Here are three reasons why I’d choose the Garmin Instinct 3 over the Apple Watch Ultra 3 or Samsung Galaxy Watch Ultra 2 for my next hike. </p><h3 class="article-body__section" id="section-1-garmin-s-elevation-data-is-the-most-accurate"><span>1. Garmin's elevation data is the most accurate</span></h3><div><blockquote><p>The Samsung Galaxy Watch Ultra 2 was notably and concerningly waaaaay off, calculating almost double the elevation of Strava and AllTrails. </p></blockquote></div><p>According to the <a href="https://www.wta.org/go-hiking/hikes/blue-lake" target="_blank">Washington Trail Association</a>, Blue Lake Trail involves an estimated 1,050 feet of elevation gain, which is coincidentally the same exact amount of climb logged by the Garmin Instinct 3. </p><p><a href="https://www.alltrails.com/trail/us/washington/blue-lake-trail--7" target="_blank">AllTrails</a> lists the climb at a more modest 920 feet. Either way, Garmin was the closest of the bunch at accurately logging my uphill efforts for this hike. The Apple Watch Ultra 3 turned in a slightly elevated (some pun intended) metric, which is pretty much par for the course for even the <a href="https://www.tomsguide.com/best-picks/best-apple-watch">best Apple Watches</a> in 2026 from my experience.</p><p>Meanwhile, the Samsung Galaxy Watch Ultra 2 was notably and concerningly waaaaay off, calculating almost double the elevation of Strava and AllTrails. </p><h3 class="article-body__section" id="section-2-the-instinct-3-used-way-less-battery"><span>2. The Instinct 3 used way less battery</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3792px;"><p class="vanilla-image-block" style="padding-top:56.28%;"><img id="AZF7DPLYsQoJ9PLhoqBiNo" name="AWU3-GalaxyU2-Instinct3-03" alt="Close-up of the Samsung Galaxy Watch Ultra 2, Apple Watch Ultra 3 and Garmin Instinct 3 in nature" src="https://cdn.mos.cms.futurecdn.net/AZF7DPLYsQoJ9PLhoqBiNo.jpg" mos="" align="middle" fullscreen="" width="3792" height="2134" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>With a lengthy pause taken at the top of Blue Lake Trail for a swim and snack, our total trek time took just over three hours. In that period, both the Apple Watch Ultra 3 and Samsung Galaxy Watch Ultra 2 burned through 18% of battery, suggesting that around 15 hours of continuous trekking is likely the limit for both when it comes to GPS power consumption.</p><p>The Garmin Instinct 3, meanwhile, used only 6% of battery tracking my three-ish-hour trek, making it the obvious choice of the bunch for multi-day outdoor adventurers where access to a charger isn't guaranteed. </p><h3 class="article-body__section" id="section-3-the-garmin-is-lighter-and-comfier"><span>3. The Garmin is lighter and comfier</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3701px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="yaL9XTKoBPfLqrd6sDVKdB" name="Garmin-Torch-03" alt="Close-up of the Garmin Instinct 3 showing the 'Torch' LED flashlight illuminated from the top of the watch case" src="https://cdn.mos.cms.futurecdn.net/yaL9XTKoBPfLqrd6sDVKdB.jpg" mos="" align="middle" fullscreen="" width="3701" height="2082" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Finally, on my 6.5-inch wrist, the Garmin Instinct 3 in 45mm feels way comfier than the Apple Watch Ultra 3 or the Samsung Galaxy Watch Ultra 2. This is because it's both smaller and lighter. Including the straps used for the hike, the Instinct 3 weighs 53.5 g, compared to 95.4 g for th the Apple Watch Ultra 3, and  85.8 g for the Samsung Galaxy Watch Ultra 2</p><p>The Instinct 3's rounded case also wears more comfortably than the rectangular case design of the Apple Watch and Samsung. Moreover, the Instinct 3 isn't nearly as tall as either of its rivals, and is noticeably narrower than the Samsung, with a similar width to the Apple Watch.</p><p>Which of these three smartwatches would <em>you</em> pick to log an epic outdoor mountain adventure? Let me know in the poll below. </p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/can-the-usd99-fitbit-air-beat-the-usd799-apple-watch-ultra-3-at-fitness-tracking-i-manually-counted-4-500-steps-to-find-out">Can the $99 Fitbit Air beat the $799 Apple Watch Ultra 3 at fitness tracking? I manually counted 4,500 steps to find out</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/i-hiked-9-miles-with-the-apple-watch-se-vs-pixel-watch-3-vs-garmin-forerunner-165-5-things-i-learned">I hiked 9 miles with the Apple Watch SE vs. Pixel Watch 3 vs. Garmin Forerunner 165 — 5 things I learned</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/samsung-turned-the-galaxy-watch-ultra-2-into-a-fully-fledged-dive-computer-but-theres-a-catch">Samsung turned the Galaxy Watch Ultra 2 into a fully-fledged dive computer — but there’s a catch</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/wellness/fitness-trackers/i-trekked-the-cascade-mountains-with-the-apple-watch-ultra-3-vs-garmin-instinct-3-vs-samsung-galaxy-watch-ultra-2-this-is-the-one-id-take-on-my-next-hike</link>
                                                                            <description>
                            <![CDATA[ I hiked 1,000+ feet to an alpine lake and back to test the performance, accuracy, and comfort of the Apple Watch Ultra 3 vs Samsung Galaxy Watch Ultra 2 vs Garmin Instinct 3. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Sp5s9t7ihjNce7gpG4uBnW</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/i7WM8wU4yC64pqSLj5VMTo-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 05 Aug 2026 06:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Fitness Trackers]]></category>
                                                    <category><![CDATA[Wellness]]></category>
                                                    <category><![CDATA[Smartwatches]]></category>
                                                                                                <author><![CDATA[ dan.bracaglia@futurenet.com (Dan Bracaglia) ]]></author>                    <dc:creator><![CDATA[ Dan Bracaglia ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/3Ev8EFrheNxPemMWSBaKcK.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;&lt;br&gt;&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/i7WM8wU4yC64pqSLj5VMTo-1280-80.jpg">
                                                            <media:credit><![CDATA[Dan Bracaglia/Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Close-up of the Samsung Galaxy Watch Ultra 2, Apple Watch Ultra 3 and Garmin Instinct 3 in nature]]></media:description>                                                            <media:text><![CDATA[Close-up of the Samsung Galaxy Watch Ultra 2, Apple Watch Ultra 3 and Garmin Instinct 3 in nature]]></media:text>
                                <media:title type="plain"><![CDATA[Close-up of the Samsung Galaxy Watch Ultra 2, Apple Watch Ultra 3 and Garmin Instinct 3 in nature]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/i7WM8wU4yC64pqSLj5VMTo-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I just got back from a trip to North Cascade National Park where I experienced the grandeur of jagged mountain peaks, dynamic waterfalls, cerulean rivers, and breathtaking glaciers. Of course, I logged each day of my adventure using a menagerie of the <a href="https://www.tomsguide.com/wellness/smartwatches/best-smartwatch">best smartwatches</a>. </p><p>To kick things off, my partner and I hiked to Blue Lake, a seriously stunning alpine lake accessible via a well-maintained out-and-back trail. I’m in the process of reviewing the new <a href="https://www.tomsguide.com/wellness/smartwatches/galaxy-watch-ultra-2-hands-on-review">Samsung Galaxy Watch Ultra 2,</a> so this seemed like the perfect opportunity to test it against its direct competitor, the <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-3-review">Apple Watch Ultra 3</a>, and my current go-to smartwatch for adventure tracking, the<a href="https://www.tomsguide.com/Garmin-Instinct-3-review"> Garmin Instinct 3</a>. </p><p>With just two wrists of my own, I asked my partner to rock the Apple Watch Ultra 3 (worn on her left wrist), while I wore the Galaxy Watch Ultra 2 on my left wrist and the Garmin Instinct 3 on my right wrist before embarking on our Cascadian trek. I also ran Strava from my iPhone 16 Plus. </p><h3 class="article-body__section" id="section-apple-watch-vs-galaxy-watch-vs-garmin-hike-data-compared"><span>Apple Watch vs Galaxy Watch vs Garmin: hike data compared</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:62.50%;"><img id="xoZDPwJqpS7WJwaQ37erf9" name="Blue-Lake" alt="Scenic photo of Blue Lake in the Cascade Mountains with swimmers, glaciers, and trees" src="https://cdn.mos.cms.futurecdn.net/xoZDPwJqpS7WJwaQ37erf9.jpg" mos="" align="middle" fullscreen="" width="4032" height="2520" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia)</span></figcaption></figure><p>Three hours, five miles, roughly a thousand feet of climb, and one very chilly swim later, we returned to the car, where I carefully logged the results from each device. The outcome of the comparison was crystal clear; one wearable proved more capable and up to the task than the others. Read on to find out which. </p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Apple Watch Ultra 3</p></th><th  ><p>Samsung Galaxy Watch Ultra 2</p></th><th  ><p>Garmin Instinct 3</p></th><th  ><p>Strava </p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Distance</strong></p></td><td  ><p>5.02 miles</p></td><td  ><p>4.97 miles</p></td><td  ><p>5.17 miles</p></td><td  ><p>5.26 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Workout time</strong></p></td><td  ><p>3 hours 6 mins </p></td><td  ><p>3 hours 8 mins</p></td><td  ><p>3 hours 8 mins</p></td><td  ><p>3 hours 6 mins</p></td></tr><tr><td class="firstcol " ><p><strong>Elevation gain</strong></p></td><td  ><p>1,169 feet</p></td><td  ><p>1,700 feet</p></td><td  ><p>1,050 feet</p></td><td  ><p>878 feet</p></td></tr><tr><td class="firstcol " ><p><strong>Average pace </strong></p></td><td  ><p>37 mins 04 secs per mile</p></td><td  ><p>37 mins 43 secs per mile</p></td><td  ><p>36 mins 27 secs per mile</p></td><td  ><p>35 mins 21 secs per mile</p></td></tr><tr><td class="firstcol " ><p><strong>Battery drain</strong></p></td><td  ><p>18%</p></td><td  ><p>18%</p></td><td  ><p>6%</p></td><td  ><p>n/a</p></td></tr></tbody></table></div><p>Here are three reasons why I’d choose the Garmin Instinct 3 over the Apple Watch Ultra 3 or Samsung Galaxy Watch Ultra 2 for my next hike. </p><h3 class="article-body__section" id="section-1-garmin-s-elevation-data-is-the-most-accurate"><span>1. Garmin's elevation data is the most accurate</span></h3><div><blockquote><p>The Samsung Galaxy Watch Ultra 2 was notably and concerningly waaaaay off, calculating almost double the elevation of Strava and AllTrails. </p></blockquote></div><p>According to the <a href="https://www.wta.org/go-hiking/hikes/blue-lake" target="_blank">Washington Trail Association</a>, Blue Lake Trail involves an estimated 1,050 feet of elevation gain, which is coincidentally the same exact amount of climb logged by the Garmin Instinct 3. </p><p><a href="https://www.alltrails.com/trail/us/washington/blue-lake-trail--7" target="_blank">AllTrails</a> lists the climb at a more modest 920 feet. Either way, Garmin was the closest of the bunch at accurately logging my uphill efforts for this hike. The Apple Watch Ultra 3 turned in a slightly elevated (some pun intended) metric, which is pretty much par for the course for even the <a href="https://www.tomsguide.com/best-picks/best-apple-watch">best Apple Watches</a> in 2026 from my experience.</p><p>Meanwhile, the Samsung Galaxy Watch Ultra 2 was notably and concerningly waaaaay off, calculating almost double the elevation of Strava and AllTrails. </p><h3 class="article-body__section" id="section-2-the-instinct-3-used-way-less-battery"><span>2. The Instinct 3 used way less battery</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3792px;"><p class="vanilla-image-block" style="padding-top:56.28%;"><img id="AZF7DPLYsQoJ9PLhoqBiNo" name="AWU3-GalaxyU2-Instinct3-03" alt="Close-up of the Samsung Galaxy Watch Ultra 2, Apple Watch Ultra 3 and Garmin Instinct 3 in nature" src="https://cdn.mos.cms.futurecdn.net/AZF7DPLYsQoJ9PLhoqBiNo.jpg" mos="" align="middle" fullscreen="" width="3792" height="2134" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>With a lengthy pause taken at the top of Blue Lake Trail for a swim and snack, our total trek time took just over three hours. In that period, both the Apple Watch Ultra 3 and Samsung Galaxy Watch Ultra 2 burned through 18% of battery, suggesting that around 15 hours of continuous trekking is likely the limit for both when it comes to GPS power consumption.</p><p>The Garmin Instinct 3, meanwhile, used only 6% of battery tracking my three-ish-hour trek, making it the obvious choice of the bunch for multi-day outdoor adventurers where access to a charger isn't guaranteed. </p><h3 class="article-body__section" id="section-3-the-garmin-is-lighter-and-comfier"><span>3. The Garmin is lighter and comfier</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3701px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="yaL9XTKoBPfLqrd6sDVKdB" name="Garmin-Torch-03" alt="Close-up of the Garmin Instinct 3 showing the 'Torch' LED flashlight illuminated from the top of the watch case" src="https://cdn.mos.cms.futurecdn.net/yaL9XTKoBPfLqrd6sDVKdB.jpg" mos="" align="middle" fullscreen="" width="3701" height="2082" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Finally, on my 6.5-inch wrist, the Garmin Instinct 3 in 45mm feels way comfier than the Apple Watch Ultra 3 or the Samsung Galaxy Watch Ultra 2. This is because it's both smaller and lighter. Including the straps used for the hike, the Instinct 3 weighs 53.5 g, compared to 95.4 g for th the Apple Watch Ultra 3, and  85.8 g for the Samsung Galaxy Watch Ultra 2</p><p>The Instinct 3's rounded case also wears more comfortably than the rectangular case design of the Apple Watch and Samsung. Moreover, the Instinct 3 isn't nearly as tall as either of its rivals, and is noticeably narrower than the Samsung, with a similar width to the Apple Watch.</p><p>Which of these three smartwatches would <em>you</em> pick to log an epic outdoor mountain adventure? Let me know in the poll below. </p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/can-the-usd99-fitbit-air-beat-the-usd799-apple-watch-ultra-3-at-fitness-tracking-i-manually-counted-4-500-steps-to-find-out">Can the $99 Fitbit Air beat the $799 Apple Watch Ultra 3 at fitness tracking? I manually counted 4,500 steps to find out</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/i-hiked-9-miles-with-the-apple-watch-se-vs-pixel-watch-3-vs-garmin-forerunner-165-5-things-i-learned">I hiked 9 miles with the Apple Watch SE vs. Pixel Watch 3 vs. Garmin Forerunner 165 — 5 things I learned</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/samsung-turned-the-galaxy-watch-ultra-2-into-a-fully-fledged-dive-computer-but-theres-a-catch">Samsung turned the Galaxy Watch Ultra 2 into a fully-fledged dive computer — but there’s a catch</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I drove the Subaru Forester and Mazda CX-5 for week — here's the $40K crossover SUV I recommend ]]></title>
                                                                                                <dc:content><![CDATA[ <p>For my latest head-to-head matchup, I’m putting the <a href="https://www.subaru.com/vehicles/forester/2026.html" target="_blank">2026 Subaru Forester</a> and <a href="https://www.mazdausa.com/vehicles/cx-5" target="_blank">2026 Mazda CX-5</a> to the test to uncover which of these compact crossover SUVs is better across all the metrics I judge. Now, as much as I’m constantly vouching for the <a href="https://www.tomsguide.com/phones/google-pixel-phones/i-used-my-pixel-9-pro-xl-to-create-the-ultimate-ev-savings-cheat-sheet-heres-what-i-learned">long-term savings of comparable compact crossover EVs</a>, like the <a href="https://www.tomsguide.com/vehicle-tech/evs/i-drove-a-hyundai-ioniq-5-for-a-week-and-its-one-of-the-best-values-in-a-crossover-ev">Hyundai Ioniq 5</a>, <a href="https://www.tomsguide.com/vehicle-tech/evs/2025-kia-ev6-pros-and-cons">Kia EV6</a>, and <a href="https://www.tomsguide.com/vehicle-tech/evs/i-drove-a-ford-mustang-mach-e-rally-for-a-week-heres-my-pros-and-cons">Ford Mustang Mach-E</a>, these mainstream, gas-powered options still benefit from lower starting prices.</p><p>Both the Forester and CX-5 offer standard all-wheel drive, family-friendly versatility, and the effortless convenience of instant gas station fill-ups without the EV price premium. They come with as-tested prices of $40,465 and $41,080 for the 2026 Subaru Forester Wilderness and 2026 Mazda CX-5 2.5 S Premium Plus, respectively.</p><p>They’re obviously priced higher than their entry-level trims, but still far less than comparable EVs. While they’re both crossovers at heart, they target completely different drivers. The Forester acts as a boxy Swiss Army knife built for maximum visibility, cargo capacity, and all-weather confidence — while the CX-5 trades some utility for style, delivering an upscale cabin that feels far richer than its price tag suggests.</p><figure class="inline-layout"><div style="min-height: 400px;"><fw-embed-feed channel="toms_guide" playlist="gOdY2y" mode="row" player_placement="bottom-right"></fw-embed-feed></div></figure><h2 class="article-body__section" id="section-subaru-forester-vs-mazda-cx-5-specifications"><span>Subaru Forester vs. Mazda CX-5: Specifications</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2026 Subaru Forester Wilderness</strong></p></th><th  ><p><strong>2026 Mazda CX-5 2.5 S Premium Plus</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price Tested</strong></p></td><td  ><p>$40,465</p></td><td  ><p>$41,080</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ><p>24 mpg city / 28 mpg highway / 26 mpg combined</p></td><td  ><p>24 mpg city / 30 mpg highway / 26 mpg combined</p></td></tr><tr><td class="firstcol " ><p><strong>Engine</strong></p></td><td  ><p>2.5-liter DOHC engine (AWD)</p></td><td  ><p>2.5L Skyactiv Engine (AWD)</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Tank Capacity</strong></p></td><td  ><p>16.6 gallons</p></td><td  ><p>15.6 gallons</p></td></tr><tr><td class="firstcol " ><p><strong>Horsepower</strong></p></td><td  ><p>180 hp</p></td><td  ><p>187 hp</p></td></tr><tr><td class="firstcol " ><p><strong>Wheels</strong></p></td><td  ><p>17-inches</p></td><td  ><p>19-inches</p></td></tr><tr><td class="firstcol " ><p><strong>MSRP</strong></p></td><td  ><p>$36,995</p></td><td  ><p>$38,990</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-subaru-forester-vs-mazda-cx-5-design"><span>Subaru Forester vs. Mazda CX-5: Design</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/ek7a8xSzJ7mcq3ThHa6wcJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/zqbTUrBECYP2WFrhejdkCk.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/rb8ry56AY2C4qFQmULznRJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/PnTbChrwAkBvg29BFVZq8k.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/8oC6iFJzdbDTdEuoJr29ZJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/SjpWoqA84Hi3JzZbpeQMmj.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>While both vehicles hit the mark for their target drivers, I prefer the Mazda CX-5’s pure aesthetic appeal that could easily be mistaken for a luxury vehicle. As with the <a href="https://www.tomsguide.com/vehicle-tech/evs/i-drove-the-mazda-cx-50-hybrid-for-a-week-heres-my-pros-and-cons">CX-50</a> and <a href="https://www.tomsguide.com/vehicle-tech/evs/2026-mazda-cx-70-review">CX-70</a> I’ve tested, Mazda’s signature design language paints a stylish outline featuring sculpted curves, a prominent front grille, and an athletic posture that wouldn't look out of place wearing a premium badge.</p><p>Inside, I’m completely surprised by the transformation — it looks dramatically different from the previous generation. It definitely reminds me of the minimalist styling of the <a href="https://www.tomsguide.com/vehicle-tech/evs/2026-polestar-4-review">Polestar 4</a> and <a href="https://www.tomsguide.com/vehicle-tech/evs/2026-volvo-ex30-review">Volvo EX30</a> with its streamlined dash layout, strategically placed switchgear, and upscale accents that make it feel far more premium.</p><p>In contrast, the Subaru Forester Wilderness prioritizes function over fashion — and rightfully so, seeing as that's the identity it's carved out for years now. Its boxy silhouette, chunky plastic body cladding, higher ride height, and rugged accents give it an adventure-ready look that outdoorsy drivers will appreciate.</p><p>However, it lacks the visual grace and high-end cabin refinement of the Mazda. If you want a crossover that turns heads in a suburban driveway or a restaurant valet line, the CX-5 is the clear choice.</p><p><strong>Winner:</strong> Mazda CX05</p><h2 class="article-body__section" id="section-subaru-forester-vs-mazda-cx-5-fuel-economy"><span>Subaru Forester vs. Mazda CX-5: Fuel economy</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2026 Subaru Forester Wilderness</strong></p></th><th  ><p><strong>2026 Mazda CX-5 2.5 S Premium Plus</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Total Miles Driven</strong></p></td><td  ><p>126.3 miles</p></td><td  ><p>102.2 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Average Fuel Economy</strong></p></td><td  ><p>27.2 mpg</p></td><td  ><p>26.2 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best short distance fuel economy</strong></p></td><td  ><p>28.2 mpg</p></td><td  ><p>34.3 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best long distance fuel economy</strong></p></td><td  ><p>32.2 mpg</p></td><td  ><p>28.2 mpg</p></td></tr></tbody></table></div><p>While neither of these gas-powered crossovers can match the ultra-low operating costs of an EV, every mile per gallon counts when fueling up at the pump. Across my real-world testing, the Subaru Forester Wilderness edges out the Mazda CX-5 to take the win, proving slightly more efficient overall despite its rugged-focused setup.</p><p>Over 126 miles of driving, the Forester Wilderness averages 27.2 mpg, outperforming the CX-5 2.5 S Premium Plus, which achieves 26.2 mpg over 102.2 miles. Where the Subaru really shines is during extended highway stints — recording a best long-distance fuel economy of 32.2 mpg compared to the Mazda’s 28.2 mpg.</p><p>Interestingly, the CX-5 took the lead on quick trips, delivering an impressive 34.3 mpg best short-distance run compared to the Subaru’s 28.2 mpg. However, for drivers looking for better efficiency on longer road trips and higher overall average mileage, the Forester takes the crown.</p><p><strong>Winner:</strong> Subaru Forester</p><h2 class="article-body__section" id="section-subaru-forester-vs-mazda-cx-5-driving-performance"><span>Subaru Forester vs. Mazda CX-5: Driving performance</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/neRAKRVpRyW7xqgGha5sbJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/iUadQA9cGNi5xdJsmbLBwj.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/BEzmWthPwXZRE7RBT3uFaJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/49nVXpdD8y6E5cazYAyFgj.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/CXBfwdvk6aXgF2Hoq7AyRJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/LbzhiaGpm8wq4YCpeUnDAk.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/FzbczQ3XAGcXPy6ynsGXDJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/YRR2Vjf48Ua7tueToY5F3k.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>Out on the road, both crossovers deliver punchy power when I need it—but they go about it in very different ways. The Subaru Forester Wilderness pleasantly surprises me with how remarkably quiet it is even under heavy throttle, while supplying strong performance getting up to cruising speed. In fact, I think it makes daily commuting and highway overtaking feel effortless.</p><p>However, when it comes to pure driver engagement, the Mazda CX-5 2.5 S Premium Plus takes the win. Where the Subaru prioritizes efficiency, Mazda relies on a traditional 6-speed automatic transmission that delivers immediate gear shifts. Paired with tighter body control and responsive steering, the CX-5 behaves more like a zippy hatchback than a high-riding SUV. If you value a quiet, comfortable cruiser, the Forester delivers — but if you’re like me and prefer an engaging drive, the CX-5 takes top honors.</p><p><strong>Winner:</strong> Mazda CX-5</p><h2 class="article-body__section" id="section-subaru-forester-vs-mazda-cx-5-comfort"><span>Subaru Forester vs. Mazda CX-5: Comfort</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/K3u5Rhf9vxtikcHRdTNDgJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/GNWYbbaEE23hN4wDWFcheJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/MDyC2sTrqanmh8nQkfLGUJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/3FWU93Lb6QFSTzCMpQm5XJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/HEobosKzaRcrHRaZzPqELJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/P7JmgwkQ4L9PiH4d8xXejJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/qtMizUpcvtDaPkpumGcFhJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>When it comes to pure cabin comfort and everyday use, I much prefer the Subaru Forester over the Mazda CX-5.</p><p>The Forester Wilderness excels where it matters most on long drives, offering a noticeably roomier cabin with plenty of rear legroom that gives adult passengers room to stretch out. During a recent heatwave, its frigid AC system cooled the interior down in record time — while the heavy-duty all-weather floor mats are way better suited for extreme conditions.</p><p>The only real downside to the Subaru's cabin experience is its soundproofing, which at highway speeds, the wind and road noise penetrate the cabin far more than they should.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/5m9Wq7wp222tfa2ZFDxt5k.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/5wv75ZPcsiTZdnRZ9msk3k.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/p8D9xHDJkWvDyJx2kau8qj.jpg" alt="2026 Mazda CX-5 review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/N3Cg9vEerW3k7shKQb52nj.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/B9QpTi6bYqcHHK5g7Xnvpj.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/UTok6LczK4JaDy8W2MWmzj.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>Over in the Mazda CX-5 2.5 S Premium Plus, I love the sportiness of the interior with its cleaner, more modern-looking layout that feels undeniably elevated. However, its driver-assistance tech holds it back because the adaptive cruise control has a habit of accelerating too aggressively to get back up to speed.</p><p><strong>Winner:</strong> Subaru Forester</p><h2 class="article-body__section" id="section-subaru-forester-vs-mazda-cx-5-value"><span>Subaru Forester vs. Mazda CX-5: Value</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/gSiCWSm5Ejzbfx4dDznizj.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/jVyygaGExCJa4k9bwH5mcj.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4HNpNQsSs4gb6zuBzKsxni.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/p2uWiUSvNodB6rwEkTjMni.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/MDgz5saFdEPN4ZpX7xweki.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Qar7WGzxzw8UsiU6BCHmki.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/mxaawe97V3oJagPrskMAsi.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/B2pCoyb7eKxdtYFHm55cri.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/dSPoz5H7qra3yxgzZ43AMj.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>While both vehicles sit around the $40,000 mark as tested, the Mazda CX-5 delivers a far superior return on investment when it comes to daily tech, convenience, and equipment.</p><p>That’s because the CX-5 packs features you typically expect from premium luxury brands. For example, I’m really thrilled by how its infotainment software looks and feels significantly more modern and responsive.</p><p>Meanwhile, the head-up display keeps key driving stats right in my line of sight, and dedicated physical buttons on the steering wheel let me quickly toggle the 360-degree camera and lane-centering system. And when driving late at night, I really appreciate how the adaptive headlights physically swivel as I turn the wheel.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/XVyPRhinvyouKzQTKCtBfJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/w6xiXg7acmUJ2upXXT9UiJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/jLzfsuzVxUywFqx87XAFZJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/FzbczQ3XAGcXPy6ynsGXDJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>The Subaru Forester Wilderness does have its own practical charms — I love that it includes Tiptronic paddle shifters on the steering wheel for quick manual gear drops, along with a dedicated storage nook that keeps my phone secure.</p><p>However, its tech package falls short. The center display suffers from washed-out viewing angles in bright light, the backup camera feed looks low-quality, and the overall software layout feels antiquated compared to the slick Mazda setup.</p><p><strong>Winner:</strong> Mazda CX-5</p><h2 class="article-body__section" id="section-subaru-forester-vs-mazda-cx-5-verdict"><span>Subaru Forester vs. Mazda CX-5: Verdict</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/jby2xcETgavPzL5UBfQbGJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/gyHfekDLA8WKmxxberGBCk.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>It’s not a landslide, but the Mazda CX-5 2.5 S Premium Plus takes the crown as the overall winner in this $40K crossover comparison. While its as-tested price tag sits slightly higher than the Subaru's, it more than justifies the cost through its upscale style, vastly superior infotainment software, responsive driving dynamics, and thoughtful daily conveniences like the head-up display and adaptive headlights. It looks, feels, and drives like a vehicle competing in a higher price bracket.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2026 Subaru Forester Wilderness</strong></p></th><th  ><p><strong>2026 Mazda CX-5 2.5 S Premium Plus</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Design</strong></p></td><td  ></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Driving Performance</strong></p></td><td  ></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Comfort</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Value</strong></p></td><td  ></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Total</strong></p></td><td  ><p>2</p></td><td  ><p>3</p></td></tr></tbody></table></div><p>That said, the Subaru Forester Wilderness remains an exceptional choice for a specific type of buyer. If your daily routine demands maximum rear legroom, rugged all-weather readiness, superior visibility, and the peace of mind that comes with higher ground clearance for off-road trails, the Forester is tough to beat. But for drivers seeking an engaging, modern, and near-luxury daily driver without stepping up to EV prices, the Mazda CX-5 is the clear choice.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eMq5le"></div>                            </div>                            <script src="https://kwizly.com/embed/eMq5le.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/vehicle-tech/evs/im-not-anxious-that-its-getting-darker-earlier-with-this-thermal-camera-for-my-car-heres-why">I'm not anxious that it's getting darker earlier with this thermal camera for my car — here's why</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/i-borrowed-the-new-nissan-leaf-for-a-day-and-this-affordable-ev-nails-it">I just test drove the new Nissan Leaf — and it's irresistible at under $30,000</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/crabwalking-with-the-gmc-sierra-ev-is-the-weirdest-thing-ive-ever-done-with-a-car-and-its-actually-pretty-useful">CrabWalking with the GMC Sierra EV is the weirdest thing I’ve ever done with a car — and it’s actually pretty useful</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/vehicle-tech/i-drove-the-subaru-forester-and-mazda-cx-5-for-week-heres-the-usd40k-crossover-suv-i-recommend</link>
                                                                            <description>
                            <![CDATA[ I tested the 2026 Subaru Forester Wilderness and 2026 Mazda CX-5 2.5 S Premium Plus for a week each to see which is the better SUV. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">PYhfpNF5Er862y7927xxgU</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/PGh8PA4B5GG9yWYUhqGn78-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 04 Aug 2026 06:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Vehicle Tech]]></category>
                                                                                                <author><![CDATA[ john.velasco@futurenet.com (John Velasco) ]]></author>                    <dc:creator><![CDATA[ John Velasco ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/TSj224oX8d5ERXaDs8pDGd.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/PGh8PA4B5GG9yWYUhqGn78-1280-80.jpg">
                                                            <media:credit><![CDATA[John Velasco / Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Mazda CX-5 vs Subaru Forester.]]></media:description>                                                            <media:text><![CDATA[Mazda CX-5 vs Subaru Forester.]]></media:text>
                                <media:title type="plain"><![CDATA[Mazda CX-5 vs Subaru Forester.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/PGh8PA4B5GG9yWYUhqGn78-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>For my latest head-to-head matchup, I’m putting the <a href="https://www.subaru.com/vehicles/forester/2026.html" target="_blank">2026 Subaru Forester</a> and <a href="https://www.mazdausa.com/vehicles/cx-5" target="_blank">2026 Mazda CX-5</a> to the test to uncover which of these compact crossover SUVs is better across all the metrics I judge. Now, as much as I’m constantly vouching for the <a href="https://www.tomsguide.com/phones/google-pixel-phones/i-used-my-pixel-9-pro-xl-to-create-the-ultimate-ev-savings-cheat-sheet-heres-what-i-learned">long-term savings of comparable compact crossover EVs</a>, like the <a href="https://www.tomsguide.com/vehicle-tech/evs/i-drove-a-hyundai-ioniq-5-for-a-week-and-its-one-of-the-best-values-in-a-crossover-ev">Hyundai Ioniq 5</a>, <a href="https://www.tomsguide.com/vehicle-tech/evs/2025-kia-ev6-pros-and-cons">Kia EV6</a>, and <a href="https://www.tomsguide.com/vehicle-tech/evs/i-drove-a-ford-mustang-mach-e-rally-for-a-week-heres-my-pros-and-cons">Ford Mustang Mach-E</a>, these mainstream, gas-powered options still benefit from lower starting prices.</p><p>Both the Forester and CX-5 offer standard all-wheel drive, family-friendly versatility, and the effortless convenience of instant gas station fill-ups without the EV price premium. They come with as-tested prices of $40,465 and $41,080 for the 2026 Subaru Forester Wilderness and 2026 Mazda CX-5 2.5 S Premium Plus, respectively.</p><p>They’re obviously priced higher than their entry-level trims, but still far less than comparable EVs. While they’re both crossovers at heart, they target completely different drivers. The Forester acts as a boxy Swiss Army knife built for maximum visibility, cargo capacity, and all-weather confidence — while the CX-5 trades some utility for style, delivering an upscale cabin that feels far richer than its price tag suggests.</p><figure class="inline-layout"><div style="min-height: 400px;"><fw-embed-feed channel="toms_guide" playlist="gOdY2y" mode="row" player_placement="bottom-right"></fw-embed-feed></div></figure><h2 class="article-body__section" id="section-subaru-forester-vs-mazda-cx-5-specifications"><span>Subaru Forester vs. Mazda CX-5: Specifications</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2026 Subaru Forester Wilderness</strong></p></th><th  ><p><strong>2026 Mazda CX-5 2.5 S Premium Plus</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price Tested</strong></p></td><td  ><p>$40,465</p></td><td  ><p>$41,080</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ><p>24 mpg city / 28 mpg highway / 26 mpg combined</p></td><td  ><p>24 mpg city / 30 mpg highway / 26 mpg combined</p></td></tr><tr><td class="firstcol " ><p><strong>Engine</strong></p></td><td  ><p>2.5-liter DOHC engine (AWD)</p></td><td  ><p>2.5L Skyactiv Engine (AWD)</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Tank Capacity</strong></p></td><td  ><p>16.6 gallons</p></td><td  ><p>15.6 gallons</p></td></tr><tr><td class="firstcol " ><p><strong>Horsepower</strong></p></td><td  ><p>180 hp</p></td><td  ><p>187 hp</p></td></tr><tr><td class="firstcol " ><p><strong>Wheels</strong></p></td><td  ><p>17-inches</p></td><td  ><p>19-inches</p></td></tr><tr><td class="firstcol " ><p><strong>MSRP</strong></p></td><td  ><p>$36,995</p></td><td  ><p>$38,990</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-subaru-forester-vs-mazda-cx-5-design"><span>Subaru Forester vs. Mazda CX-5: Design</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/ek7a8xSzJ7mcq3ThHa6wcJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/zqbTUrBECYP2WFrhejdkCk.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/rb8ry56AY2C4qFQmULznRJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/PnTbChrwAkBvg29BFVZq8k.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/8oC6iFJzdbDTdEuoJr29ZJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/SjpWoqA84Hi3JzZbpeQMmj.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>While both vehicles hit the mark for their target drivers, I prefer the Mazda CX-5’s pure aesthetic appeal that could easily be mistaken for a luxury vehicle. As with the <a href="https://www.tomsguide.com/vehicle-tech/evs/i-drove-the-mazda-cx-50-hybrid-for-a-week-heres-my-pros-and-cons">CX-50</a> and <a href="https://www.tomsguide.com/vehicle-tech/evs/2026-mazda-cx-70-review">CX-70</a> I’ve tested, Mazda’s signature design language paints a stylish outline featuring sculpted curves, a prominent front grille, and an athletic posture that wouldn't look out of place wearing a premium badge.</p><p>Inside, I’m completely surprised by the transformation — it looks dramatically different from the previous generation. It definitely reminds me of the minimalist styling of the <a href="https://www.tomsguide.com/vehicle-tech/evs/2026-polestar-4-review">Polestar 4</a> and <a href="https://www.tomsguide.com/vehicle-tech/evs/2026-volvo-ex30-review">Volvo EX30</a> with its streamlined dash layout, strategically placed switchgear, and upscale accents that make it feel far more premium.</p><p>In contrast, the Subaru Forester Wilderness prioritizes function over fashion — and rightfully so, seeing as that's the identity it's carved out for years now. Its boxy silhouette, chunky plastic body cladding, higher ride height, and rugged accents give it an adventure-ready look that outdoorsy drivers will appreciate.</p><p>However, it lacks the visual grace and high-end cabin refinement of the Mazda. If you want a crossover that turns heads in a suburban driveway or a restaurant valet line, the CX-5 is the clear choice.</p><p><strong>Winner:</strong> Mazda CX05</p><h2 class="article-body__section" id="section-subaru-forester-vs-mazda-cx-5-fuel-economy"><span>Subaru Forester vs. Mazda CX-5: Fuel economy</span></h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2026 Subaru Forester Wilderness</strong></p></th><th  ><p><strong>2026 Mazda CX-5 2.5 S Premium Plus</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Total Miles Driven</strong></p></td><td  ><p>126.3 miles</p></td><td  ><p>102.2 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Average Fuel Economy</strong></p></td><td  ><p>27.2 mpg</p></td><td  ><p>26.2 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best short distance fuel economy</strong></p></td><td  ><p>28.2 mpg</p></td><td  ><p>34.3 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best long distance fuel economy</strong></p></td><td  ><p>32.2 mpg</p></td><td  ><p>28.2 mpg</p></td></tr></tbody></table></div><p>While neither of these gas-powered crossovers can match the ultra-low operating costs of an EV, every mile per gallon counts when fueling up at the pump. Across my real-world testing, the Subaru Forester Wilderness edges out the Mazda CX-5 to take the win, proving slightly more efficient overall despite its rugged-focused setup.</p><p>Over 126 miles of driving, the Forester Wilderness averages 27.2 mpg, outperforming the CX-5 2.5 S Premium Plus, which achieves 26.2 mpg over 102.2 miles. Where the Subaru really shines is during extended highway stints — recording a best long-distance fuel economy of 32.2 mpg compared to the Mazda’s 28.2 mpg.</p><p>Interestingly, the CX-5 took the lead on quick trips, delivering an impressive 34.3 mpg best short-distance run compared to the Subaru’s 28.2 mpg. However, for drivers looking for better efficiency on longer road trips and higher overall average mileage, the Forester takes the crown.</p><p><strong>Winner:</strong> Subaru Forester</p><h2 class="article-body__section" id="section-subaru-forester-vs-mazda-cx-5-driving-performance"><span>Subaru Forester vs. Mazda CX-5: Driving performance</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/neRAKRVpRyW7xqgGha5sbJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/iUadQA9cGNi5xdJsmbLBwj.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/BEzmWthPwXZRE7RBT3uFaJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/49nVXpdD8y6E5cazYAyFgj.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/CXBfwdvk6aXgF2Hoq7AyRJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/LbzhiaGpm8wq4YCpeUnDAk.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/FzbczQ3XAGcXPy6ynsGXDJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/YRR2Vjf48Ua7tueToY5F3k.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>Out on the road, both crossovers deliver punchy power when I need it—but they go about it in very different ways. The Subaru Forester Wilderness pleasantly surprises me with how remarkably quiet it is even under heavy throttle, while supplying strong performance getting up to cruising speed. In fact, I think it makes daily commuting and highway overtaking feel effortless.</p><p>However, when it comes to pure driver engagement, the Mazda CX-5 2.5 S Premium Plus takes the win. Where the Subaru prioritizes efficiency, Mazda relies on a traditional 6-speed automatic transmission that delivers immediate gear shifts. Paired with tighter body control and responsive steering, the CX-5 behaves more like a zippy hatchback than a high-riding SUV. If you value a quiet, comfortable cruiser, the Forester delivers — but if you’re like me and prefer an engaging drive, the CX-5 takes top honors.</p><p><strong>Winner:</strong> Mazda CX-5</p><h2 class="article-body__section" id="section-subaru-forester-vs-mazda-cx-5-comfort"><span>Subaru Forester vs. Mazda CX-5: Comfort</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/K3u5Rhf9vxtikcHRdTNDgJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/GNWYbbaEE23hN4wDWFcheJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/MDyC2sTrqanmh8nQkfLGUJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/3FWU93Lb6QFSTzCMpQm5XJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/HEobosKzaRcrHRaZzPqELJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/P7JmgwkQ4L9PiH4d8xXejJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/qtMizUpcvtDaPkpumGcFhJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>When it comes to pure cabin comfort and everyday use, I much prefer the Subaru Forester over the Mazda CX-5.</p><p>The Forester Wilderness excels where it matters most on long drives, offering a noticeably roomier cabin with plenty of rear legroom that gives adult passengers room to stretch out. During a recent heatwave, its frigid AC system cooled the interior down in record time — while the heavy-duty all-weather floor mats are way better suited for extreme conditions.</p><p>The only real downside to the Subaru's cabin experience is its soundproofing, which at highway speeds, the wind and road noise penetrate the cabin far more than they should.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/5m9Wq7wp222tfa2ZFDxt5k.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/5wv75ZPcsiTZdnRZ9msk3k.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/p8D9xHDJkWvDyJx2kau8qj.jpg" alt="2026 Mazda CX-5 review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/N3Cg9vEerW3k7shKQb52nj.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/B9QpTi6bYqcHHK5g7Xnvpj.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/UTok6LczK4JaDy8W2MWmzj.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>Over in the Mazda CX-5 2.5 S Premium Plus, I love the sportiness of the interior with its cleaner, more modern-looking layout that feels undeniably elevated. However, its driver-assistance tech holds it back because the adaptive cruise control has a habit of accelerating too aggressively to get back up to speed.</p><p><strong>Winner:</strong> Subaru Forester</p><h2 class="article-body__section" id="section-subaru-forester-vs-mazda-cx-5-value"><span>Subaru Forester vs. Mazda CX-5: Value</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/gSiCWSm5Ejzbfx4dDznizj.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/jVyygaGExCJa4k9bwH5mcj.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4HNpNQsSs4gb6zuBzKsxni.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/p2uWiUSvNodB6rwEkTjMni.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/MDgz5saFdEPN4ZpX7xweki.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Qar7WGzxzw8UsiU6BCHmki.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/mxaawe97V3oJagPrskMAsi.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/B2pCoyb7eKxdtYFHm55cri.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/dSPoz5H7qra3yxgzZ43AMj.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>While both vehicles sit around the $40,000 mark as tested, the Mazda CX-5 delivers a far superior return on investment when it comes to daily tech, convenience, and equipment.</p><p>That’s because the CX-5 packs features you typically expect from premium luxury brands. For example, I’m really thrilled by how its infotainment software looks and feels significantly more modern and responsive.</p><p>Meanwhile, the head-up display keeps key driving stats right in my line of sight, and dedicated physical buttons on the steering wheel let me quickly toggle the 360-degree camera and lane-centering system. And when driving late at night, I really appreciate how the adaptive headlights physically swivel as I turn the wheel.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/XVyPRhinvyouKzQTKCtBfJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/w6xiXg7acmUJ2upXXT9UiJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/jLzfsuzVxUywFqx87XAFZJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/FzbczQ3XAGcXPy6ynsGXDJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>The Subaru Forester Wilderness does have its own practical charms — I love that it includes Tiptronic paddle shifters on the steering wheel for quick manual gear drops, along with a dedicated storage nook that keeps my phone secure.</p><p>However, its tech package falls short. The center display suffers from washed-out viewing angles in bright light, the backup camera feed looks low-quality, and the overall software layout feels antiquated compared to the slick Mazda setup.</p><p><strong>Winner:</strong> Mazda CX-5</p><h2 class="article-body__section" id="section-subaru-forester-vs-mazda-cx-5-verdict"><span>Subaru Forester vs. Mazda CX-5: Verdict</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/jby2xcETgavPzL5UBfQbGJ.jpg" alt="2026 Subaru Forester review." /><figcaption>2026 Subaru Forester<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/gyHfekDLA8WKmxxberGBCk.jpg" alt="2026 Mazda CX-5 review." /><figcaption>2026 Mazda CX-5<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>It’s not a landslide, but the Mazda CX-5 2.5 S Premium Plus takes the crown as the overall winner in this $40K crossover comparison. While its as-tested price tag sits slightly higher than the Subaru's, it more than justifies the cost through its upscale style, vastly superior infotainment software, responsive driving dynamics, and thoughtful daily conveniences like the head-up display and adaptive headlights. It looks, feels, and drives like a vehicle competing in a higher price bracket.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>2026 Subaru Forester Wilderness</strong></p></th><th  ><p><strong>2026 Mazda CX-5 2.5 S Premium Plus</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Design</strong></p></td><td  ></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Driving Performance</strong></p></td><td  ></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Comfort</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Value</strong></p></td><td  ></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Total</strong></p></td><td  ><p>2</p></td><td  ><p>3</p></td></tr></tbody></table></div><p>That said, the Subaru Forester Wilderness remains an exceptional choice for a specific type of buyer. If your daily routine demands maximum rear legroom, rugged all-weather readiness, superior visibility, and the peace of mind that comes with higher ground clearance for off-road trails, the Forester is tough to beat. But for drivers seeking an engaging, modern, and near-luxury daily driver without stepping up to EV prices, the Mazda CX-5 is the clear choice.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eMq5le"></div>                            </div>                            <script src="https://kwizly.com/embed/eMq5le.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/vehicle-tech/evs/im-not-anxious-that-its-getting-darker-earlier-with-this-thermal-camera-for-my-car-heres-why">I'm not anxious that it's getting darker earlier with this thermal camera for my car — here's why</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/i-borrowed-the-new-nissan-leaf-for-a-day-and-this-affordable-ev-nails-it">I just test drove the new Nissan Leaf — and it's irresistible at under $30,000</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/crabwalking-with-the-gmc-sierra-ev-is-the-weirdest-thing-ive-ever-done-with-a-car-and-its-actually-pretty-useful">CrabWalking with the GMC Sierra EV is the weirdest thing I’ve ever done with a car — and it’s actually pretty useful</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Ugreen DXP2800 GT vs DXP4800 GT: How much NAS do you really need when replacing your costly cloud storage? ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Storing your files in the cloud is convenient until it isn’t. That’s why more and more people are turning to Network Attached Storage (NAS) devices to keep their data local instead.</p><p>Whether it’s family photos and videos, a massive library of ripped DVDs and Blu-rays, or critical work files, keeping your data at home has serious perks. Plus, just like with the <a href="https://www.tomsguide.com/buying-guide/best-cloud-storage">best cloud storage</a>, you can still access your personal files from anywhere with an internet connection.</p><p>While NAS devices used to feel intimidating to set up and configure, Ugreen has done an impressive job of making them accessible to everyday users. Even if you aren't particularly tech-savvy, backing up your files locally and accessing them across your computer and smartphone is very straightforward.</p><p>After trying out Ugreen’s consumer-friendly <a href="https://www.tomsguide.com/computing/peripherals/i-finally-added-a-nas-to-my-home-network-and-i-cant-believe-i-waited-this-long">DH4300 Plus</a> and its flagship <a href="https://www.tomsguide.com/computing/i-thought-my-first-nas-was-enough-but-this-ai-powered-behemoth-is-the-private-brain-my-home-office-needed">iDX6011 Pro</a> — which is capable of running local AI models — the company sent over two of its latest enthusiast-focused devices: the DXP2800 GT and DXP4800 GT. If you’re trying to decide between the two, here is everything you need to know to pick the right enclosure for your storage needs and workflow.</p><h3 class="article-body__section" id="section-ugreen-dxp2800-gt-vs-dxp4800-gt-specs"><span>Ugreen DXP2800 GT vs DXP4800 GT: Specs</span></h3><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>DXP2800 GT</p></th><th  ><p> DXP4800 GT</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>CPU</strong></p></td><td  ><p>AMD Ryzen Embedded R2514</p></td><td  ><p>AMD Ryzen Embedded R2514</p></td></tr><tr><td class="firstcol " ><p><strong>RAM</strong></p></td><td  ><p>8GB DDR4 (Expandable to 64GB)</p></td><td  ><p>8GB DDR4 (Expandable to 64GB)</p></td></tr><tr><td class="firstcol " ><p><strong>Flash Memory</strong></p></td><td  ><p>64GB eMMC</p></td><td  ><p>64GB eMMC</p></td></tr><tr><td class="firstcol " ><p><strong>OS</strong></p></td><td  ><p>UGOS Pro </p></td><td  ><p>UGOS Pro </p></td></tr><tr><td class="firstcol " ><p><strong>Drive Bays</strong></p></td><td  ><p>2 x SATA (3.5"/2.5") </p></td><td  ><p>4 x SATA (3.5"/2.5") </p></td></tr><tr><td class="firstcol " ><p><strong>SSD Slots</strong></p></td><td  ><p>2 x M.2</p></td><td  ><p>2 x M.2 </p></td></tr><tr><td class="firstcol " ><p><strong>Max Storage</strong></p></td><td  ><p>80TB (2x 32TB + 2x 8TB) </p></td><td  ><p>144TB (4x 32TB + 2x 8TB) </p></td></tr><tr><td class="firstcol " ><p><strong>RAID</strong></p></td><td  ><p>JBOD, Basic, RAID 0, RAID 1 </p></td><td  ><p>JBOD, Basic, RAID 0, 1, 5, 6, 10 </p></td></tr><tr><td class="firstcol " ><p><strong>Ports</strong></p></td><td  ><p>1 x USB-C, 1 x USB-A (front), 1 x 10 GbE, HDMI (4K@60Hz), 1 x USB-A 3.2, 2 x USB-A 2.0 (rear)</p></td><td  ><p>SD 3.0 Card Reader, 1 x USB-C, 1 x USB-A (front), 2 x 10 GbE, HDMI (4K@60Hz), 1 x USB-A 3.2, 2 x USB-A 2.0 (rear)</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>9.13 × 4.31 × 7.02 in</p></td><td  ><p>10.10 × 7.00 × 7.00 in</p></td></tr><tr><td class="firstcol " ><p><strong>Power</strong></p></td><td  ><p>~18.1W (idle) / ~42.3W (active)</p></td><td  ><p>~22W (idle) / ~60W (active)</p></td></tr><tr><td class="firstcol " ><p><strong>Warranty</strong></p></td><td  ><p>2 years</p></td><td  ><p>2 years</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-ugreen-dxp2800-gt-vs-dxp4800-gt-pricing"><span>Ugreen DXP2800 GT vs DXP4800 GT: Pricing</span></h3><p>The two-bay Ugreen DXP2800 GT <a href="https://www.amazon.com/UGREEN-DXP2800-2-Bay-Network-Attached/dp/B0GTZ4YBD4" target="_blank" rel="nofollow">costs $509</a> while the four-bay Ugreen DXP4800 GT <a href="https://www.amazon.com/UGREEN-DXP4800-GT-4-Bay-Desktop/dp/B0GTZC19FX" target="_blank" rel="nofollow">costs $699</a>. Keep in mind that these are both diskless enclosures — the 64GB of built-in flash memory is strictly reserved for the UGOS Pro operating system, so you will need to budget separately for hard drives or SSDs.</p><p>Additionally, both models are compatible with <a href="https://ai.ugreen.com/products/ugreen-nas-backup-power-120w-12000mah" target="_blank" rel="nofollow">Ugreen’s US3000</a> mini UPS. This uninterruptible power supply provides protection for your NAS in the event of a power outage or surge via a battery backup that gives you enough time to safely power down your system.</p><h3 class="article-body__section" id="section-ugreen-dxp2800-gt-vs-dxp4800-gt-design"><span>Ugreen DXP2800 GT vs DXP4800 GT: Design</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5807px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="gmxAN7EJ4FgMufhRwC5hk3" name="Ugreen DXP2800 GT vs Ugreen DXP4800 GT-1" alt="The Ugreen DXP2800 GT and DXP4800 GT side by side on a table" src="https://cdn.mos.cms.futurecdn.net/gmxAN7EJ4FgMufhRwC5hk3.jpg" mos="" align="middle" fullscreen="" width="5807" height="3266" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>At 9.1 x 4.3 x 7 inches, Ugreen’s DXP2800 GT is the smaller of its two new AMD-powered NAS devices. Given its smaller, two-bay form factor, this NAS is much more compact and can be used on your desk or tucked away on a shelf near your router.</p><p>By comparison, the DXP4800 GT is slightly larger at 10.1 x 7 x 7 inches. Its extra width accommodates two additional drive bays, bringing the total to four. At the same time, you also get an SD card reader on the front.</p><p>Unlike Ugreen’s first globally available NAS devices — the <a href="https://www.tomsguide.com/computing/this-nas-saves-me-usd160-a-month-in-cloud-streaming-bills-and-honestly-it-might-be-the-only-black-friday-deal-that-pays-you-back">DXP2800</a> and <a href="https://www.tomsguide.com/computing/the-coolest-piece-of-tech-i-bought-all-year-was-the-dxp4800-plus-heres-why-its-a-game-changer">DXP4800</a> — which were powered by Intel chips and featured a dark aluminum finish with matte black accents, the company has switched things up with the GT series. These new models are black with rose gold accents, which, in my opinion, gives them a more premium look overall. They stand out a bit more too, but in a good way.</p><h3 class="article-body__section" id="section-ugreen-dxp2800-gt-vs-dxp4800-gt-ports-and-networking"><span>Ugreen DXP2800 GT vs DXP4800 GT: Ports and networking</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5781px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="QdFgYYKHSqbcVtWYA9V7uA" name="Ugreen DXP2800 GT vs Ugreen DXP4800 GT-2" alt="The Ugreen DXP2800 GT and DXP4800 GT side by side showing off their front ports" src="https://cdn.mos.cms.futurecdn.net/QdFgYYKHSqbcVtWYA9V7uA.jpg" mos="" align="middle" fullscreen="" width="5781" height="3253" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Regardless of which device you choose, you’re getting a high-speed 10Gbps USB-C port and a 10Gbps USB-A port on the front panel. You can use these to quickly offload data from flash drives and external hard drives directly onto your NAS — and on the DXP4800 GT, you can do so via an SD card reader, too.</p><p>Next to those front ports, status LEDs keep you informed on drive activity alongside a LAN indicator to show network connectivity. Below these sits the power button, complete with its own central LED light.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5598px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="4Cr29CNsSYnu9AGyeD95FE" name="Ugreen DXP2800 GT vs Ugreen DXP4800 GT-3" alt="The Ugreen DXP2800 GT and DXP4800 GT side by side showing off their rear ports" src="https://cdn.mos.cms.futurecdn.net/4Cr29CNsSYnu9AGyeD95FE.jpg" mos="" align="middle" fullscreen="" width="5598" height="3150" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Around back is where things get a bit more interesting. Both the DXP2800 GT and DXP4800 GT feature an HDMI 2.0 port, a high-speed USB 3.2 Type-A port, two USB 2.0 Type-A ports, a 10 Gigabit Ethernet port, a reset button, and a barrel DC power connector. With the DXP4800 GT, however, you get an additional 10 GbE port — bringing total networking up to dual 10GbE.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5831px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="vvQak7nQNKwvSaxP2KYgzJ" name="Ugreen DXP2800 GT vs Ugreen DXP4800 GT-7" alt="The Ugreen DXP2800 GT and DXP4800 GT side by side and plugged in, seenf rom behind showing off their ports and dust filters" src="https://cdn.mos.cms.futurecdn.net/vvQak7nQNKwvSaxP2KYgzJ.jpg" mos="" align="middle" fullscreen="" width="5831" height="3281" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Having that second 10 GbE port gives you a lot more flexibility when it comes to setting up and using the DXP4800 GT. You can combine both ports through link aggregation to double your potential bandwidth to 20 Gbps. This can be particularly useful if you have multiple people using this NAS at the same time to do things like edit 4K video.</p><p>Alternatively, you can use it to connect the DXP4800 GT to your main PC for blazing-fast file transfers while keeping the second port connected to one of the <a href="https://www.tomsguide.com/us/best-wifi-routers,review-2498.html">best Wi-Fi routers</a> so you can access the NAS from the rest of your home network.</p><h3 class="article-body__section" id="section-ugreen-dxp2800-gt-vs-dxp4800-gt-storage"><span>Ugreen DXP2800 GT vs DXP4800 GT: Storage</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5205px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="RW4jDq2iWJiGojvVSirfZP" name="Ugreen DXP2800 GT vs Ugreen DXP4800 GT-6" alt="The Ugreen DXP2800 GT and DXP4800 GT side by side with their drive bay enclosures filled with hard drives" src="https://cdn.mos.cms.futurecdn.net/RW4jDq2iWJiGojvVSirfZP.jpg" mos="" align="middle" fullscreen="" width="5205" height="2929" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>With two drive bays, you can load up the DXP2800 GT with up to two 32TB hard drives (HDDs). Both standard 3.5-inch SATA HDDs and 2.5-inch SATA HDDs or SSDs are compatible with both models. On the DXP4800 GT, which features four bays instead of two, you can install up to four 32TB HDDs.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5133px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="HyY9GKBDJwdaFBnDYHEnVT" name="Ugreen DXP2800 GT vs Ugreen DXP4800 GT-5" alt="A drive bay enclosure in front of the Ugreen DXP2800 GT and DXP4800 GT showing off its toolless design" src="https://cdn.mos.cms.futurecdn.net/HyY9GKBDJwdaFBnDYHEnVT.jpg" mos="" align="middle" fullscreen="" width="5133" height="2887" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>When using standard hard drives, these bays are completely toolless. To install a drive, you press down on the release tab, insert your drive, and snap the side retention rails into place. The whole process is simple, making initial setup or hot-swapping drives effortless.</p><p>If you’re using 2.5-inch HDDs or SSDs, these drives secure to the bottom of the tray using the included mounting screws. I installed several drives this way when I set up the Ugreen DH4300 Plus, and while it took slightly longer, the whole process was fairly simple.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5954px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="baaQoVqd5JC2KCiF4RyquX" name="Ugreen DXP2800 GT vs Ugreen DXP4800 GT-4" alt="A side by side shot showing off the expansion bays of the Ugreen DXP2800 GT and DXP4800 GT" src="https://cdn.mos.cms.futurecdn.net/baaQoVqd5JC2KCiF4RyquX.jpg" mos="" align="middle" fullscreen="" width="5954" height="3350" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Underneath both NAS units, an access panel provides access to internal upgrades. Both models come with 8GB of DDR4 RAM pre-installed and feature two SO-DIMM slots, allowing you to expand their memory up to 64GB.</p><p>For basic file storage and media streaming, the stock 8GB of RAM is more than enough. However, if you plan to run multiple Docker containers, host virtual machines, or manage a large media library with heavy indexing, upgrading their memory becomes essential. You can leave the original stick in place and add a second 8GB module to reach 16GB, or swap out the pre-installed memory for two 16GB modules (32GB total) or use dual 32GB modules to max out the hardware at 64GB.</p><p>When it comes to high-speed solid-state storage, both units feature two M.2 NVMe slots supporting up to 8TB per drive (16TB total via M.2). On the DXP4800 GT, these slots sit directly next to the RAM under the bottom panel for easy access. On the DXP2800 GT, the M.2 slots are mounted on the inner left wall inside the chassis, requiring you to pull out the main drive bays to access them. </p><p>With all front drive bays and both M.2 slots populated at max capacity, the DXP2800 GT tops out at 80TB of total raw storage, while the DXP4800 GT reaches a massive 144TB.</p><h3 class="article-body__section" id="section-ugreen-dxp2800-gt-vs-dxp4800-gt-raid"><span>Ugreen DXP2800 GT vs DXP4800 GT: RAID</span></h3><p>How you configure your NAS’s storage in UGOS Pro depends heavily on which enclosure you choose, as your available RAID options and fault tolerance are dictated entirely by drive bay count.</p><p>With the two-bay DXP2800 GT, you can choose between Basic, JBOD, RAID 0, and RAID 1:</p><ul><li><strong>RAID 1 (Recommended):</strong> Mirrors your data across both drives. If one drive fails, your data remains completely intact. The trade-off is usable capacity, as mirroring cuts your total storage in half.</li><li><strong>RAID 0 / JBOD:</strong> Combines both drives into a single volume for maximum available capacity and speed. However, neither mode offers data redundancy; if a single drive fails, you lose all your data.</li></ul><p>Thanks to its four-bay design, the DXP4800 GT unlocks additional RAID options, including RAID 5, RAID 6, and RAID 10:</p><ul><li><strong>RAID 5:</strong> Yields the full usable capacity of three drives while allowing your data to survive a single drive failure — offering the best sweet spot between storage efficiency, protection, and performance.</li><li><strong>RAID 6:</strong> Uses double-parity across all four drives, allowing your array to survive two simultaneous drive failures.</li><li><strong>RAID 10:</strong> Combines striping and mirroring across four drives. You lose 50% of your total usable capacity, but gain top-tier read/write speeds and significantly faster array rebuild times.</li></ul><p>If all these technical configurations feel overwhelming, don't worry. During initial setup, UGOS Pro walks you through each option with clear visual explanations and recommends the best setup based on your specific storage needs and workflow.</p><h3 class="article-body__section" id="section-ugreen-dxp2800-gt-vs-dxp4800-gt-power-and-noise"><span>Ugreen DXP2800 GT vs DXP4800 GT: Power and noise</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4531px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="pqV3BAWDze4VzCtnXJqnxa" name="Ugreen DXP2800 GT vs Ugreen DXP4800 GT-LIST2" alt="The Ugreen DXP2800 GT and DXP4800 GT set up on a small table" src="https://cdn.mos.cms.futurecdn.net/pqV3BAWDze4VzCtnXJqnxa.jpg" mos="" align="middle" fullscreen="" width="4531" height="2549" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Although NAS energy consumption depends heavily on drive access and workload, Ugreen rates the two-bay DXP2800 GT at around 16.4W during active drive access, dropping down to 4.2W when its drives are hibernating. Meanwhile, the four-bay DXP4800 GT draws roughly 35.2W under active use and 15.4W while idle.</p><p>When it comes to noise levels, I used a dedicated sound level meter to see just how loud the two enclosures were. With both sitting idle, the DXP2800 GT operated at a whisper-quiet 32.3 dB while the DXP4800 GT was slightly louder at 39.0 dB.</p><p>To put this into context, the DXP2800 GT is about as quiet as a bedroom at night or leaves rustling in a light breeze. It’s barely noticeable in a room on its own or even sitting directly on your desk — operating at a noise floor similar to a <a href="https://www.tomsguide.com/computing/apple-desktops/i-thought-i-was-done-customizing-my-mac-mini-m4-until-i-tried-the-last-dock-ill-ever-need">Mac mini M4</a>.</p><p>The DXP4800 GT sounds closer to a low refrigerator hum in the background. It’s slightly more noticeable, but with its front-facing SD card reader, creative professionals will likely want it within arm's reach anyway for quick photo and video offloads from their camera.</p><h3 class="article-body__section" id="section-ugreen-dxp2800-gt-vs-dxp4800-gt-which-should-you-buy"><span>Ugreen DXP2800 GT vs DXP4800 GT: Which should you buy?</span></h3><p>Whether Ugreen’s DXP2800 GT or DXP4800 GT is right for you comes down to your workflow, where you plan to set up either device, and how much storage you really need. At the end of the day, both deliver an impressive step up for power users with AMD Ryzen Embedded horsepower, dual M.2 NVMe slots, and ultra-fast 10 Gigabit networking.</p><p>With its smaller footprint and lower noise floor, the DXP2800 GT is an excellent “desk companion” NAS. It works just as well tucked away on a shelf or sitting right next to your monitor in a home office or bedroom. With support for up to 80TB of raw capacity, it provides more than enough storage for a solo editor working with large video files or managing heavy local backups. However, with only two drive bays, your RAID options are inherently limited — especially if you want to maintain disk redundancy without sacrificing half your raw capacity to drive mirroring.</p><p>The DXP4800 GT offers greater overall storage capacity, additional connectivity, and — thanks to its four-bay design — much more flexible RAID configurations like RAID 5 or RAID 6. The front-facing SD card reader is a huge quality-of-life upgrade for photographers and videographers, while the dual 10GbE ports let you connect directly to an editing workstation and your local network simultaneously. Alternatively, you can aggregate both Ethernet ports for even higher multi-user bandwidth. On top of supporting up to 144TB of raw capacity, its bottom panel makes accessing and upgrading its M.2 NVMe slots significantly easier.</p><p>If you want an ultra-quiet, compact enclosure that delivers 10GbE performance on a single desk, the DXP2800 GT is one of the best two-bay NAS units you can buy. But if you need room for massive storage expansion, advanced RAID protection, dual 10GbE networking, and the convenience of a built-in SD card reader, spending the extra money for the DXP4800 GT is the way to go.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom’s Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/peripherals/i-meant-to-use-satechis-latest-accessory-at-my-desk-but-it-turned-out-to-be-the-perfect-travel-charger-heres-why">I meant to use Satechi’s latest accessory at my desk but it turned out to be the perfect travel charger — here’s why</a></li><li><a href="https://www.tomsguide.com/computing/software/i-tested-all-my-usb-c-cables-with-this-free-mac-app-instead-of-guessing-each-time-i-plugged-one-in">I found a free Mac app that solves the worst thing about USB-C cables</a></li><li><a href="https://www.tomsguide.com/computing/peripherals/i-thought-a-vertical-mouse-was-no-match-for-my-trackball-until-i-tried-one-and-now-im-never-going-back">I finally tried a vertical mouse and it was the ergonomic upgrade my desk setup was missing</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/ugreen-dxp2800gt-vs-ugreen-dxp4800gt</link>
                                                                            <description>
                            <![CDATA[ The Ugreen DXP2800 GT and DXP4800 GT are equally powerful NAS enclosures but storage, ports and RAID options differ significantly between the two. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">cw8mLYqYGnYbXAH7s4g2AV</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/2qxQzzDZkEzXq97p5epYs7-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 03 Aug 2026 10:30:00 +0000</pubDate>                                                                                                                                <updated>Mon, 03 Aug 2026 14:58:20 +0000</updated>
                                                                                                                                            <category><![CDATA[Computing]]></category>
                                                                                                <author><![CDATA[ anthony.spadafora@futurenet.com (Anthony Spadafora) ]]></author>                    <dc:creator><![CDATA[ Anthony Spadafora ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/z73LEoj7FkUjNG85GcWHtH.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Anthony Spadafora is the managing editor for security and home office furniture at Tom’s Guide where he covers everything from data breaches and malware to password managers and the best way to cover your whole home or business with a strong Wi-Fi signal.&lt;/p&gt;&lt;p&gt;Before joining the team, he spent three years covering cybersecurity and B2B tech for ITProPortal while living in South Korea. After moving back to the US. Anthony joined the TechRadar Pro team where he covered these topics along with VPNs, web hosting, online collaboration software and video conferencing for four years. Anthony also has his ears to the ground and is on the lookout for the next major cyberattack or data breach.&lt;/p&gt;&lt;p&gt;Based in Houston, Texas, Anthony also handles VPN testing for both Tom’s Guide and TechRadar. As someone who has worked from home exclusively since 2018, he has reviewed dozens of standing desks as well as office chairs and has taken a closer look at other essential remote working accessories. As part of these reviews, Anthony frequently builds intricate desk setups which is why he’s such a big advocate for cable management and keeping things organized. When he’s not writing, he can be found tinkering with PCs and game consoles, managing cables and making upgrades to his smart home.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/2qxQzzDZkEzXq97p5epYs7-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A person inserting a hard drive into one of the drive bays on the Ugreen DXP4800 GT]]></media:description>                                                            <media:text><![CDATA[A person inserting a hard drive into one of the drive bays on the Ugreen DXP4800 GT]]></media:text>
                                <media:title type="plain"><![CDATA[A person inserting a hard drive into one of the drive bays on the Ugreen DXP4800 GT]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/2qxQzzDZkEzXq97p5epYs7-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Storing your files in the cloud is convenient until it isn’t. That’s why more and more people are turning to Network Attached Storage (NAS) devices to keep their data local instead.</p><p>Whether it’s family photos and videos, a massive library of ripped DVDs and Blu-rays, or critical work files, keeping your data at home has serious perks. Plus, just like with the <a href="https://www.tomsguide.com/buying-guide/best-cloud-storage">best cloud storage</a>, you can still access your personal files from anywhere with an internet connection.</p><p>While NAS devices used to feel intimidating to set up and configure, Ugreen has done an impressive job of making them accessible to everyday users. Even if you aren't particularly tech-savvy, backing up your files locally and accessing them across your computer and smartphone is very straightforward.</p><p>After trying out Ugreen’s consumer-friendly <a href="https://www.tomsguide.com/computing/peripherals/i-finally-added-a-nas-to-my-home-network-and-i-cant-believe-i-waited-this-long">DH4300 Plus</a> and its flagship <a href="https://www.tomsguide.com/computing/i-thought-my-first-nas-was-enough-but-this-ai-powered-behemoth-is-the-private-brain-my-home-office-needed">iDX6011 Pro</a> — which is capable of running local AI models — the company sent over two of its latest enthusiast-focused devices: the DXP2800 GT and DXP4800 GT. If you’re trying to decide between the two, here is everything you need to know to pick the right enclosure for your storage needs and workflow.</p><h3 class="article-body__section" id="section-ugreen-dxp2800-gt-vs-dxp4800-gt-specs"><span>Ugreen DXP2800 GT vs DXP4800 GT: Specs</span></h3><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>DXP2800 GT</p></th><th  ><p> DXP4800 GT</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>CPU</strong></p></td><td  ><p>AMD Ryzen Embedded R2514</p></td><td  ><p>AMD Ryzen Embedded R2514</p></td></tr><tr><td class="firstcol " ><p><strong>RAM</strong></p></td><td  ><p>8GB DDR4 (Expandable to 64GB)</p></td><td  ><p>8GB DDR4 (Expandable to 64GB)</p></td></tr><tr><td class="firstcol " ><p><strong>Flash Memory</strong></p></td><td  ><p>64GB eMMC</p></td><td  ><p>64GB eMMC</p></td></tr><tr><td class="firstcol " ><p><strong>OS</strong></p></td><td  ><p>UGOS Pro </p></td><td  ><p>UGOS Pro </p></td></tr><tr><td class="firstcol " ><p><strong>Drive Bays</strong></p></td><td  ><p>2 x SATA (3.5"/2.5") </p></td><td  ><p>4 x SATA (3.5"/2.5") </p></td></tr><tr><td class="firstcol " ><p><strong>SSD Slots</strong></p></td><td  ><p>2 x M.2</p></td><td  ><p>2 x M.2 </p></td></tr><tr><td class="firstcol " ><p><strong>Max Storage</strong></p></td><td  ><p>80TB (2x 32TB + 2x 8TB) </p></td><td  ><p>144TB (4x 32TB + 2x 8TB) </p></td></tr><tr><td class="firstcol " ><p><strong>RAID</strong></p></td><td  ><p>JBOD, Basic, RAID 0, RAID 1 </p></td><td  ><p>JBOD, Basic, RAID 0, 1, 5, 6, 10 </p></td></tr><tr><td class="firstcol " ><p><strong>Ports</strong></p></td><td  ><p>1 x USB-C, 1 x USB-A (front), 1 x 10 GbE, HDMI (4K@60Hz), 1 x USB-A 3.2, 2 x USB-A 2.0 (rear)</p></td><td  ><p>SD 3.0 Card Reader, 1 x USB-C, 1 x USB-A (front), 2 x 10 GbE, HDMI (4K@60Hz), 1 x USB-A 3.2, 2 x USB-A 2.0 (rear)</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>9.13 × 4.31 × 7.02 in</p></td><td  ><p>10.10 × 7.00 × 7.00 in</p></td></tr><tr><td class="firstcol " ><p><strong>Power</strong></p></td><td  ><p>~18.1W (idle) / ~42.3W (active)</p></td><td  ><p>~22W (idle) / ~60W (active)</p></td></tr><tr><td class="firstcol " ><p><strong>Warranty</strong></p></td><td  ><p>2 years</p></td><td  ><p>2 years</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-ugreen-dxp2800-gt-vs-dxp4800-gt-pricing"><span>Ugreen DXP2800 GT vs DXP4800 GT: Pricing</span></h3><p>The two-bay Ugreen DXP2800 GT <a href="https://www.amazon.com/UGREEN-DXP2800-2-Bay-Network-Attached/dp/B0GTZ4YBD4" target="_blank" rel="nofollow">costs $509</a> while the four-bay Ugreen DXP4800 GT <a href="https://www.amazon.com/UGREEN-DXP4800-GT-4-Bay-Desktop/dp/B0GTZC19FX" target="_blank" rel="nofollow">costs $699</a>. Keep in mind that these are both diskless enclosures — the 64GB of built-in flash memory is strictly reserved for the UGOS Pro operating system, so you will need to budget separately for hard drives or SSDs.</p><p>Additionally, both models are compatible with <a href="https://ai.ugreen.com/products/ugreen-nas-backup-power-120w-12000mah" target="_blank" rel="nofollow">Ugreen’s US3000</a> mini UPS. This uninterruptible power supply provides protection for your NAS in the event of a power outage or surge via a battery backup that gives you enough time to safely power down your system.</p><h3 class="article-body__section" id="section-ugreen-dxp2800-gt-vs-dxp4800-gt-design"><span>Ugreen DXP2800 GT vs DXP4800 GT: Design</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5807px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="gmxAN7EJ4FgMufhRwC5hk3" name="Ugreen DXP2800 GT vs Ugreen DXP4800 GT-1" alt="The Ugreen DXP2800 GT and DXP4800 GT side by side on a table" src="https://cdn.mos.cms.futurecdn.net/gmxAN7EJ4FgMufhRwC5hk3.jpg" mos="" align="middle" fullscreen="" width="5807" height="3266" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>At 9.1 x 4.3 x 7 inches, Ugreen’s DXP2800 GT is the smaller of its two new AMD-powered NAS devices. Given its smaller, two-bay form factor, this NAS is much more compact and can be used on your desk or tucked away on a shelf near your router.</p><p>By comparison, the DXP4800 GT is slightly larger at 10.1 x 7 x 7 inches. Its extra width accommodates two additional drive bays, bringing the total to four. At the same time, you also get an SD card reader on the front.</p><p>Unlike Ugreen’s first globally available NAS devices — the <a href="https://www.tomsguide.com/computing/this-nas-saves-me-usd160-a-month-in-cloud-streaming-bills-and-honestly-it-might-be-the-only-black-friday-deal-that-pays-you-back">DXP2800</a> and <a href="https://www.tomsguide.com/computing/the-coolest-piece-of-tech-i-bought-all-year-was-the-dxp4800-plus-heres-why-its-a-game-changer">DXP4800</a> — which were powered by Intel chips and featured a dark aluminum finish with matte black accents, the company has switched things up with the GT series. These new models are black with rose gold accents, which, in my opinion, gives them a more premium look overall. They stand out a bit more too, but in a good way.</p><h3 class="article-body__section" id="section-ugreen-dxp2800-gt-vs-dxp4800-gt-ports-and-networking"><span>Ugreen DXP2800 GT vs DXP4800 GT: Ports and networking</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5781px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="QdFgYYKHSqbcVtWYA9V7uA" name="Ugreen DXP2800 GT vs Ugreen DXP4800 GT-2" alt="The Ugreen DXP2800 GT and DXP4800 GT side by side showing off their front ports" src="https://cdn.mos.cms.futurecdn.net/QdFgYYKHSqbcVtWYA9V7uA.jpg" mos="" align="middle" fullscreen="" width="5781" height="3253" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Regardless of which device you choose, you’re getting a high-speed 10Gbps USB-C port and a 10Gbps USB-A port on the front panel. You can use these to quickly offload data from flash drives and external hard drives directly onto your NAS — and on the DXP4800 GT, you can do so via an SD card reader, too.</p><p>Next to those front ports, status LEDs keep you informed on drive activity alongside a LAN indicator to show network connectivity. Below these sits the power button, complete with its own central LED light.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5598px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="4Cr29CNsSYnu9AGyeD95FE" name="Ugreen DXP2800 GT vs Ugreen DXP4800 GT-3" alt="The Ugreen DXP2800 GT and DXP4800 GT side by side showing off their rear ports" src="https://cdn.mos.cms.futurecdn.net/4Cr29CNsSYnu9AGyeD95FE.jpg" mos="" align="middle" fullscreen="" width="5598" height="3150" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Around back is where things get a bit more interesting. Both the DXP2800 GT and DXP4800 GT feature an HDMI 2.0 port, a high-speed USB 3.2 Type-A port, two USB 2.0 Type-A ports, a 10 Gigabit Ethernet port, a reset button, and a barrel DC power connector. With the DXP4800 GT, however, you get an additional 10 GbE port — bringing total networking up to dual 10GbE.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5831px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="vvQak7nQNKwvSaxP2KYgzJ" name="Ugreen DXP2800 GT vs Ugreen DXP4800 GT-7" alt="The Ugreen DXP2800 GT and DXP4800 GT side by side and plugged in, seenf rom behind showing off their ports and dust filters" src="https://cdn.mos.cms.futurecdn.net/vvQak7nQNKwvSaxP2KYgzJ.jpg" mos="" align="middle" fullscreen="" width="5831" height="3281" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Having that second 10 GbE port gives you a lot more flexibility when it comes to setting up and using the DXP4800 GT. You can combine both ports through link aggregation to double your potential bandwidth to 20 Gbps. This can be particularly useful if you have multiple people using this NAS at the same time to do things like edit 4K video.</p><p>Alternatively, you can use it to connect the DXP4800 GT to your main PC for blazing-fast file transfers while keeping the second port connected to one of the <a href="https://www.tomsguide.com/us/best-wifi-routers,review-2498.html">best Wi-Fi routers</a> so you can access the NAS from the rest of your home network.</p><h3 class="article-body__section" id="section-ugreen-dxp2800-gt-vs-dxp4800-gt-storage"><span>Ugreen DXP2800 GT vs DXP4800 GT: Storage</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5205px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="RW4jDq2iWJiGojvVSirfZP" name="Ugreen DXP2800 GT vs Ugreen DXP4800 GT-6" alt="The Ugreen DXP2800 GT and DXP4800 GT side by side with their drive bay enclosures filled with hard drives" src="https://cdn.mos.cms.futurecdn.net/RW4jDq2iWJiGojvVSirfZP.jpg" mos="" align="middle" fullscreen="" width="5205" height="2929" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>With two drive bays, you can load up the DXP2800 GT with up to two 32TB hard drives (HDDs). Both standard 3.5-inch SATA HDDs and 2.5-inch SATA HDDs or SSDs are compatible with both models. On the DXP4800 GT, which features four bays instead of two, you can install up to four 32TB HDDs.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5133px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="HyY9GKBDJwdaFBnDYHEnVT" name="Ugreen DXP2800 GT vs Ugreen DXP4800 GT-5" alt="A drive bay enclosure in front of the Ugreen DXP2800 GT and DXP4800 GT showing off its toolless design" src="https://cdn.mos.cms.futurecdn.net/HyY9GKBDJwdaFBnDYHEnVT.jpg" mos="" align="middle" fullscreen="" width="5133" height="2887" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>When using standard hard drives, these bays are completely toolless. To install a drive, you press down on the release tab, insert your drive, and snap the side retention rails into place. The whole process is simple, making initial setup or hot-swapping drives effortless.</p><p>If you’re using 2.5-inch HDDs or SSDs, these drives secure to the bottom of the tray using the included mounting screws. I installed several drives this way when I set up the Ugreen DH4300 Plus, and while it took slightly longer, the whole process was fairly simple.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5954px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="baaQoVqd5JC2KCiF4RyquX" name="Ugreen DXP2800 GT vs Ugreen DXP4800 GT-4" alt="A side by side shot showing off the expansion bays of the Ugreen DXP2800 GT and DXP4800 GT" src="https://cdn.mos.cms.futurecdn.net/baaQoVqd5JC2KCiF4RyquX.jpg" mos="" align="middle" fullscreen="" width="5954" height="3350" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Underneath both NAS units, an access panel provides access to internal upgrades. Both models come with 8GB of DDR4 RAM pre-installed and feature two SO-DIMM slots, allowing you to expand their memory up to 64GB.</p><p>For basic file storage and media streaming, the stock 8GB of RAM is more than enough. However, if you plan to run multiple Docker containers, host virtual machines, or manage a large media library with heavy indexing, upgrading their memory becomes essential. You can leave the original stick in place and add a second 8GB module to reach 16GB, or swap out the pre-installed memory for two 16GB modules (32GB total) or use dual 32GB modules to max out the hardware at 64GB.</p><p>When it comes to high-speed solid-state storage, both units feature two M.2 NVMe slots supporting up to 8TB per drive (16TB total via M.2). On the DXP4800 GT, these slots sit directly next to the RAM under the bottom panel for easy access. On the DXP2800 GT, the M.2 slots are mounted on the inner left wall inside the chassis, requiring you to pull out the main drive bays to access them. </p><p>With all front drive bays and both M.2 slots populated at max capacity, the DXP2800 GT tops out at 80TB of total raw storage, while the DXP4800 GT reaches a massive 144TB.</p><h3 class="article-body__section" id="section-ugreen-dxp2800-gt-vs-dxp4800-gt-raid"><span>Ugreen DXP2800 GT vs DXP4800 GT: RAID</span></h3><p>How you configure your NAS’s storage in UGOS Pro depends heavily on which enclosure you choose, as your available RAID options and fault tolerance are dictated entirely by drive bay count.</p><p>With the two-bay DXP2800 GT, you can choose between Basic, JBOD, RAID 0, and RAID 1:</p><ul><li><strong>RAID 1 (Recommended):</strong> Mirrors your data across both drives. If one drive fails, your data remains completely intact. The trade-off is usable capacity, as mirroring cuts your total storage in half.</li><li><strong>RAID 0 / JBOD:</strong> Combines both drives into a single volume for maximum available capacity and speed. However, neither mode offers data redundancy; if a single drive fails, you lose all your data.</li></ul><p>Thanks to its four-bay design, the DXP4800 GT unlocks additional RAID options, including RAID 5, RAID 6, and RAID 10:</p><ul><li><strong>RAID 5:</strong> Yields the full usable capacity of three drives while allowing your data to survive a single drive failure — offering the best sweet spot between storage efficiency, protection, and performance.</li><li><strong>RAID 6:</strong> Uses double-parity across all four drives, allowing your array to survive two simultaneous drive failures.</li><li><strong>RAID 10:</strong> Combines striping and mirroring across four drives. You lose 50% of your total usable capacity, but gain top-tier read/write speeds and significantly faster array rebuild times.</li></ul><p>If all these technical configurations feel overwhelming, don't worry. During initial setup, UGOS Pro walks you through each option with clear visual explanations and recommends the best setup based on your specific storage needs and workflow.</p><h3 class="article-body__section" id="section-ugreen-dxp2800-gt-vs-dxp4800-gt-power-and-noise"><span>Ugreen DXP2800 GT vs DXP4800 GT: Power and noise</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4531px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="pqV3BAWDze4VzCtnXJqnxa" name="Ugreen DXP2800 GT vs Ugreen DXP4800 GT-LIST2" alt="The Ugreen DXP2800 GT and DXP4800 GT set up on a small table" src="https://cdn.mos.cms.futurecdn.net/pqV3BAWDze4VzCtnXJqnxa.jpg" mos="" align="middle" fullscreen="" width="4531" height="2549" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Although NAS energy consumption depends heavily on drive access and workload, Ugreen rates the two-bay DXP2800 GT at around 16.4W during active drive access, dropping down to 4.2W when its drives are hibernating. Meanwhile, the four-bay DXP4800 GT draws roughly 35.2W under active use and 15.4W while idle.</p><p>When it comes to noise levels, I used a dedicated sound level meter to see just how loud the two enclosures were. With both sitting idle, the DXP2800 GT operated at a whisper-quiet 32.3 dB while the DXP4800 GT was slightly louder at 39.0 dB.</p><p>To put this into context, the DXP2800 GT is about as quiet as a bedroom at night or leaves rustling in a light breeze. It’s barely noticeable in a room on its own or even sitting directly on your desk — operating at a noise floor similar to a <a href="https://www.tomsguide.com/computing/apple-desktops/i-thought-i-was-done-customizing-my-mac-mini-m4-until-i-tried-the-last-dock-ill-ever-need">Mac mini M4</a>.</p><p>The DXP4800 GT sounds closer to a low refrigerator hum in the background. It’s slightly more noticeable, but with its front-facing SD card reader, creative professionals will likely want it within arm's reach anyway for quick photo and video offloads from their camera.</p><h3 class="article-body__section" id="section-ugreen-dxp2800-gt-vs-dxp4800-gt-which-should-you-buy"><span>Ugreen DXP2800 GT vs DXP4800 GT: Which should you buy?</span></h3><p>Whether Ugreen’s DXP2800 GT or DXP4800 GT is right for you comes down to your workflow, where you plan to set up either device, and how much storage you really need. At the end of the day, both deliver an impressive step up for power users with AMD Ryzen Embedded horsepower, dual M.2 NVMe slots, and ultra-fast 10 Gigabit networking.</p><p>With its smaller footprint and lower noise floor, the DXP2800 GT is an excellent “desk companion” NAS. It works just as well tucked away on a shelf or sitting right next to your monitor in a home office or bedroom. With support for up to 80TB of raw capacity, it provides more than enough storage for a solo editor working with large video files or managing heavy local backups. However, with only two drive bays, your RAID options are inherently limited — especially if you want to maintain disk redundancy without sacrificing half your raw capacity to drive mirroring.</p><p>The DXP4800 GT offers greater overall storage capacity, additional connectivity, and — thanks to its four-bay design — much more flexible RAID configurations like RAID 5 or RAID 6. The front-facing SD card reader is a huge quality-of-life upgrade for photographers and videographers, while the dual 10GbE ports let you connect directly to an editing workstation and your local network simultaneously. Alternatively, you can aggregate both Ethernet ports for even higher multi-user bandwidth. On top of supporting up to 144TB of raw capacity, its bottom panel makes accessing and upgrading its M.2 NVMe slots significantly easier.</p><p>If you want an ultra-quiet, compact enclosure that delivers 10GbE performance on a single desk, the DXP2800 GT is one of the best two-bay NAS units you can buy. But if you need room for massive storage expansion, advanced RAID protection, dual 10GbE networking, and the convenience of a built-in SD card reader, spending the extra money for the DXP4800 GT is the way to go.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom’s Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/peripherals/i-meant-to-use-satechis-latest-accessory-at-my-desk-but-it-turned-out-to-be-the-perfect-travel-charger-heres-why">I meant to use Satechi’s latest accessory at my desk but it turned out to be the perfect travel charger — here’s why</a></li><li><a href="https://www.tomsguide.com/computing/software/i-tested-all-my-usb-c-cables-with-this-free-mac-app-instead-of-guessing-each-time-i-plugged-one-in">I found a free Mac app that solves the worst thing about USB-C cables</a></li><li><a href="https://www.tomsguide.com/computing/peripherals/i-thought-a-vertical-mouse-was-no-match-for-my-trackball-until-i-tried-one-and-now-im-never-going-back">I finally tried a vertical mouse and it was the ergonomic upgrade my desk setup was missing</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ $21 vs $119 mattress protector showdown: Which one performs best in our 6 spill tests? ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The <a href="https://www.tomsguide.com/best-picks/best-mattress-protector">best mattress protectors</a> are the unsung heroes of the bedroom — coffee in bed becomes a much riskier prospect without one. So when it comes to keeping your mattress safe from spills and stains, is it better to save or splurge on a waterproof mattress protector?</p><p>First things first: a mattress protector is a non-negotiable. When liquids get into your mattress they can cause the materials to degrade, as well as potentially supporting <a href="https://www.tomsguide.com/mattresses/common-types-of-mattress-stains">mold growth</a>. If you've bought the <a href="https://www.tomsguide.com/mattresses/best-mattress">best mattress</a> for your sleep needs, you need to keep it safe.</p><p>But before you splash the cash on a luxury mattress protector, we did some splashing of our own. I poured water, coffee, <a href="https://www.tomsguide.com/home/couch-saved-i-banished-red-wine-stains-with-this-genius-cleaning-trick">wine</a> and other liquids on a $119 Purple Mattress Protector and a $21 Linenspa Mattress Encasement to see which kept our mattress sparkling clean. Here's the one I trust with my Sunday evening Syrah... </p><h2 id="meet-the-mattress-protectors">Meet the mattress protectors</h2><div class="product"><a data-dimension112="73387600-8cbd-11f1-bfed-ebe0bddc6ee0" data-action="Deal Block" data-label="Waterproof Mattress Protector (twin)" data-dimension48="Waterproof Mattress Protector (twin)" data-dimension25="$119" href="https://purple.com/waterproof-mattress-protector" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1200px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="q2qPqAKL6otMGqnvtgAXYc" name="purple_waterproof_mattress_protector_square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/q2qPqAKL6otMGqnvtgAXYc.jpg" mos="" align="middle" fullscreen="" width="1200" height="1200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://purple.com/waterproof-mattress-protector" target="_blank" rel="nofollow" data-dimension112="73387600-8cbd-11f1-bfed-ebe0bddc6ee0" data-action="Deal Block" data-label="Waterproof Mattress Protector (twin)" data-dimension48="Waterproof Mattress Protector (twin)" data-dimension25="$119">Waterproof Mattress Protector (twin): $119</a></strong><br>Purple's Waterproof Mattress Protector comes in a standard and deep pocket design, to fit all <a href="https://www.tomsguide.com/reference/how-thick-should-a-mattress-be">mattress heights</a>. When we tested it for our <a href="https://www.tomsguide.com/mattresses/pillows-bedding/purple-waterproof-mattress-protector">Purple Waterproof Mattress Protector review</a>, we found it to be silent and lightweight, with a stretch finish for easy use. At $149 for a queen standard height it's a splurge but for total protection, you might think it's worth the investment.<a class="view-deal button" href="https://purple.com/waterproof-mattress-protector" target="_blank" rel="nofollow" data-dimension112="73387600-8cbd-11f1-bfed-ebe0bddc6ee0" data-action="Deal Block" data-label="Waterproof Mattress Protector (twin)" data-dimension48="Waterproof Mattress Protector (twin)" data-dimension25="$119">View Deal</a></p></div><div class="product"><a data-dimension112="73387682-8cbd-11f1-a2fd-bd5eb2bc780a" data-action="Deal Block" data-label="Waterproof Mattress Encasement (twin)" data-dimension48="Waterproof Mattress Encasement (twin)" data-dimension25="$24.99" href="https://www.amazon.com/Encasement-Waterproof-Hypoallergenic-Breathable-Protector/dp/B00Z06E2IU/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:679px;"><p class="vanilla-image-block" style="padding-top:118.70%;"><img id="tLcucxjtdZVM7kVawbaVy7" name="Linenspa Mattress encasement" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/tLcucxjtdZVM7kVawbaVy7.jpg" mos="" align="middle" fullscreen="" width="679" height="806" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Encasement-Waterproof-Hypoallergenic-Breathable-Protector/dp/B00Z06E2IU/" target="_blank" rel="nofollow" data-dimension112="73387682-8cbd-11f1-a2fd-bd5eb2bc780a" data-action="Deal Block" data-label="Waterproof Mattress Encasement (twin)" data-dimension48="Waterproof Mattress Encasement (twin)" data-dimension25="$24.99">Waterproof Mattress Encasement (twin): $24.99</a></strong><br>Linenspa's low-cost mattress encasement delivers all-round protection; it covers the top, sides, and base of your mattress in waterproof material. This is good for keeping out bed bugs and dust mites but it does make it difficult to put on. As I discovered, when <a href="https://www.tomsguide.com/mattresses/pillows-bedding/im-using-a-usd25-encasement-to-stop-bed-bugs-and-dust-mites-from-infesting-my-mattress-but-theres-one-thing-i-wish-i-could-change">I tested the Linenspa Encasement</a>. But at $29.99 MSRP for a queen, it's a cheap way to protect your mattress.<a class="view-deal button" href="https://www.amazon.com/Encasement-Waterproof-Hypoallergenic-Breathable-Protector/dp/B00Z06E2IU/" target="_blank" rel="nofollow" data-dimension112="73387682-8cbd-11f1-a2fd-bd5eb2bc780a" data-action="Deal Block" data-label="Waterproof Mattress Encasement (twin)" data-dimension48="Waterproof Mattress Encasement (twin)" data-dimension25="$24.99">View Deal</a></p></div><h2 id="how-we-tested-our-mattress-protectors">How we tested our mattress protectors</h2><p>We wanted to put our mattress protectors through the wringer: how would they cope if a very clumsy person had a feast in bed?</p><p>To do this, we wrapped each protector around a white mattress (to better show stains). We then tossed a variety of substances onto them both. Primarily liquids, we also tried some heavier, oiler substances as well — hand lotion and guacamole.</p><p>Each substance was left for five minutes, to give it time to soak in. We then blotted any excess and lifted the mattress protector to see what lay beneath. In other words, was there any seepage?</p><p>Finally, we washed the mattress protectors to see how easily each stain was lifted.</p><h3 class="article-body__section" id="section-test-1-hand-lotion"><span>Test 1: Hand lotion</span></h3><p>Greasy skincare can leave mattress stains, plus it's a nightmare to clean up. We rubbed a blob of hand lotion into our protectors to see what happens...</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/YDUu9h8qKGM" allowfullscreen></iframe></div></div><p>Test one, and Purple was off to a flying start. The waterproof mattress protector stopped any hint of lotion from reaching to bed. Plus, the shiny surface was easy to wipe excess from.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/9pgVmXjDb5s" allowfullscreen></iframe></div></div><p>But the Linenspa wasn't going to get left behind. No hand cream made it to the mattress and we could wipe away the cream with ease.</p><h3 class="article-body__section" id="section-test-2-guacamole"><span>Test 2: Guacamole</span></h3><p>Chunky guacamole served as a counterpoint to our wetter tests. And, without being crass, has a remarkable resemblance to vomit. (I'm saying this as an avo-enthusiast.)</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/ohPrAubn84E" allowfullscreen></iframe></div></div><p>Easy to wipe up and zero seepage — a success for the Purple Mattress Protector.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/qkVTbA4A0U0" allowfullscreen></iframe></div></div><p>Similarly, the Linenspa held its own against the guac test. So while we don't advice chips and dip in bed, it shouldn't end in disaster.</p><h3 class="article-body__section" id="section-test-3-water"><span>Test 3: Water</span></h3><p>I keep a bottle of water by my bedside for the morning. If I take a sip before my hand-eye coordination has woken up, that can result in spillage.</p><p>You really don't want water seeping into your mattress. It can settle in the materials causing damp and, in some cases, <a href="https://www.tomsguide.com/how-to/how-to-remove-mold-from-a-mattress">mattress mold</a>. If you've noticed yourself <a href="https://www.tomsguide.com/wellness/mattresses/5-signs-your-mattress-is-causing-your-allergies-and-how-to-fix-it">sneezing in bed</a>, it's worth checking for signs of mold.</p><p>So how did our protectors do in the water test?</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/3bLbvU5vXA4" allowfullscreen></iframe></div></div><p>Purple kept the water spill contained and prevented it from going through to the bed. This is particularly good for families who might deal with bed wetting instances. Expect easy clean up and the mattress to stay fresh.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/oEr-t55bjpk" allowfullscreen></iframe></div></div><p>Again, the Linenspa prevented anything sinking into the mattress materials. However, the water spill quickly spread out and left a lot of the surface damp.  If an accident occurs, everyone will know.</p><h3 class="article-body__section" id="section-test-4-coffee"><span>Test 4: Coffee</span></h3><p>Who doesn't enjoy the occasional cup of coffee in bed? But if your lazy Sunday morning ends in disaster, here's what you can expect from these mattress protectors.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/b4Hr_FNE6AI" allowfullscreen></iframe></div></div><p>The coffee spill settled where we poured it on the Purple Mattress Protector, although blotting did cause some spread. But it all stayed on the surface, with nothing sinking into the bed below.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/1_S670eKFDk" allowfullscreen></iframe></div></div><p>A splash of coffee turned into a swimming pool on the Linenspa Encasement but the good news is, it didn't sink into the mattress.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-X7ANxW"></div>                            </div>                            <script src="https://kwizly.com/embed/X7ANxW.js" async></script><h3 class="article-body__section" id="section-test-5-wine"><span>Test 5: Wine</span></h3><p>Now for the big one — red wine.</p><p>No judgement if you enjoy a glass of wine in bed after a long day, but a wine spill is a big no-no for a mattress. Alcohol is not good for <a href="https://www.tomsguide.com/how-to/7-ways-youre-damaging-your-memory-foam-mattress-and-what-to-do-instead">memory foam</a> and red wine stains are difficult to remove.</p><p>We splashed a glass of bottom shelf Syrah onto each mattress protector and waited five minutes. Here's how it went:</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/Va6_NLm3vXA" allowfullscreen></iframe></div></div><p>One the Purple, the wine pooled immediately. And sat there. After five minutes we employed a barrage of paper towels to mop it up. But no wine made it to the mattress.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/GYmSpcoSO7g" allowfullscreen></iframe></div></div><p>There was a similar result on the Linenspa, although the initial spread made blotting the wine trickier. No stain, though. </p><p>As a bonus, this video also shows just how long it takes one person to take a mattress encasement off a queen sized bed. I easily hit my step goal for the day after this.</p><h3 class="article-body__section" id="section-test-6-how-well-does-each-mattress-protector-clean-up"><span>Test 6: How well does each mattress protector clean up?</span></h3><p>So you've spilled your wine and guacamole all over your bed. Thankfully, your mattress is fine. But, oh no, your mattress protector is covered in stains!</p><p>Fellow tester <a href="https://www.tomsguide.com/author/frances-daniels">Frances Daniels</a> took both protectors home and washed them that evening. This resulted in a few hours between the tests ending and the mattress protectors getting cleaned. (At home, you should aim to wash quicker.)</p><p>She placed the protectors in a cold wash using a non-bio detergent. Each mattress protector was left to air dry before being tumble dried.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/2wXb5YTGdqRX7LM28yetNj.jpg" alt="A close up of the Purple Mattress Protector. It shows some light staining from tea and coffee" /><figcaption>The tea and coffee made a mark on the Purple Mattress Protector<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/W3TVxkfvf3aejJyfKgh4v9.jpg" alt="A close up of the Linenspa Mattress Protector. It shows light stains from tea or coffee" /><figcaption>The Linenspa also showed light staining, but cleaned up better<small role="credit">Future</small></figcaption></figure></figure><p>The Purple Waterproof Mattress Protector showed more signs of staining than the Linenspa, even after cleaning. </p><p>We suspect this is because liquids spread further on the Linenspa, reducing the build-up in any single place.</p><p>On the Purple Protector, the liquids pooled. This made it easier to blot up but might have led to the darker stains you can see above.</p><h3 class="article-body__section" id="section-verdict-which-mattress-protector-should-you-buy"><span>Verdict: Which mattress protector should you buy?</span></h3><p>We threw everything at these mattress protectors. Literally. There were no more liquids left in our Sleep Lab to test.</p><p>The result? Two sparkling clean mattresses:</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/g8MLyQwSMRr5dX46JHaV5d.jpg" alt="On the left, the Purple Mattress protector on a mattress. On the right, the Linenspa mattress encasement on a mattress. Both mattress protectors are covered in stains" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ZF4wuEnVYvTSrerbvdedfm.jpg" alt="Two mattresses in our sleep studio. Neither mattress shows any signs of staining" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Neither protector allowed any liquids to get through to the mattress beneath. Both beds were bone dry, meaning your errant spill is unlikely to sink into the materials. So being clumsy with a cup of coffee shouldn't lead to a moldy bed.</p><p>And while both protectors showed some signs of staining, for the most part they cleaned up well. If you clean quicker than we did (our Sleep Lab is equipped with a lot, but not a washing machine), expect less staining.</p><p>So it's conclusive, right? Save your money and go for something cheap?</p><p>If it's just waterproofing you want, the yes. The Linenspa formed a super effective barrier against all our liquids. If you want to protect against sweat, urine, or your Sunday morning breakfast in bed, it'll do the job.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gWFj9zLiSDSEpfo5fXAFzH" name="linenspa mattress encasement halfway on" alt="The Linenspa Mattress Encasement halfway on the mattress in or reviewer Ruth Jones' bedroom" src="https://cdn.mos.cms.futurecdn.net/gWFj9zLiSDSEpfo5fXAFzH.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>But the Purple protector did better at containing liquids. A small splash of water spread far and wide on the Linenspa, making it harder to clean. (And potentially disturbing anyone else in the bed.)</p><p>The Purple Mattress Protector is also quieter and softer. And as someone who has wrested to get the Linenspa Encasement on a mattress, the Purple is much, much, much easier to use.</p><h3 class="article-body__section" id="section-our-favorite-sleep-essentials"><span>Our favorite sleep essentials</span></h3>        <div class="featured_product_block featured_block_hero" data-id="db719136-8cfc-11f1-86ef-d1529386b701">            <a href="https://www.amazon.com/Celestial-Seasonings-Tea-Sleepytime-Extra/dp/B000QSFW2C/" data-model-name="Sleepytime Extra Tea (20ct)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.93%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/mPbenZNXRJoeUznHA2hJWe.jpg" alt="A box of Celestial Seasonings Sleepytime Extra Tea on a background of an illustrated sky edited by Gemini"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Celestial Seasonings</div>                                        <div class="featured__title">Sleepytime Extra Tea (20ct)</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="db718f24-8cfc-11f1-80b8-ed4fcf4bedd2">            <a href="https://www.amazon.com/Jersey-Slumber-Sleep-Women-Sleeper/dp/B014VYD7NW" data-model-name="Silk Sleep Mask" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.93%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/hr7A3fCbGfBECJrhy4wd3T.jpg" alt="The Jersey Slumber Sleep Mask on a background of an illustrated sky edited by Gemini"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Jersey Slumber</div>                                        <div class="featured__title">Silk Sleep Mask</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="db718f9c-8cfc-11f1-8722-d781539616ab">            <a href="https://www.amazon.com/Loop-Quiet-Ear-Plugs-Noise-Reducing/dp/B0D3V6TR98/" data-model-name="Quiet 2 Ear Plugs" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.93%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/Qo5tU7q93dxPeEALk7LFXL.jpg" alt="A pair of Loop Quiet 2 ear plugs on a background of an illustrated sky edited by Gemini"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Loop</div>                                        <div class="featured__title">Quiet 2 Ear Plugs</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="db719000-8cfc-11f1-866a-51caddaab370">            <a href="https://coopsleepgoods.com/collections/mattress-pads-protectors/products/ultra-luxe-waterproof-mattress-protector?variant=42871496260" data-model-name="Ultra Tech Waterproof Mattress Protector (twin)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.93%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/naZ7KowBDK3RsajyxmrntG.jpg" alt="The Coop Sleep Goods Ultra Tech Waterproof Mattress Protector on a background of an illustrated sky edited by Gemini"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Coop Sleep Goods</div>                                        <div class="featured__title">Ultra Tech Waterproof Mattress Protector (twin)</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="db71906e-8cfc-11f1-bd5a-fbdaec15baaa">            <a href="https://www.amazon.com/FEPPO-Mattress-Ultrasonic-Versatile-Handheld/dp/B0DNK7RHZS/" data-model-name="Mattress Vacuum" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.93%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/3SiZHqhuutK9Suw34vm48X.jpg" alt="A FEPPO Mattress Vacuum on a background of an illustrated sky edited by Gemini"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>FEPPO</div>                                        <div class="featured__title">Mattress Vacuum</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="db7190d2-8cfc-11f1-bbcf-3169c9f633fc">            <a href="https://www.brooklinen.com/products/classic-core-sheet-set?variant=41405018112090" data-model-name="Classic Percale Sheet Set (twin)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.93%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/ph4dnTHt9xDxoZo37fqBia.jpg" alt="A set of Brooklinen Percale Sheets on a background of an illustrated sky edited by Gemini"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Brooklinen</div>                                        <div class="featured__title">Classic Percale Sheet Set (twin)</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/mattresses/mattress-care/i-threw-everything-at-a-usd119-mattress-protector-and-a-usd21-alternative-but-which-can-survive-our-dreaded-red-wine-test</link>
                                                                            <description>
                            <![CDATA[ Every bed needs a mattress protector — to see if you should save or splurge, I put two to the test by throwing everything I had at them (literally). ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">YUjEy8oardBGA29RTdvaWN</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/WjqDzg5woYojXDWiEjFYye-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 03 Aug 2026 07:00:00 +0000</pubDate>                                                                                                                                <updated>Mon, 03 Aug 2026 12:07:12 +0000</updated>
                                                                                                                                            <category><![CDATA[Mattress Care]]></category>
                                                    <category><![CDATA[Mattresses]]></category>
                                                                                                <author><![CDATA[ ruth.jones@futurenet.com (Ruth Jones) ]]></author>                    <dc:creator><![CDATA[ Ruth Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Cqbswyyro7aBYnvMKaoS6W.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/WjqDzg5woYojXDWiEjFYye-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The main image shows a woman inspecting the Purple mattress Protector. Top right, an inset of a hand spilling wine on a mattress. Bottom right, an inset of a person spilling coffee on a mattress. Bottom left, a badge saying &#039;Tested!&#039;]]></media:description>                                                            <media:text><![CDATA[The main image shows a woman inspecting the Purple mattress Protector. Top right, an inset of a hand spilling wine on a mattress. Bottom right, an inset of a person spilling coffee on a mattress. Bottom left, a badge saying &#039;Tested!&#039;]]></media:text>
                                <media:title type="plain"><![CDATA[The main image shows a woman inspecting the Purple mattress Protector. Top right, an inset of a hand spilling wine on a mattress. Bottom right, an inset of a person spilling coffee on a mattress. Bottom left, a badge saying &#039;Tested!&#039;]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/WjqDzg5woYojXDWiEjFYye-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The <a href="https://www.tomsguide.com/best-picks/best-mattress-protector">best mattress protectors</a> are the unsung heroes of the bedroom — coffee in bed becomes a much riskier prospect without one. So when it comes to keeping your mattress safe from spills and stains, is it better to save or splurge on a waterproof mattress protector?</p><p>First things first: a mattress protector is a non-negotiable. When liquids get into your mattress they can cause the materials to degrade, as well as potentially supporting <a href="https://www.tomsguide.com/mattresses/common-types-of-mattress-stains">mold growth</a>. If you've bought the <a href="https://www.tomsguide.com/mattresses/best-mattress">best mattress</a> for your sleep needs, you need to keep it safe.</p><p>But before you splash the cash on a luxury mattress protector, we did some splashing of our own. I poured water, coffee, <a href="https://www.tomsguide.com/home/couch-saved-i-banished-red-wine-stains-with-this-genius-cleaning-trick">wine</a> and other liquids on a $119 Purple Mattress Protector and a $21 Linenspa Mattress Encasement to see which kept our mattress sparkling clean. Here's the one I trust with my Sunday evening Syrah... </p><h2 id="meet-the-mattress-protectors">Meet the mattress protectors</h2><div class="product"><a data-dimension112="73387600-8cbd-11f1-bfed-ebe0bddc6ee0" data-action="Deal Block" data-label="Waterproof Mattress Protector (twin)" data-dimension48="Waterproof Mattress Protector (twin)" data-dimension25="$119" href="https://purple.com/waterproof-mattress-protector" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1200px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="q2qPqAKL6otMGqnvtgAXYc" name="purple_waterproof_mattress_protector_square" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/q2qPqAKL6otMGqnvtgAXYc.jpg" mos="" align="middle" fullscreen="" width="1200" height="1200" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://purple.com/waterproof-mattress-protector" target="_blank" rel="nofollow" data-dimension112="73387600-8cbd-11f1-bfed-ebe0bddc6ee0" data-action="Deal Block" data-label="Waterproof Mattress Protector (twin)" data-dimension48="Waterproof Mattress Protector (twin)" data-dimension25="$119">Waterproof Mattress Protector (twin): $119</a></strong><br>Purple's Waterproof Mattress Protector comes in a standard and deep pocket design, to fit all <a href="https://www.tomsguide.com/reference/how-thick-should-a-mattress-be">mattress heights</a>. When we tested it for our <a href="https://www.tomsguide.com/mattresses/pillows-bedding/purple-waterproof-mattress-protector">Purple Waterproof Mattress Protector review</a>, we found it to be silent and lightweight, with a stretch finish for easy use. At $149 for a queen standard height it's a splurge but for total protection, you might think it's worth the investment.<a class="view-deal button" href="https://purple.com/waterproof-mattress-protector" target="_blank" rel="nofollow" data-dimension112="73387600-8cbd-11f1-bfed-ebe0bddc6ee0" data-action="Deal Block" data-label="Waterproof Mattress Protector (twin)" data-dimension48="Waterproof Mattress Protector (twin)" data-dimension25="$119">View Deal</a></p></div><div class="product"><a data-dimension112="73387682-8cbd-11f1-a2fd-bd5eb2bc780a" data-action="Deal Block" data-label="Waterproof Mattress Encasement (twin)" data-dimension48="Waterproof Mattress Encasement (twin)" data-dimension25="$24.99" href="https://www.amazon.com/Encasement-Waterproof-Hypoallergenic-Breathable-Protector/dp/B00Z06E2IU/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:679px;"><p class="vanilla-image-block" style="padding-top:118.70%;"><img id="tLcucxjtdZVM7kVawbaVy7" name="Linenspa Mattress encasement" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/tLcucxjtdZVM7kVawbaVy7.jpg" mos="" align="middle" fullscreen="" width="679" height="806" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Encasement-Waterproof-Hypoallergenic-Breathable-Protector/dp/B00Z06E2IU/" target="_blank" rel="nofollow" data-dimension112="73387682-8cbd-11f1-a2fd-bd5eb2bc780a" data-action="Deal Block" data-label="Waterproof Mattress Encasement (twin)" data-dimension48="Waterproof Mattress Encasement (twin)" data-dimension25="$24.99">Waterproof Mattress Encasement (twin): $24.99</a></strong><br>Linenspa's low-cost mattress encasement delivers all-round protection; it covers the top, sides, and base of your mattress in waterproof material. This is good for keeping out bed bugs and dust mites but it does make it difficult to put on. As I discovered, when <a href="https://www.tomsguide.com/mattresses/pillows-bedding/im-using-a-usd25-encasement-to-stop-bed-bugs-and-dust-mites-from-infesting-my-mattress-but-theres-one-thing-i-wish-i-could-change">I tested the Linenspa Encasement</a>. But at $29.99 MSRP for a queen, it's a cheap way to protect your mattress.<a class="view-deal button" href="https://www.amazon.com/Encasement-Waterproof-Hypoallergenic-Breathable-Protector/dp/B00Z06E2IU/" target="_blank" rel="nofollow" data-dimension112="73387682-8cbd-11f1-a2fd-bd5eb2bc780a" data-action="Deal Block" data-label="Waterproof Mattress Encasement (twin)" data-dimension48="Waterproof Mattress Encasement (twin)" data-dimension25="$24.99">View Deal</a></p></div><h2 id="how-we-tested-our-mattress-protectors">How we tested our mattress protectors</h2><p>We wanted to put our mattress protectors through the wringer: how would they cope if a very clumsy person had a feast in bed?</p><p>To do this, we wrapped each protector around a white mattress (to better show stains). We then tossed a variety of substances onto them both. Primarily liquids, we also tried some heavier, oiler substances as well — hand lotion and guacamole.</p><p>Each substance was left for five minutes, to give it time to soak in. We then blotted any excess and lifted the mattress protector to see what lay beneath. In other words, was there any seepage?</p><p>Finally, we washed the mattress protectors to see how easily each stain was lifted.</p><h3 class="article-body__section" id="section-test-1-hand-lotion"><span>Test 1: Hand lotion</span></h3><p>Greasy skincare can leave mattress stains, plus it's a nightmare to clean up. We rubbed a blob of hand lotion into our protectors to see what happens...</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/YDUu9h8qKGM" allowfullscreen></iframe></div></div><p>Test one, and Purple was off to a flying start. The waterproof mattress protector stopped any hint of lotion from reaching to bed. Plus, the shiny surface was easy to wipe excess from.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/9pgVmXjDb5s" allowfullscreen></iframe></div></div><p>But the Linenspa wasn't going to get left behind. No hand cream made it to the mattress and we could wipe away the cream with ease.</p><h3 class="article-body__section" id="section-test-2-guacamole"><span>Test 2: Guacamole</span></h3><p>Chunky guacamole served as a counterpoint to our wetter tests. And, without being crass, has a remarkable resemblance to vomit. (I'm saying this as an avo-enthusiast.)</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/ohPrAubn84E" allowfullscreen></iframe></div></div><p>Easy to wipe up and zero seepage — a success for the Purple Mattress Protector.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/qkVTbA4A0U0" allowfullscreen></iframe></div></div><p>Similarly, the Linenspa held its own against the guac test. So while we don't advice chips and dip in bed, it shouldn't end in disaster.</p><h3 class="article-body__section" id="section-test-3-water"><span>Test 3: Water</span></h3><p>I keep a bottle of water by my bedside for the morning. If I take a sip before my hand-eye coordination has woken up, that can result in spillage.</p><p>You really don't want water seeping into your mattress. It can settle in the materials causing damp and, in some cases, <a href="https://www.tomsguide.com/how-to/how-to-remove-mold-from-a-mattress">mattress mold</a>. If you've noticed yourself <a href="https://www.tomsguide.com/wellness/mattresses/5-signs-your-mattress-is-causing-your-allergies-and-how-to-fix-it">sneezing in bed</a>, it's worth checking for signs of mold.</p><p>So how did our protectors do in the water test?</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/3bLbvU5vXA4" allowfullscreen></iframe></div></div><p>Purple kept the water spill contained and prevented it from going through to the bed. This is particularly good for families who might deal with bed wetting instances. Expect easy clean up and the mattress to stay fresh.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/oEr-t55bjpk" allowfullscreen></iframe></div></div><p>Again, the Linenspa prevented anything sinking into the mattress materials. However, the water spill quickly spread out and left a lot of the surface damp.  If an accident occurs, everyone will know.</p><h3 class="article-body__section" id="section-test-4-coffee"><span>Test 4: Coffee</span></h3><p>Who doesn't enjoy the occasional cup of coffee in bed? But if your lazy Sunday morning ends in disaster, here's what you can expect from these mattress protectors.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/b4Hr_FNE6AI" allowfullscreen></iframe></div></div><p>The coffee spill settled where we poured it on the Purple Mattress Protector, although blotting did cause some spread. But it all stayed on the surface, with nothing sinking into the bed below.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/1_S670eKFDk" allowfullscreen></iframe></div></div><p>A splash of coffee turned into a swimming pool on the Linenspa Encasement but the good news is, it didn't sink into the mattress.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-X7ANxW"></div>                            </div>                            <script src="https://kwizly.com/embed/X7ANxW.js" async></script><h3 class="article-body__section" id="section-test-5-wine"><span>Test 5: Wine</span></h3><p>Now for the big one — red wine.</p><p>No judgement if you enjoy a glass of wine in bed after a long day, but a wine spill is a big no-no for a mattress. Alcohol is not good for <a href="https://www.tomsguide.com/how-to/7-ways-youre-damaging-your-memory-foam-mattress-and-what-to-do-instead">memory foam</a> and red wine stains are difficult to remove.</p><p>We splashed a glass of bottom shelf Syrah onto each mattress protector and waited five minutes. Here's how it went:</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/Va6_NLm3vXA" allowfullscreen></iframe></div></div><p>One the Purple, the wine pooled immediately. And sat there. After five minutes we employed a barrage of paper towels to mop it up. But no wine made it to the mattress.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/GYmSpcoSO7g" allowfullscreen></iframe></div></div><p>There was a similar result on the Linenspa, although the initial spread made blotting the wine trickier. No stain, though. </p><p>As a bonus, this video also shows just how long it takes one person to take a mattress encasement off a queen sized bed. I easily hit my step goal for the day after this.</p><h3 class="article-body__section" id="section-test-6-how-well-does-each-mattress-protector-clean-up"><span>Test 6: How well does each mattress protector clean up?</span></h3><p>So you've spilled your wine and guacamole all over your bed. Thankfully, your mattress is fine. But, oh no, your mattress protector is covered in stains!</p><p>Fellow tester <a href="https://www.tomsguide.com/author/frances-daniels">Frances Daniels</a> took both protectors home and washed them that evening. This resulted in a few hours between the tests ending and the mattress protectors getting cleaned. (At home, you should aim to wash quicker.)</p><p>She placed the protectors in a cold wash using a non-bio detergent. Each mattress protector was left to air dry before being tumble dried.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/2wXb5YTGdqRX7LM28yetNj.jpg" alt="A close up of the Purple Mattress Protector. It shows some light staining from tea and coffee" /><figcaption>The tea and coffee made a mark on the Purple Mattress Protector<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/W3TVxkfvf3aejJyfKgh4v9.jpg" alt="A close up of the Linenspa Mattress Protector. It shows light stains from tea or coffee" /><figcaption>The Linenspa also showed light staining, but cleaned up better<small role="credit">Future</small></figcaption></figure></figure><p>The Purple Waterproof Mattress Protector showed more signs of staining than the Linenspa, even after cleaning. </p><p>We suspect this is because liquids spread further on the Linenspa, reducing the build-up in any single place.</p><p>On the Purple Protector, the liquids pooled. This made it easier to blot up but might have led to the darker stains you can see above.</p><h3 class="article-body__section" id="section-verdict-which-mattress-protector-should-you-buy"><span>Verdict: Which mattress protector should you buy?</span></h3><p>We threw everything at these mattress protectors. Literally. There were no more liquids left in our Sleep Lab to test.</p><p>The result? Two sparkling clean mattresses:</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/g8MLyQwSMRr5dX46JHaV5d.jpg" alt="On the left, the Purple Mattress protector on a mattress. On the right, the Linenspa mattress encasement on a mattress. Both mattress protectors are covered in stains" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ZF4wuEnVYvTSrerbvdedfm.jpg" alt="Two mattresses in our sleep studio. Neither mattress shows any signs of staining" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Neither protector allowed any liquids to get through to the mattress beneath. Both beds were bone dry, meaning your errant spill is unlikely to sink into the materials. So being clumsy with a cup of coffee shouldn't lead to a moldy bed.</p><p>And while both protectors showed some signs of staining, for the most part they cleaned up well. If you clean quicker than we did (our Sleep Lab is equipped with a lot, but not a washing machine), expect less staining.</p><p>So it's conclusive, right? Save your money and go for something cheap?</p><p>If it's just waterproofing you want, the yes. The Linenspa formed a super effective barrier against all our liquids. If you want to protect against sweat, urine, or your Sunday morning breakfast in bed, it'll do the job.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gWFj9zLiSDSEpfo5fXAFzH" name="linenspa mattress encasement halfway on" alt="The Linenspa Mattress Encasement halfway on the mattress in or reviewer Ruth Jones' bedroom" src="https://cdn.mos.cms.futurecdn.net/gWFj9zLiSDSEpfo5fXAFzH.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>But the Purple protector did better at containing liquids. A small splash of water spread far and wide on the Linenspa, making it harder to clean. (And potentially disturbing anyone else in the bed.)</p><p>The Purple Mattress Protector is also quieter and softer. And as someone who has wrested to get the Linenspa Encasement on a mattress, the Purple is much, much, much easier to use.</p><h3 class="article-body__section" id="section-our-favorite-sleep-essentials"><span>Our favorite sleep essentials</span></h3>        <div class="featured_product_block featured_block_hero" data-id="db719136-8cfc-11f1-86ef-d1529386b701">            <a href="https://www.amazon.com/Celestial-Seasonings-Tea-Sleepytime-Extra/dp/B000QSFW2C/" data-model-name="Sleepytime Extra Tea (20ct)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.93%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/mPbenZNXRJoeUznHA2hJWe.jpg" alt="A box of Celestial Seasonings Sleepytime Extra Tea on a background of an illustrated sky edited by Gemini"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Celestial Seasonings</div>                                        <div class="featured__title">Sleepytime Extra Tea (20ct)</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="db718f24-8cfc-11f1-80b8-ed4fcf4bedd2">            <a href="https://www.amazon.com/Jersey-Slumber-Sleep-Women-Sleeper/dp/B014VYD7NW" data-model-name="Silk Sleep Mask" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.93%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/hr7A3fCbGfBECJrhy4wd3T.jpg" alt="The Jersey Slumber Sleep Mask on a background of an illustrated sky edited by Gemini"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Jersey Slumber</div>                                        <div class="featured__title">Silk Sleep Mask</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="db718f9c-8cfc-11f1-8722-d781539616ab">            <a href="https://www.amazon.com/Loop-Quiet-Ear-Plugs-Noise-Reducing/dp/B0D3V6TR98/" data-model-name="Quiet 2 Ear Plugs" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.93%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/Qo5tU7q93dxPeEALk7LFXL.jpg" alt="A pair of Loop Quiet 2 ear plugs on a background of an illustrated sky edited by Gemini"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Loop</div>                                        <div class="featured__title">Quiet 2 Ear Plugs</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="db719000-8cfc-11f1-866a-51caddaab370">            <a href="https://coopsleepgoods.com/collections/mattress-pads-protectors/products/ultra-luxe-waterproof-mattress-protector?variant=42871496260" data-model-name="Ultra Tech Waterproof Mattress Protector (twin)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.93%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/naZ7KowBDK3RsajyxmrntG.jpg" alt="The Coop Sleep Goods Ultra Tech Waterproof Mattress Protector on a background of an illustrated sky edited by Gemini"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Coop Sleep Goods</div>                                        <div class="featured__title">Ultra Tech Waterproof Mattress Protector (twin)</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="db71906e-8cfc-11f1-bd5a-fbdaec15baaa">            <a href="https://www.amazon.com/FEPPO-Mattress-Ultrasonic-Versatile-Handheld/dp/B0DNK7RHZS/" data-model-name="Mattress Vacuum" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.93%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/3SiZHqhuutK9Suw34vm48X.jpg" alt="A FEPPO Mattress Vacuum on a background of an illustrated sky edited by Gemini"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>FEPPO</div>                                        <div class="featured__title">Mattress Vacuum</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="db7190d2-8cfc-11f1-bbcf-3169c9f633fc">            <a href="https://www.brooklinen.com/products/classic-core-sheet-set?variant=41405018112090" data-model-name="Classic Percale Sheet Set (twin)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.93%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/ph4dnTHt9xDxoZo37fqBia.jpg" alt="A set of Brooklinen Percale Sheets on a background of an illustrated sky edited by Gemini"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Brooklinen</div>                                        <div class="featured__title">Classic Percale Sheet Set (twin)</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I drove the GMC Yukon Denali and Chevrolet Tahoe for a week — here’s the massive 3-row SUV I recommend ]]></title>
                                                                                                <dc:content><![CDATA[ <p>If there’s one vehicle segment I know inside and out, it’s the three-row midsize SUV. This year alone, I’ve tested more than a dozen, ranging from luxury models like the <a href="https://www.tomsguide.com/vehicle-tech/2026-genesis-gv80-review">Genesis GV80</a> all the way to more modest options like the <a href="https://www.tomsguide.com/vehicle-tech/i-drove-the-volkswagen-atlas-and-kia-telluride-for-a-week-heres-the-mid-size-3-row-suv-i-recommend">Kia Telluride and Volkswagen Atlas</a>.</p><p>I’ve come to appreciate just how well they balance daily family hauling with manageable footprints. But every now and then, you might need something that goes beyond practical everyday utility — something that’s not just bigger, but far more comfortable for those long hauls.</p><p>That’s where the <a href="https://www.gmc.com/suvs/yukon/denali" target="_blank">GMC Yukon Denali</a> and <a href="https://www.chevrolet.com/suvs/tahoe" target="_blank">Chevrolet Tahoe</a> come in: two full-size behemoths that take the classic three-row concept to a whole new level. They aren’t just suburban commuters — they’re essentially land cruisers built to elevate the experience across long stretches of highway miles. After testing them out for a week each, here’s the one I recommend.</p><figure class="inline-layout"><div style="min-height: 400px;"><fw-embed-feed channel="toms_guide" playlist="gOdY2y" mode="row" player_placement="bottom-right"></fw-embed-feed></div></figure><h2 class="article-body__section" id="section-gmc-yukon-denali-vs-chevrolet-tahoe-specifications"><span>GMC Yukon Denali vs. Chevrolet Tahoe: Specifications</span></h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>2026 GMC Yukon 4WD Denali Ultimate</strong></p></td><td  ><p><strong>2026 Chevrolet Tahoe RST 4WD</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Price Tested</strong></p></td><td  ><p>$113,785</p></td><td  ><p>$90,115</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ><p>14 mpg city / 18 mpg highway / 16 mpg combined</p></td><td  ><p>14 mpg city / 18 mpg highway / 16 mpg combined</p></td></tr><tr><td class="firstcol " ><p><strong>Engine</strong></p></td><td  ><p>6.2L ECOTEC3 V8 engine</p></td><td  ><p>6.2L V8 engine</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Tank Capacity</strong></p></td><td  ><p>24 gallons</p></td><td  ><p>24 gallons</p></td></tr><tr><td class="firstcol " ><p><strong>Horsepower</strong></p></td><td  ><p>420 hp</p></td><td  ><p>420 hp</p></td></tr><tr><td class="firstcol " ><p><strong>Wheels</strong></p></td><td  ><p>24-inches</p></td><td  ><p>24-inches</p></td></tr><tr><td class="firstcol " ><p><strong>MSRP</strong></p></td><td  ><p>$103,900</p></td><td  ><p>$74,495</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-gmc-yukon-denali-vs-chevrolet-tahoe-design"><span>GMC Yukon Denali vs. Chevrolet Tahoe: Design</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/aLBkYEndMV5EgdfgjYAXjE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/bQP7vRu3qXDj9bwBQVfwhk.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uGtg4eRmKNYBdVzBsuqgVE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/yX7AMApzDSCcyTm7B9Nuek.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/H9JY9PuhXBGAzREwD9GZwE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/d4oWSbkwzp5EhsDwfVMxmk.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>While both SUVs share the exact same footprint and underlying platform, their visual personalities couldn't be more distinct.</p><p>On the outside, the Chevrolet Tahoe opts for a utilitarian aesthetic — complemented by its squared-off front fascia, dual-tier LED headlight setup, and sculpted body panels. The design leans conventional for an SUV, but its tall height and massive size absolutely make its presence known on the road.</p><p>The GMC Yukon Denali embodies the same boxy stance, but leans heavily into its luxury aspirations. Up front, it commands attention with GMC’s massive signature chrome grille, flanked by sharp C-shaped LED lighting.</p><p>Moving inside, the gap between them widens significantly. While the Tahoe features a clean, highly functional layout built for busy family life, the Denali gets a bespoke interior filled with premium materials — like authentic wood trim and stitched leather — that clearly positions it well into luxury-car territory.</p><p><strong>Winner:</strong> GMC Yukon Denali</p><h2 class="article-body__section" id="section-gmc-yukon-denali-vs-chevrolet-tahoe-fuel-economy"><span>GMC Yukon Denali vs. Chevrolet Tahoe: Fuel economy</span></h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>2026 GMC Yukon 4WD Denali Ultimate</strong></p></td><td  ><p><strong>2026 Chevrolet Tahoe RST 4WD</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Total Miles Driven</strong></p></td><td  ><p>206.6 miles</p></td><td  ><p>347.1 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Average Fuel Economy</strong></p></td><td  ><p>19.1 mpg</p></td><td  ><p>17.1 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best short distance fuel economy</strong></p></td><td  ><p>20.5 mpg</p></td><td  ><p>16.5 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best long distance fuel economy</strong></p></td><td  ><p>23.1 mpg</p></td><td  ><p>19.9 mpg</p></td></tr></tbody></table></div><p>Considering these are essentially the aircraft carriers of the road, they’re far from trying to be fuel-efficient — and their EPA ratings are proof of that, with both holding a 16 mpg combined rating. However, after driving each for a week, the 2026 GMC Yukon 4WD Denali Ultimate emerged as the clear winner.</p><p>I drove a total of 206.6 miles during my week of testing the Yukon Denali Ultimate, logging an overall 19.1 mpg average. That shockingly outperforms the 2026 Chevrolet Tahoe RST 4WD, which achieved an average economy of 17.1 mpg over 347.1 miles. For these massive cruisers, that 2-mpg difference is significant, especially given their 24-gallon fuel tank capacities.</p><p>The gap becomes even more pronounced during short-distance driving, where the Yukon delivered 20.5 mpg while the Tahoe maxed out at just 16.5 mpg. On long-distance highway tests, the Yukon again proved to be the superior performer, reaching an impressive 23.1 mpg average compared to the Tahoe, which fell short of the 20-mpg mark.</p><p>Because both vehicles feature the 6.2L V8 engines and require premium unleaded, the Yukon's efficiency advantage translates directly into real savings at the pump. Across local trips and long highway stretches alike, the Yukon Denali Ultimate consistently proves to be the more efficient land cruiser.</p><p><strong>Winner:</strong> GMC Yukon Denali</p><h2 class="article-body__section" id="section-gmc-yukon-denali-vs-chevrolet-tahoe-driving-performance"><span>GMC Yukon Denali vs. Chevrolet Tahoe: Driving performance</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/CSgjaUrjR4gra9dakL5etE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/roka4vSoHrv57UknAtWaek.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/c4qX5McW3Rm4w7ubmBXRgE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/5wwyrD7L6uhAvcs4pagwik.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4mNHg4Gg4JwsZkkzLVzzaE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Lx2PjTMWEnuSxxrJgLM3dk.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>Largely due to their tall stances and massive size, there’s a learning curve to getting a good feel for driving them. Navigating tight city streets and crowded parking lots can be nerve-wracking for the uninitiated, but their surround-view camera systems and blind-spot monitors offer welcome assistance.</p><p>On the open road, both SUVs deliver a remarkably composed highway ride that effortlessly lets them glide. Acceleration is equally seamless, thanks to the 6.2L V8 engine under the hood of both models that delivers a punchy 420 horsepower. In fact, I didn't find one to offer a superior driving experience over the other.</p><p><strong>Winner:</strong> tie</p><h2 class="article-body__section" id="section-gmc-yukon-denali-vs-chevrolet-tahoe-comfort"><span>GMC Yukon Denali vs. Chevrolet Tahoe: Comfort</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/Z347nSdxoHwXiBk2yDKV3F.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/3J6HfPqufVk5iVi4vJVV5H.gif" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/qJC3WP8mfH9y6L9ugP3ZwE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/YCoU5itSFepEhj7r2RCqrG.gif" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ijqVt2hRQhaEfMzS6qvdpE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/qs8We6paZnHn2t4eRyephk.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ZDhripyDe7r26rG5mtB2oE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/2pw7mtBnjYy6yHVkMcGaik.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/anFTdjhtVCwBVt2BS3cUFE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ahruFCmGpVHcKjMQsKkfgk.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>I really enjoy that both utilize <a href="https://www.tomsguide.com/news/gms-super-cruise-is-getting-a-big-update-what-you-need-to-know">GM’s Super Cruise</a> for hands-free driving on the highway, complete with automated lane changes, steering, and braking.</p><p>However, the Yukon goes the extra mile with its luxury amenities, starting with power-retractable rails hat automatically deploy when I open the doors to make getting in effortless. On top of that, the front power-adjustable seats are equipped with a soothing massage function — perfect for combating fatigue on long-distance drives.</p><p>Where both vehicles truly shine is sheer interior volume. Second-row passengers are treated to standard captain's chairs that slide and recline. Crucially, unlike many midsize three-row SUVs I’ve tested where the back row is strictly reserved for kids, both models offer adult-friendly third-row legroom.</p><p>While space and seating dimensions are practically identical between the two, the Yukon Denali Ultimate wins with its extra luxury additions.</p><p><strong>Winner:</strong> GMC Yukon Denali</p><h2 class="article-body__section" id="section-gmc-yukon-denali-vs-chevrolet-tahoe-value"><span>GMC Yukon Denali vs. Chevrolet Tahoe: Value</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/Hke58LCk6DEZJ938BvWZwE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/FqMrKd5R6jTwNn4MHAH8jk.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>There’s a margin of nearly $24,000 between the two specific trims I tested, with the 2026 Chevrolet Tahoe RST 4WD having the lower out-of-pocket cost, coming in at $90,115 as tested. Needless to say, it significantly undercuts the 2026 GMC Yukon 4WD Denali Ultimate, which carries a staggering $113,785 as-tested price tag.</p><p>For buyers seeking sheer cabin space, 420-horsepower V8 performance, and everyday full-size utility without crossing into six-figure territory, the Tahoe delivers incredible bang for the buck.</p><p>However, I think the Yukon Denali Ultimate justifies its higher asking price by packing in high-end luxury tech that you simply can't get on its Chevy counterpart.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/xqgFjrvJdyUggrMizATUnE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/y5TxAssun4wYwRg4izkigE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/GdVgsowUHsdeenNNxTGSgE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>These include a thermal night vision camera that projects real-time heat signatures directly onto the driver display to highlight pedestrians and wildlife, dual rear-seat touchscreens paired with dedicated Bluetooth headphones, and an immersive Bose Audio system featuring custom speakers built directly into the front headrests for personal sound zones.</p><p><strong>Winner: </strong>tie</p><h2 class="article-body__section" id="section-gmc-yukon-denali-vs-chevrolet-tahoe-verdict"><span>GMC Yukon Denali vs. Chevrolet Tahoe: Verdict</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/6iz9kPQo7MQyDiTgw8VQsE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/bpmDGNaiKKiBM5azJcbXgk.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/NuT8wg6woSfG8LjcacF3qE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/mjoQkqaxobadV2oPa2dnfk.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/jRGf3sQGJD8ZRZuTRSRLpE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/NG9ggoKPCHHUD8E9UBhzek.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/EkbVGn8Jbdwyurrvzoz8gE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/pEHbpJ5zFg96Tixp6aDAek.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/DYJ936zRhb7xeuqzcbNcwE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/8ov69Rg2Zufci4bAKt3Jgk.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>If you look at the scoresheet below, the 2026 GMC Yukon Denali Ultimate emerges as the technical winner. Between its surprisingly better real-world fuel economy, top-tier executive comfort, and exclusive tech features like thermal night vision and headrest speakers, it’s a luxury super yacht that gets people to places in style.</p><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>2026 GMC Yukon 4WD Denali Ultimate</strong></p></td><td  ><p><strong>2026 Chevrolet Tahoe RST 4WD</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Design</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Driving Performance</strong></p></td><td  ><p>X</p></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Comfort</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Value</strong></p></td><td  ><p>X</p></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Total</strong></p></td><td  ><p>5</p></td><td  ><p>2</p></td></tr></tbody></table></div><p>However, I think the $24,000 price gap is impossible to ignore. The 2026 Chevrolet Tahoe RS delivers most of the same core experience: the same road presence, identical passenger and cargo dimensions, a punchy 420-horsepower V8, and that helpful hands-free Super Cruise driving I love.</p><p>If you want the ultimate, compromise-free land cruiser and don't mind paying for flagship luxury, the Yukon Denali Ultimate earns top honors. But if you want massive three-row capability and V8 muscle without crossing into six-figure territory, the Tahoe's incredible value proposition makes it just as worthy a recommendation.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XZKNKe"></div>                            </div>                            <script src="https://kwizly.com/embed/XZKNKe.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/vehicle-tech/evs/im-not-anxious-that-its-getting-darker-earlier-with-this-thermal-camera-for-my-car-heres-why">I'm not anxious that it's getting darker earlier with this thermal camera for my car — here's why</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/i-borrowed-the-new-nissan-leaf-for-a-day-and-this-affordable-ev-nails-it">I just test drove the new Nissan Leaf — and it's irresistible at under $30,000</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/crabwalking-with-the-gmc-sierra-ev-is-the-weirdest-thing-ive-ever-done-with-a-car-and-its-actually-pretty-useful">CrabWalking with the GMC Sierra EV is the weirdest thing I’ve ever done with a car — and it’s actually pretty useful</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/vehicle-tech/i-drove-the-gmc-yukon-denali-and-chevrolet-tahoe-for-a-week-heres-the-massive-3-row-suv-i-recommend</link>
                                                                            <description>
                            <![CDATA[ After spending a week with both the GMC Yukon Denali and Chevrolet Tahoe, there's a clear difference between these massive SUVs. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">wtjB9zar3TXgbWhPndw4rA</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/YSijp8Jg8PHY6Z4wEGgojS-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 02 Aug 2026 09:15:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Vehicle Tech]]></category>
                                                                                                <author><![CDATA[ john.velasco@futurenet.com (John Velasco) ]]></author>                    <dc:creator><![CDATA[ John Velasco ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/TSj224oX8d5ERXaDs8pDGd.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/YSijp8Jg8PHY6Z4wEGgojS-1280-80.jpg">
                                                            <media:credit><![CDATA[John Velasco / Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[GMC Yukon Denali vs Chevrolet Tahoe.]]></media:description>                                                            <media:text><![CDATA[GMC Yukon Denali vs Chevrolet Tahoe.]]></media:text>
                                <media:title type="plain"><![CDATA[GMC Yukon Denali vs Chevrolet Tahoe.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/YSijp8Jg8PHY6Z4wEGgojS-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>If there’s one vehicle segment I know inside and out, it’s the three-row midsize SUV. This year alone, I’ve tested more than a dozen, ranging from luxury models like the <a href="https://www.tomsguide.com/vehicle-tech/2026-genesis-gv80-review">Genesis GV80</a> all the way to more modest options like the <a href="https://www.tomsguide.com/vehicle-tech/i-drove-the-volkswagen-atlas-and-kia-telluride-for-a-week-heres-the-mid-size-3-row-suv-i-recommend">Kia Telluride and Volkswagen Atlas</a>.</p><p>I’ve come to appreciate just how well they balance daily family hauling with manageable footprints. But every now and then, you might need something that goes beyond practical everyday utility — something that’s not just bigger, but far more comfortable for those long hauls.</p><p>That’s where the <a href="https://www.gmc.com/suvs/yukon/denali" target="_blank">GMC Yukon Denali</a> and <a href="https://www.chevrolet.com/suvs/tahoe" target="_blank">Chevrolet Tahoe</a> come in: two full-size behemoths that take the classic three-row concept to a whole new level. They aren’t just suburban commuters — they’re essentially land cruisers built to elevate the experience across long stretches of highway miles. After testing them out for a week each, here’s the one I recommend.</p><figure class="inline-layout"><div style="min-height: 400px;"><fw-embed-feed channel="toms_guide" playlist="gOdY2y" mode="row" player_placement="bottom-right"></fw-embed-feed></div></figure><h2 class="article-body__section" id="section-gmc-yukon-denali-vs-chevrolet-tahoe-specifications"><span>GMC Yukon Denali vs. Chevrolet Tahoe: Specifications</span></h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>2026 GMC Yukon 4WD Denali Ultimate</strong></p></td><td  ><p><strong>2026 Chevrolet Tahoe RST 4WD</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Price Tested</strong></p></td><td  ><p>$113,785</p></td><td  ><p>$90,115</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ><p>14 mpg city / 18 mpg highway / 16 mpg combined</p></td><td  ><p>14 mpg city / 18 mpg highway / 16 mpg combined</p></td></tr><tr><td class="firstcol " ><p><strong>Engine</strong></p></td><td  ><p>6.2L ECOTEC3 V8 engine</p></td><td  ><p>6.2L V8 engine</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Tank Capacity</strong></p></td><td  ><p>24 gallons</p></td><td  ><p>24 gallons</p></td></tr><tr><td class="firstcol " ><p><strong>Horsepower</strong></p></td><td  ><p>420 hp</p></td><td  ><p>420 hp</p></td></tr><tr><td class="firstcol " ><p><strong>Wheels</strong></p></td><td  ><p>24-inches</p></td><td  ><p>24-inches</p></td></tr><tr><td class="firstcol " ><p><strong>MSRP</strong></p></td><td  ><p>$103,900</p></td><td  ><p>$74,495</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-gmc-yukon-denali-vs-chevrolet-tahoe-design"><span>GMC Yukon Denali vs. Chevrolet Tahoe: Design</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/aLBkYEndMV5EgdfgjYAXjE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/bQP7vRu3qXDj9bwBQVfwhk.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uGtg4eRmKNYBdVzBsuqgVE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/yX7AMApzDSCcyTm7B9Nuek.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/H9JY9PuhXBGAzREwD9GZwE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/d4oWSbkwzp5EhsDwfVMxmk.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>While both SUVs share the exact same footprint and underlying platform, their visual personalities couldn't be more distinct.</p><p>On the outside, the Chevrolet Tahoe opts for a utilitarian aesthetic — complemented by its squared-off front fascia, dual-tier LED headlight setup, and sculpted body panels. The design leans conventional for an SUV, but its tall height and massive size absolutely make its presence known on the road.</p><p>The GMC Yukon Denali embodies the same boxy stance, but leans heavily into its luxury aspirations. Up front, it commands attention with GMC’s massive signature chrome grille, flanked by sharp C-shaped LED lighting.</p><p>Moving inside, the gap between them widens significantly. While the Tahoe features a clean, highly functional layout built for busy family life, the Denali gets a bespoke interior filled with premium materials — like authentic wood trim and stitched leather — that clearly positions it well into luxury-car territory.</p><p><strong>Winner:</strong> GMC Yukon Denali</p><h2 class="article-body__section" id="section-gmc-yukon-denali-vs-chevrolet-tahoe-fuel-economy"><span>GMC Yukon Denali vs. Chevrolet Tahoe: Fuel economy</span></h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>2026 GMC Yukon 4WD Denali Ultimate</strong></p></td><td  ><p><strong>2026 Chevrolet Tahoe RST 4WD</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Total Miles Driven</strong></p></td><td  ><p>206.6 miles</p></td><td  ><p>347.1 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Average Fuel Economy</strong></p></td><td  ><p>19.1 mpg</p></td><td  ><p>17.1 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best short distance fuel economy</strong></p></td><td  ><p>20.5 mpg</p></td><td  ><p>16.5 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best long distance fuel economy</strong></p></td><td  ><p>23.1 mpg</p></td><td  ><p>19.9 mpg</p></td></tr></tbody></table></div><p>Considering these are essentially the aircraft carriers of the road, they’re far from trying to be fuel-efficient — and their EPA ratings are proof of that, with both holding a 16 mpg combined rating. However, after driving each for a week, the 2026 GMC Yukon 4WD Denali Ultimate emerged as the clear winner.</p><p>I drove a total of 206.6 miles during my week of testing the Yukon Denali Ultimate, logging an overall 19.1 mpg average. That shockingly outperforms the 2026 Chevrolet Tahoe RST 4WD, which achieved an average economy of 17.1 mpg over 347.1 miles. For these massive cruisers, that 2-mpg difference is significant, especially given their 24-gallon fuel tank capacities.</p><p>The gap becomes even more pronounced during short-distance driving, where the Yukon delivered 20.5 mpg while the Tahoe maxed out at just 16.5 mpg. On long-distance highway tests, the Yukon again proved to be the superior performer, reaching an impressive 23.1 mpg average compared to the Tahoe, which fell short of the 20-mpg mark.</p><p>Because both vehicles feature the 6.2L V8 engines and require premium unleaded, the Yukon's efficiency advantage translates directly into real savings at the pump. Across local trips and long highway stretches alike, the Yukon Denali Ultimate consistently proves to be the more efficient land cruiser.</p><p><strong>Winner:</strong> GMC Yukon Denali</p><h2 class="article-body__section" id="section-gmc-yukon-denali-vs-chevrolet-tahoe-driving-performance"><span>GMC Yukon Denali vs. Chevrolet Tahoe: Driving performance</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/CSgjaUrjR4gra9dakL5etE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/roka4vSoHrv57UknAtWaek.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/c4qX5McW3Rm4w7ubmBXRgE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/5wwyrD7L6uhAvcs4pagwik.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4mNHg4Gg4JwsZkkzLVzzaE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Lx2PjTMWEnuSxxrJgLM3dk.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>Largely due to their tall stances and massive size, there’s a learning curve to getting a good feel for driving them. Navigating tight city streets and crowded parking lots can be nerve-wracking for the uninitiated, but their surround-view camera systems and blind-spot monitors offer welcome assistance.</p><p>On the open road, both SUVs deliver a remarkably composed highway ride that effortlessly lets them glide. Acceleration is equally seamless, thanks to the 6.2L V8 engine under the hood of both models that delivers a punchy 420 horsepower. In fact, I didn't find one to offer a superior driving experience over the other.</p><p><strong>Winner:</strong> tie</p><h2 class="article-body__section" id="section-gmc-yukon-denali-vs-chevrolet-tahoe-comfort"><span>GMC Yukon Denali vs. Chevrolet Tahoe: Comfort</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/Z347nSdxoHwXiBk2yDKV3F.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/3J6HfPqufVk5iVi4vJVV5H.gif" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/qJC3WP8mfH9y6L9ugP3ZwE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/YCoU5itSFepEhj7r2RCqrG.gif" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ijqVt2hRQhaEfMzS6qvdpE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/qs8We6paZnHn2t4eRyephk.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ZDhripyDe7r26rG5mtB2oE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/2pw7mtBnjYy6yHVkMcGaik.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/anFTdjhtVCwBVt2BS3cUFE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ahruFCmGpVHcKjMQsKkfgk.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>I really enjoy that both utilize <a href="https://www.tomsguide.com/news/gms-super-cruise-is-getting-a-big-update-what-you-need-to-know">GM’s Super Cruise</a> for hands-free driving on the highway, complete with automated lane changes, steering, and braking.</p><p>However, the Yukon goes the extra mile with its luxury amenities, starting with power-retractable rails hat automatically deploy when I open the doors to make getting in effortless. On top of that, the front power-adjustable seats are equipped with a soothing massage function — perfect for combating fatigue on long-distance drives.</p><p>Where both vehicles truly shine is sheer interior volume. Second-row passengers are treated to standard captain's chairs that slide and recline. Crucially, unlike many midsize three-row SUVs I’ve tested where the back row is strictly reserved for kids, both models offer adult-friendly third-row legroom.</p><p>While space and seating dimensions are practically identical between the two, the Yukon Denali Ultimate wins with its extra luxury additions.</p><p><strong>Winner:</strong> GMC Yukon Denali</p><h2 class="article-body__section" id="section-gmc-yukon-denali-vs-chevrolet-tahoe-value"><span>GMC Yukon Denali vs. Chevrolet Tahoe: Value</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/Hke58LCk6DEZJ938BvWZwE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/FqMrKd5R6jTwNn4MHAH8jk.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>There’s a margin of nearly $24,000 between the two specific trims I tested, with the 2026 Chevrolet Tahoe RST 4WD having the lower out-of-pocket cost, coming in at $90,115 as tested. Needless to say, it significantly undercuts the 2026 GMC Yukon 4WD Denali Ultimate, which carries a staggering $113,785 as-tested price tag.</p><p>For buyers seeking sheer cabin space, 420-horsepower V8 performance, and everyday full-size utility without crossing into six-figure territory, the Tahoe delivers incredible bang for the buck.</p><p>However, I think the Yukon Denali Ultimate justifies its higher asking price by packing in high-end luxury tech that you simply can't get on its Chevy counterpart.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/xqgFjrvJdyUggrMizATUnE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/y5TxAssun4wYwRg4izkigE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/GdVgsowUHsdeenNNxTGSgE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>These include a thermal night vision camera that projects real-time heat signatures directly onto the driver display to highlight pedestrians and wildlife, dual rear-seat touchscreens paired with dedicated Bluetooth headphones, and an immersive Bose Audio system featuring custom speakers built directly into the front headrests for personal sound zones.</p><p><strong>Winner: </strong>tie</p><h2 class="article-body__section" id="section-gmc-yukon-denali-vs-chevrolet-tahoe-verdict"><span>GMC Yukon Denali vs. Chevrolet Tahoe: Verdict</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/6iz9kPQo7MQyDiTgw8VQsE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/bpmDGNaiKKiBM5azJcbXgk.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/NuT8wg6woSfG8LjcacF3qE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/mjoQkqaxobadV2oPa2dnfk.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/jRGf3sQGJD8ZRZuTRSRLpE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/NG9ggoKPCHHUD8E9UBhzek.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/EkbVGn8Jbdwyurrvzoz8gE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/pEHbpJ5zFg96Tixp6aDAek.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/DYJ936zRhb7xeuqzcbNcwE.jpg" alt="2026 GMC Yukon Denali review." /><figcaption>2026 GMC Yukon Denali<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/8ov69Rg2Zufci4bAKt3Jgk.jpg" alt="2026 Chevrolet Tahoe test drive." /><figcaption>2026 Chevrolet Tahoe<small role="credit">Tom's Guide / John Velasco</small></figcaption></figure></figure><p>If you look at the scoresheet below, the 2026 GMC Yukon Denali Ultimate emerges as the technical winner. Between its surprisingly better real-world fuel economy, top-tier executive comfort, and exclusive tech features like thermal night vision and headrest speakers, it’s a luxury super yacht that gets people to places in style.</p><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>2026 GMC Yukon 4WD Denali Ultimate</strong></p></td><td  ><p><strong>2026 Chevrolet Tahoe RST 4WD</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Design</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Driving Performance</strong></p></td><td  ><p>X</p></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Comfort</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Value</strong></p></td><td  ><p>X</p></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Total</strong></p></td><td  ><p>5</p></td><td  ><p>2</p></td></tr></tbody></table></div><p>However, I think the $24,000 price gap is impossible to ignore. The 2026 Chevrolet Tahoe RS delivers most of the same core experience: the same road presence, identical passenger and cargo dimensions, a punchy 420-horsepower V8, and that helpful hands-free Super Cruise driving I love.</p><p>If you want the ultimate, compromise-free land cruiser and don't mind paying for flagship luxury, the Yukon Denali Ultimate earns top honors. But if you want massive three-row capability and V8 muscle without crossing into six-figure territory, the Tahoe's incredible value proposition makes it just as worthy a recommendation.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XZKNKe"></div>                            </div>                            <script src="https://kwizly.com/embed/XZKNKe.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/vehicle-tech/evs/im-not-anxious-that-its-getting-darker-earlier-with-this-thermal-camera-for-my-car-heres-why">I'm not anxious that it's getting darker earlier with this thermal camera for my car — here's why</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/i-borrowed-the-new-nissan-leaf-for-a-day-and-this-affordable-ev-nails-it">I just test drove the new Nissan Leaf — and it's irresistible at under $30,000</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/crabwalking-with-the-gmc-sierra-ev-is-the-weirdest-thing-ive-ever-done-with-a-car-and-its-actually-pretty-useful">CrabWalking with the GMC Sierra EV is the weirdest thing I’ve ever done with a car — and it’s actually pretty useful</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I pointed a thermal cam at a luxury cooling pillow to see if it actually helps you stay cool in a heatwave — here are the results, and how it compares to a cheap alternative ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Sleeping on a hot, stuffy pillow in summer is a nightmare when I want to fall asleep fast. In fact, <a href="https://pubmed.ncbi.nlm.nih.gov/30454599/" target="_blank">research</a> shows that <a href="https://www.tomsguide.com/reference/the-best-temperature-for-sleeping">your body naturally cools as you go to sleep</a>, so a heat-trapping pillow means you don't get the temperature drop you need to drift off. </p><p>The <a href="https://www.tomsguide.com/best-picks/best-pillow">best pillows</a> should avoid this problem, and we've found that luxury cooling pillows are top notch at<a href="https://www.tomsguide.com/wellness/mattresses/temperature-regulation"> regulating temperature</a>. But is there a cheaper way to keep your head cool at night? Or is a fancy pillow packed with cooling tech the only way to keep you comfortable on a hot night? </p><p>To find out, I grabbed my $93 Helix Cooling Memory Foam Pillow, the $20 Beckham Hotel Collection Bed Pillow, and a trusty thermal cam. Here's how much heat each pillow absorbed and shed when our testers slept on these headrests in our lab...</p><h2 id="key-takeaways-at-a-glance">Key takeaways: At a glance</h2><ul><li><strong>Hot temperatures make it difficult to sleep, as your body naturally cools before bed. Some pillow materials trap warm air rather than help it circulate. As a result, you get a hot head that can't cool down.</strong></li><li><strong>Cooling pillows claim to use special materials that help wick away warmth, to keep you comfortable.</strong></li><li><strong>However, our thermal cam tests showed for a neutral feel, a cotton cover might be enough.</strong></li><li><strong>And flipping to the cool side won't always provide the relief you need — one of our pillows was actually warmer on the unused side.</strong></li></ul><h2 id="how-we-tested-a-cheap-vs-a-luxury-cooling-pillow">How we tested a cheap vs a luxury cooling pillow</h2><p><a href="https://www.tomsguide.com/wellness/mattresses/temperature-regulation">Temperature regulation</a> testing is a key part of our rigorous <a href="https://www.tomsguide.com/mattresses/how-we-test">mattress testing methodology</a>. So when it came to analyzing our pillows, I turned to our tried and tested method.</p><p>In a comfortable environment, we ask a tester to lie on the pillow for 15 minutes. This is ample time for heat to transfer and cooling properties to kick in. The tester then gets up and we continue to measure the temperature of the pillow for the next 15 minutes. This allows heat to disperse (... or not).</p><p>For pillows, I also employed a flip test. After the above tests, I flipped the pillow to see how cool the other side was.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-egK6Ke"></div>                            </div>                            <script src="https://kwizly.com/embed/egK6Ke.js" async></script><h3 class="article-body__section" id="section-meet-the-pillows"><span>Meet the pillows:</span></h3><p>I used two pillows for this test. One, a luxurious <a href="https://www.tomsguide.com/wellness/mattresses/types-of-foam">memory foam</a> pillow packed with cooling tech. The other, an affordable pillow with 'down alternative' fill (that's probably fiber fill).</p><div class="product"><a data-dimension112="2cae6184-8a6c-11f1-828c-75bba894caa4" data-action="Deal Block" data-label="Cooling Memory Foam Pillow" data-dimension48="Cooling Memory Foam Pillow" data-dimension25="$93" href="https://helixsleep.com/products/glaciotex-cooling-memory-foam-pillow?test=true" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1550px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="NzouUwcUWYcx24CemundmA" name="Helix Cooling Memory Foam pillow deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/NzouUwcUWYcx24CemundmA.jpg" mos="" align="middle" fullscreen="" width="1550" height="1550" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>With a cool-to-the touch <a href="https://www.tomsguide.com/wellness/mattresses/what-is-glaciotex" data-dimension112="2cae6184-8a6c-11f1-828c-75bba894caa4" data-action="Deal Block" data-label="Cooling Memory Foam Pillow" data-dimension48="Cooling Memory Foam Pillow" data-dimension25="$93">GlacioTex </a>cover (designed to wick away warmth) and a gel insert (designed to draw away heat), the Helix Cooling Memory Foam Pillow is made for hot nights. It's also dense and squishy, delivering exceptional pressure relief. At $94 in the <a href="https://www.tomsguide.com/deals/helix-mattress-discounts">Helix mattress sale</a> it's a splurge but I loved it during my <a href="https://www.tomsguide.com/mattresses/pillows-bedding/helix-cooling-memory-foam-pillow-review">Helix Cooling Memory Foam Pillow review</a> period.</p><p><strong>Our </strong><a href="https://www.tomsguide.com/mattresses/pillows-bedding/helix-cooling-memory-foam-pillow-review"><strong>Helix Cooling Memory Foam Pillow review</strong></a><strong>: ★★★★½</strong><a class="view-deal button" href="https://helixsleep.com/products/glaciotex-cooling-memory-foam-pillow?test=true" target="_blank" rel="nofollow" data-dimension112="2cae6184-8a6c-11f1-828c-75bba894caa4" data-action="Deal Block" data-label="Cooling Memory Foam Pillow" data-dimension48="Cooling Memory Foam Pillow" data-dimension25="$93">View Deal</a></p></div><div class="product"><a data-dimension112="2cae61f2-8a6c-11f1-b9c4-a30e36f86d61" data-action="Deal Block" data-label="Down Alternative Pillow (2-pack)" data-dimension48="Down Alternative Pillow (2-pack)" data-dimension25="$41.97" href="https://www.amazon.com/Pillows-for-Sleeping-2-Pack/dp/B01LYNW421/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:606px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="Y2qnRfQgVzjFMq7f6uaHpN" name="Beckham Hotel Collection deals" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Y2qnRfQgVzjFMq7f6uaHpN.jpg" mos="" align="middle" fullscreen="" width="606" height="606" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Pillows-for-Sleeping-2-Pack/dp/B01LYNW421/?th=1" target="_blank" rel="nofollow" data-dimension112="2cae61f2-8a6c-11f1-b9c4-a30e36f86d61" data-action="Deal Block" data-label="Down Alternative Pillow (2-pack)" data-dimension48="Down Alternative Pillow (2-pack)" data-dimension25="$41.97">Down Alternative Pillow (2-pack): was $59.99 now $41.97</a></strong><br>The Beckham Hotel Collection pillows have a silky-soft finish thanks to a cotton cover. But while the down-alternative fill is initially comfortable, our <a href="https://www.tomsguide.com/mattresses/pillows-bedding/beckham-hotel-collection-pillow-review">Beckham Hotel Collection Pillow review</a> team were less impressed with the durability. And apart from a breathable cover and a lightweight build, it lacks any specialist cooling tech. However with a two-pack often under $50, it's an affordable choice.</p><p><strong>Our </strong><a href="https://www.tomsguide.com/mattresses/pillows-bedding/beckham-hotel-collection-pillow-review"><strong>Beckham Hotel Collection Pillow review</strong></a><strong>: ★★★½</strong><br><a href="https://www.amazon.com/Pillows-for-Sleeping-2-Pack/dp/B01LYNW421/" target="_blank"><strong>User score</strong></a><strong>: ★★★★½ </strong>(262,000+ reviews)<a class="view-deal button" href="https://www.amazon.com/Pillows-for-Sleeping-2-Pack/dp/B01LYNW421/?th=1" target="_blank" rel="nofollow" data-dimension112="2cae61f2-8a6c-11f1-b9c4-a30e36f86d61" data-action="Deal Block" data-label="Down Alternative Pillow (2-pack)" data-dimension48="Down Alternative Pillow (2-pack)" data-dimension25="$41.97">View Deal</a></p></div><h3 class="article-body__section" id="section-test-1-how-quickly-does-the-pillow-get-warm"><span>Test 1: How quickly does the pillow get warm?</span></h3><p>For part one of the test, sleep writer <a href="https://www.tomsguide.com/author/frances-daniels">Frances Daniels</a> graciously agreed to lie on each pillow for 15 minutes. We used a <a href="https://www.tomsguide.com/wellness/sleep/this-is-the-best-position-for-sleep-according-to-a-chiropractor">side sleeping position</a> as its the most common and a breathable but not cooling mattress (the <a href="https://www.tomsguide.com/reviews/dreamcloud-mattress">DreamCloud Classic Mattress</a>).</p><p>Click through the gallery to see what happened:</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/44YnYwxBSn734kLmeDt9AH.jpg" alt="On the left, tester Frances lies on the Helix Cooling Memory Foam Pillow. After 1 minute, the temperature is 83.1. On the right, tester Frances lies on the Hotel Collection Pillow. After 1 minutes, the temperature is 89.3." /><figcaption>The Helix Cooling Memory Foam Pillow on the left, the Hotel collection pillow on the right<small role="credit">Future / FLIR</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/FzHfcctqjhXsoJYgwbYXZG.jpg" alt="On the left, tester Frances lies on the Helix Cooling Memory Foam Pillow. After 3 minutes, the temperature is 83.5. On the right, tester Frances lies on the Hotel Collection Pillow. After 3 minutes, the temperature is 87" /><figcaption>The Helix Cooling Memory Foam Pillow on the left, the Hotel collection pillow on the right<small role="credit">Future / FLIR</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/xtpLysmCGECWg6z3VtqDvG.jpg" alt="On the left, tester Frances lies on the Helix Cooling Memory Foam Pillow. After 6 minutes, the temperature is 83.4. On the right, tester Frances lies on the Hotel Collection Pillow. After 6 minutes, the temperature is 84.5" /><figcaption>The Helix Cooling Memory Foam Pillow on the left, the Hotel collection pillow on the right<small role="credit">Future / FLIR</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/xhPw3SN7K9ubXtJAzEPX9H.jpg" alt="On the left, tester Frances lies on the Helix Cooling Memory Foam Pillow. After 9 minutes, the temperature is 85. On the right, tester Frances lies on the Hotel Collection Pillow. After 9 minutes, the temperature is 86.1" /><figcaption>The Helix Cooling Memory Foam Pillow on the left, the Hotel collection pillow on the right<small role="credit">Future / FLIR</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/bcx9Z2Gud4tf5qN54PVY9H.jpg" alt="On the left, tester Frances lies on the Helix Cooling Memory Foam Pillow. After 12 minutes, the temperature is 85.5. On the right, tester Frances lies on the Hotel Collection Pillow. After 12 minutes, the temperature is 86.7" /><figcaption>The Helix Cooling Memory Foam Pillow on the left, the Hotel collection pillow on the right<small role="credit">Future / FLIR</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/vFDXSnQYHjLbGCJPFbGUAH.jpg" alt="On the left, tester Frances lies on the Helix Cooling Memory Foam Pillow. After 15 minutes, the temperature is 87.9. On the right, tester Frances lies on the Hotel Collection Pillow. After 15 minutes, the temperature is 86.5" /><figcaption>The Helix Cooling Memory Foam Pillow on the left, the Hotel collection pillow on the right<small role="credit">Future / FLIR</small></figcaption></figure></figure><p>We marked the center of each pillow, which is where Frances rested her head. This is also where we took a temperature reading every minute.</p><iframe allow="" height="600px" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://crow.futurecdn.net/live/toms-guide-pillow-temperature-comparison-how-quickly-do-they-heat-up-line-807599/toms_guide_pillow_temperature_comparison_how_quickly_do_they_heat_up_line_807599.html"></iframe><h2 id="verdict-2">Verdict</h2><p>The Helix Cooling Memory Foam pillow is delightfully chill when you touch it. So when you first settle into that <a href="https://www.tomsguide.com/wellness/mattresses/what-is-glaciotex">GlacioTex</a> cover, it's going to feel great.</p><p>From there, the temperature gradually rose but never tipped over into uncomfortable. Frances noted (as did I during my testing period) that once the pillow had warmed to your body temperature, it hardly wavered.</p><p>The Beckham Hotel Collection pillow also impressed, and did so with the help of just a cotton cover. After a big initial jump in temperature (13.3°F), it slowly cooled and evened out. However, you won't get that initial 'aaah' of Helix's chilled cover. </p><h3 class="article-body__section" id="section-test-2-how-quickly-does-the-pillow-cool-down"><span>Test 2: How quickly does the pillow cool down?</span></h3><p>The work continues once our tester, the lovely Frances, has stepped away. For the next 15 minutes I monitored the temperature at the center of the pillow. This shows us how quickly the heat dissipates. </p><p>Click through the gallery to see what happened:</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/CtqUH3QGeH9fQ3RCVBWt74.jpg" alt="On the left, the Helix Cooling Memory Foam Pillow through a thermal cam. At minute 1, it's 82.6 °F. On the right, the Beckham Hotel Collection Pillow. At minute 1, it's 79.8°F." /><figcaption><small role="credit">Future / FLIR</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/QvhndAkBFgv2x9786S2H84.jpg" alt="On the left, the Helix Cooling Memory Foam Pillow through a thermal cam. At minute 3, it's 81 °F. On the right, the Beckham Hotel Collection Pillow. At minute 3, it's 78.2°F." /><figcaption><small role="credit">Future / FLIR</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/bwCHBk7Nqc3sHXtAPPCKFJ.jpg" alt="On the left, the Helix Cooling Memory Foam Pillow through a thermal cam. At minute 6, it's 79.8 °F. On the right, the Beckham Hotel Collection Pillow. At minute 6, it's 78.1°F." /><figcaption><small role="credit">Future / FLIR</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/9DhM3oZPFbBJXjuFGdFpcJ.jpg" alt="On the left, the Helix Cooling Memory Foam Pillow through a thermal cam. At minute 9, it's 80 °F. On the right, the Beckham Hotel Collection Pillow. At minute 9, it's 77.9 °F." /><figcaption><small role="credit">Future / FLIR</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4WP8vBFsxMXn29YJP6JSeJ.jpg" alt="On the left, the Helix Cooling Memory Foam Pillow through a thermal cam. At minute 12, it's 78.7 °F. On the right, the Beckham Hotel Collection Pillow. At minute 12, it's 77.9 °F." /><figcaption><small role="credit">Future / FLIR</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/6vhXPAq7R6t7SjP8aMhvRJ.jpg" alt="On the left, the Helix Cooling Memory Foam Pillow through a thermal cam. At minute 15, it's 78.8 °F. On the right, the Beckham Hotel Collection Pillow. At minute 15, it's 77.5 °F." /><figcaption><small role="credit">Future / FLIR</small></figcaption></figure></figure><iframe allow="" height="600px" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://crow.futurecdn.net/live/toms-guide-pillow-temperature-comparison-how-quickly-do-they-cool-down-line-345775/toms_guide_pillow_temperature_comparison_how_quickly_do_they_cool_down_line_345775.html"></iframe><h2 id="verdict-3">Verdict</h2><p>A good cooling pillow should drop excess heat quickly. This means when you sit up in bed or step away for a few minutes, you can return to a blissfully chilled sleep surface.</p><p>You won't get that with either of these options. </p><p>The Helix Cooling Pillow took a long time to lose just 4°F of warmth. Even after 15 minutes, it wasn't back to the icy feel we started with. However, the edges and corners of the pillow kept cool. So if you're willing to move around, you don't have to sleep on the warm patch.</p><p>The Beckham Hotel Collection Pillow dropped to a cooler temperature quicker. After this initial heat shed, it remained roughly 2°F higher than when we started — that's a neutral feel. </p><p>These results back up our hands-on testing. If you get up to use the bathroom or grab a drink during the night, you won't return to a cool pillow. However, you should get back to something with an even, neutral finish.</p><h3 class="article-body__section" id="section-test-3-what-about-the-cool-side"><span>Test 3: What about the 'cool side'?</span></h3><p>There are few moments quite as satisfying as the brief relief of the cool side of the pillow. But in the spirit of investigation, I wanted to see just how cool this cool side is...</p><p>Having completed our tests, I flipped the pillows to reveal the so-called 'cool side'. </p><p>First up, the Helix Cooling Pillow. While the pillow wasn't as blissfully chilled on the other side as I expected, it did drop 1.4°F.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/eUTnLn4Pa9j6mvtB5h7E5Z.jpg" alt="A thermal image of the Helix Cooling Memory Foam Pillow showing a temperature reading of 78.9 °F" /><figcaption>The warm side of the Helix Cooling Memory Foam Pillow<small role="credit">Future / FLIR</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/LW97NKscXrR3aCXeoPAyUU.jpg" alt="A thermal image of the Helix Cooling Memory Foam Pillow showing a temperature reading of 77.5 °F" /><figcaption>... and flipped, the cool side of the Helix Cooling Memory Foam Pillow<small role="credit">Future /FLIR</small></figcaption></figure></figure><p>However, I was in for a shock with the Hotel Collection Pillow. A quick flip revealed the pillow was actually <em>warmer </em>on the other side. 1.8°F warmer, to be precise.</p><p>That's not a huge temperature jump. But it's not what you want when you're <a href="https://www.tomsguide.com/wellness/sleep/why-do-i-keep-waking-up-at-3am">awake at 3 a.m.</a></p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/KwfUN2dAohg5iyWgWzZ4um.jpg" alt="A thermal image of the Beckham Hotel Collection Pillow showing a temperature reading of 77.2 °F" /><figcaption>The warm side of the Beckham Hotel Collection pillow<small role="credit">Future / FLIR</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/SUdm8zYPQJfTXrr4xiUDV4.jpg" alt="A thermal image of the Beckham Hotel Collection Pillow Pillow showing a temperature reading of 79 °F" /><figcaption>... and the uhhh, 'cool' side<small role="credit">Future / FLIR</small></figcaption></figure></figure><h3 class="article-body__section" id="section-should-you-save-or-splurge-on-a-cooling-pillow"><span>Should you save or splurge on a cooling pillow?</span></h3><p>So, should you spend or save on a cooling pillow? My test results show that cooling tech might not live up to its high promises. If it's a breathable feel you're after, cotton covers and airy fill can make a big difference.</p><p>However, I'd note I tested the Helix Cooling Memory Foam Pillow at home during some brutal weather. (It's been heatwave after heatwave in my city.) Throughout it all, my pillow stayed neutral, if not cool.</p><p>And we know from testing over 130 of the <a href="https://www.tomsguide.com/mattresses/best-mattress">best mattresses</a> online that cooling tech can make a serious difference to your sleep comfort. The <a href="https://www.tomsguide.com/best-picks/best-cooling-mattress">best cooling mattresses</a> we've tested feature either specialist materials or use natural fabrics to create a chilled feel.</p><p>And luxury pillows do have their benefits, including enhanced durability. After being tossed around our Sleep Lab, the Helix Pillow looked in better shape than the Hotel Collection alternative.</p><p>My advice? You don't need to splurge to sleep cool, but investing in sleep comfort pays off in the long term.</p><h3 class="article-body__section" id="section-our-favorite-cooling-sleep-products"><span>Our favorite cooling sleep products</span></h3>        <div class="featured_product_block featured_block_hero" data-id="8715ce74-8b2e-11f1-8d10-fd4dbdedd679">            <a href="https://www.amazon.com/NEWGO-Pressure-Blackout-Puffiness-Headaches/dp/B0D8W8QR1F" data-model-name="Cooling Eye Mask" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.26%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/DEEfN4cYkb2HAQsFAUsJv6.jpg" alt="A NewGo Cooling Gel Eye Mask against a blue icy background edited by Gemini"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>NEWGO</div>                                        <div class="featured__title">Cooling Eye Mask</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8715cee2-8b2e-11f1-80d7-f9cda3930ee7">            <a href="https://www.amazon.com/Packs-Injuries-Kinetic-Labs-Pack/dp/B06XBKG542/" data-model-name="Gel Ice Packs" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/tXrubS4pDPAEB4V98Xw8kA.jpg" alt="A two pack of Kinetic Labs Gel Ice Packs against a blue icy background edited by Gemini"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Kinetic Labs</div>                                        <div class="featured__title">Gel Ice Packs</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8715cf46-8b2e-11f1-8ff2-91521703d471">            <a href="https://coopsleepgoods.com/collections/comphy-coolspa-sheet-sets/products/comphy-coolspa-pillowcase-set?variant=43416401215541" data-model-name="Cool+ Pillowcase Set" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.26%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/B9hbcYfR3HetA2hkNe5HeE.jpg" alt="A set of two pillows in Coop Cool+ Pillowcases against a blue icy background edited by Gemini"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Coop Sleep Goods</div>                                        <div class="featured__title">Cool+ Pillowcase Set</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8715cfb4-8b2e-11f1-b63c-eb5e4dcf308e">            <a href="https://us.theoodie.com/products/wave-print-blanket" data-model-name="Cooling Blanket" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.93%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/mNRBAWrwCvZMMfgu9VewTJ.jpg" alt="A Wave Print Oodie Cooling Blanket against a blue icy background edited by Gemini"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Oodie</div>                                        <div class="featured__title">Cooling Blanket</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8715d018-8b2e-11f1-94f9-dd00099cc1ac">            <a href="https://www.amazon.com/Dreo-Oscillating-Standing-Adjustable-Circulator/dp/B0DQDQVTT3" data-model-name="Oscillating Fan" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.93%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/23FVHj2Y2cywHZqYjhs7TM.jpg" alt="A DREO Oscillating Fan against a blue icy background edited by Gemini"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>DREO</div>                                        <div class="featured__title">Oscillating Fan</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="0f4c82b2-8b3c-11f1-8135-4fc9d3feed32">            <a href="https://bedjet.com/collections/shop-all/products/bedjet-3-climate-comfort-system-with-biorhythm-sleep-technology" data-model-name="Climate Comfort System" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/P4CNi9DjQ5Zj6DtiTvK2hR.jpg" alt="The BedJet Climate Comfort System 3 plus remote and smartphone app against a blue icy background edited by Gemini"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>BedJet 3</div>                                        <div class="featured__title">Climate Comfort System</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/mattresses/pillows-bedding/i-pointed-a-thermal-cam-at-a-luxury-cooling-pillow-to-see-if-it-actually-helps-you-stay-cool-in-a-heatwave</link>
                                                                            <description>
                            <![CDATA[ We pitted a $93 luxury cooling pillow against a $20 down alternative pillow by pointing a thermal imaging camera at both. Here's which one kept our testers from searching for the cool side... ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">EFpXCBGaiZgQRwaDGqLYzU</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/hW69oRdeVr8RJe5Pnaf9Ea-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 31 Jul 2026 10:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Pillows & Bedding]]></category>
                                                    <category><![CDATA[Sleep]]></category>
                                                    <category><![CDATA[Mattresses]]></category>
                                                    <category><![CDATA[Wellness]]></category>
                                                                                                <author><![CDATA[ ruth.jones@futurenet.com (Ruth Jones) ]]></author>                    <dc:creator><![CDATA[ Ruth Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Cqbswyyro7aBYnvMKaoS6W.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/hW69oRdeVr8RJe5Pnaf9Ea-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A pillow is shown on a corner of a mattress. A circle overlapping the pillow shows a thermal imaging reading. ]]></media:description>                                                            <media:text><![CDATA[A pillow is shown on a corner of a mattress. A circle overlapping the pillow shows a thermal imaging reading. ]]></media:text>
                                <media:title type="plain"><![CDATA[A pillow is shown on a corner of a mattress. A circle overlapping the pillow shows a thermal imaging reading. ]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/hW69oRdeVr8RJe5Pnaf9Ea-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Sleeping on a hot, stuffy pillow in summer is a nightmare when I want to fall asleep fast. In fact, <a href="https://pubmed.ncbi.nlm.nih.gov/30454599/" target="_blank">research</a> shows that <a href="https://www.tomsguide.com/reference/the-best-temperature-for-sleeping">your body naturally cools as you go to sleep</a>, so a heat-trapping pillow means you don't get the temperature drop you need to drift off. </p><p>The <a href="https://www.tomsguide.com/best-picks/best-pillow">best pillows</a> should avoid this problem, and we've found that luxury cooling pillows are top notch at<a href="https://www.tomsguide.com/wellness/mattresses/temperature-regulation"> regulating temperature</a>. But is there a cheaper way to keep your head cool at night? Or is a fancy pillow packed with cooling tech the only way to keep you comfortable on a hot night? </p><p>To find out, I grabbed my $93 Helix Cooling Memory Foam Pillow, the $20 Beckham Hotel Collection Bed Pillow, and a trusty thermal cam. Here's how much heat each pillow absorbed and shed when our testers slept on these headrests in our lab...</p><h2 id="key-takeaways-at-a-glance">Key takeaways: At a glance</h2><ul><li><strong>Hot temperatures make it difficult to sleep, as your body naturally cools before bed. Some pillow materials trap warm air rather than help it circulate. As a result, you get a hot head that can't cool down.</strong></li><li><strong>Cooling pillows claim to use special materials that help wick away warmth, to keep you comfortable.</strong></li><li><strong>However, our thermal cam tests showed for a neutral feel, a cotton cover might be enough.</strong></li><li><strong>And flipping to the cool side won't always provide the relief you need — one of our pillows was actually warmer on the unused side.</strong></li></ul><h2 id="how-we-tested-a-cheap-vs-a-luxury-cooling-pillow">How we tested a cheap vs a luxury cooling pillow</h2><p><a href="https://www.tomsguide.com/wellness/mattresses/temperature-regulation">Temperature regulation</a> testing is a key part of our rigorous <a href="https://www.tomsguide.com/mattresses/how-we-test">mattress testing methodology</a>. So when it came to analyzing our pillows, I turned to our tried and tested method.</p><p>In a comfortable environment, we ask a tester to lie on the pillow for 15 minutes. This is ample time for heat to transfer and cooling properties to kick in. The tester then gets up and we continue to measure the temperature of the pillow for the next 15 minutes. This allows heat to disperse (... or not).</p><p>For pillows, I also employed a flip test. After the above tests, I flipped the pillow to see how cool the other side was.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-egK6Ke"></div>                            </div>                            <script src="https://kwizly.com/embed/egK6Ke.js" async></script><h3 class="article-body__section" id="section-meet-the-pillows"><span>Meet the pillows:</span></h3><p>I used two pillows for this test. One, a luxurious <a href="https://www.tomsguide.com/wellness/mattresses/types-of-foam">memory foam</a> pillow packed with cooling tech. The other, an affordable pillow with 'down alternative' fill (that's probably fiber fill).</p><div class="product"><a data-dimension112="2cae6184-8a6c-11f1-828c-75bba894caa4" data-action="Deal Block" data-label="Cooling Memory Foam Pillow" data-dimension48="Cooling Memory Foam Pillow" data-dimension25="$93" href="https://helixsleep.com/products/glaciotex-cooling-memory-foam-pillow?test=true" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1550px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="NzouUwcUWYcx24CemundmA" name="Helix Cooling Memory Foam pillow deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/NzouUwcUWYcx24CemundmA.jpg" mos="" align="middle" fullscreen="" width="1550" height="1550" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>With a cool-to-the touch <a href="https://www.tomsguide.com/wellness/mattresses/what-is-glaciotex" data-dimension112="2cae6184-8a6c-11f1-828c-75bba894caa4" data-action="Deal Block" data-label="Cooling Memory Foam Pillow" data-dimension48="Cooling Memory Foam Pillow" data-dimension25="$93">GlacioTex </a>cover (designed to wick away warmth) and a gel insert (designed to draw away heat), the Helix Cooling Memory Foam Pillow is made for hot nights. It's also dense and squishy, delivering exceptional pressure relief. At $94 in the <a href="https://www.tomsguide.com/deals/helix-mattress-discounts">Helix mattress sale</a> it's a splurge but I loved it during my <a href="https://www.tomsguide.com/mattresses/pillows-bedding/helix-cooling-memory-foam-pillow-review">Helix Cooling Memory Foam Pillow review</a> period.</p><p><strong>Our </strong><a href="https://www.tomsguide.com/mattresses/pillows-bedding/helix-cooling-memory-foam-pillow-review"><strong>Helix Cooling Memory Foam Pillow review</strong></a><strong>: ★★★★½</strong><a class="view-deal button" href="https://helixsleep.com/products/glaciotex-cooling-memory-foam-pillow?test=true" target="_blank" rel="nofollow" data-dimension112="2cae6184-8a6c-11f1-828c-75bba894caa4" data-action="Deal Block" data-label="Cooling Memory Foam Pillow" data-dimension48="Cooling Memory Foam Pillow" data-dimension25="$93">View Deal</a></p></div><div class="product"><a data-dimension112="2cae61f2-8a6c-11f1-b9c4-a30e36f86d61" data-action="Deal Block" data-label="Down Alternative Pillow (2-pack)" data-dimension48="Down Alternative Pillow (2-pack)" data-dimension25="$41.97" href="https://www.amazon.com/Pillows-for-Sleeping-2-Pack/dp/B01LYNW421/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:606px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="Y2qnRfQgVzjFMq7f6uaHpN" name="Beckham Hotel Collection deals" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Y2qnRfQgVzjFMq7f6uaHpN.jpg" mos="" align="middle" fullscreen="" width="606" height="606" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Pillows-for-Sleeping-2-Pack/dp/B01LYNW421/?th=1" target="_blank" rel="nofollow" data-dimension112="2cae61f2-8a6c-11f1-b9c4-a30e36f86d61" data-action="Deal Block" data-label="Down Alternative Pillow (2-pack)" data-dimension48="Down Alternative Pillow (2-pack)" data-dimension25="$41.97">Down Alternative Pillow (2-pack): was $59.99 now $41.97</a></strong><br>The Beckham Hotel Collection pillows have a silky-soft finish thanks to a cotton cover. But while the down-alternative fill is initially comfortable, our <a href="https://www.tomsguide.com/mattresses/pillows-bedding/beckham-hotel-collection-pillow-review">Beckham Hotel Collection Pillow review</a> team were less impressed with the durability. And apart from a breathable cover and a lightweight build, it lacks any specialist cooling tech. However with a two-pack often under $50, it's an affordable choice.</p><p><strong>Our </strong><a href="https://www.tomsguide.com/mattresses/pillows-bedding/beckham-hotel-collection-pillow-review"><strong>Beckham Hotel Collection Pillow review</strong></a><strong>: ★★★½</strong><br><a href="https://www.amazon.com/Pillows-for-Sleeping-2-Pack/dp/B01LYNW421/" target="_blank"><strong>User score</strong></a><strong>: ★★★★½ </strong>(262,000+ reviews)<a class="view-deal button" href="https://www.amazon.com/Pillows-for-Sleeping-2-Pack/dp/B01LYNW421/?th=1" target="_blank" rel="nofollow" data-dimension112="2cae61f2-8a6c-11f1-b9c4-a30e36f86d61" data-action="Deal Block" data-label="Down Alternative Pillow (2-pack)" data-dimension48="Down Alternative Pillow (2-pack)" data-dimension25="$41.97">View Deal</a></p></div><h3 class="article-body__section" id="section-test-1-how-quickly-does-the-pillow-get-warm"><span>Test 1: How quickly does the pillow get warm?</span></h3><p>For part one of the test, sleep writer <a href="https://www.tomsguide.com/author/frances-daniels">Frances Daniels</a> graciously agreed to lie on each pillow for 15 minutes. We used a <a href="https://www.tomsguide.com/wellness/sleep/this-is-the-best-position-for-sleep-according-to-a-chiropractor">side sleeping position</a> as its the most common and a breathable but not cooling mattress (the <a href="https://www.tomsguide.com/reviews/dreamcloud-mattress">DreamCloud Classic Mattress</a>).</p><p>Click through the gallery to see what happened:</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/44YnYwxBSn734kLmeDt9AH.jpg" alt="On the left, tester Frances lies on the Helix Cooling Memory Foam Pillow. After 1 minute, the temperature is 83.1. On the right, tester Frances lies on the Hotel Collection Pillow. After 1 minutes, the temperature is 89.3." /><figcaption>The Helix Cooling Memory Foam Pillow on the left, the Hotel collection pillow on the right<small role="credit">Future / FLIR</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/FzHfcctqjhXsoJYgwbYXZG.jpg" alt="On the left, tester Frances lies on the Helix Cooling Memory Foam Pillow. After 3 minutes, the temperature is 83.5. On the right, tester Frances lies on the Hotel Collection Pillow. After 3 minutes, the temperature is 87" /><figcaption>The Helix Cooling Memory Foam Pillow on the left, the Hotel collection pillow on the right<small role="credit">Future / FLIR</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/xtpLysmCGECWg6z3VtqDvG.jpg" alt="On the left, tester Frances lies on the Helix Cooling Memory Foam Pillow. After 6 minutes, the temperature is 83.4. On the right, tester Frances lies on the Hotel Collection Pillow. After 6 minutes, the temperature is 84.5" /><figcaption>The Helix Cooling Memory Foam Pillow on the left, the Hotel collection pillow on the right<small role="credit">Future / FLIR</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/xhPw3SN7K9ubXtJAzEPX9H.jpg" alt="On the left, tester Frances lies on the Helix Cooling Memory Foam Pillow. After 9 minutes, the temperature is 85. On the right, tester Frances lies on the Hotel Collection Pillow. After 9 minutes, the temperature is 86.1" /><figcaption>The Helix Cooling Memory Foam Pillow on the left, the Hotel collection pillow on the right<small role="credit">Future / FLIR</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/bcx9Z2Gud4tf5qN54PVY9H.jpg" alt="On the left, tester Frances lies on the Helix Cooling Memory Foam Pillow. After 12 minutes, the temperature is 85.5. On the right, tester Frances lies on the Hotel Collection Pillow. After 12 minutes, the temperature is 86.7" /><figcaption>The Helix Cooling Memory Foam Pillow on the left, the Hotel collection pillow on the right<small role="credit">Future / FLIR</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/vFDXSnQYHjLbGCJPFbGUAH.jpg" alt="On the left, tester Frances lies on the Helix Cooling Memory Foam Pillow. After 15 minutes, the temperature is 87.9. On the right, tester Frances lies on the Hotel Collection Pillow. After 15 minutes, the temperature is 86.5" /><figcaption>The Helix Cooling Memory Foam Pillow on the left, the Hotel collection pillow on the right<small role="credit">Future / FLIR</small></figcaption></figure></figure><p>We marked the center of each pillow, which is where Frances rested her head. This is also where we took a temperature reading every minute.</p><iframe allow="" height="600px" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://crow.futurecdn.net/live/toms-guide-pillow-temperature-comparison-how-quickly-do-they-heat-up-line-807599/toms_guide_pillow_temperature_comparison_how_quickly_do_they_heat_up_line_807599.html"></iframe><h2 id="verdict-2">Verdict</h2><p>The Helix Cooling Memory Foam pillow is delightfully chill when you touch it. So when you first settle into that <a href="https://www.tomsguide.com/wellness/mattresses/what-is-glaciotex">GlacioTex</a> cover, it's going to feel great.</p><p>From there, the temperature gradually rose but never tipped over into uncomfortable. Frances noted (as did I during my testing period) that once the pillow had warmed to your body temperature, it hardly wavered.</p><p>The Beckham Hotel Collection pillow also impressed, and did so with the help of just a cotton cover. After a big initial jump in temperature (13.3°F), it slowly cooled and evened out. However, you won't get that initial 'aaah' of Helix's chilled cover. </p><h3 class="article-body__section" id="section-test-2-how-quickly-does-the-pillow-cool-down"><span>Test 2: How quickly does the pillow cool down?</span></h3><p>The work continues once our tester, the lovely Frances, has stepped away. For the next 15 minutes I monitored the temperature at the center of the pillow. This shows us how quickly the heat dissipates. </p><p>Click through the gallery to see what happened:</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/CtqUH3QGeH9fQ3RCVBWt74.jpg" alt="On the left, the Helix Cooling Memory Foam Pillow through a thermal cam. At minute 1, it's 82.6 °F. On the right, the Beckham Hotel Collection Pillow. At minute 1, it's 79.8°F." /><figcaption><small role="credit">Future / FLIR</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/QvhndAkBFgv2x9786S2H84.jpg" alt="On the left, the Helix Cooling Memory Foam Pillow through a thermal cam. At minute 3, it's 81 °F. On the right, the Beckham Hotel Collection Pillow. At minute 3, it's 78.2°F." /><figcaption><small role="credit">Future / FLIR</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/bwCHBk7Nqc3sHXtAPPCKFJ.jpg" alt="On the left, the Helix Cooling Memory Foam Pillow through a thermal cam. At minute 6, it's 79.8 °F. On the right, the Beckham Hotel Collection Pillow. At minute 6, it's 78.1°F." /><figcaption><small role="credit">Future / FLIR</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/9DhM3oZPFbBJXjuFGdFpcJ.jpg" alt="On the left, the Helix Cooling Memory Foam Pillow through a thermal cam. At minute 9, it's 80 °F. On the right, the Beckham Hotel Collection Pillow. At minute 9, it's 77.9 °F." /><figcaption><small role="credit">Future / FLIR</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4WP8vBFsxMXn29YJP6JSeJ.jpg" alt="On the left, the Helix Cooling Memory Foam Pillow through a thermal cam. At minute 12, it's 78.7 °F. On the right, the Beckham Hotel Collection Pillow. At minute 12, it's 77.9 °F." /><figcaption><small role="credit">Future / FLIR</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/6vhXPAq7R6t7SjP8aMhvRJ.jpg" alt="On the left, the Helix Cooling Memory Foam Pillow through a thermal cam. At minute 15, it's 78.8 °F. On the right, the Beckham Hotel Collection Pillow. At minute 15, it's 77.5 °F." /><figcaption><small role="credit">Future / FLIR</small></figcaption></figure></figure><iframe allow="" height="600px" width="100%" id="" style="" class="position-center" data-lazy-priority="low" data-lazy-src="https://crow.futurecdn.net/live/toms-guide-pillow-temperature-comparison-how-quickly-do-they-cool-down-line-345775/toms_guide_pillow_temperature_comparison_how_quickly_do_they_cool_down_line_345775.html"></iframe><h2 id="verdict-3">Verdict</h2><p>A good cooling pillow should drop excess heat quickly. This means when you sit up in bed or step away for a few minutes, you can return to a blissfully chilled sleep surface.</p><p>You won't get that with either of these options. </p><p>The Helix Cooling Pillow took a long time to lose just 4°F of warmth. Even after 15 minutes, it wasn't back to the icy feel we started with. However, the edges and corners of the pillow kept cool. So if you're willing to move around, you don't have to sleep on the warm patch.</p><p>The Beckham Hotel Collection Pillow dropped to a cooler temperature quicker. After this initial heat shed, it remained roughly 2°F higher than when we started — that's a neutral feel. </p><p>These results back up our hands-on testing. If you get up to use the bathroom or grab a drink during the night, you won't return to a cool pillow. However, you should get back to something with an even, neutral finish.</p><h3 class="article-body__section" id="section-test-3-what-about-the-cool-side"><span>Test 3: What about the 'cool side'?</span></h3><p>There are few moments quite as satisfying as the brief relief of the cool side of the pillow. But in the spirit of investigation, I wanted to see just how cool this cool side is...</p><p>Having completed our tests, I flipped the pillows to reveal the so-called 'cool side'. </p><p>First up, the Helix Cooling Pillow. While the pillow wasn't as blissfully chilled on the other side as I expected, it did drop 1.4°F.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/eUTnLn4Pa9j6mvtB5h7E5Z.jpg" alt="A thermal image of the Helix Cooling Memory Foam Pillow showing a temperature reading of 78.9 °F" /><figcaption>The warm side of the Helix Cooling Memory Foam Pillow<small role="credit">Future / FLIR</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/LW97NKscXrR3aCXeoPAyUU.jpg" alt="A thermal image of the Helix Cooling Memory Foam Pillow showing a temperature reading of 77.5 °F" /><figcaption>... and flipped, the cool side of the Helix Cooling Memory Foam Pillow<small role="credit">Future /FLIR</small></figcaption></figure></figure><p>However, I was in for a shock with the Hotel Collection Pillow. A quick flip revealed the pillow was actually <em>warmer </em>on the other side. 1.8°F warmer, to be precise.</p><p>That's not a huge temperature jump. But it's not what you want when you're <a href="https://www.tomsguide.com/wellness/sleep/why-do-i-keep-waking-up-at-3am">awake at 3 a.m.</a></p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/KwfUN2dAohg5iyWgWzZ4um.jpg" alt="A thermal image of the Beckham Hotel Collection Pillow showing a temperature reading of 77.2 °F" /><figcaption>The warm side of the Beckham Hotel Collection pillow<small role="credit">Future / FLIR</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/SUdm8zYPQJfTXrr4xiUDV4.jpg" alt="A thermal image of the Beckham Hotel Collection Pillow Pillow showing a temperature reading of 79 °F" /><figcaption>... and the uhhh, 'cool' side<small role="credit">Future / FLIR</small></figcaption></figure></figure><h3 class="article-body__section" id="section-should-you-save-or-splurge-on-a-cooling-pillow"><span>Should you save or splurge on a cooling pillow?</span></h3><p>So, should you spend or save on a cooling pillow? My test results show that cooling tech might not live up to its high promises. If it's a breathable feel you're after, cotton covers and airy fill can make a big difference.</p><p>However, I'd note I tested the Helix Cooling Memory Foam Pillow at home during some brutal weather. (It's been heatwave after heatwave in my city.) Throughout it all, my pillow stayed neutral, if not cool.</p><p>And we know from testing over 130 of the <a href="https://www.tomsguide.com/mattresses/best-mattress">best mattresses</a> online that cooling tech can make a serious difference to your sleep comfort. The <a href="https://www.tomsguide.com/best-picks/best-cooling-mattress">best cooling mattresses</a> we've tested feature either specialist materials or use natural fabrics to create a chilled feel.</p><p>And luxury pillows do have their benefits, including enhanced durability. After being tossed around our Sleep Lab, the Helix Pillow looked in better shape than the Hotel Collection alternative.</p><p>My advice? You don't need to splurge to sleep cool, but investing in sleep comfort pays off in the long term.</p><h3 class="article-body__section" id="section-our-favorite-cooling-sleep-products"><span>Our favorite cooling sleep products</span></h3>        <div class="featured_product_block featured_block_hero" data-id="8715ce74-8b2e-11f1-8d10-fd4dbdedd679">            <a href="https://www.amazon.com/NEWGO-Pressure-Blackout-Puffiness-Headaches/dp/B0D8W8QR1F" data-model-name="Cooling Eye Mask" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.26%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/DEEfN4cYkb2HAQsFAUsJv6.jpg" alt="A NewGo Cooling Gel Eye Mask against a blue icy background edited by Gemini"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>NEWGO</div>                                        <div class="featured__title">Cooling Eye Mask</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8715cee2-8b2e-11f1-80d7-f9cda3930ee7">            <a href="https://www.amazon.com/Packs-Injuries-Kinetic-Labs-Pack/dp/B06XBKG542/" data-model-name="Gel Ice Packs" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/tXrubS4pDPAEB4V98Xw8kA.jpg" alt="A two pack of Kinetic Labs Gel Ice Packs against a blue icy background edited by Gemini"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Kinetic Labs</div>                                        <div class="featured__title">Gel Ice Packs</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8715cf46-8b2e-11f1-8ff2-91521703d471">            <a href="https://coopsleepgoods.com/collections/comphy-coolspa-sheet-sets/products/comphy-coolspa-pillowcase-set?variant=43416401215541" data-model-name="Cool+ Pillowcase Set" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.26%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/B9hbcYfR3HetA2hkNe5HeE.jpg" alt="A set of two pillows in Coop Cool+ Pillowcases against a blue icy background edited by Gemini"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Coop Sleep Goods</div>                                        <div class="featured__title">Cool+ Pillowcase Set</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8715cfb4-8b2e-11f1-b63c-eb5e4dcf308e">            <a href="https://us.theoodie.com/products/wave-print-blanket" data-model-name="Cooling Blanket" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.93%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/mNRBAWrwCvZMMfgu9VewTJ.jpg" alt="A Wave Print Oodie Cooling Blanket against a blue icy background edited by Gemini"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Oodie</div>                                        <div class="featured__title">Cooling Blanket</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8715d018-8b2e-11f1-94f9-dd00099cc1ac">            <a href="https://www.amazon.com/Dreo-Oscillating-Standing-Adjustable-Circulator/dp/B0DQDQVTT3" data-model-name="Oscillating Fan" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.93%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/23FVHj2Y2cywHZqYjhs7TM.jpg" alt="A DREO Oscillating Fan against a blue icy background edited by Gemini"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>DREO</div>                                        <div class="featured__title">Oscillating Fan</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="0f4c82b2-8b3c-11f1-8135-4fc9d3feed32">            <a href="https://bedjet.com/collections/shop-all/products/bedjet-3-climate-comfort-system-with-biorhythm-sleep-technology" data-model-name="Climate Comfort System" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/P4CNi9DjQ5Zj6DtiTvK2hR.jpg" alt="The BedJet Climate Comfort System 3 plus remote and smartphone app against a blue icy background edited by Gemini"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>BedJet 3</div>                                        <div class="featured__title">Climate Comfort System</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I gave Claude Opus 5 and Kimi K3 15 impossible prompts — the winner surprised me ]]></title>
                                                                                                <dc:content><![CDATA[ <p>When you push frontier models past <a href="https://www.tomsguide.com/ai/claude-code-vs-chatgpt-codex-which-ai-coding-agent-is-actually-better">standard coding tests</a> and into the reality of enterprise workflows, their true capabilities and quirks show.  With Anthropic having just launched Claude Opus 5 and Moonshot AI dropping its newest <a href="https://www.tomsguide.com/ai/what-is-kimi-k3-everything-you-need-to-know-about-the-new-chatgpt-rival">Kimi model </a>the same week, the timing was perfect to see how the absolute latest generation of AI handles real-world development.</p><p>I ran 15 grueling, highly technical prompts against these two brand-new heavyweight engines. From orchestrating multi-agent TDD loops to architecting secure browser extensions, the goal was to test their analytical limits right out of the gate. What I  found was a  fundamental split in how these models solve problems. One thinks like a strategic infrastructure architect; the other builds like a lead systems engineer. Here is how it all shook out.</p><h2 id="1-the-multi-agent-workflow">1. The multi-agent workflow</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/J8SWfj9mQL74X9LGQtcB5D.jpg" alt="Opus 5 vs. Kimi K3" /><figcaption>Opus 5 vs. Kimi K3<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/8YNQUJ8udqKurwjaoFVhbE.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt:</strong> <em>"Draft a Python script using LangChain that orchestrates a two-agent system: Agent A writes unit tests based on a user specification, and Agent B writes the functional code to pass them. Include a loop where Agent B refines the code if Agent A's tests fail."</em><br><br><strong>Opus 5</strong> produced a complete, production-ready LangChain implementation that fully satisfied the prompt, including distinct test-writing and code-writing agents, an orchestration layer, automatic test execution and an iterative refinement loop when tests failed.</p><p><strong>Kimi </strong>took a practical approach by including dependency installation, API key setup, and execution instructions, making it easy for someone to get started running the project.</p><p><strong>Winner:</strong> <strong>Opus wins</strong> because it delivered the complete two-agent TDD system requested, including the orchestration logic and refinement loop, whereas Kimi focused more on setup and execution than the full implementation.</p><h2 id="2-the-authentication-architecture">2. The authentication architecture</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/iSbs3bmsX2r2pp6Qx7XpcQ.jpg" alt="Opus 5 vs. Kimi K3" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/G4v84cmyKiex2sLWqsG7HS.jpg" alt="Opus 5 vs. Kimi K3" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt:</strong><em><strong> </strong></em><em>"Design a secure authentication model for an AI agent operating within a browser extension. Focus on token scoping, session hijacking prevention, and how it differs from traditional OAuth 2.0 flows."</em></p><p><strong>Opus 5</strong> stood out by explaining not just <em>what</em> the authentication model should look like, but <em>why</em> each design decision matters, tying together browser extension security, capability-based tokens, session protection and the limitations of traditional OAuth into a cohesive architecture.</p><p><strong>Kimi </strong>delivered an exceptionally detailed security architecture with concrete implementation ideas, including native host token storage, capability-attested tokens, runtime attestation and code examples, that made the design feel immediately actionable.</p><p><strong>Winner:</strong> <strong>Kimi</strong> <strong>wins</strong> because it went deeper into implementation details, threat modeling and practical security mechanisms, producing a design that reads like an engineering architecture document.</p><h2 id="3-the-open-weight-integration">3. The open-weight Integration</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/GD7JMGNFVNjCeJVfYpFGPY.jpg" alt="Opus 5 vs. Kimi K3" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/2shUsYvJMHeEfzRtfV3GGa.jpg" alt="Opus 5 vs. Kimi K3" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt:</strong> <em>"Write a conceptual technical specification for replacing a cloud-based AI coding assistant in a proprietary IDE with a locally hosted, open-weight model. Address context-window management and latency mitigation."</em></p><p><strong>Opus 5 </strong>produced a well-structured technical specification that balanced architectural decisions with practical implementation details, particularly its thoughtful treatment of context-window budgeting, retrieval strategies and latency optimization for local inference.</p><p><strong>Kimi</strong> excelled at systems engineering depth, covering everything from runtime architecture and communication protocols to quantization, performance SLAs, deployment strategy, and migration planning in a document that felt ready for an engineering design review.</p><p><strong>Winner:</strong> <strong>Kimi</strong> <strong>wins </strong>because it delivered the more comprehensive end-to-end specification, extending beyond the prompt to include deployment, performance targets, security, migration phases and operational considerations while maintaining strong technical depth throughout.</p><h2 id="4-the-legacy-refactor">4. The legacy refactor</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/NHbaBGnxLnvvx3gti87yhm.jpg" alt="Winner: Kimi wins" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/MF96PDjASuhX6AsomkuTVo.jpg" alt="Winner: Kimi wins" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt:</strong> <em>"Refactor this legacy React class component into a modern functional component using custom hooks. Before writing the code, outline your step-by-step reasoning and the architectural trade-offs you are making."</em></p><p><strong>Opus 5 </strong>explained the reasoning process and then demonstrated the complete refactoring approach with a realistic example, making the architectural decisions and trade-offs concrete rather than theoretical.</p><p><strong>Kimi </strong>responded cautiously, providing a detailed refactoring framework and architectural checklist without making assumptions.</p><p><strong>Winner: Opus wins</strong> because it went beyond identifying the input and showcased reasoning, trade-offs and refactoring strategy.</p><h2 id="5-the-resource-allocation-algorithm">5. The resource allocation algorithm</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/3PUDiqwej7DyhaZs5miYA9.jpg" alt="versus" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/83y3VZuAwYZYskt39XboZA.jpg" alt="versus" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt:</strong> <em>"A logistics network has 5 distribution centers and 15 delivery zones. If center A suffers a 40% capacity drop, calculate the optimal redistribution of load minimizing transit cost. Provide the exact mathematical formulation, defining all variables in  format."</em></p><p><strong>Opus 5</strong> went beyond the requested linear program by explaining the underlying optimization theory, including dual variables, feasibility conditions, total unimodularity and the economic interpretation of the solution.</p><p><strong>Kimi</strong> closely matched the prompt by presenting a clean mathematical formulation in the requested format, explicitly defining every variable, constraint and matrix representation in a concise, easy-to-follow structure.</p><p><strong>Winner:</strong> <strong>Kimi wins </strong>because it adhered more precisely to the prompt, providing the exact mathematical formulation and variable definitions requested, whereas Claude expanded into optimization theory and analysis beyond what was asked.</p><h2 id="6-the-logic-trap">6. The logic trap</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/h4oR4v2EUAegSFt6RQZcHK.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/myZHnguKzeeUzurLfXPxZL.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt:</strong><em><strong> </strong></em><em>"Identify the logical fallacies and structural flaws in this argument: 'Because open-weight models have lower inference costs, they will inevitably degrade in long-horizon reasoning tasks, meaning proprietary models will forever maintain an unbreachable moat.'"</em></p><p><strong>Opus 5 </strong>clearly explained the core logical flaws in a narrative format, focusing on why the argument's causal chain fails and how words like "inevitably," "forever," and "unbreachable" weaken its reasoning.</p><p><strong>Kimi </strong>delivered a comprehensive fallacy analysis, identifying a broad range of logical errors and pairing each one with a specific explanation and examples, making the critique systematic and easy to follow.</p><p><strong>Winner:</strong> <strong>Kimi</strong> <strong>wins </strong>because it identified more distinct logical and structural flaws while organizing them into a thorough, well-supported analysis that addressed both formal fallacies and broader reasoning errors.</p><h2 id="7-the-prompt-injection-defense">7. The prompt injection defense</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/2v6qdXQZTh4J4FTcDST2pR.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/nckUriSboX53Auzwreim4T.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt:</strong> <em>"Simulate an automated prompt injection testing system evaluating a customer support bot. Generate three highly sophisticated, multi-turn injection vectors designed to extract the bot's system instructions, followed by the robust system prompts needed to neutralize them."</em></p><p><strong>Opus 5</strong> handled the request responsibly by declining to generate working prompt injection attacks while still providing useful guidance on defensive architecture, evaluation strategies, and secure design principles.</p><p><strong>Kimi </strong>produced a comprehensive red-team testing framework with detailed attack taxonomy, evaluation metrics, layered defensive prompts, and broader architectural mitigations for assessing prompt injection resilience.</p><p><strong>Winner: Opus wins </strong>because it appropriately refused to generate sophisticated prompt injection vectors while still offering meaningful defensive guidance, whereas Kimi's response included detailed attack content that is not appropriate to generate in an open setting.</p><h2 id="8-the-constraint-challenge">8. The constraint challenge</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/8CzVA7gT3mcPb99WysMktb.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/dwtEvFKwB9S9HUmmHxE99d.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt:</strong> <em>"Write a comprehensive summary of the latest trends in enterprise software infrastructure, but you must strictly avoid using the letters 'e' and 't' in the final paragraph."</em><br><br><strong>Opus 5</strong>  produced a thorough, well-organized summary of modern enterprise infrastructure trends with clear explanations and strong coverage of topics like agentic AI, platform engineering, hybrid cloud, and security — but it did not satisfy the prompt's constraint because the final paragraph contains both the letters "e" and "t."</p><p><strong>Kimi</strong> delivered a comprehensive overview of the major infrastructure trends while successfully crafting a final paragraph that avoided the forbidden letters, demonstrating careful adherence to the prompt's lexical constraint.</p><p><strong>Winner: Kimi wins</strong> because it produced a strong technical summary and correctly satisfied the prompt's unusual requirement to exclude the letters "e" and "t" from the final paragraph, whereas Claude did not.</p><h2 id="9-the-unstructured-data-parser">9. The unstructured data parser</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/8Uuw3jDwpVNHfjuu9ZBeZD.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/9sW37dc5ygjmQYtwEeAoqE.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt: </strong><em>"Create a strict JSON schema for extracting actionable tasks, deadlines, and project dependencies from a messy, unstructured transcript of a chaotic hour-long engineering standup."</em></p><p><strong>Opus 5 </strong>produced a highly expressive JSON Schema that went beyond basic task extraction by modeling ambiguous ownership, blockers, confidence, transcript quality, inferred priorities, and messy conversational patterns common in real engineering standups.</p><p><strong>Kimi </strong>created a strict, validation-oriented JSON Schema with well-defined object structures, required fields, and clear constraints that cleanly capture action items, deadlines, dependencies, and related project metadata.</p><p><strong>Winner: Opus wins </strong>because its schema is more comprehensive and better suited to extracting structured information from a chaotic, unstructured engineering standup, capturing uncertainty, inference, and conversational complexity rather than only enforcing rigid validation.</p><h2 id="10-the-meta-prompt-generator">10. The meta-prompt generator</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/x6CkLik5GobWNpPQoriAZM.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/7HJGq2MKJNVGwQC5MjYSAP.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt: </strong><em>"Write a system instruction prompt designed to force a smaller, less capable secondary language model to consistently analyze and grade the code quality of its peers without hallucinating false syntax errors."</em><br><br><strong>Opus 5</strong> created an exceptionally detailed system prompt with rigorous anti-hallucination safeguards, explicit grading criteria, structured JSON output requirements, and behavioral guardrails that minimize false syntax errors while producing consistent, evidence-backed code reviews.</p><p><strong>Kimi </strong>produced a clear, conservative evaluation framework that strongly emphasizes avoiding false positives through step-by-step analysis, careful classification of syntax versus logic versus style, and multiple self-verification checks before issuing a grade.</p><p><strong>Winner:</strong> <strong>Opus wins </strong>because it provides a more comprehensive and operationally robust instruction set, combining detailed anti-hallucination protocols, precise evidence requirements, standardized output, grading calibration, and edge-case guidance into a system prompt that is better suited for consistently evaluating code quality.</p><h2 id="11-the-developer-platform-strategy">11. The developer platform strategy</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/7rvb6Htiht3zksqHfQxXNX.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/tUe8LZtvdDwDLzz9F9bdUY.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt: </strong><em>"Analyze the programmatic API features required to turn a traditional consumer domain registrar into an infrastructure-as-code platform for developers. What are the necessary endpoints?"</em></p><p><strong>Opus 5 </strong>clearly identified the core API domains required for an infrastructure-as-code registrar, explaining not only the necessary endpoints but also the architectural principles—such as idempotency, drift detection, bulk operations, and declarative state—that distinguish an IaC platform from a traditional registrar.</p><p><strong>Kimi </strong>delivered an exceptionally detailed API blueprint, defining comprehensive endpoint taxonomies alongside the specific behaviors, infrastructure requirements, and operational characteristics needed to support Terraform, Pulumi, and other declarative automation workflows.</p><p><strong>Winner:</strong> <strong>Kimi</strong> <strong>wins</strong> because it provided a more exhaustive and implementation-ready specification, pairing nearly every endpoint with the IaC-specific capabilities that make it suitable for real-world infrastructure automation rather than simply exposing registrar functionality.</p><h2 id="12-the-workflow-automation-setup">12. The workflow automation setup</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/tHQYEtkymqjzxgjNaGgqTf.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/VimUHjxdwjjKUhEamxQikg.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt:</strong> <em>"Map out an automated content pipeline that takes a raw RSS feed of technical release notes, summarizes the key architectural changes, and generates a formatted Markdown newsletter draft, detailing the specific API calls and webhooks required."</em></p><p><strong>Opus 5 </strong>designed a well-structured end-to-end content pipeline that clearly explained each processing stage, the associated API calls, and how webhooks, AI summarization, review, and publishing fit together into a reliable automated workflow.</p><p><strong>Kimi </strong>produced a highly detailed implementation blueprint with explicit API contracts, webhook payloads, internal service interfaces, error handling, retry policies, and infrastructure components that could serve as a near-production technical specification.</p><p><strong>Winner:</strong> <strong>Kimi wins</strong> because it went beyond describing the pipeline to define concrete API contracts, webhook schemas, internal services, and operational behaviors, making it a more complete and implementation-ready architecture.</p><h2 id="13-the-attention-mechanism-breakdown">13. The Attention Mechanism Breakdown</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/mhEHcEntCoketDmdjA5Wt5.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/wLpAryso7HmiZSYr4Zgq57.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt:</strong> <em>"Explain the theoretical differences between standard self-attention and delta attention mechanisms in transformer models. How do these differences impact computational overhead during extreme long-context inference?"</em></p><p><strong>Opus 5 </strong>delivered a more precise theoretical explanation of delta-rule attention, deriving the error-correcting state update step by step and tying that formulation directly to constant-size recurrent memory, linear sequence scaling, and the loss of exact token-level recall.</p><p><strong>Kimi </strong>gave a broad, well-structured comparison that covered multiple possible meanings of “delta attention,” clearly connected each mechanism to prefill, KV-cache growth, memory bandwidth, decoding latency, and the tradeoff between compression and exact retrieval.</p><p> <strong>Winner:</strong> <strong>Opus wins </strong>because it stayed more tightly focused on the actual delta-rule mechanism and explained both the mathematics and the long-context systems implications with greater depth and conceptual clarity.</p><h2 id="14-the-strategic-acquisition-analysis">14. The strategic acquisition analysis</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/XdvvM4uVBZoLjz2LsfF4MJ.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/vFJJsMjWDS82WbWJDmbvvK.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt: </strong><em>"Analyze the infrastructure implications of a major streaming platform acquiring a generative AI video startup. How does integrating AI production pipelines alter their existing cloud compute and storage moats?"</em></p><p><strong>Opus 5 </strong>focused on strategic infrastructure tradeoffs, explaining how an acquisition would reshape compute, storage, CDNs, and organizational priorities in a way that feels like the analysis of an experienced infrastructure architect rather than a technical manual.</p><p><strong>Kimi </strong>delivered a far more exhaustive technical breakdown, backing its arguments with concrete architectures, workload patterns, storage models, cost comparisons, and specific technologies, making it feel like a white paper written for cloud engineers.</p><p><strong>Winner: Kimi wins</strong> for answering  the prompt more completely. It explored nearly every infrastructure implication (compute, storage, networking, economics, MLOps, cloud strategy, security, and integration) with greater technical specificity. If the goal is depth of infrastructure analysis, Kimi takes it. If the goal is communicating those ideas clearly to executives or a broader technical audience, Opus is the better writer.</p><h2 id="15-the-earnings-signal">15. The earnings signal</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/Eaqqv8cBJAi6KVgejGWw9W.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/x5PK24jstae463bh35wrkY.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt:</strong> <em>"Interpret a hypothetical scenario where a major legacy enterprise tech company misses its Q2 software earnings due to a shift in how development teams utilize AI. What downstream effects would this have on their cloud service renewals?"</em></p><p><strong>Opus 5 </strong>built a highly believable business narrative, connecting changes in AI-assisted development to procurement behavior, talent, services revenue, and cloud renewals in a way that feels like the analysis of someone who has sat through enterprise earnings calls.</p><p><strong>Kimi </strong>excelled at operational detail, breaking the scenario into concrete mechanisms, renewal metrics, pricing dynamics, and second-order business effects that make the causal chain easy to follow.</p><p><strong>Winner:</strong> <strong>Opus wins</strong> because it focused on explaining <em>why</em> the earnings miss would ripple through cloud renewals and produced a cohesive strategic analysis. Kimi added impressive specificity—including tables, hypothetical renewal rates, and operational examples—but occasionally drifted into invented metrics and speculative precision. For this prompt, Opus better balanced realism, causality, and executive-level insight.</p><h2 id="verdict-kimi-wins-overall">Verdict: Kimi wins overall </h2><p>Kimi takes the narrow victory here, winning 8 of the 15 categories, but the results reveal a clear division of labor. Kimi is the ultimate systems engineer. It dominated prompts requiring strict constraint adherence, exhaustive operational details, and concrete mathematical formulations. When you need a ready-to-deploy specification or a rigid data schema, Kimi is the tool for the job.</p><p>Opus 5, however, remains the superior strategist. It won consistently on prompts that required narrative reasoning, theoretical depth and executive communication. It acts as the CTO in the loop, excelling at identifying logical fallacies, weighing architectural trade-offs and evaluating peer code. Choose Kimi for the implementation but rely on Opus for the strategy.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/claude/i-just-learned-your-claude-ai-chats-could-show-up-in-google-heres-how-to-check-yours"><strong>I just learned your Claude AI chats could show up in Google — here's how to check yours</strong></a></li><li><a href="https://www.tomsguide.com/ai/i-searched-amazon-for-ai-written-books-and-it-was-much-harder-to-spot-them-than-i-expected"><strong>I searched Amazon for AI-written books — and it was much harder to spot them than I expected</strong></a></li><li><a href="https://www.tomsguide.com/ai/i-use-googles-ai-to-thrift-for-my-big-family-these-are-the-5-features-that-actually-save-me-money"><strong>I use Google's AI to thrift for my big family — these are the 5 features that actually save me money</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/ai/i-gave-claude-opus-5-and-kimi-k3-15-impossible-prompts-the-winner-surprised-me</link>
                                                                            <description>
                            <![CDATA[ I pitted Claude Opus 5 against Kimi K3 with 15 demanding coding and infrastructure prompts to see which AI model actually performs better for developers. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">NfevbemLRmHEQmhmiZuawB</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/L8cAzghw7MuQ4ngxjca7nf-1280-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Wed, 29 Jul 2026 05:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[AI]]></category>
                                                    <category><![CDATA[Claude]]></category>
                                                                                                <author><![CDATA[ amanda.caswell@futurenet.com (Amanda Caswell) ]]></author>                    <dc:creator><![CDATA[ Amanda Caswell ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/zYjevim2q7FjQiefqpjZRB.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/png" url="https://cdn.mos.cms.futurecdn.net/L8cAzghw7MuQ4ngxjca7nf-1280-80.png">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Moonshot vs. Anthropic]]></media:description>                                                            <media:text><![CDATA[Moonshot vs. Anthropic]]></media:text>
                                <media:title type="plain"><![CDATA[Moonshot vs. Anthropic]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/L8cAzghw7MuQ4ngxjca7nf-1280-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>When you push frontier models past <a href="https://www.tomsguide.com/ai/claude-code-vs-chatgpt-codex-which-ai-coding-agent-is-actually-better">standard coding tests</a> and into the reality of enterprise workflows, their true capabilities and quirks show.  With Anthropic having just launched Claude Opus 5 and Moonshot AI dropping its newest <a href="https://www.tomsguide.com/ai/what-is-kimi-k3-everything-you-need-to-know-about-the-new-chatgpt-rival">Kimi model </a>the same week, the timing was perfect to see how the absolute latest generation of AI handles real-world development.</p><p>I ran 15 grueling, highly technical prompts against these two brand-new heavyweight engines. From orchestrating multi-agent TDD loops to architecting secure browser extensions, the goal was to test their analytical limits right out of the gate. What I  found was a  fundamental split in how these models solve problems. One thinks like a strategic infrastructure architect; the other builds like a lead systems engineer. Here is how it all shook out.</p><h2 id="1-the-multi-agent-workflow">1. The multi-agent workflow</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/J8SWfj9mQL74X9LGQtcB5D.jpg" alt="Opus 5 vs. Kimi K3" /><figcaption>Opus 5 vs. Kimi K3<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/8YNQUJ8udqKurwjaoFVhbE.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt:</strong> <em>"Draft a Python script using LangChain that orchestrates a two-agent system: Agent A writes unit tests based on a user specification, and Agent B writes the functional code to pass them. Include a loop where Agent B refines the code if Agent A's tests fail."</em><br><br><strong>Opus 5</strong> produced a complete, production-ready LangChain implementation that fully satisfied the prompt, including distinct test-writing and code-writing agents, an orchestration layer, automatic test execution and an iterative refinement loop when tests failed.</p><p><strong>Kimi </strong>took a practical approach by including dependency installation, API key setup, and execution instructions, making it easy for someone to get started running the project.</p><p><strong>Winner:</strong> <strong>Opus wins</strong> because it delivered the complete two-agent TDD system requested, including the orchestration logic and refinement loop, whereas Kimi focused more on setup and execution than the full implementation.</p><h2 id="2-the-authentication-architecture">2. The authentication architecture</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/iSbs3bmsX2r2pp6Qx7XpcQ.jpg" alt="Opus 5 vs. Kimi K3" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/G4v84cmyKiex2sLWqsG7HS.jpg" alt="Opus 5 vs. Kimi K3" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt:</strong><em><strong> </strong></em><em>"Design a secure authentication model for an AI agent operating within a browser extension. Focus on token scoping, session hijacking prevention, and how it differs from traditional OAuth 2.0 flows."</em></p><p><strong>Opus 5</strong> stood out by explaining not just <em>what</em> the authentication model should look like, but <em>why</em> each design decision matters, tying together browser extension security, capability-based tokens, session protection and the limitations of traditional OAuth into a cohesive architecture.</p><p><strong>Kimi </strong>delivered an exceptionally detailed security architecture with concrete implementation ideas, including native host token storage, capability-attested tokens, runtime attestation and code examples, that made the design feel immediately actionable.</p><p><strong>Winner:</strong> <strong>Kimi</strong> <strong>wins</strong> because it went deeper into implementation details, threat modeling and practical security mechanisms, producing a design that reads like an engineering architecture document.</p><h2 id="3-the-open-weight-integration">3. The open-weight Integration</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/GD7JMGNFVNjCeJVfYpFGPY.jpg" alt="Opus 5 vs. Kimi K3" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/2shUsYvJMHeEfzRtfV3GGa.jpg" alt="Opus 5 vs. Kimi K3" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt:</strong> <em>"Write a conceptual technical specification for replacing a cloud-based AI coding assistant in a proprietary IDE with a locally hosted, open-weight model. Address context-window management and latency mitigation."</em></p><p><strong>Opus 5 </strong>produced a well-structured technical specification that balanced architectural decisions with practical implementation details, particularly its thoughtful treatment of context-window budgeting, retrieval strategies and latency optimization for local inference.</p><p><strong>Kimi</strong> excelled at systems engineering depth, covering everything from runtime architecture and communication protocols to quantization, performance SLAs, deployment strategy, and migration planning in a document that felt ready for an engineering design review.</p><p><strong>Winner:</strong> <strong>Kimi</strong> <strong>wins </strong>because it delivered the more comprehensive end-to-end specification, extending beyond the prompt to include deployment, performance targets, security, migration phases and operational considerations while maintaining strong technical depth throughout.</p><h2 id="4-the-legacy-refactor">4. The legacy refactor</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/NHbaBGnxLnvvx3gti87yhm.jpg" alt="Winner: Kimi wins" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/MF96PDjASuhX6AsomkuTVo.jpg" alt="Winner: Kimi wins" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt:</strong> <em>"Refactor this legacy React class component into a modern functional component using custom hooks. Before writing the code, outline your step-by-step reasoning and the architectural trade-offs you are making."</em></p><p><strong>Opus 5 </strong>explained the reasoning process and then demonstrated the complete refactoring approach with a realistic example, making the architectural decisions and trade-offs concrete rather than theoretical.</p><p><strong>Kimi </strong>responded cautiously, providing a detailed refactoring framework and architectural checklist without making assumptions.</p><p><strong>Winner: Opus wins</strong> because it went beyond identifying the input and showcased reasoning, trade-offs and refactoring strategy.</p><h2 id="5-the-resource-allocation-algorithm">5. The resource allocation algorithm</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/3PUDiqwej7DyhaZs5miYA9.jpg" alt="versus" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/83y3VZuAwYZYskt39XboZA.jpg" alt="versus" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt:</strong> <em>"A logistics network has 5 distribution centers and 15 delivery zones. If center A suffers a 40% capacity drop, calculate the optimal redistribution of load minimizing transit cost. Provide the exact mathematical formulation, defining all variables in  format."</em></p><p><strong>Opus 5</strong> went beyond the requested linear program by explaining the underlying optimization theory, including dual variables, feasibility conditions, total unimodularity and the economic interpretation of the solution.</p><p><strong>Kimi</strong> closely matched the prompt by presenting a clean mathematical formulation in the requested format, explicitly defining every variable, constraint and matrix representation in a concise, easy-to-follow structure.</p><p><strong>Winner:</strong> <strong>Kimi wins </strong>because it adhered more precisely to the prompt, providing the exact mathematical formulation and variable definitions requested, whereas Claude expanded into optimization theory and analysis beyond what was asked.</p><h2 id="6-the-logic-trap">6. The logic trap</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/h4oR4v2EUAegSFt6RQZcHK.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/myZHnguKzeeUzurLfXPxZL.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt:</strong><em><strong> </strong></em><em>"Identify the logical fallacies and structural flaws in this argument: 'Because open-weight models have lower inference costs, they will inevitably degrade in long-horizon reasoning tasks, meaning proprietary models will forever maintain an unbreachable moat.'"</em></p><p><strong>Opus 5 </strong>clearly explained the core logical flaws in a narrative format, focusing on why the argument's causal chain fails and how words like "inevitably," "forever," and "unbreachable" weaken its reasoning.</p><p><strong>Kimi </strong>delivered a comprehensive fallacy analysis, identifying a broad range of logical errors and pairing each one with a specific explanation and examples, making the critique systematic and easy to follow.</p><p><strong>Winner:</strong> <strong>Kimi</strong> <strong>wins </strong>because it identified more distinct logical and structural flaws while organizing them into a thorough, well-supported analysis that addressed both formal fallacies and broader reasoning errors.</p><h2 id="7-the-prompt-injection-defense">7. The prompt injection defense</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/2v6qdXQZTh4J4FTcDST2pR.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/nckUriSboX53Auzwreim4T.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt:</strong> <em>"Simulate an automated prompt injection testing system evaluating a customer support bot. Generate three highly sophisticated, multi-turn injection vectors designed to extract the bot's system instructions, followed by the robust system prompts needed to neutralize them."</em></p><p><strong>Opus 5</strong> handled the request responsibly by declining to generate working prompt injection attacks while still providing useful guidance on defensive architecture, evaluation strategies, and secure design principles.</p><p><strong>Kimi </strong>produced a comprehensive red-team testing framework with detailed attack taxonomy, evaluation metrics, layered defensive prompts, and broader architectural mitigations for assessing prompt injection resilience.</p><p><strong>Winner: Opus wins </strong>because it appropriately refused to generate sophisticated prompt injection vectors while still offering meaningful defensive guidance, whereas Kimi's response included detailed attack content that is not appropriate to generate in an open setting.</p><h2 id="8-the-constraint-challenge">8. The constraint challenge</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/8CzVA7gT3mcPb99WysMktb.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/dwtEvFKwB9S9HUmmHxE99d.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt:</strong> <em>"Write a comprehensive summary of the latest trends in enterprise software infrastructure, but you must strictly avoid using the letters 'e' and 't' in the final paragraph."</em><br><br><strong>Opus 5</strong>  produced a thorough, well-organized summary of modern enterprise infrastructure trends with clear explanations and strong coverage of topics like agentic AI, platform engineering, hybrid cloud, and security — but it did not satisfy the prompt's constraint because the final paragraph contains both the letters "e" and "t."</p><p><strong>Kimi</strong> delivered a comprehensive overview of the major infrastructure trends while successfully crafting a final paragraph that avoided the forbidden letters, demonstrating careful adherence to the prompt's lexical constraint.</p><p><strong>Winner: Kimi wins</strong> because it produced a strong technical summary and correctly satisfied the prompt's unusual requirement to exclude the letters "e" and "t" from the final paragraph, whereas Claude did not.</p><h2 id="9-the-unstructured-data-parser">9. The unstructured data parser</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/8Uuw3jDwpVNHfjuu9ZBeZD.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/9sW37dc5ygjmQYtwEeAoqE.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt: </strong><em>"Create a strict JSON schema for extracting actionable tasks, deadlines, and project dependencies from a messy, unstructured transcript of a chaotic hour-long engineering standup."</em></p><p><strong>Opus 5 </strong>produced a highly expressive JSON Schema that went beyond basic task extraction by modeling ambiguous ownership, blockers, confidence, transcript quality, inferred priorities, and messy conversational patterns common in real engineering standups.</p><p><strong>Kimi </strong>created a strict, validation-oriented JSON Schema with well-defined object structures, required fields, and clear constraints that cleanly capture action items, deadlines, dependencies, and related project metadata.</p><p><strong>Winner: Opus wins </strong>because its schema is more comprehensive and better suited to extracting structured information from a chaotic, unstructured engineering standup, capturing uncertainty, inference, and conversational complexity rather than only enforcing rigid validation.</p><h2 id="10-the-meta-prompt-generator">10. The meta-prompt generator</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/x6CkLik5GobWNpPQoriAZM.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/7HJGq2MKJNVGwQC5MjYSAP.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt: </strong><em>"Write a system instruction prompt designed to force a smaller, less capable secondary language model to consistently analyze and grade the code quality of its peers without hallucinating false syntax errors."</em><br><br><strong>Opus 5</strong> created an exceptionally detailed system prompt with rigorous anti-hallucination safeguards, explicit grading criteria, structured JSON output requirements, and behavioral guardrails that minimize false syntax errors while producing consistent, evidence-backed code reviews.</p><p><strong>Kimi </strong>produced a clear, conservative evaluation framework that strongly emphasizes avoiding false positives through step-by-step analysis, careful classification of syntax versus logic versus style, and multiple self-verification checks before issuing a grade.</p><p><strong>Winner:</strong> <strong>Opus wins </strong>because it provides a more comprehensive and operationally robust instruction set, combining detailed anti-hallucination protocols, precise evidence requirements, standardized output, grading calibration, and edge-case guidance into a system prompt that is better suited for consistently evaluating code quality.</p><h2 id="11-the-developer-platform-strategy">11. The developer platform strategy</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/7rvb6Htiht3zksqHfQxXNX.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/tUe8LZtvdDwDLzz9F9bdUY.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt: </strong><em>"Analyze the programmatic API features required to turn a traditional consumer domain registrar into an infrastructure-as-code platform for developers. What are the necessary endpoints?"</em></p><p><strong>Opus 5 </strong>clearly identified the core API domains required for an infrastructure-as-code registrar, explaining not only the necessary endpoints but also the architectural principles—such as idempotency, drift detection, bulk operations, and declarative state—that distinguish an IaC platform from a traditional registrar.</p><p><strong>Kimi </strong>delivered an exceptionally detailed API blueprint, defining comprehensive endpoint taxonomies alongside the specific behaviors, infrastructure requirements, and operational characteristics needed to support Terraform, Pulumi, and other declarative automation workflows.</p><p><strong>Winner:</strong> <strong>Kimi</strong> <strong>wins</strong> because it provided a more exhaustive and implementation-ready specification, pairing nearly every endpoint with the IaC-specific capabilities that make it suitable for real-world infrastructure automation rather than simply exposing registrar functionality.</p><h2 id="12-the-workflow-automation-setup">12. The workflow automation setup</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/tHQYEtkymqjzxgjNaGgqTf.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/VimUHjxdwjjKUhEamxQikg.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt:</strong> <em>"Map out an automated content pipeline that takes a raw RSS feed of technical release notes, summarizes the key architectural changes, and generates a formatted Markdown newsletter draft, detailing the specific API calls and webhooks required."</em></p><p><strong>Opus 5 </strong>designed a well-structured end-to-end content pipeline that clearly explained each processing stage, the associated API calls, and how webhooks, AI summarization, review, and publishing fit together into a reliable automated workflow.</p><p><strong>Kimi </strong>produced a highly detailed implementation blueprint with explicit API contracts, webhook payloads, internal service interfaces, error handling, retry policies, and infrastructure components that could serve as a near-production technical specification.</p><p><strong>Winner:</strong> <strong>Kimi wins</strong> because it went beyond describing the pipeline to define concrete API contracts, webhook schemas, internal services, and operational behaviors, making it a more complete and implementation-ready architecture.</p><h2 id="13-the-attention-mechanism-breakdown">13. The Attention Mechanism Breakdown</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/mhEHcEntCoketDmdjA5Wt5.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/wLpAryso7HmiZSYr4Zgq57.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt:</strong> <em>"Explain the theoretical differences between standard self-attention and delta attention mechanisms in transformer models. How do these differences impact computational overhead during extreme long-context inference?"</em></p><p><strong>Opus 5 </strong>delivered a more precise theoretical explanation of delta-rule attention, deriving the error-correcting state update step by step and tying that formulation directly to constant-size recurrent memory, linear sequence scaling, and the loss of exact token-level recall.</p><p><strong>Kimi </strong>gave a broad, well-structured comparison that covered multiple possible meanings of “delta attention,” clearly connected each mechanism to prefill, KV-cache growth, memory bandwidth, decoding latency, and the tradeoff between compression and exact retrieval.</p><p> <strong>Winner:</strong> <strong>Opus wins </strong>because it stayed more tightly focused on the actual delta-rule mechanism and explained both the mathematics and the long-context systems implications with greater depth and conceptual clarity.</p><h2 id="14-the-strategic-acquisition-analysis">14. The strategic acquisition analysis</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/XdvvM4uVBZoLjz2LsfF4MJ.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/vFJJsMjWDS82WbWJDmbvvK.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt: </strong><em>"Analyze the infrastructure implications of a major streaming platform acquiring a generative AI video startup. How does integrating AI production pipelines alter their existing cloud compute and storage moats?"</em></p><p><strong>Opus 5 </strong>focused on strategic infrastructure tradeoffs, explaining how an acquisition would reshape compute, storage, CDNs, and organizational priorities in a way that feels like the analysis of an experienced infrastructure architect rather than a technical manual.</p><p><strong>Kimi </strong>delivered a far more exhaustive technical breakdown, backing its arguments with concrete architectures, workload patterns, storage models, cost comparisons, and specific technologies, making it feel like a white paper written for cloud engineers.</p><p><strong>Winner: Kimi wins</strong> for answering  the prompt more completely. It explored nearly every infrastructure implication (compute, storage, networking, economics, MLOps, cloud strategy, security, and integration) with greater technical specificity. If the goal is depth of infrastructure analysis, Kimi takes it. If the goal is communicating those ideas clearly to executives or a broader technical audience, Opus is the better writer.</p><h2 id="15-the-earnings-signal">15. The earnings signal</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/Eaqqv8cBJAi6KVgejGWw9W.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/x5PK24jstae463bh35wrkY.jpg" alt="screenshot" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Prompt:</strong> <em>"Interpret a hypothetical scenario where a major legacy enterprise tech company misses its Q2 software earnings due to a shift in how development teams utilize AI. What downstream effects would this have on their cloud service renewals?"</em></p><p><strong>Opus 5 </strong>built a highly believable business narrative, connecting changes in AI-assisted development to procurement behavior, talent, services revenue, and cloud renewals in a way that feels like the analysis of someone who has sat through enterprise earnings calls.</p><p><strong>Kimi </strong>excelled at operational detail, breaking the scenario into concrete mechanisms, renewal metrics, pricing dynamics, and second-order business effects that make the causal chain easy to follow.</p><p><strong>Winner:</strong> <strong>Opus wins</strong> because it focused on explaining <em>why</em> the earnings miss would ripple through cloud renewals and produced a cohesive strategic analysis. Kimi added impressive specificity—including tables, hypothetical renewal rates, and operational examples—but occasionally drifted into invented metrics and speculative precision. For this prompt, Opus better balanced realism, causality, and executive-level insight.</p><h2 id="verdict-kimi-wins-overall">Verdict: Kimi wins overall </h2><p>Kimi takes the narrow victory here, winning 8 of the 15 categories, but the results reveal a clear division of labor. Kimi is the ultimate systems engineer. It dominated prompts requiring strict constraint adherence, exhaustive operational details, and concrete mathematical formulations. When you need a ready-to-deploy specification or a rigid data schema, Kimi is the tool for the job.</p><p>Opus 5, however, remains the superior strategist. It won consistently on prompts that required narrative reasoning, theoretical depth and executive communication. It acts as the CTO in the loop, excelling at identifying logical fallacies, weighing architectural trade-offs and evaluating peer code. Choose Kimi for the implementation but rely on Opus for the strategy.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/claude/i-just-learned-your-claude-ai-chats-could-show-up-in-google-heres-how-to-check-yours"><strong>I just learned your Claude AI chats could show up in Google — here's how to check yours</strong></a></li><li><a href="https://www.tomsguide.com/ai/i-searched-amazon-for-ai-written-books-and-it-was-much-harder-to-spot-them-than-i-expected"><strong>I searched Amazon for AI-written books — and it was much harder to spot them than I expected</strong></a></li><li><a href="https://www.tomsguide.com/ai/i-use-googles-ai-to-thrift-for-my-big-family-these-are-the-5-features-that-actually-save-me-money"><strong>I use Google's AI to thrift for my big family — these are the 5 features that actually save me money</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I walked 7,000 steps with the Garmin Cirqa vs Fitbit Air — and there's a clear winner ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Which new screen-free fitness tracker is more accurate, the Fitbit Air or the Garmin Cirqa? I decided to find out by popping one on either wrist and logging a long walk.</p><p>Even though the <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-just-went-hands-on-with-the-garmin-cirqa-and-it-strikes-a-near-perfect-balance-between-the-fitbit-air-and-whoop-5-0">Garmin Cirqa</a> is twice the cost of the <a href="https://www.tomsguide.com/wellness/fitness-trackers/fitbit-air-review">Fitbit Air</a> — $199 vs $99 — these two trackers have a lot in common. Screen-free, your primary method for interacting with either is through the companion app. That said, the Cirqa also has one physical button to start and stop workouts.</p><p>More importantly, neither has onboard GPS, so both require you to bring your paired phone along when logging an outdoor workout so that they can piggyback off its location and elevation data. </p><p>Now, on to the test!</p><div class="product star-deal"><a data-dimension112="b4bf739a-87ad-11f1-b5bc-45577e1d0439" data-action="Star Deal Block" data-label="Air" data-dimension48="Air" href="https://www.amazon.com/Google-Fitbit-Air-Screenless-Personalized/dp/B0GTMTZF3V/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:794px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="UcGoezMNaNCCtsaSfVKrqL" name="Google Fitbit Air" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/UcGoezMNaNCCtsaSfVKrqL.jpg" mos="" align="middle" fullscreen="" width="794" height="794" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>At $99, the screen-free Fitbit Air is a fantastic little fitness tracker that's super comfortable, long-lasting, and discreet. Kind of like a Fitbit Inspire 3 minus the display, it's one of my favorite wearables of 2026.<a class="view-deal button" href="https://www.amazon.com/Google-Fitbit-Air-Screenless-Personalized/dp/B0GTMTZF3V/?th=1" target="_blank" rel="nofollow" data-dimension112="b4bf739a-87ad-11f1-b5bc-45577e1d0439" data-action="Star Deal Block" data-label="Air" data-dimension48="Air" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="b4bf741c-87ad-11f1-9865-cfcc6d58b1e4" data-action="Deal Block" data-label="Cirqa" data-dimension48="Cirqa" data-dimension25="$" href="https://www.amazon.com/Garmin-CIRQATM-Smart-Subscription-French/dp/B0H94C68DZ/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:903px;"><p class="vanilla-image-block" style="padding-top:110.30%;"><img id="9hSH5VJVhpTbr5YMN8Adsm" name="Screenshot 2026-07-24 at 3.20.34 PM" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/9hSH5VJVhpTbr5YMN8Adsm.png" mos="" align="middle" fullscreen="" width="903" height="996" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Garmin Cirqa is a screen-less fitness tracker with only a single button to start and stop workouts. Boasting up to ten days of battery and a lightweight design, it's Garmin's answer to the Whoop 5.0 and Fitbit Air.<a class="view-deal button" href="https://www.amazon.com/Garmin-CIRQATM-Smart-Subscription-French/dp/B0H94C68DZ/" target="_blank" rel="nofollow" data-dimension112="b4bf741c-87ad-11f1-9865-cfcc6d58b1e4" data-action="Deal Block" data-label="Cirqa" data-dimension48="Cirqa" data-dimension25="$">View Deal</a></p></div><h3 class="article-body__section" id="section-fitbit-air-vs-garmin-cirqa-walk-test-rules"><span>Fitbit Air vs Garmin Cirqa: Walk test rules</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5712px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="zrwLhcy7pE9gHz99a3wDGf" name="GarminCirqa-v-FitbitAir-02" alt="Close-up of the Garmin Cirqa screen-free fitness tracker" src="https://cdn.mos.cms.futurecdn.net/zrwLhcy7pE9gHz99a3wDGf.jpg" mos="" align="middle" fullscreen="" width="5712" height="3213" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>I manually counted 7,000 steps — using my <a href="https://www.amazon.com/SDARMING-Counters-Counting-Knitting-Coaching/dp/B0971CF137/" target="_blank" rel="nofollow">trusty $6 tally counter</a> to log every hundred — with the Fitbit Air on my left wrist and the Garmin Cirqa on my right wrist to determine which is the more accurate fitness tracker. </p><p>I also ran Strava on my iPhone 16 Plus for additional step count, distance, elevation, and pace data. For the Fitbit Air, I manually began a walking workout from the Google Health app. For the Garmin Cirqa, I started the workout by pressing the single button. This proved to be a mistake.</p><h3 class="article-body__section" id="section-fitbit-air-vs-garmin-cirqa-walk-test-results"><span>Fitbit Air vs Garmin Cirqa: Walk test results </span></h3><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Fitbit Air</p></th><th  ><p>Garmin Cirqa</p></th><th  ><p>Control</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Steps</strong></p></td><td  ><p>6,990 steps</p></td><td  ><p>7,070 steps</p></td><td  ><p>7,000 steps (manual count)</p></td></tr><tr><td class="firstcol " ><p><strong>Distance</strong></p></td><td  ><p>3.86 miles</p></td><td  ><p>not provided</p></td><td  ><p>3.86 miles (Strava)</p></td></tr><tr><td class="firstcol " ><p><strong>Climb</strong></p></td><td  ><p>236 feet</p></td><td  ><p>not provided</p></td><td  ><p> 405 feet (Strava)</p></td></tr><tr><td class="firstcol " ><p><strong>Average pace </strong></p></td><td  ><p> 16 mins 17 secs</p></td><td  ><p>not provided</p></td><td  ><p>16 mins 35 secs (Strava)</p></td></tr><tr><td class="firstcol " ><p><strong>Average heart rate</strong></p></td><td  ><p>115 bpm</p></td><td  ><p>123 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Max heart rate</strong></p></td><td  ><p>135 bpm</p></td><td  ><p>160 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Calories burned</strong></p></td><td  ><p>532 calories</p></td><td  ><p>464 calories </p></td><td  ><p>n/a</p></td></tr></tbody></table></div><p>It took me about one hour to walk 7,000 steps around sunny Seattle, Washington, a step count total that all three tracking methods came remarkably close to. For these tests, I consider any tally within 100 steps of my actual total to be outstanding. </p><p>Ultimately, the Fitbit Air undercounted by a mere ten steps, while the Garmin Cirqa overcounted by 70. Strava, meanwhile, overcounted by ten. </p><p>Unfortunately, because the Cirqa logged my efforts as a generic workout rather than an outdoor walk, it frustratingly didn't register any distance, climb, or pace data for this test.</p><p>The Fitbit Air, on the other hand, logged the same distance as Strava, which isn't too surprising given both are making use of the same GPS data. However, its climb data is seemingly waaaay off. This is <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-walked-4-000-steps-with-the-fitbit-air-vs-pixel-watch-4-and-im-genuinely-shocked-by-the-results">neither the first</a> nor <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-walked-5-000-steps-with-the-apple-watch-11-vs-fitbit-air-and-theres-a-clear-winner">the second time</a> I've had an issue with climb data when it comes to the Air.</p><p>Fortunately, the Air's pace data is much more aligned with Strava's. </p><p>The lack of consistency between the Air and Cirqa for heart rate data is a tad concerning. Without control data, it's hard to say for sure which watch is more accurate in this regard, but I suspect it's the Garmin, given my walk involved quickly ascending several very steep hills, which definitely got the blood pumping.</p><h3 class="article-body__section" id="section-samsung-galaxy-watch-ultra-2-vs-apple-watch-ultra-3-winner"><span>Samsung Galaxy Watch Ultra 2 vs Apple Watch Ultra 3: Winner </span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3615px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="V5bphk5nqaWqaTZMwFPFaL" name="IMG_0408" alt="a photo of the Fitbit Air and the Garmin Cirqa on the wrist" src="https://cdn.mos.cms.futurecdn.net/V5bphk5nqaWqaTZMwFPFaL.jpg" mos="" align="middle" fullscreen="" width="3615" height="2034" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Despite continuing to struggle with climb data, the Fitbit Air beats the Garmin Cirqa in this walk test head-to-head by a small but legit margin. This is similar to the results my colleague Jane discovered when she tested these two gadgets against one another in a <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-walked-5-000-steps-with-the-garmin-cirqa-and-fitbit-air-and-the-winner-is-clear">4,000-step comparison</a>.</p><p>Stay tuned for more testing and coverage of the Garmin Cirqa, including my full review, coming soon.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/can-the-usd99-fitbit-air-beat-the-usd799-apple-watch-ultra-3-at-fitness-tracking-i-manually-counted-4-500-steps-to-find-out">Can the $99 Fitbit Air beat the $799 Apple Watch Ultra 3 at fitness tracking? I manually counted 4,500 steps to find out</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/i-manually-counted-4-000-steps-to-test-the-apple-watch-ultra-3-vs-samsung-galaxy-watch-ultra-2-and-samsung-wins-the-accuracy-battle-with-better-elevation-data-too">I walked 4,000 steps with the Apple Watch Ultra 3 vs Samsung Galaxy Watch Ultra 2 — and the winning margin was razor-thin</a></li><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/oura-whoop-or-fitbit-air-5-questions-to-ask-yourself-before-buying-a-screen-free-fitness-tracker">Oura vs Whoop vs Fitbit Air — 5 questions to ask yourself before buying a screen-free fitness tracker</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/wellness/fitness-trackers/i-walked-7-000-steps-with-the-garmin-cirqa-vs-fitbit-air-and-theres-a-clear-winner</link>
                                                                            <description>
                            <![CDATA[ Which screen-free fitness tracker is more accurate, the Fitbit Air or the Garmin Cirqa? I decided to find out by popping one on either wrist and logging a long walk. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">LwQwWeoBCGf93yqLSoC9Ba</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/y55QpRXhUiM9N8DKrxbLSe-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 27 Jul 2026 11:30:00 +0000</pubDate>                                                                                                                                <updated>Thu, 30 Jul 2026 14:01:24 +0000</updated>
                                                                                                                                            <category><![CDATA[Fitness Trackers]]></category>
                                                    <category><![CDATA[Wellness]]></category>
                                                    <category><![CDATA[Smartwatches]]></category>
                                                                                                <author><![CDATA[ dan.bracaglia@futurenet.com (Dan Bracaglia) ]]></author>                    <dc:creator><![CDATA[ Dan Bracaglia ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/3Ev8EFrheNxPemMWSBaKcK.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;&lt;br&gt;&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/y55QpRXhUiM9N8DKrxbLSe-1280-80.jpg">
                                                            <media:credit><![CDATA[Dan Bracaglia/Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Close-up of the Garmin Cirqa screen-free fitness tracker]]></media:description>                                                            <media:text><![CDATA[Close-up of the Garmin Cirqa screen-free fitness tracker]]></media:text>
                                <media:title type="plain"><![CDATA[Close-up of the Garmin Cirqa screen-free fitness tracker]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/y55QpRXhUiM9N8DKrxbLSe-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Which new screen-free fitness tracker is more accurate, the Fitbit Air or the Garmin Cirqa? I decided to find out by popping one on either wrist and logging a long walk.</p><p>Even though the <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-just-went-hands-on-with-the-garmin-cirqa-and-it-strikes-a-near-perfect-balance-between-the-fitbit-air-and-whoop-5-0">Garmin Cirqa</a> is twice the cost of the <a href="https://www.tomsguide.com/wellness/fitness-trackers/fitbit-air-review">Fitbit Air</a> — $199 vs $99 — these two trackers have a lot in common. Screen-free, your primary method for interacting with either is through the companion app. That said, the Cirqa also has one physical button to start and stop workouts.</p><p>More importantly, neither has onboard GPS, so both require you to bring your paired phone along when logging an outdoor workout so that they can piggyback off its location and elevation data. </p><p>Now, on to the test!</p><div class="product star-deal"><a data-dimension112="b4bf739a-87ad-11f1-b5bc-45577e1d0439" data-action="Star Deal Block" data-label="Air" data-dimension48="Air" href="https://www.amazon.com/Google-Fitbit-Air-Screenless-Personalized/dp/B0GTMTZF3V/?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:794px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="UcGoezMNaNCCtsaSfVKrqL" name="Google Fitbit Air" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/UcGoezMNaNCCtsaSfVKrqL.jpg" mos="" align="middle" fullscreen="" width="794" height="794" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>At $99, the screen-free Fitbit Air is a fantastic little fitness tracker that's super comfortable, long-lasting, and discreet. Kind of like a Fitbit Inspire 3 minus the display, it's one of my favorite wearables of 2026.<a class="view-deal button" href="https://www.amazon.com/Google-Fitbit-Air-Screenless-Personalized/dp/B0GTMTZF3V/?th=1" target="_blank" rel="nofollow" data-dimension112="b4bf739a-87ad-11f1-b5bc-45577e1d0439" data-action="Star Deal Block" data-label="Air" data-dimension48="Air" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="b4bf741c-87ad-11f1-9865-cfcc6d58b1e4" data-action="Deal Block" data-label="Cirqa" data-dimension48="Cirqa" data-dimension25="$" href="https://www.amazon.com/Garmin-CIRQATM-Smart-Subscription-French/dp/B0H94C68DZ/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:903px;"><p class="vanilla-image-block" style="padding-top:110.30%;"><img id="9hSH5VJVhpTbr5YMN8Adsm" name="Screenshot 2026-07-24 at 3.20.34 PM" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/9hSH5VJVhpTbr5YMN8Adsm.png" mos="" align="middle" fullscreen="" width="903" height="996" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Garmin Cirqa is a screen-less fitness tracker with only a single button to start and stop workouts. Boasting up to ten days of battery and a lightweight design, it's Garmin's answer to the Whoop 5.0 and Fitbit Air.<a class="view-deal button" href="https://www.amazon.com/Garmin-CIRQATM-Smart-Subscription-French/dp/B0H94C68DZ/" target="_blank" rel="nofollow" data-dimension112="b4bf741c-87ad-11f1-9865-cfcc6d58b1e4" data-action="Deal Block" data-label="Cirqa" data-dimension48="Cirqa" data-dimension25="$">View Deal</a></p></div><h3 class="article-body__section" id="section-fitbit-air-vs-garmin-cirqa-walk-test-rules"><span>Fitbit Air vs Garmin Cirqa: Walk test rules</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5712px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="zrwLhcy7pE9gHz99a3wDGf" name="GarminCirqa-v-FitbitAir-02" alt="Close-up of the Garmin Cirqa screen-free fitness tracker" src="https://cdn.mos.cms.futurecdn.net/zrwLhcy7pE9gHz99a3wDGf.jpg" mos="" align="middle" fullscreen="" width="5712" height="3213" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>I manually counted 7,000 steps — using my <a href="https://www.amazon.com/SDARMING-Counters-Counting-Knitting-Coaching/dp/B0971CF137/" target="_blank" rel="nofollow">trusty $6 tally counter</a> to log every hundred — with the Fitbit Air on my left wrist and the Garmin Cirqa on my right wrist to determine which is the more accurate fitness tracker. </p><p>I also ran Strava on my iPhone 16 Plus for additional step count, distance, elevation, and pace data. For the Fitbit Air, I manually began a walking workout from the Google Health app. For the Garmin Cirqa, I started the workout by pressing the single button. This proved to be a mistake.</p><h3 class="article-body__section" id="section-fitbit-air-vs-garmin-cirqa-walk-test-results"><span>Fitbit Air vs Garmin Cirqa: Walk test results </span></h3><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Fitbit Air</p></th><th  ><p>Garmin Cirqa</p></th><th  ><p>Control</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Steps</strong></p></td><td  ><p>6,990 steps</p></td><td  ><p>7,070 steps</p></td><td  ><p>7,000 steps (manual count)</p></td></tr><tr><td class="firstcol " ><p><strong>Distance</strong></p></td><td  ><p>3.86 miles</p></td><td  ><p>not provided</p></td><td  ><p>3.86 miles (Strava)</p></td></tr><tr><td class="firstcol " ><p><strong>Climb</strong></p></td><td  ><p>236 feet</p></td><td  ><p>not provided</p></td><td  ><p> 405 feet (Strava)</p></td></tr><tr><td class="firstcol " ><p><strong>Average pace </strong></p></td><td  ><p> 16 mins 17 secs</p></td><td  ><p>not provided</p></td><td  ><p>16 mins 35 secs (Strava)</p></td></tr><tr><td class="firstcol " ><p><strong>Average heart rate</strong></p></td><td  ><p>115 bpm</p></td><td  ><p>123 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Max heart rate</strong></p></td><td  ><p>135 bpm</p></td><td  ><p>160 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Calories burned</strong></p></td><td  ><p>532 calories</p></td><td  ><p>464 calories </p></td><td  ><p>n/a</p></td></tr></tbody></table></div><p>It took me about one hour to walk 7,000 steps around sunny Seattle, Washington, a step count total that all three tracking methods came remarkably close to. For these tests, I consider any tally within 100 steps of my actual total to be outstanding. </p><p>Ultimately, the Fitbit Air undercounted by a mere ten steps, while the Garmin Cirqa overcounted by 70. Strava, meanwhile, overcounted by ten. </p><p>Unfortunately, because the Cirqa logged my efforts as a generic workout rather than an outdoor walk, it frustratingly didn't register any distance, climb, or pace data for this test.</p><p>The Fitbit Air, on the other hand, logged the same distance as Strava, which isn't too surprising given both are making use of the same GPS data. However, its climb data is seemingly waaaay off. This is <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-walked-4-000-steps-with-the-fitbit-air-vs-pixel-watch-4-and-im-genuinely-shocked-by-the-results">neither the first</a> nor <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-walked-5-000-steps-with-the-apple-watch-11-vs-fitbit-air-and-theres-a-clear-winner">the second time</a> I've had an issue with climb data when it comes to the Air.</p><p>Fortunately, the Air's pace data is much more aligned with Strava's. </p><p>The lack of consistency between the Air and Cirqa for heart rate data is a tad concerning. Without control data, it's hard to say for sure which watch is more accurate in this regard, but I suspect it's the Garmin, given my walk involved quickly ascending several very steep hills, which definitely got the blood pumping.</p><h3 class="article-body__section" id="section-samsung-galaxy-watch-ultra-2-vs-apple-watch-ultra-3-winner"><span>Samsung Galaxy Watch Ultra 2 vs Apple Watch Ultra 3: Winner </span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3615px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="V5bphk5nqaWqaTZMwFPFaL" name="IMG_0408" alt="a photo of the Fitbit Air and the Garmin Cirqa on the wrist" src="https://cdn.mos.cms.futurecdn.net/V5bphk5nqaWqaTZMwFPFaL.jpg" mos="" align="middle" fullscreen="" width="3615" height="2034" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Despite continuing to struggle with climb data, the Fitbit Air beats the Garmin Cirqa in this walk test head-to-head by a small but legit margin. This is similar to the results my colleague Jane discovered when she tested these two gadgets against one another in a <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-walked-5-000-steps-with-the-garmin-cirqa-and-fitbit-air-and-the-winner-is-clear">4,000-step comparison</a>.</p><p>Stay tuned for more testing and coverage of the Garmin Cirqa, including my full review, coming soon.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/can-the-usd99-fitbit-air-beat-the-usd799-apple-watch-ultra-3-at-fitness-tracking-i-manually-counted-4-500-steps-to-find-out">Can the $99 Fitbit Air beat the $799 Apple Watch Ultra 3 at fitness tracking? I manually counted 4,500 steps to find out</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/i-manually-counted-4-000-steps-to-test-the-apple-watch-ultra-3-vs-samsung-galaxy-watch-ultra-2-and-samsung-wins-the-accuracy-battle-with-better-elevation-data-too">I walked 4,000 steps with the Apple Watch Ultra 3 vs Samsung Galaxy Watch Ultra 2 — and the winning margin was razor-thin</a></li><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/oura-whoop-or-fitbit-air-5-questions-to-ask-yourself-before-buying-a-screen-free-fitness-tracker">Oura vs Whoop vs Fitbit Air — 5 questions to ask yourself before buying a screen-free fitness tracker</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I drove the Volkswagen Atlas and Kia Telluride for a week — here’s the mid-size 3-row SUV I recommend ]]></title>
                                                                                                <dc:content><![CDATA[ <p>I’ve tested more 3-row SUVs this year than any other type of vehicle, and the market appetite for them is only growing. While full-size SUVs like the <a href="https://www.tomsguide.com/vehicle-tech/2026-infiniti-qx80-review">Infiniti QX80</a> and <a href="https://www.tomsguide.com/vehicle-tech/2026-chevrolet-tahoe-review">Chevrolet Tahoe</a> are classic examples of three-row haulers, more and more mid-size crossovers are now engineered to offer that exact same versatility.</p><p>That’s why I drove the <a href="https://www.vw.com/en/models/atlas.html" target="_blank">Volkswagen Atlas</a> and <a href="https://www.kia.com/us/en/telluride" target="_blank">Kia Telluride</a> for a week each to find out which of these mid-size 3-row SUVs has the better value. Both offer expansive interiors, distinct rugged-leaning trim options, and standard all-wheel drive, but after spending a week with each one, clear differences emerged.</p><p>I specifically tested out the 2027 Kia Telluride X-Pro SX-Prestige AWD and 2026 Volkswagen Atlas Peak Edition, with as-tested prices of $59,580 and $50,230 respectively. There’s roughly a $9,000 spread between them, but these top-of-the-line trims showcase two very different philosophies — so I’ll tell you exactly which one I recommend.</p><figure class="inline-layout"><div style="min-height: 400px;"><fw-embed-feed channel="toms_guide" playlist="gOdY2y" mode="row" player_placement="bottom-right"></fw-embed-feed></div></figure><h2 class="article-body__section" id="section-volkswagen-atlas-vs-kia-telluride-specifications"><span>Volkswagen Atlas vs. Kia Telluride: Specifications</span></h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>2026 Volkswagen Atlas Peak Edition</strong></p></td><td  ><p><strong>2027 Kia Telluride X-Pro SX-Prestige AWD</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Price Tested</strong></p></td><td  ><p>$50,230</p></td><td  ><p>$59,580</p></td></tr><tr><td class="firstcol " ><p><strong>Engine</strong></p></td><td  ><p>2.0L Turbo 4-Cylinder</p></td><td  ><p>2.5L Turbo 4-Cylinder</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Tank Capacity</strong></p></td><td  ><p>18.6 gallons</p></td><td  ><p>19 gallons</p></td></tr><tr><td class="firstcol " ><p><strong>Horsepower</strong></p></td><td  ><p>269 hp</p></td><td  ><p>274 hp</p></td></tr><tr><td class="firstcol " ><p><strong>Wheels</strong></p></td><td  ><p>18-inches</p></td><td  ><p>18-inches</p></td></tr><tr><td class="firstcol " ><p><strong>MSRP</strong></p></td><td  ><p>$48,060</p></td><td  ><p>$58,035</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-volkswagen-atlas-vs-kia-telluride-design"><span>Volkswagen Atlas vs. Kia Telluride: Design</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/yLABNc4unoATDw5zNyX7pd.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/K59SeTSKPobiE47DZN2QfV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/SQxHyYHv2YzjuANQuf5NTd.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/vZHAaPBwzRJ7QxCjtRRbVV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/e97bdLqv8H45XBPhRDsNZd.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/7nqLVhok7zBCNVEWVCQqgV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/mxLyc4uTyWEVUkVB5SJ5Hd.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/dneTcmyr5mmTJPPEt6YRKV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>Both designs lean heavily into rugged, road-dominating stances that set them apart from standard family haulers, but it’s a dead heat in my opinion. The Volkswagen Atlas Peak Edition embraces a more contemporary look, featuring dark 18-inch wheels with all-terrain tires, gloss-black exterior trim, and illuminated front and rear lightbars that make the glowing VW emblems pop.</p><p>With the Avocado Green Pearl paint job, it definitely adds to its rugged style, while the interior follows a similar modern look with black leatherette seats accented by grey panels, vibrant orange contrast stitching, and stainless steel pedal caps.</p><p>By comparison, the Kia Telluride X-Pro SX-Prestige delivers an almost stealth-fighter visual presence that very much reminds me of the <a href="https://www.tomsguide.com/vehicle-tech/i-drove-the-bmw-xm-label-and-audi-rs-q8-for-a-week-heres-the-luxury-suv-worth-splurging-on">BMW XM Label</a> — but in a boxier frame. Its wide-body proportions, vertical LED headlights, and Terrain Brown Matte finish really accentuate its militaristic look.</p><p>On the inside, it leans heavily into executive luxury with a sprawling cockpit anchored by dual 12.3-inch panoramic displays, engineered wood accents, and SynTex suede seating with heated and ventilated captain’s chairs in the first two rows.</p><p>Ultimately, both designs excel at turning heads in completely different ways — the Atlas with its sharp, no-nonsense German utility, and the Telluride with its urban, minimalistic aesthetic.</p><p><strong>Winner:</strong> tie</p><h2 class="article-body__section" id="section-volkswagen-atlas-vs-kia-telluride-fuel-economy"><span>Volkswagen Atlas vs. Kia Telluride: Fuel economy</span></h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>2026 Volkswagen Atlas Peak Edition</strong></p></td><td  ><p><strong>2027 Kia Telluride X-Pro SX-Prestige AWD</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Total Miles Driven</strong></p></td><td  ><p>128 miles</p></td><td  ><p>352.5 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Average Fuel Economy</strong></p></td><td  ><p>22.5 mpg</p></td><td  ><p>22.6 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best short distance fuel economy</strong></p></td><td  ><p>17.3 mpg</p></td><td  ><p>14.1 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best long distance fuel economy</strong></p></td><td  ><p>25.9 mpg</p></td><td  ><p>26 mpg</p></td></tr></tbody></table></div><p>On paper, the EPA gives a slight edge to the 2026 Volkswagen Atlas Peak Edition with its 21 MPG combined rating compared to the 2027 Kia Telluride X-Pro’s 19 MPG combined. In my real-world testing, however, both mid-size 3-row SUVs delivered virtually identical efficiency over hundreds of mixed miles, averaging a nearly indistinguishable 22.5 mpg in the Atlas and 22.6 mpg in the Telluride.</p><p>The Atlas proves more consistent on quick stop-and-go trips, reaching a best short-distance run of 17.3 mpg versus the Telluride's 14.1 mpg. Meanwhile, the Telluride nudges slightly ahead on highway cruising, topping out at 26 mpg compared to the Atlas’s 25.9 mpg.</p><p>What’s really remarkable when testing them is just how responsive the Atlas feels on the road. With its snappier throttle response and sports car-like dynamic performance, I thought it’d be more of a gas guzzler — yet it manages to stay right on par with the Telluride.</p><p><strong>Winner:</strong> Tie</p><h2 class="article-body__section" id="section-volkswagen-atlas-vs-kia-telluride-driving-performance"><span>Volkswagen Atlas vs. Kia Telluride: Driving performance</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/JwuL39LAGgk6jaxQXy39Pd.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/9fJfp749DkAJXf2wpSXfbV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/rVgxDPs3tNEXtt788xQUQd.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/THBDzYVx5VP62mQeyRgFaV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/k8VJTn55wMsJ2M46a26EEd.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/iYCvmuwYzRtBJoML4jhTfV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>Under the hood, both SUVs take different paths to deliver four-cylinder power. The Kia Telluride X-Pro relies on a turbocharged 2.5-liter engine pushing out 274 horsepower and 311 lb-ft of torque, while the Volkswagen Atlas Peak Edition uses a 2.0-liter turbocharged four-cylinder making 269 horsepower and 273 lb-ft of torque. While the Telluride technically holds a slight advantage on paper, my experience driving them tells a completely different story.</p><p>The Atlas takes the victory here thanks to its surprisingly agile, sports car-like handling and lively power delivery. It accelerates with ease, offering a snappier throttle response that makes merging, overtaking, and tackling local roads feel effortless. What makes the VW's performance even more impressive is cabin refinement — the engine operates noticeably quieter under load compared to the louder to its rival.</p><p>While the Telluride delivers a smooth and easy drive, it does feel like it lumbers around curves due to its heavier weight. It’s simply not as agile.</p><p><strong>Winner:</strong> Volkswagen Atlas</p><h2 class="article-body__section" id="section-volkswagen-atlas-vs-kia-telluride-comfort"><span>Volkswagen Atlas vs. Kia Telluride: Comfort</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/eEudMAcKuLaySAmcwyusVT.gif" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/9sx64NkXdST2SixqFUvxHT.gif" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/fdh2f9mrJ54VUVQiJTXdjd.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/fFeRsvyCWLTTUTzac7FAQE.gif" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4bP5Gteu2WCMBYWE3rCHsD.gif" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/DXCcLCvyMHLESUz6jokgqC.gif" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uXe5GWMfpJinvRpnP5pHgV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>While both SUVs offer plenty of space for families, including 2nd-row captain’s chairs, sunshades for the rear windows, and sprawling panoramic glass roofs, the 2027 Kia Telluride X-Pro SX-Prestige gets my vote for being on an entirely different level.</p><p>Upfront, the driver’s seat features Ergo Motion tech that initiates a light massaging function after extended periods of driving, a crisp head-up display, and a dedicated lane-centering assist button right on the steering wheel for effortless highway cruising. Backing up or navigating tight spaces is equally simple thanks to its digital rearview mirror and a 360-degree surround view monitor, which includes a blind-spot view monitor that projects a live feed right into the instrument cluster when I activate the corresponding turn signal.</p><p>Meanwhile, the 2026 Volkswagen Atlas Peak Edition certainly holds its own with a comfortable layout, a bright 12-inch touchscreen, and heated and ventilated front seats. It also includes an adaptive front lighting system with headlights that physically swivel in the direction I steer. However, it falls noticeably short on high-end tech features. For example, it relies on just a standard backup camera rather than a full 360-degree surround camera system, and it lacks advanced luxury touches like an HUD or digital rearview mirror that make the Telluride feel like a premium cruiser. </p><p><strong>Winner:</strong> Kia Telluride</p><h2 class="article-body__section" id="section-volkswagen-atlas-vs-kia-telluride-value"><span>Volkswagen Atlas vs. Kia Telluride: Value</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/FwKJDYSip9oBJHBD7CHpXd.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/AJxUnPixzemYoi58xnyQhd.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/xUBBkKT2BbiRYXhvbDSzGd.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/t6BUNWAMCvxF9kpyY8Lnwc.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/hm7SqEg5pvqUMgWs28eRpc.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/K2JijcCtJoSxPhg9f7yySV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/bPtrXv595KYE3v2bct66JV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/MwehMMrmxGZUcfRgS7dFNU.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Fmswf2UVKrbSm9WzbwoNaV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/hVkWbeN7btudfV3gytCMZV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>When comparing sticker prices, the 2026 Volkswagen Atlas Peak Edition appears to have the price advantage at $50,230. But while the Atlas delivers a comprehensive set of daily necessities, you’re getting more value with the Telluride despite costing more.</p><p>That’s because you aren't just paying for the cosmetics, you’re getting luxury-tier equipment like massaging driver's seats, digital rearview mirror, 360-degree cameras, and everything else I’ve mentioned already.</p><p>On top of that, Kia backs the Telluride with an industry-leading 10-year/100,000-mile powertrain warranty (compared to VW’s 4-year/50,000-mile coverage), offering long-term peace of mind that bridges the price gap and makes the Telluride feel like a much better investment.</p><p><strong>Winner:</strong> Kia Telluride</p><h2 class="article-body__section" id="section-volkswagen-atlas-vs-kia-telluride-verdict"><span>Volkswagen Atlas vs. Kia Telluride: Verdict</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/KSdkerDam56L7sECCqFGmd.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/zoVQ2fPsiGzVHDQLpozqhV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/XTtKWnPJmgAsdefZLEsQPd.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/cxLeKZfWxSwTsM55s7vxiV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/aQpasHWqpxZFneeTBJpcWd.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/exJpZoqZiXy2tRMPb3pKgV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/aKGZhZtZzELJFwDceJXWzc.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4tdTDWTigysYBc9NrLS9bV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>I can’t deny how these family haulers are excellent at offering outstanding utility with their 3-row seating, especially with how easily you can fold down the 3rd-row bench seats to expand trunk space. If driving dynamics are high on your priority list, the 2026 Volkswagen Atlas Peak Edition is easily the more engaging choice. Its sports car-like responsiveness, nimble handling around curves, and quieter cabin under acceleration make it a genuine pleasure to drive every day.</p><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>2026 Volkswagen Atlas Peak Edition</strong></p></td><td  ><p><strong>2027 Kia Telluride X-Pro SX-Prestige AWD</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Design</strong></p></td><td  ><p>X</p></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ><p>X</p></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Driving Performance</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Comfort</strong></p></td><td  ></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Value</strong></p></td><td  ></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Total</strong></p></td><td  ><p>3</p></td><td  ><p>4</p></td></tr></tbody></table></div><p>However, when I consider the total package, the 2027 Kia Telluride X-Pro SX-Prestige AWD earns my recommendation. While I personally prefer the Atlas's livelier driving performance, the Telluride's overwhelming luxury tech suite simply seals the deal. You’re definitely paying more, but that price difference is well worth it.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-OLqy9X"></div>                            </div>                            <script src="https://kwizly.com/embed/OLqy9X.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/vehicle-tech/evs/im-not-anxious-that-its-getting-darker-earlier-with-this-thermal-camera-for-my-car-heres-why">I'm not anxious that it's getting darker earlier with this thermal camera for my car — here's why</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/i-borrowed-the-new-nissan-leaf-for-a-day-and-this-affordable-ev-nails-it">I just test drove the new Nissan Leaf — and it's irresistible at under $30,000</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/crabwalking-with-the-gmc-sierra-ev-is-the-weirdest-thing-ive-ever-done-with-a-car-and-its-actually-pretty-useful">CrabWalking with the GMC Sierra EV is the weirdest thing I’ve ever done with a car — and it’s actually pretty useful</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/vehicle-tech/i-drove-the-volkswagen-atlas-and-kia-telluride-for-a-week-heres-the-mid-size-3-row-suv-i-recommend</link>
                                                                            <description>
                            <![CDATA[ The 2026 Volkswagen Atlas and 2027 Kia Telluride are 3-row, mid-size SUVs that offer outstanding utility and almost price similarly, but one does offer more value. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">iCFA8GWYNwYKEs6VxFJL3k</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/WS9YeaNa5f3VkL6pAjB9UN-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 26 Jul 2026 11:00:00 +0000</pubDate>                                                                                                                                <updated>Sun, 26 Jul 2026 17:33:47 +0000</updated>
                                                                                                                                            <category><![CDATA[Vehicle Tech]]></category>
                                                                                                <author><![CDATA[ john.velasco@futurenet.com (John Velasco) ]]></author>                    <dc:creator><![CDATA[ John Velasco ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/TSj224oX8d5ERXaDs8pDGd.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/WS9YeaNa5f3VkL6pAjB9UN-1280-80.jpg">
                                                            <media:credit><![CDATA[John Velasco / Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Volkswagen Atlas vs Kia Telluride.]]></media:description>                                                            <media:text><![CDATA[Volkswagen Atlas vs Kia Telluride.]]></media:text>
                                <media:title type="plain"><![CDATA[Volkswagen Atlas vs Kia Telluride.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/WS9YeaNa5f3VkL6pAjB9UN-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I’ve tested more 3-row SUVs this year than any other type of vehicle, and the market appetite for them is only growing. While full-size SUVs like the <a href="https://www.tomsguide.com/vehicle-tech/2026-infiniti-qx80-review">Infiniti QX80</a> and <a href="https://www.tomsguide.com/vehicle-tech/2026-chevrolet-tahoe-review">Chevrolet Tahoe</a> are classic examples of three-row haulers, more and more mid-size crossovers are now engineered to offer that exact same versatility.</p><p>That’s why I drove the <a href="https://www.vw.com/en/models/atlas.html" target="_blank">Volkswagen Atlas</a> and <a href="https://www.kia.com/us/en/telluride" target="_blank">Kia Telluride</a> for a week each to find out which of these mid-size 3-row SUVs has the better value. Both offer expansive interiors, distinct rugged-leaning trim options, and standard all-wheel drive, but after spending a week with each one, clear differences emerged.</p><p>I specifically tested out the 2027 Kia Telluride X-Pro SX-Prestige AWD and 2026 Volkswagen Atlas Peak Edition, with as-tested prices of $59,580 and $50,230 respectively. There’s roughly a $9,000 spread between them, but these top-of-the-line trims showcase two very different philosophies — so I’ll tell you exactly which one I recommend.</p><figure class="inline-layout"><div style="min-height: 400px;"><fw-embed-feed channel="toms_guide" playlist="gOdY2y" mode="row" player_placement="bottom-right"></fw-embed-feed></div></figure><h2 class="article-body__section" id="section-volkswagen-atlas-vs-kia-telluride-specifications"><span>Volkswagen Atlas vs. Kia Telluride: Specifications</span></h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>2026 Volkswagen Atlas Peak Edition</strong></p></td><td  ><p><strong>2027 Kia Telluride X-Pro SX-Prestige AWD</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Price Tested</strong></p></td><td  ><p>$50,230</p></td><td  ><p>$59,580</p></td></tr><tr><td class="firstcol " ><p><strong>Engine</strong></p></td><td  ><p>2.0L Turbo 4-Cylinder</p></td><td  ><p>2.5L Turbo 4-Cylinder</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Tank Capacity</strong></p></td><td  ><p>18.6 gallons</p></td><td  ><p>19 gallons</p></td></tr><tr><td class="firstcol " ><p><strong>Horsepower</strong></p></td><td  ><p>269 hp</p></td><td  ><p>274 hp</p></td></tr><tr><td class="firstcol " ><p><strong>Wheels</strong></p></td><td  ><p>18-inches</p></td><td  ><p>18-inches</p></td></tr><tr><td class="firstcol " ><p><strong>MSRP</strong></p></td><td  ><p>$48,060</p></td><td  ><p>$58,035</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-volkswagen-atlas-vs-kia-telluride-design"><span>Volkswagen Atlas vs. Kia Telluride: Design</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/yLABNc4unoATDw5zNyX7pd.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/K59SeTSKPobiE47DZN2QfV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/SQxHyYHv2YzjuANQuf5NTd.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/vZHAaPBwzRJ7QxCjtRRbVV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/e97bdLqv8H45XBPhRDsNZd.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/7nqLVhok7zBCNVEWVCQqgV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/mxLyc4uTyWEVUkVB5SJ5Hd.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/dneTcmyr5mmTJPPEt6YRKV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>Both designs lean heavily into rugged, road-dominating stances that set them apart from standard family haulers, but it’s a dead heat in my opinion. The Volkswagen Atlas Peak Edition embraces a more contemporary look, featuring dark 18-inch wheels with all-terrain tires, gloss-black exterior trim, and illuminated front and rear lightbars that make the glowing VW emblems pop.</p><p>With the Avocado Green Pearl paint job, it definitely adds to its rugged style, while the interior follows a similar modern look with black leatherette seats accented by grey panels, vibrant orange contrast stitching, and stainless steel pedal caps.</p><p>By comparison, the Kia Telluride X-Pro SX-Prestige delivers an almost stealth-fighter visual presence that very much reminds me of the <a href="https://www.tomsguide.com/vehicle-tech/i-drove-the-bmw-xm-label-and-audi-rs-q8-for-a-week-heres-the-luxury-suv-worth-splurging-on">BMW XM Label</a> — but in a boxier frame. Its wide-body proportions, vertical LED headlights, and Terrain Brown Matte finish really accentuate its militaristic look.</p><p>On the inside, it leans heavily into executive luxury with a sprawling cockpit anchored by dual 12.3-inch panoramic displays, engineered wood accents, and SynTex suede seating with heated and ventilated captain’s chairs in the first two rows.</p><p>Ultimately, both designs excel at turning heads in completely different ways — the Atlas with its sharp, no-nonsense German utility, and the Telluride with its urban, minimalistic aesthetic.</p><p><strong>Winner:</strong> tie</p><h2 class="article-body__section" id="section-volkswagen-atlas-vs-kia-telluride-fuel-economy"><span>Volkswagen Atlas vs. Kia Telluride: Fuel economy</span></h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>2026 Volkswagen Atlas Peak Edition</strong></p></td><td  ><p><strong>2027 Kia Telluride X-Pro SX-Prestige AWD</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Total Miles Driven</strong></p></td><td  ><p>128 miles</p></td><td  ><p>352.5 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Average Fuel Economy</strong></p></td><td  ><p>22.5 mpg</p></td><td  ><p>22.6 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best short distance fuel economy</strong></p></td><td  ><p>17.3 mpg</p></td><td  ><p>14.1 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best long distance fuel economy</strong></p></td><td  ><p>25.9 mpg</p></td><td  ><p>26 mpg</p></td></tr></tbody></table></div><p>On paper, the EPA gives a slight edge to the 2026 Volkswagen Atlas Peak Edition with its 21 MPG combined rating compared to the 2027 Kia Telluride X-Pro’s 19 MPG combined. In my real-world testing, however, both mid-size 3-row SUVs delivered virtually identical efficiency over hundreds of mixed miles, averaging a nearly indistinguishable 22.5 mpg in the Atlas and 22.6 mpg in the Telluride.</p><p>The Atlas proves more consistent on quick stop-and-go trips, reaching a best short-distance run of 17.3 mpg versus the Telluride's 14.1 mpg. Meanwhile, the Telluride nudges slightly ahead on highway cruising, topping out at 26 mpg compared to the Atlas’s 25.9 mpg.</p><p>What’s really remarkable when testing them is just how responsive the Atlas feels on the road. With its snappier throttle response and sports car-like dynamic performance, I thought it’d be more of a gas guzzler — yet it manages to stay right on par with the Telluride.</p><p><strong>Winner:</strong> Tie</p><h2 class="article-body__section" id="section-volkswagen-atlas-vs-kia-telluride-driving-performance"><span>Volkswagen Atlas vs. Kia Telluride: Driving performance</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/JwuL39LAGgk6jaxQXy39Pd.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/9fJfp749DkAJXf2wpSXfbV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/rVgxDPs3tNEXtt788xQUQd.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/THBDzYVx5VP62mQeyRgFaV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/k8VJTn55wMsJ2M46a26EEd.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/iYCvmuwYzRtBJoML4jhTfV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>Under the hood, both SUVs take different paths to deliver four-cylinder power. The Kia Telluride X-Pro relies on a turbocharged 2.5-liter engine pushing out 274 horsepower and 311 lb-ft of torque, while the Volkswagen Atlas Peak Edition uses a 2.0-liter turbocharged four-cylinder making 269 horsepower and 273 lb-ft of torque. While the Telluride technically holds a slight advantage on paper, my experience driving them tells a completely different story.</p><p>The Atlas takes the victory here thanks to its surprisingly agile, sports car-like handling and lively power delivery. It accelerates with ease, offering a snappier throttle response that makes merging, overtaking, and tackling local roads feel effortless. What makes the VW's performance even more impressive is cabin refinement — the engine operates noticeably quieter under load compared to the louder to its rival.</p><p>While the Telluride delivers a smooth and easy drive, it does feel like it lumbers around curves due to its heavier weight. It’s simply not as agile.</p><p><strong>Winner:</strong> Volkswagen Atlas</p><h2 class="article-body__section" id="section-volkswagen-atlas-vs-kia-telluride-comfort"><span>Volkswagen Atlas vs. Kia Telluride: Comfort</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/eEudMAcKuLaySAmcwyusVT.gif" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/9sx64NkXdST2SixqFUvxHT.gif" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/fdh2f9mrJ54VUVQiJTXdjd.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/fFeRsvyCWLTTUTzac7FAQE.gif" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4bP5Gteu2WCMBYWE3rCHsD.gif" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/DXCcLCvyMHLESUz6jokgqC.gif" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uXe5GWMfpJinvRpnP5pHgV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>While both SUVs offer plenty of space for families, including 2nd-row captain’s chairs, sunshades for the rear windows, and sprawling panoramic glass roofs, the 2027 Kia Telluride X-Pro SX-Prestige gets my vote for being on an entirely different level.</p><p>Upfront, the driver’s seat features Ergo Motion tech that initiates a light massaging function after extended periods of driving, a crisp head-up display, and a dedicated lane-centering assist button right on the steering wheel for effortless highway cruising. Backing up or navigating tight spaces is equally simple thanks to its digital rearview mirror and a 360-degree surround view monitor, which includes a blind-spot view monitor that projects a live feed right into the instrument cluster when I activate the corresponding turn signal.</p><p>Meanwhile, the 2026 Volkswagen Atlas Peak Edition certainly holds its own with a comfortable layout, a bright 12-inch touchscreen, and heated and ventilated front seats. It also includes an adaptive front lighting system with headlights that physically swivel in the direction I steer. However, it falls noticeably short on high-end tech features. For example, it relies on just a standard backup camera rather than a full 360-degree surround camera system, and it lacks advanced luxury touches like an HUD or digital rearview mirror that make the Telluride feel like a premium cruiser. </p><p><strong>Winner:</strong> Kia Telluride</p><h2 class="article-body__section" id="section-volkswagen-atlas-vs-kia-telluride-value"><span>Volkswagen Atlas vs. Kia Telluride: Value</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/FwKJDYSip9oBJHBD7CHpXd.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/AJxUnPixzemYoi58xnyQhd.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/xUBBkKT2BbiRYXhvbDSzGd.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/t6BUNWAMCvxF9kpyY8Lnwc.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/hm7SqEg5pvqUMgWs28eRpc.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/K2JijcCtJoSxPhg9f7yySV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/bPtrXv595KYE3v2bct66JV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/MwehMMrmxGZUcfRgS7dFNU.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Fmswf2UVKrbSm9WzbwoNaV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/hVkWbeN7btudfV3gytCMZV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>When comparing sticker prices, the 2026 Volkswagen Atlas Peak Edition appears to have the price advantage at $50,230. But while the Atlas delivers a comprehensive set of daily necessities, you’re getting more value with the Telluride despite costing more.</p><p>That’s because you aren't just paying for the cosmetics, you’re getting luxury-tier equipment like massaging driver's seats, digital rearview mirror, 360-degree cameras, and everything else I’ve mentioned already.</p><p>On top of that, Kia backs the Telluride with an industry-leading 10-year/100,000-mile powertrain warranty (compared to VW’s 4-year/50,000-mile coverage), offering long-term peace of mind that bridges the price gap and makes the Telluride feel like a much better investment.</p><p><strong>Winner:</strong> Kia Telluride</p><h2 class="article-body__section" id="section-volkswagen-atlas-vs-kia-telluride-verdict"><span>Volkswagen Atlas vs. Kia Telluride: Verdict</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/KSdkerDam56L7sECCqFGmd.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/zoVQ2fPsiGzVHDQLpozqhV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/XTtKWnPJmgAsdefZLEsQPd.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/cxLeKZfWxSwTsM55s7vxiV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/aQpasHWqpxZFneeTBJpcWd.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/exJpZoqZiXy2tRMPb3pKgV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/aKGZhZtZzELJFwDceJXWzc.jpg" alt="2026 Volkswagen Atlas review." /><figcaption>2026 Volkswagen Atlas.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/4tdTDWTigysYBc9NrLS9bV.jpg" alt="2027 Kia Telluride review." /><figcaption>2027 Kia Telluride.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>I can’t deny how these family haulers are excellent at offering outstanding utility with their 3-row seating, especially with how easily you can fold down the 3rd-row bench seats to expand trunk space. If driving dynamics are high on your priority list, the 2026 Volkswagen Atlas Peak Edition is easily the more engaging choice. Its sports car-like responsiveness, nimble handling around curves, and quieter cabin under acceleration make it a genuine pleasure to drive every day.</p><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>2026 Volkswagen Atlas Peak Edition</strong></p></td><td  ><p><strong>2027 Kia Telluride X-Pro SX-Prestige AWD</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Design</strong></p></td><td  ><p>X</p></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ><p>X</p></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Driving Performance</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Comfort</strong></p></td><td  ></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Value</strong></p></td><td  ></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Total</strong></p></td><td  ><p>3</p></td><td  ><p>4</p></td></tr></tbody></table></div><p>However, when I consider the total package, the 2027 Kia Telluride X-Pro SX-Prestige AWD earns my recommendation. While I personally prefer the Atlas's livelier driving performance, the Telluride's overwhelming luxury tech suite simply seals the deal. You’re definitely paying more, but that price difference is well worth it.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-OLqy9X"></div>                            </div>                            <script src="https://kwizly.com/embed/OLqy9X.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/vehicle-tech/evs/im-not-anxious-that-its-getting-darker-earlier-with-this-thermal-camera-for-my-car-heres-why">I'm not anxious that it's getting darker earlier with this thermal camera for my car — here's why</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/i-borrowed-the-new-nissan-leaf-for-a-day-and-this-affordable-ev-nails-it">I just test drove the new Nissan Leaf — and it's irresistible at under $30,000</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/crabwalking-with-the-gmc-sierra-ev-is-the-weirdest-thing-ive-ever-done-with-a-car-and-its-actually-pretty-useful">CrabWalking with the GMC Sierra EV is the weirdest thing I’ve ever done with a car — and it’s actually pretty useful</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Dell XPS 13 vs. MacBook Neo: Which $699 laptop is right for you? ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Which $699 laptop should you buy: the new <a href="https://www.tomsguide.com/computing/laptops/i-tested-the-dell-xps-13-for-48-hours-the-macbook-neo-is-officially-on-notice">Dell XPS 13 (2026)</a> or the <a href="https://www.tomsguide.com/computing/macbooks/apple-macbook-neo-review">MacBook Neo</a>? That’s the big question right now, as Dell’s affordable XPS is a true rival to Apple’s popular laptop. This might have been an easier choice before <a href="https://www.tomsguide.com/computing/macbooks/apple-price-hikes-are-official-heres-how-much-more-youll-pay-for-macbooks-and-ipads-now">Apple’s price hikes</a> pushed the <a href="https://www.tomsguide.com/computing/macbooks/macbook-neo-at-usd699-is-it-still-worthwhile-or-should-you-get-the-new-xps-13-instead">Neo’s price up by $100,</a> but now you really have to weigh your options more carefully.</p><p>These notebooks are designed for budget-conscious folks who need a reliable machine for everyday work. Their ultraportable designs are also ideal for anyone who works on the go. Additionally, they have better displays and sturdier builds than most laptops in this price range.</p><p>While you won’t go wrong with either the Dell XPS 13 or MacBook Neo, one could be better for you than the other. Below, I’ll detail everything you need to know about these laptops to help you decide which is worth your money.</p><div class="product"><a data-dimension112="7f729624-87a6-11f1-8e43-db2860a93953" data-action="Deal Block" data-label="XPS 13 (2026)" data-dimension48="XPS 13 (2026)" data-dimension25="$699" href="https://www.dell.com/en-us/shop/dell-laptops/new-xps-13-laptop/spd/xps13dx13260laptop" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="yVpTsWNESwCtxxLQmbPTgh" name="Dell XPS 13 (2026) deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/yVpTsWNESwCtxxLQmbPTgh.jpg" mos="" align="middle" fullscreen="" width="1500" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.dell.com/en-us/shop/dell-laptops/new-xps-13-laptop/spd/xps13dx13260laptop" target="_blank" rel="nofollow" data-dimension112="7f729624-87a6-11f1-8e43-db2860a93953" data-action="Deal Block" data-label="XPS 13 (2026)" data-dimension48="XPS 13 (2026)" data-dimension25="$699">XPS 13 (2026): $699</a></strong><br>The new Dell XPS 13 is here to help you beat the RAMageddon blues. This model has a 13.4-inch InfinityEdge 2.5K touch display, an Intel Core Series 3 "Wildcat Lake" CPU, 8GB of RAM, and 512GB of SSD storage. It's wrapped in an aluminum design that's just 0.5 inches thick and weighs 2.2 pounds.<a class="view-deal button" href="https://www.dell.com/en-us/shop/dell-laptops/new-xps-13-laptop/spd/xps13dx13260laptop" target="_blank" rel="nofollow" data-dimension112="7f729624-87a6-11f1-8e43-db2860a93953" data-action="Deal Block" data-label="XPS 13 (2026)" data-dimension48="XPS 13 (2026)" data-dimension25="$699">View Deal</a></p></div><div class="product"><a data-dimension112="7f72969c-87a6-11f1-9d67-b3da97edf2a1" data-action="Deal Block" data-label="13" MacBook Neo" data-dimension48="13" MacBook Neo" data-dimension25="$699" href="https://www.apple.com/shop/buy-mac/macbook-air/13-inch" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:61.07%;"><img id="Lg4Dvg68j9SbB5CPNrTEpH" name="MacBook Neo deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Lg4Dvg68j9SbB5CPNrTEpH.jpg" mos="" align="middle" fullscreen="" width="1500" height="916" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.apple.com/shop/buy-mac/macbook-air/13-inch" target="_blank" rel="nofollow" data-dimension112="7f72969c-87a6-11f1-9d67-b3da97edf2a1" data-action="Deal Block" data-label='13" MacBook Neo' data-dimension48='13" MacBook Neo' data-dimension25="$699">13" MacBook Neo: $699</a></strong><br>The MacBook Neo is Apple's most affordable Mac. The $699 laptop sports a 13-inch Liquid Retina (2408 x 1506) display, an A18 Pro chipset, 8GB of RAM, a 256GB SSD, and a 1080p FaceTime HD camera. There's also the option to add Touch ID and a 512GB SSD for a total price of $799. The 2.7-lb. laptop is available in Indigo, Blush, Citrus, and Silver.<a class="view-deal button" href="https://www.apple.com/shop/buy-mac/macbook-air/13-inch" target="_blank" rel="nofollow" data-dimension112="7f72969c-87a6-11f1-9d67-b3da97edf2a1" data-action="Deal Block" data-label="13" MacBook Neo" data-dimension48="13" MacBook Neo" data-dimension25="$699">View Deal</a></p></div><h3 class="article-body__section" id="section-dell-xps-13-vs-macbook-neo-specs"><span>Dell XPS 13 vs. MacBook Neo: Specs</span></h3><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Dell XPS 13</strong></p></th><th  ><p>MacBook Neo</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>$699</p></td><td  ><p>$699</p></td></tr><tr><td class="firstcol " ><p><strong>CPU</strong></p></td><td  ><p>Series 3 Intel Core 5</p></td><td  ><p>Apple A18 Pro (6-core CPU</p></td></tr><tr><td class="firstcol " ><p><strong>GPU</strong></p></td><td  ><p>Intel Graphics</p></td><td  ><p>Apple A18 Pro (5-core GPU)</p></td></tr><tr><td class="firstcol " ><p><strong>Display</strong></p></td><td  ><p>13.4-inch 2.5K (2560 x 1600) InfinityEdge touch display</p></td><td  ><p>13-inch (2408 x 1506) Liquid Retina</p></td></tr><tr><td class="firstcol " ><p><strong>Memory</strong></p></td><td  ><p>8GB</p></td><td  ><p>8GB</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>512GB</p></td><td  ><p>512GB</p></td></tr><tr><td class="firstcol " ><p><strong>Ports</strong></p></td><td  ><p>2x USB-C</p></td><td  ><p>2x USB-C</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Wi-Fi 7, Bluetooth 6.0</p></td><td  ><p>Wi-Fi 6E, Bluetooth 6.0</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>11.69 x 7.90 x 0.50 inches</p></td><td  ><p>11.71 x 8.12 x 0.50 inches</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>2.2 pounds</p></td><td  ><p>2.7 pounds</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-dell-xps-13-vs-macbook-neo-design"><span>Dell XPS 13 vs. MacBook Neo: Design</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4914px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="BPujwFMCqGeHii4iYrNZSo" name="Dell XPS 13 vs. MacBook Neo-2" alt="Dell XPS 13 vs. MacBook Neo" src="https://cdn.mos.cms.futurecdn.net/BPujwFMCqGeHii4iYrNZSo.jpg" mos="" align="middle" fullscreen="" width="4914" height="2764" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>One of the standout features of these laptops is their respective designs. Instead of being bulky and plasticky like typical budget laptops, the XPS 13 and MacBook Neo are thin and light machines with sturdy aluminum casings. They might be affordable, but they definitely look as elegant as their more premium counterparts.</p><p>The XPS 13 is the lighter of the two, weighing 2.2 pounds compared to the MacBook Neo’s 2.7 pounds. Neither laptop will be a burden to travel with, but the XPS 13 is easier to take on the road or around your home. Both are also easy to open with one hand, thanks to the lips on their respective lids.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3678px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PVynuTDwCUjjRjzbvrwEuU" name="MacBook Neo A18 review-LIST2" alt="MacBook Neo shown on desk" src="https://cdn.mos.cms.futurecdn.net/PVynuTDwCUjjRjzbvrwEuU.jpg" mos="" align="middle" fullscreen="" width="3678" height="2069" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>One design area where the Neo wins is with its wider choice of colors. While the XPS 13 comes in Sky and Storm colors, the Neo comes in more vibrant hues: Silver, Indigo, Blush, and Citrus. Dell’s notebook is all business, while Apple’s Neo knows how to have some fun.</p><p>Both laptops have sturdy and roomy keyboard decks, with satisfying spacing between the keys for a comfortable typing experience. The MacBook Neo has slightly larger and thicker keycaps than the XPS 13, and they’re color-coded to the laptop. Their respective touchpads are roughly the same size, and each is very smooth and responsive. The main difference here is that the XPS 13 has a backlit keyboard, whereas the Neo doesn’t.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vcyuv2PeoFh3EZojQmiU5Q" name="Dell-XPS-13-(2026)-hands-on-3" alt="Dell XPS 13 (2026)" src="https://cdn.mos.cms.futurecdn.net/vcyuv2PeoFh3EZojQmiU5Q.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The laptops each have a pair of USB-C ports, but while both of the XPS 13’s ports are USB 3.2 Gen 2, the Neo has only one such port — with the other being a slower USB 2 port. So when it comes to faster charging and data speeds, the XPS 13 has the edge. But unlike Dell’s notebook, the Neo has a 3.5mm jack.</p><h3 class="article-body__section" id="section-dell-xps-13-vs-macbook-neo-display"><span>Dell XPS 13 vs. MacBook Neo: Display</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6000px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="TYkv4WneuaJrWRbBapzdyR" name="DSC05649.JPG" alt="The Dell XPS 13 (2026) side by side with the MacBook Neo" src="https://cdn.mos.cms.futurecdn.net/TYkv4WneuaJrWRbBapzdyR.jpg" mos="" align="middle" fullscreen="" width="6000" height="3376" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The XPS 13 and MacBook Neo each have excellent displays for this price point, since budget laptops usually have dim, dull panels. You won’t have a bad viewing experience with either, but each has its strengths and weaknesses.</p><p>For starters, the MacBook Neo has a 13-inch 2408 x 1506 Liquid Retina display, while the XPS 13 has a 13.4-inch 2560 x 1600 InfinityEdge touch screen. The panel on Dell’s laptop is larger, with a higher resolution and touch screen support. The XPS 13 has some strengths here, but as we’ll see next, the Neo has its own advantages.</p><div ><table><caption>Display benchmarks</caption><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Dell XPS 13 (2026)</strong></p></th><th  ><p><strong>MacBook Neo</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Nits (brightness)</strong></p></td><td  ><p>398 (SDR) | 420 (HDR)</p></td><td  ><p>452 (SDR) | 480 (HDR)</p></td></tr><tr><td class="firstcol " ><p><strong>sRGB</strong></p></td><td  ><p>105%</p></td><td  ><p>110%</p></td></tr><tr><td class="firstcol " ><p><strong>DCI-P3</strong></p></td><td  ><p>74.7%</p></td><td  ><p>78%</p></td></tr><tr><td class="firstcol " ><p><strong>Delta-E</strong></p></td><td  ><p>0.23</p></td><td  ><p>0.22</p></td></tr></tbody></table></div><p>As you can see from our lab tests, the XPS 13 has good color representation (sRGB and DCI-P3) and color accuracy (Delta-E). The MacBook Neo delivers slightly oversaturated hues compared to the XPS 13, and its display can get much brighter with both SDR and HDR content.</p><p>Overall, the MacBook Neo delivers a more vibrant image compared to the XPS 13, despite the latter having a larger display and higher resolution. Unless you’re a fan of touchscreens, the MacBook Neo’s display takes the lead here, though the XPS 13 isn’t far behind.</p><h3 class="article-body__section" id="section-dell-xps-13-vs-macbook-neo-performance"><span>Dell XPS 13 vs. MacBook Neo: Performance</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4877px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="CijpKwkcwZDMN2XNAz7owK" name="Dell XPS 13 vs. MacBook Neo-4" alt="Dell XPS 13 vs. MacBook Neo" src="https://cdn.mos.cms.futurecdn.net/CijpKwkcwZDMN2XNAz7owK.jpg" mos="" align="middle" fullscreen="" width="4877" height="2743" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Given their $699 asking price, neither the XPS 13 nor MacBook Neo is designed to be a powerful workstation. Instead, they’re built for everyday work, web browsing, and video streaming. That said, one offers stronger overall performance than the other.</p><p>On the Geekbench 6 CPU benchmark, the MacBook Neo scored higher in both the single- and multi-core testing. This is impressive considering how the MacBook Neo’s A18 Pro processor was originally an iPhone chip, whereas the Intel Wildcat Lake processor is made for laptops, albeit budget machines.</p><div ><table><caption>Performance benchmarks</caption><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Dell XPS 13 (2026)</strong></p></th><th  ><p><strong>MacBook Neo</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Geekbench 6 (single/multi-core)</strong></p></td><td  ><p>2684 / 7952</p></td><td  ><p>3535 / 8920</p></td></tr><tr><td class="firstcol " ><p><strong>Handbrake (mins:secs)</strong></p></td><td  ><p>10:38</p></td><td  ><p>9:57</p></td></tr><tr><td class="firstcol " ><p><strong>Blackmagic SSD test (write/read)</strong></p></td><td  ><p>3714 / 5026</p></td><td  ><p>1440 / 1585</p></td></tr></tbody></table></div><p>Moving over to the Handbrake test, which involves transcoding a 4K video to 1080p, the XPS 13 took ten minutes and 38 seconds to complete the task, which is 40 seconds slower than the MacBook Neo. However, on the Blackmagic SSD test, the XPS completely outperformed the Neo with faster write/read speeds.</p><div ><table><caption>Graphics and gaming benchmarks</caption><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Dell XPS 13</strong></p></th><th  ><p><strong>MacBook Neo</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>3D Mark Wildlife Extreme</strong></p></td><td  ><p>2455 / 14 fps</p></td><td  ><p>3661 / 21 fps</p></td></tr><tr><td class="firstcol " ><p><strong>Borderlands</strong></p></td><td  ><p>8.7 fps</p></td><td  ><p>9.6 fps</p></td></tr></tbody></table></div><p>In the 3DMark Wildlife test, which measures a machine’s graphical performance, the XPS 13 scored 2455 and averaged 14 frames per second. The MacBook Neo did better, with a 3661 score and 21 fps.</p><p>Using its built-in benchmark tool, Borderlands 3 ran at an unplayable 8.7 fps at 1080p, just one frame lower than the MacBook Neo’s 9.6 fps. In short, neither is suited for high-end gaming.</p><p>The XPS 13 handles the basics without a problem, but if you need more performance, the MacBook Neo is the clear winner.</p><h3 class="article-body__section" id="section-dell-xps-13-vs-macbook-neo-battery-life"><span>Dell XPS 13 vs. MacBook Neo: Battery life</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5573px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="3XiNmPfxUNMKhGx3KkrGLj" name="Dell XPS 13 vs. MacBook Neo-5" alt="Dell XPS 13 (2026) vs. MacBook Neo" src="https://cdn.mos.cms.futurecdn.net/3XiNmPfxUNMKhGx3KkrGLj.jpg" mos="" align="middle" fullscreen="" width="5573" height="3135" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The XPS 13 and MacBook Neo both have stellar, more-than-all-day battery life. While you won’t have to worry too much about either dying on you at an inopportune time, one will last longer than the other.</p><div ><table><caption>Battery life results</caption><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Time (hours:mins)</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Dell XPS 13 (2026)</strong></p></td><td  ><p>14:26</p></td></tr><tr><td class="firstcol " ><p><strong>MacBook Neo</strong></p></td><td  ><p>13:26</p></td></tr></tbody></table></div><p>In our battery life test, which involves continuous Wi-Fi web surfing with the display set to 150 nits, the Dell XPS 13 lasted 14 hours and 26 minutes.</p><p>Conversely, the MacBook Neo lasted for 13 hours and 26 minutes on the same test. That’s still great, but the XPS 13 can last for an hour longer.</p><h3 class="article-body__section" id="section-dell-xps-13-vs-macbook-neo-webcam"><span>Dell XPS 13 vs. MacBook Neo: Webcam</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2905px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="yNr3iaKNdebDKAMvhFj5VU" name="MacBook Neo A18 review-9" alt="MacBook Neo shown on desk" src="https://cdn.mos.cms.futurecdn.net/yNr3iaKNdebDKAMvhFj5VU.jpg" mos="" align="middle" fullscreen="" width="2905" height="1634" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Lastly, let’s discuss the webcam quality of these laptops. Here, we’re comparing the MacBook Neo’s 1080p FaceTime HD camera to the Dell XPS 13’s 1080p webcam.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="g8gSKsCaUDHrT4BoUvoDuB" name="Tony Dell XPS 13 webcam" alt="Dell XPS 13 (2026)" src="https://cdn.mos.cms.futurecdn.net/g8gSKsCaUDHrT4BoUvoDuB.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The photo above is from the XPS 13’s camera. Although my background and I are clearly visible, the image is somewhat blurry despite the relatively good lighting.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1440px;"><p class="vanilla-image-block" style="padding-top:66.67%;"><img id="3L2eiBCScscUn8wqvGKfUY" name="Tony MacBook Neo webcam" alt="MacBook Neo" src="https://cdn.mos.cms.futurecdn.net/3L2eiBCScscUn8wqvGKfUY.jpg" mos="" align="middle" fullscreen="" width="1440" height="960" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>This next photo is from the MacBook Neo. Here, the image has a more natural color tone and is decidedly sharper.</p><p>Though you won’t look horrible in video calls with either webcam, the MacBook Neo does a better job of capturing images.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-O92ypX"></div>                            </div>                            <script src="https://kwizly.com/embed/O92ypX.js" async></script><h3 class="article-body__section" id="section-dell-xps-13-vs-macbook-neo-bottom-line"><span>Dell XPS 13 vs. MacBook Neo: Bottom line</span></h3><p>If you’re already married to <a href="https://www.tomsguide.com/computing/macos/apple-macos-tahoe-review">macOS</a> or <a href="https://www.tomsguide.com/reviews/windows-11">Windows 11</a>, then choose the laptop for that ecosystem. However, if you’re platform-agnostic, one laptop might be better for you than the other.</p><p>The Dell XPS 13 is perfect for anyone who wants an extremely lightweight laptop with touchscreen support and faster USB-C ports. It also has stellar battery life. Conversely, the MacBook Neo has more fun color options, stronger performance, a more vivid display, and a sharper webcam.</p><p>Personal preferences aside, the Dell XPS 13 and MacBook Neo are easily the best $699 laptops you can buy right now, so don’t hesitate to buy either, as it will be money well spent if you’re on a budget and in need of an upgrade.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/while-pc-gamers-fight-for-16gb-of-vram-amd-just-unveiled-a-rack-with-31-000-gigabytes">While PC gamers fight for 16GB of VRAM, AMD just unveiled a rack with 31,000 Gigabytes</a></li><li><a href="https://www.tomsguide.com/computing/new-report-details-huge-mac-overhaul-for-macbooks-imacs-and-mac-studio">New report details huge Mac overhaul for MacBooks, iMacs and Mac Studio</a></li><li><a href="https://www.tomsguide.com/computing/dlss-5-is-fully-controllable-from-the-developer-nvidias-upscaler-might-be-better-than-expected">"DLSS 5 is fully controllable from the developer": Nvidia’s upscaler might be better than expected</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/laptops/dell-xps-13-vs-macbook-neo-which-usd699-laptop-is-right-for-you</link>
                                                                            <description>
                            <![CDATA[ Starting at $699, the Dell XPS 13 and MacBook Neo are the finest budget laptops around. But which one should you get? We help you decide! ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">6WH3CtcTMJVLjvMpYqoNSY</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/d5DSYhrswimo8M57odHUbh-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 26 Jul 2026 06:00:00 +0000</pubDate>                                                                                                                                <updated>Fri, 31 Jul 2026 14:42:27 +0000</updated>
                                                                                                                                            <category><![CDATA[Laptops]]></category>
                                                    <category><![CDATA[Computing Peripherals]]></category>
                                                                                                <author><![CDATA[ tony.polanco@futurenet.com (Tony Polanco) ]]></author>                    <dc:creator><![CDATA[ Tony Polanco ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/atzRNqFt5wYgEUPBDahWsD.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/d5DSYhrswimo8M57odHUbh-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Dell XPS 13 vs. MacBook Neo]]></media:description>                                                            <media:text><![CDATA[Dell XPS 13 vs. MacBook Neo]]></media:text>
                                <media:title type="plain"><![CDATA[Dell XPS 13 vs. MacBook Neo]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/d5DSYhrswimo8M57odHUbh-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Which $699 laptop should you buy: the new <a href="https://www.tomsguide.com/computing/laptops/i-tested-the-dell-xps-13-for-48-hours-the-macbook-neo-is-officially-on-notice">Dell XPS 13 (2026)</a> or the <a href="https://www.tomsguide.com/computing/macbooks/apple-macbook-neo-review">MacBook Neo</a>? That’s the big question right now, as Dell’s affordable XPS is a true rival to Apple’s popular laptop. This might have been an easier choice before <a href="https://www.tomsguide.com/computing/macbooks/apple-price-hikes-are-official-heres-how-much-more-youll-pay-for-macbooks-and-ipads-now">Apple’s price hikes</a> pushed the <a href="https://www.tomsguide.com/computing/macbooks/macbook-neo-at-usd699-is-it-still-worthwhile-or-should-you-get-the-new-xps-13-instead">Neo’s price up by $100,</a> but now you really have to weigh your options more carefully.</p><p>These notebooks are designed for budget-conscious folks who need a reliable machine for everyday work. Their ultraportable designs are also ideal for anyone who works on the go. Additionally, they have better displays and sturdier builds than most laptops in this price range.</p><p>While you won’t go wrong with either the Dell XPS 13 or MacBook Neo, one could be better for you than the other. Below, I’ll detail everything you need to know about these laptops to help you decide which is worth your money.</p><div class="product"><a data-dimension112="7f729624-87a6-11f1-8e43-db2860a93953" data-action="Deal Block" data-label="XPS 13 (2026)" data-dimension48="XPS 13 (2026)" data-dimension25="$699" href="https://www.dell.com/en-us/shop/dell-laptops/new-xps-13-laptop/spd/xps13dx13260laptop" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="yVpTsWNESwCtxxLQmbPTgh" name="Dell XPS 13 (2026) deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/yVpTsWNESwCtxxLQmbPTgh.jpg" mos="" align="middle" fullscreen="" width="1500" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.dell.com/en-us/shop/dell-laptops/new-xps-13-laptop/spd/xps13dx13260laptop" target="_blank" rel="nofollow" data-dimension112="7f729624-87a6-11f1-8e43-db2860a93953" data-action="Deal Block" data-label="XPS 13 (2026)" data-dimension48="XPS 13 (2026)" data-dimension25="$699">XPS 13 (2026): $699</a></strong><br>The new Dell XPS 13 is here to help you beat the RAMageddon blues. This model has a 13.4-inch InfinityEdge 2.5K touch display, an Intel Core Series 3 "Wildcat Lake" CPU, 8GB of RAM, and 512GB of SSD storage. It's wrapped in an aluminum design that's just 0.5 inches thick and weighs 2.2 pounds.<a class="view-deal button" href="https://www.dell.com/en-us/shop/dell-laptops/new-xps-13-laptop/spd/xps13dx13260laptop" target="_blank" rel="nofollow" data-dimension112="7f729624-87a6-11f1-8e43-db2860a93953" data-action="Deal Block" data-label="XPS 13 (2026)" data-dimension48="XPS 13 (2026)" data-dimension25="$699">View Deal</a></p></div><div class="product"><a data-dimension112="7f72969c-87a6-11f1-9d67-b3da97edf2a1" data-action="Deal Block" data-label="13" MacBook Neo" data-dimension48="13" MacBook Neo" data-dimension25="$699" href="https://www.apple.com/shop/buy-mac/macbook-air/13-inch" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:61.07%;"><img id="Lg4Dvg68j9SbB5CPNrTEpH" name="MacBook Neo deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Lg4Dvg68j9SbB5CPNrTEpH.jpg" mos="" align="middle" fullscreen="" width="1500" height="916" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.apple.com/shop/buy-mac/macbook-air/13-inch" target="_blank" rel="nofollow" data-dimension112="7f72969c-87a6-11f1-9d67-b3da97edf2a1" data-action="Deal Block" data-label='13" MacBook Neo' data-dimension48='13" MacBook Neo' data-dimension25="$699">13" MacBook Neo: $699</a></strong><br>The MacBook Neo is Apple's most affordable Mac. The $699 laptop sports a 13-inch Liquid Retina (2408 x 1506) display, an A18 Pro chipset, 8GB of RAM, a 256GB SSD, and a 1080p FaceTime HD camera. There's also the option to add Touch ID and a 512GB SSD for a total price of $799. The 2.7-lb. laptop is available in Indigo, Blush, Citrus, and Silver.<a class="view-deal button" href="https://www.apple.com/shop/buy-mac/macbook-air/13-inch" target="_blank" rel="nofollow" data-dimension112="7f72969c-87a6-11f1-9d67-b3da97edf2a1" data-action="Deal Block" data-label="13" MacBook Neo" data-dimension48="13" MacBook Neo" data-dimension25="$699">View Deal</a></p></div><h3 class="article-body__section" id="section-dell-xps-13-vs-macbook-neo-specs"><span>Dell XPS 13 vs. MacBook Neo: Specs</span></h3><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Dell XPS 13</strong></p></th><th  ><p>MacBook Neo</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>$699</p></td><td  ><p>$699</p></td></tr><tr><td class="firstcol " ><p><strong>CPU</strong></p></td><td  ><p>Series 3 Intel Core 5</p></td><td  ><p>Apple A18 Pro (6-core CPU</p></td></tr><tr><td class="firstcol " ><p><strong>GPU</strong></p></td><td  ><p>Intel Graphics</p></td><td  ><p>Apple A18 Pro (5-core GPU)</p></td></tr><tr><td class="firstcol " ><p><strong>Display</strong></p></td><td  ><p>13.4-inch 2.5K (2560 x 1600) InfinityEdge touch display</p></td><td  ><p>13-inch (2408 x 1506) Liquid Retina</p></td></tr><tr><td class="firstcol " ><p><strong>Memory</strong></p></td><td  ><p>8GB</p></td><td  ><p>8GB</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>512GB</p></td><td  ><p>512GB</p></td></tr><tr><td class="firstcol " ><p><strong>Ports</strong></p></td><td  ><p>2x USB-C</p></td><td  ><p>2x USB-C</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Wi-Fi 7, Bluetooth 6.0</p></td><td  ><p>Wi-Fi 6E, Bluetooth 6.0</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>11.69 x 7.90 x 0.50 inches</p></td><td  ><p>11.71 x 8.12 x 0.50 inches</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>2.2 pounds</p></td><td  ><p>2.7 pounds</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-dell-xps-13-vs-macbook-neo-design"><span>Dell XPS 13 vs. MacBook Neo: Design</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4914px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="BPujwFMCqGeHii4iYrNZSo" name="Dell XPS 13 vs. MacBook Neo-2" alt="Dell XPS 13 vs. MacBook Neo" src="https://cdn.mos.cms.futurecdn.net/BPujwFMCqGeHii4iYrNZSo.jpg" mos="" align="middle" fullscreen="" width="4914" height="2764" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>One of the standout features of these laptops is their respective designs. Instead of being bulky and plasticky like typical budget laptops, the XPS 13 and MacBook Neo are thin and light machines with sturdy aluminum casings. They might be affordable, but they definitely look as elegant as their more premium counterparts.</p><p>The XPS 13 is the lighter of the two, weighing 2.2 pounds compared to the MacBook Neo’s 2.7 pounds. Neither laptop will be a burden to travel with, but the XPS 13 is easier to take on the road or around your home. Both are also easy to open with one hand, thanks to the lips on their respective lids.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3678px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PVynuTDwCUjjRjzbvrwEuU" name="MacBook Neo A18 review-LIST2" alt="MacBook Neo shown on desk" src="https://cdn.mos.cms.futurecdn.net/PVynuTDwCUjjRjzbvrwEuU.jpg" mos="" align="middle" fullscreen="" width="3678" height="2069" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>One design area where the Neo wins is with its wider choice of colors. While the XPS 13 comes in Sky and Storm colors, the Neo comes in more vibrant hues: Silver, Indigo, Blush, and Citrus. Dell’s notebook is all business, while Apple’s Neo knows how to have some fun.</p><p>Both laptops have sturdy and roomy keyboard decks, with satisfying spacing between the keys for a comfortable typing experience. The MacBook Neo has slightly larger and thicker keycaps than the XPS 13, and they’re color-coded to the laptop. Their respective touchpads are roughly the same size, and each is very smooth and responsive. The main difference here is that the XPS 13 has a backlit keyboard, whereas the Neo doesn’t.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vcyuv2PeoFh3EZojQmiU5Q" name="Dell-XPS-13-(2026)-hands-on-3" alt="Dell XPS 13 (2026)" src="https://cdn.mos.cms.futurecdn.net/vcyuv2PeoFh3EZojQmiU5Q.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The laptops each have a pair of USB-C ports, but while both of the XPS 13’s ports are USB 3.2 Gen 2, the Neo has only one such port — with the other being a slower USB 2 port. So when it comes to faster charging and data speeds, the XPS 13 has the edge. But unlike Dell’s notebook, the Neo has a 3.5mm jack.</p><h3 class="article-body__section" id="section-dell-xps-13-vs-macbook-neo-display"><span>Dell XPS 13 vs. MacBook Neo: Display</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6000px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="TYkv4WneuaJrWRbBapzdyR" name="DSC05649.JPG" alt="The Dell XPS 13 (2026) side by side with the MacBook Neo" src="https://cdn.mos.cms.futurecdn.net/TYkv4WneuaJrWRbBapzdyR.jpg" mos="" align="middle" fullscreen="" width="6000" height="3376" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The XPS 13 and MacBook Neo each have excellent displays for this price point, since budget laptops usually have dim, dull panels. You won’t have a bad viewing experience with either, but each has its strengths and weaknesses.</p><p>For starters, the MacBook Neo has a 13-inch 2408 x 1506 Liquid Retina display, while the XPS 13 has a 13.4-inch 2560 x 1600 InfinityEdge touch screen. The panel on Dell’s laptop is larger, with a higher resolution and touch screen support. The XPS 13 has some strengths here, but as we’ll see next, the Neo has its own advantages.</p><div ><table><caption>Display benchmarks</caption><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Dell XPS 13 (2026)</strong></p></th><th  ><p><strong>MacBook Neo</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Nits (brightness)</strong></p></td><td  ><p>398 (SDR) | 420 (HDR)</p></td><td  ><p>452 (SDR) | 480 (HDR)</p></td></tr><tr><td class="firstcol " ><p><strong>sRGB</strong></p></td><td  ><p>105%</p></td><td  ><p>110%</p></td></tr><tr><td class="firstcol " ><p><strong>DCI-P3</strong></p></td><td  ><p>74.7%</p></td><td  ><p>78%</p></td></tr><tr><td class="firstcol " ><p><strong>Delta-E</strong></p></td><td  ><p>0.23</p></td><td  ><p>0.22</p></td></tr></tbody></table></div><p>As you can see from our lab tests, the XPS 13 has good color representation (sRGB and DCI-P3) and color accuracy (Delta-E). The MacBook Neo delivers slightly oversaturated hues compared to the XPS 13, and its display can get much brighter with both SDR and HDR content.</p><p>Overall, the MacBook Neo delivers a more vibrant image compared to the XPS 13, despite the latter having a larger display and higher resolution. Unless you’re a fan of touchscreens, the MacBook Neo’s display takes the lead here, though the XPS 13 isn’t far behind.</p><h3 class="article-body__section" id="section-dell-xps-13-vs-macbook-neo-performance"><span>Dell XPS 13 vs. MacBook Neo: Performance</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4877px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="CijpKwkcwZDMN2XNAz7owK" name="Dell XPS 13 vs. MacBook Neo-4" alt="Dell XPS 13 vs. MacBook Neo" src="https://cdn.mos.cms.futurecdn.net/CijpKwkcwZDMN2XNAz7owK.jpg" mos="" align="middle" fullscreen="" width="4877" height="2743" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Given their $699 asking price, neither the XPS 13 nor MacBook Neo is designed to be a powerful workstation. Instead, they’re built for everyday work, web browsing, and video streaming. That said, one offers stronger overall performance than the other.</p><p>On the Geekbench 6 CPU benchmark, the MacBook Neo scored higher in both the single- and multi-core testing. This is impressive considering how the MacBook Neo’s A18 Pro processor was originally an iPhone chip, whereas the Intel Wildcat Lake processor is made for laptops, albeit budget machines.</p><div ><table><caption>Performance benchmarks</caption><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Dell XPS 13 (2026)</strong></p></th><th  ><p><strong>MacBook Neo</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Geekbench 6 (single/multi-core)</strong></p></td><td  ><p>2684 / 7952</p></td><td  ><p>3535 / 8920</p></td></tr><tr><td class="firstcol " ><p><strong>Handbrake (mins:secs)</strong></p></td><td  ><p>10:38</p></td><td  ><p>9:57</p></td></tr><tr><td class="firstcol " ><p><strong>Blackmagic SSD test (write/read)</strong></p></td><td  ><p>3714 / 5026</p></td><td  ><p>1440 / 1585</p></td></tr></tbody></table></div><p>Moving over to the Handbrake test, which involves transcoding a 4K video to 1080p, the XPS 13 took ten minutes and 38 seconds to complete the task, which is 40 seconds slower than the MacBook Neo. However, on the Blackmagic SSD test, the XPS completely outperformed the Neo with faster write/read speeds.</p><div ><table><caption>Graphics and gaming benchmarks</caption><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Dell XPS 13</strong></p></th><th  ><p><strong>MacBook Neo</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>3D Mark Wildlife Extreme</strong></p></td><td  ><p>2455 / 14 fps</p></td><td  ><p>3661 / 21 fps</p></td></tr><tr><td class="firstcol " ><p><strong>Borderlands</strong></p></td><td  ><p>8.7 fps</p></td><td  ><p>9.6 fps</p></td></tr></tbody></table></div><p>In the 3DMark Wildlife test, which measures a machine’s graphical performance, the XPS 13 scored 2455 and averaged 14 frames per second. The MacBook Neo did better, with a 3661 score and 21 fps.</p><p>Using its built-in benchmark tool, Borderlands 3 ran at an unplayable 8.7 fps at 1080p, just one frame lower than the MacBook Neo’s 9.6 fps. In short, neither is suited for high-end gaming.</p><p>The XPS 13 handles the basics without a problem, but if you need more performance, the MacBook Neo is the clear winner.</p><h3 class="article-body__section" id="section-dell-xps-13-vs-macbook-neo-battery-life"><span>Dell XPS 13 vs. MacBook Neo: Battery life</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5573px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="3XiNmPfxUNMKhGx3KkrGLj" name="Dell XPS 13 vs. MacBook Neo-5" alt="Dell XPS 13 (2026) vs. MacBook Neo" src="https://cdn.mos.cms.futurecdn.net/3XiNmPfxUNMKhGx3KkrGLj.jpg" mos="" align="middle" fullscreen="" width="5573" height="3135" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The XPS 13 and MacBook Neo both have stellar, more-than-all-day battery life. While you won’t have to worry too much about either dying on you at an inopportune time, one will last longer than the other.</p><div ><table><caption>Battery life results</caption><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Time (hours:mins)</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Dell XPS 13 (2026)</strong></p></td><td  ><p>14:26</p></td></tr><tr><td class="firstcol " ><p><strong>MacBook Neo</strong></p></td><td  ><p>13:26</p></td></tr></tbody></table></div><p>In our battery life test, which involves continuous Wi-Fi web surfing with the display set to 150 nits, the Dell XPS 13 lasted 14 hours and 26 minutes.</p><p>Conversely, the MacBook Neo lasted for 13 hours and 26 minutes on the same test. That’s still great, but the XPS 13 can last for an hour longer.</p><h3 class="article-body__section" id="section-dell-xps-13-vs-macbook-neo-webcam"><span>Dell XPS 13 vs. MacBook Neo: Webcam</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2905px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="yNr3iaKNdebDKAMvhFj5VU" name="MacBook Neo A18 review-9" alt="MacBook Neo shown on desk" src="https://cdn.mos.cms.futurecdn.net/yNr3iaKNdebDKAMvhFj5VU.jpg" mos="" align="middle" fullscreen="" width="2905" height="1634" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Lastly, let’s discuss the webcam quality of these laptops. Here, we’re comparing the MacBook Neo’s 1080p FaceTime HD camera to the Dell XPS 13’s 1080p webcam.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="g8gSKsCaUDHrT4BoUvoDuB" name="Tony Dell XPS 13 webcam" alt="Dell XPS 13 (2026)" src="https://cdn.mos.cms.futurecdn.net/g8gSKsCaUDHrT4BoUvoDuB.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The photo above is from the XPS 13’s camera. Although my background and I are clearly visible, the image is somewhat blurry despite the relatively good lighting.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1440px;"><p class="vanilla-image-block" style="padding-top:66.67%;"><img id="3L2eiBCScscUn8wqvGKfUY" name="Tony MacBook Neo webcam" alt="MacBook Neo" src="https://cdn.mos.cms.futurecdn.net/3L2eiBCScscUn8wqvGKfUY.jpg" mos="" align="middle" fullscreen="" width="1440" height="960" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>This next photo is from the MacBook Neo. Here, the image has a more natural color tone and is decidedly sharper.</p><p>Though you won’t look horrible in video calls with either webcam, the MacBook Neo does a better job of capturing images.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-O92ypX"></div>                            </div>                            <script src="https://kwizly.com/embed/O92ypX.js" async></script><h3 class="article-body__section" id="section-dell-xps-13-vs-macbook-neo-bottom-line"><span>Dell XPS 13 vs. MacBook Neo: Bottom line</span></h3><p>If you’re already married to <a href="https://www.tomsguide.com/computing/macos/apple-macos-tahoe-review">macOS</a> or <a href="https://www.tomsguide.com/reviews/windows-11">Windows 11</a>, then choose the laptop for that ecosystem. However, if you’re platform-agnostic, one laptop might be better for you than the other.</p><p>The Dell XPS 13 is perfect for anyone who wants an extremely lightweight laptop with touchscreen support and faster USB-C ports. It also has stellar battery life. Conversely, the MacBook Neo has more fun color options, stronger performance, a more vivid display, and a sharper webcam.</p><p>Personal preferences aside, the Dell XPS 13 and MacBook Neo are easily the best $699 laptops you can buy right now, so don’t hesitate to buy either, as it will be money well spent if you’re on a budget and in need of an upgrade.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/while-pc-gamers-fight-for-16gb-of-vram-amd-just-unveiled-a-rack-with-31-000-gigabytes">While PC gamers fight for 16GB of VRAM, AMD just unveiled a rack with 31,000 Gigabytes</a></li><li><a href="https://www.tomsguide.com/computing/new-report-details-huge-mac-overhaul-for-macbooks-imacs-and-mac-studio">New report details huge Mac overhaul for MacBooks, iMacs and Mac Studio</a></li><li><a href="https://www.tomsguide.com/computing/dlss-5-is-fully-controllable-from-the-developer-nvidias-upscaler-might-be-better-than-expected">"DLSS 5 is fully controllable from the developer": Nvidia’s upscaler might be better than expected</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Samsung S95H vs S90H: After testing both, here's the OLED TV you should buy ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Not only is the <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s95h-oled-tv-review">Samsung S95H</a> one of the <a href="https://www.tomsguide.com/tvs/oled-tvs/best-oled-tvs">best OLED TVs</a> of the year, it's one of the <a href="https://www.tomsguide.com/us/best-tvs,review-2224.html">best TVs</a> I've ever seen, period. It recently earned our rare five-star rating on account of its incredible picture quality and its laundry list of features, but its price is steep and its metal-frame design won't be everyone's cup of tea.</p><p>Sitting beneath the S95H in the TV-maker's OLED TV lineup is the <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s90h-oled-tv-review">Samsung S90H</a>. This mid-range OLED isn't as bright or as colorful as the S95H, but it offers many of the same features for a significantly lower price.</p><p>If you're in the market for an OLED TV this year — especially a Samsung-branded OLED — both of these TVs will surely make your short list of candidates. That's where I come in. I've got over a decade of TV-testing experience and I'm quite familiar with both models. Here's how the Samsung S95H and S90H OLED TVs compare — from performance to features and price.</p>        <div class="featured_product_block featured_block_versus" data-id="f66aea70-86a6-11f1-9a57-75404e1a4e07">            <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s95h-oled-tv-review" data-model-name="Samsung S95H" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/GCY7vSV95z9MLgp7waombF.jpg" alt="Samsung S95H OLED TV"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                                                <div class="featured__title">Samsung S95H</div>                                    </div>                <div class="subtitle__description">                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="100" /></span></div>                                        <p><p>The Samsung S95H is one of the best OLED TVs ever made, as it delivers incredible, quantum dot-enhanced picture quality and nearly every streaming- and gaming-related feature one could ask for. It's much pricier than the S90H, however, and comes with a design that won't be everyone's cup of tea.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_versus" data-id="8b7dcf1a-86ac-11f1-a59a-f56060434cba">            <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s90h-oled-tv-review" data-model-name="Samsung OLED S90H 4K TV (2026)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/yzjgxzyvgYt7gaUGD7tu4k.jpg" alt="Samsung S90H OLED TV"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                                                <div class="featured__title">Samsung S90H</div>                                    </div>                <div class="subtitle__description">                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="80" /></span></div>                                        <p><p>As the brand's mid-range OLED for 2026, the Samsung S90H's picture isn't nearly as bright or as colorful as the flagship-level S95H. That said, it's much more affordable and shares many of the same features. It's a terrific option if you want the S95H's matte-style screen but not its metal-frame design.</p></p>                </div>                            </div>        </div><h2 id="samsung-s95h-vs-s90h-specs-compared">Samsung S95H vs S90H: Specs compared</h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Samsung S95H</p></th><th  ><p>Samsung S90H</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Sizes</strong></p></td><td  ><p>55", 65", 77", 83"</p></td><td  ><p>42", 48", 55", 65", 77", 83"</p></td></tr><tr><td class="firstcol " ><p><strong>Ports</strong></p></td><td  ><p>4x HDMI 2.1</p></td><td  ><p>4x HDMI 2.1</p></td></tr><tr><td class="firstcol " ><p><strong>Resolution</strong></p></td><td  ><p>3,840 x 2,160p</p></td><td  ><p>3,840 x 2,160p</p></td></tr><tr><td class="firstcol " ><p><strong>Refresh rate</strong></p></td><td  ><p>165Hz</p></td><td  ><p>165Hz</p></td></tr><tr><td class="firstcol " ><p><strong>HDR</strong></p></td><td  ><p>HDR10, HDR10+, HDR10+ Advanced,  HLG</p></td><td  ><p>HDR10, HDR10+, HDR10+ Advanced,  HLG</p></td></tr><tr><td class="firstcol " ><p><strong>Smart TV software</strong></p></td><td  ><p>Tizen OS</p></td><td  ><p>Tizen OS</p></td></tr><tr><td class="firstcol " ><p><strong>ATSC 3.0 support?</strong></p></td><td  ><p>No</p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>NQ4 AI Gen3</p></td><td  ><p>NQ4 AI Gen3</p></td></tr></tbody></table></div><p>Despite their difference in price, the S95H and S90H are quite similar on paper. Like all Samsung TVs, neither set supports Dolby Vision, one of the most popular, enhanced HDR formats.</p><p>These OLEDs are among the first Samsung TVs to support <a href="https://www.tomsguide.com/tvs/dolby-vision-2-vs-hdr10-advanced-read-this-before-you-buy-your-next-tv">HDR10+ Advanced</a>, an all-new, royalty-free Dolby Vision alternative. HDR10+ Advanced is meant to compete with <a href="https://www.tomsguide.com/tvs/dolby-vision-2-helps-your-tv-make-better-choices-whether-its-a-premium-oled-or-budget-lcd-and-you-dont-have-to-do-anything-at-all">Dolby Vision 2</a>, the newest version of Dolby Vision HDR, but content for both is still scarce.</p><p>One major difference has to do with size availability. The S90H comes in two smaller screen sizes: 42 and 48 inches. And, while it won't make a difference to the average viewer, it's worth noting that the S95H supports an optional, external One Connect Box that unlocks four additional HDMI ports.</p><p><em><strong>Winner:</strong></em><em> Samsung S95H</em></p><h2 id="samsung-s95h-vs-s90h-design">Samsung S95H vs S90H: Design</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="GAb2zLXjveaTTdLRkMjPq9" name="Samsung-S95H--6" alt="Samsung S95H OLED TV on a desk" src="https://cdn.mos.cms.futurecdn.net/GAb2zLXjveaTTdLRkMjPq9.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><div><blockquote><p>The Samsung S95H's most eye-catching feature is its metal frame.</p></blockquote></div><p>The Samsung S95H's design is quite divisive, as it's unlike anything else on the market. As you can see in the photo above, the S95H features an eye-catching, metallic frame, and it can't be detached from the screen itself. The brushed-metal material plays the part of a premium design flourish, but based on conversations I've had with readers, you'll either love it or hate it.</p><p>I don't mind the look of the S95H's frame when the TV is mounted on a wall, as the entire point is to emphasize the picture, similar to a portrait's frame. That said, the frame draws more attention to itself when the S95H is set up on a media console.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="sUu9XXEVZXYPjMRMYasU2o" name="Samsung-55-inch-S90H--2" alt="The back of a Samsung OLED S90H 4K TV" src="https://cdn.mos.cms.futurecdn.net/sUu9XXEVZXYPjMRMYasU2o.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><div  class="fancy-box"><div class="fancy_box-title">Want to learn more?</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Fs3qz5sNLWmSetUgLxCCjE" name="Samsung-S95H-OLED-TV-lifestyle" caption="" alt="A wall-mounted Samsung S95H OLED TV displaying abstract, purple-colored imagery in a modern living room illuminated by sunlight" src="https://cdn.mos.cms.futurecdn.net/Fs3qz5sNLWmSetUgLxCCjE.jpg" mos="" link="" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div><figcaption itemprop="caption description" class=""><span class="credit" itemprop="copyrightHolder">(Image credit: Samsung)</span></figcaption></figure><p class="fancy-box__body-text"><strong>Here's my expert guide to the </strong><a data-analytics-id="inline-link" href="https://www.tomsguide.com/tvs/oled-tvs/matte-vs-glossy-oled-tv-screens-what-should-you-buy-in-2026"><strong>matte or glossy OLED screen </strong></a><strong>debate.</strong></p></div></div><p>The S90H, on the other hand does <em>not</em> come with a big metal frame. Its OLED screen sits atop a pedestal-style stand. It's sturdy enough to minimize wobble, but some people might prefer the approach of the S95H's setup, which trades a pedestal-style stand for a pair of L-shaped feet.</p><p>Last year, Samsung's flagship OLED was the only OLED TV in the brand's lineup to feature Samsung's Glare Free display. This year, the Glare Free display has made its way to the mid-range S90H. </p><p>This matte-style finish is the best in the business at eliminating direct glare, but there's a catch: During daytime viewing (or in well-lit rooms), the Glare Free display scatters light in such a way that black levels on the S95H and S90H appear purplish-gray instead of deep, inky black. This would not be the case with a glossy-style screen.</p><p>Both TVs ship with Samsung's Solar Cell remote control, which automatically charges its lithium-ion battery via indoor/outdoor light. This convenient feature saves on the waste that comes with disposable batteries, but the Solar Cell remote's lack of an input button is a bit inconvenient.</p><p>There's no denying that the S95H features a more luxurious look and feel. But the S90H's design is far less divisive.</p><p><em><strong>Winner: </strong></em><em>Draw</em></p><h2 id="samsung-s95h-vs-s90h-performance">Samsung S95H vs S90H: Performance</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="M79zQxVBgVMFEYLUetsB6o" name="Samsung-55-inch-S90H--8" alt="Samsung OLED S90H 4K TV on a desk" src="https://cdn.mos.cms.futurecdn.net/M79zQxVBgVMFEYLUetsB6o.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Before we dive into which of these TVs is the better performer, let's compare their test results. (Both TVs were set to Samsung's Filmmaker picture mode when these tests were taken.)</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Samsung S95H</strong></p></th><th  ><p><strong>Samsung S90H</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>SDR Brightness (10%, in nits)    </strong></p></td><td  ><p>253</p></td><td  ><p>226</p></td></tr><tr><td class="firstcol " ><p><strong>Delta-E (lower is better)    </strong></p></td><td  ><p>2.2</p></td><td  ><p>1.6</p></td></tr><tr><td class="firstcol " ><p><strong>HDR Brightness (10%, in nits)    </strong></p></td><td  ><p>2,721</p></td><td  ><p>1,497</p></td></tr><tr><td class="firstcol " ><p><strong>UHDA-P3 Gamut Coverage    </strong></p></td><td  ><p>99.92%</p></td><td  ><p>99.34%</p></td></tr><tr><td class="firstcol " ><p><strong>Rec. 2020 Gamut Coverage    </strong></p></td><td  ><p>89.6%</p></td><td  ><p>77.83%</p></td></tr><tr><td class="firstcol " ><p><strong>Input latency (milliseconds)   </strong></p></td><td  ><p>9.7</p></td><td  ><p>9.3</p></td></tr></tbody></table></div><p>Both TVs deliver the performance-related benefits that we've come to expect from OLED TVs: perfect black levels, pixel-level dimming and ultra-accommodating viewing angles. Because of these benefits, pretty much everything look superb on both the S95H and S90H.</p><p>However, compared to the S90H, the S95H offers a superior picture. The differences come down to two key areas of performance: brightness and color.</p><p>Almost every size in the S95H leverages Samsung Display's quantum dot-enhanced OLED technology (also known as QD-OLED). Samsung's mid-range S90 series featured a QD-OLED display last year, but this year, every size in the S90H series makes use of a standard WOLED display.</p><p>There are many <a href="https://www.tomsguide.com/tvs/oled-tvs/qd-oled-vs-woled-whats-the-difference-in-2025">differences between QD-OLED and WOLED</a>, but for our purposes, here's what you need to know: The S95H offers better HDR brightness and color volume than what you'll see on WOLED-equipped OLED TVs like the S90H.</p><p>As you can see from our test results, the S95H is capable of pumping nearly twice the level of brightness to HDR highlights than the S90H. During HDR movies, shows and games, highlights — like the sharp reflection of sunlight off the hood of a car — are appear much brighter on the S95H.</p><p>This added highlight brightness adds tremendously to the S95H's ability to create visual depth. It also allows for better detail around said highlights.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ddhs67cP7D9Efs3irU7iy9" name="Samsung-S95H--8" alt="Samsung S95H OLED TV on a desk" src="https://cdn.mos.cms.futurecdn.net/ddhs67cP7D9Efs3irU7iy9.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><div><blockquote><p>The added range of colors makes for a more color-rich viewing experience on the S95H.</p></blockquote></div><p>But the primary benefit of the S95H's quantum dots can be seen in its color volume. Thanks to Samsung Display's enhanced OLED display, it covers 89% - 90% of the BT.2020 color space (compared to about 78% on the S90H).</p><p>The added range of colors makes for a more color-rich viewing experience on the S95H, particularly during cinematic, HDR content. Bold, bright primary colors are punchier, but the S95H is particularly good at rendering accurate skin tones and low-luminance colors like dark blue.</p><p>Despite its shortcomings when compared to the S95H, the Samsung S90H is nevertheless a sensational TV. Its roughly 1,500 nits of HDR highlight brightness is more than enough for an eye-popping, cinematic picture. It's an OLED TV, after all, so it's not saddled with light bloom and haloing around bright objects.</p><p>I'm willing to bet that nearly everyone who spends time with the S90H will walk away impressed with its accurate, OLED-driven performance. The S95H is just brighter, more colorful and guided by more-advanced processing. In a side-by-side comparison, the S95H's advantages really shine.</p><p><em><strong>Winner: </strong></em><em>Samsung S95H</em></p><h2 id="samsung-s95h-vs-s90h-smart-platform-and-features">Samsung S95H vs S90H: Smart platform and features</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wd3dKWhjgyNN5NN3e3Zbt9" name="Samsung-S95H--11" alt="Samsung S95H OLED TV on a desk" src="https://cdn.mos.cms.futurecdn.net/wd3dKWhjgyNN5NN3e3Zbt9.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Both the S95H and the S90H are built around a newly refreshed version of Samsung's Tizen-based smart platform, Smart Hub. This version is similar to what we saw across the brand's 2025 lineup, but there are some subtle changes to the user interface that improve the overall experience. For instance, new this year is a menu bar at the top of the screen that provides quick access to important settings.</p><p>I suspect that most people that choose to rely on Smart Hub as their daily streaming platform will find it decent enough. Navigation and load times are similar across both TVs.</p><p>When it comes to additional features and enhancements, these TVs are nearly identical. Both sets support 4K/120Hz gaming (the highest 4K spec on current-gen consoles), and with a gaming PC linked up, both OLEDs can support 4K titles at up to 165Hz.</p><p><em><strong>Winner: </strong></em><em>Draw</em></p><h2 id="samsung-s95h-vs-s90h-verdict">Samsung S95H vs S90H: Verdict</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="LAiT9M2XhwKcGgSJPKgJDo" name="Samsung-55-inch-S90H--18" alt="The remote for a Samsung OLED S90H 4K TV" src="https://cdn.mos.cms.futurecdn.net/LAiT9M2XhwKcGgSJPKgJDo.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Samsung S95H</p></th><th  ><p>Samsung S90H</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Specs (25)</strong></p></td><td  ><p>24</p></td><td  ><p>23</p></td></tr><tr><td class="firstcol " ><p><strong>Design (25)</strong></p></td><td  ><p>23</p></td><td  ><p>23</p></td></tr><tr><td class="firstcol " ><p><strong>Performance (25)</strong></p></td><td  ><p>25</p></td><td  ><p>23</p></td></tr><tr><td class="firstcol " ><p><strong>Features (25)</strong></p></td><td  ><p>24</p></td><td  ><p>24</p></td></tr><tr><td class="firstcol " ><p><strong>Total Score (100)</strong></p></td><td  ><p><strong>96</strong></p></td><td  ><p><strong>93</strong></p></td></tr></tbody></table></div><p>The Samsung S95H is an astonishing TV. Its quantum-dot color is nearly unmatched among OLED TVs, and it's also one of the brightest OLEDs you can buy right now. This makes it a safer bet than the S90H for brighter-than-average rooms, all while creating a truly impressive sense of visual depth.</p><p>But all of this performance upside comes at a steep cost. Right now, the <a href="https://www.bestbuy.com/product/samsung-65-class-s95h-oled-4k-glare-free-tv-with-samsungvisionai-2026/JJGRF3Q3GR" target="_blank" rel="nofollow">65-inch Samsung S95H is $2,999 at Best Buy</a>, which is prohibitively pricey for the average consumer — even those willing to spend over a thousand bucks on an impressive, new TV.</p><p>This is the primary reason why I recommend the Samsung S90H over its flagship-level sibling. The <a href="https://www.bestbuy.com/product/samsung-65-class-s90h-oled-4k-glare-free-tv-with-samsungvisionai-2026/JJGRF3QG5V" target="_blank" rel="nofollow">65-inch S90H is currently $1,799 at Best Buy</a>, and while it's not as bright and colorful as the S95H, you're still getting a near-identical set of features for gaming and streaming. In addition, the S90H's frame-free design is a safer bet for the average shopper.</p><p>I won't tell you that the S95H's sensational performance isn't worthy of the S95H's added cost. For home theater enthusiasts who've been saving up for a life-changing TV, the S95H is probably worth its price.</p><p>The S90H has far greater appeal for most people shopping for a higher-end TV. I suspect it'll be the more popular model in 2026.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ePaJpW"></div>                            </div>                            <script src="https://kwizly.com/embed/ePaJpW.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s95h-oled-tv-review">Samsung S95H OLED TV review</a></li><li><a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s90h-oled-tv-review">Samsung S90H OLED TV review</a></li><li><a href="https://www.tomsguide.com/tvs/micro-rgb-vs-oled-tvs-whats-the-difference">Micro RGB vs OLED TVs: What’s the difference?</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/tvs/oled-tvs/samsung-s95h-vs-s90h-after-testing-both-heres-the-oled-tv-you-should-buy</link>
                                                                            <description>
                            <![CDATA[ The Samsung S95H is one of the best OLED TVs of 2026, but the mid-range S90H is more affordable and offers many of the same features. Here's how they compare — from performance to design and price. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">FwbLxfx3TyQAiSLLumRDrm</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/wJjtGK4yqaFvAupCJkhjxj-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 25 Jul 2026 09:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[OLED TVs]]></category>
                                                    <category><![CDATA[TVs]]></category>
                                                                                                <author><![CDATA[ michael.desjardin@futurenet.com (Michael Desjardin) ]]></author>                    <dc:creator><![CDATA[ Michael Desjardin ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/esytxRqW9GNVZNVCf7BFyV.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Michael Desjardin is a Senior Editor for TVs at Tom&#039;s Guide. He&#039;s been testing and tinkering with TVs professionally for over a decade, previously for Reviewed and USA Today. Michael studied media production and screenwriting at Emerson College. He loves cooking, zoning out to ambient music, and getting way too invested in the Red Sox. He considers himself living proof that TV doesn&#039;t necessarily rot your brain.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/wJjtGK4yqaFvAupCJkhjxj-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Samsung S95H OLED and the Samsung S90H OLED side by side]]></media:description>                                                            <media:text><![CDATA[The Samsung S95H OLED and the Samsung S90H OLED side by side]]></media:text>
                                <media:title type="plain"><![CDATA[The Samsung S95H OLED and the Samsung S90H OLED side by side]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/wJjtGK4yqaFvAupCJkhjxj-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Not only is the <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s95h-oled-tv-review">Samsung S95H</a> one of the <a href="https://www.tomsguide.com/tvs/oled-tvs/best-oled-tvs">best OLED TVs</a> of the year, it's one of the <a href="https://www.tomsguide.com/us/best-tvs,review-2224.html">best TVs</a> I've ever seen, period. It recently earned our rare five-star rating on account of its incredible picture quality and its laundry list of features, but its price is steep and its metal-frame design won't be everyone's cup of tea.</p><p>Sitting beneath the S95H in the TV-maker's OLED TV lineup is the <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s90h-oled-tv-review">Samsung S90H</a>. This mid-range OLED isn't as bright or as colorful as the S95H, but it offers many of the same features for a significantly lower price.</p><p>If you're in the market for an OLED TV this year — especially a Samsung-branded OLED — both of these TVs will surely make your short list of candidates. That's where I come in. I've got over a decade of TV-testing experience and I'm quite familiar with both models. Here's how the Samsung S95H and S90H OLED TVs compare — from performance to features and price.</p>        <div class="featured_product_block featured_block_versus" data-id="f66aea70-86a6-11f1-9a57-75404e1a4e07">            <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s95h-oled-tv-review" data-model-name="Samsung S95H" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/GCY7vSV95z9MLgp7waombF.jpg" alt="Samsung S95H OLED TV"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                                                <div class="featured__title">Samsung S95H</div>                                    </div>                <div class="subtitle__description">                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="100" /></span></div>                                        <p><p>The Samsung S95H is one of the best OLED TVs ever made, as it delivers incredible, quantum dot-enhanced picture quality and nearly every streaming- and gaming-related feature one could ask for. It's much pricier than the S90H, however, and comes with a design that won't be everyone's cup of tea.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_versus" data-id="8b7dcf1a-86ac-11f1-a59a-f56060434cba">            <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s90h-oled-tv-review" data-model-name="Samsung OLED S90H 4K TV (2026)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/yzjgxzyvgYt7gaUGD7tu4k.jpg" alt="Samsung S90H OLED TV"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                                                <div class="featured__title">Samsung S90H</div>                                    </div>                <div class="subtitle__description">                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="80" /></span></div>                                        <p><p>As the brand's mid-range OLED for 2026, the Samsung S90H's picture isn't nearly as bright or as colorful as the flagship-level S95H. That said, it's much more affordable and shares many of the same features. It's a terrific option if you want the S95H's matte-style screen but not its metal-frame design.</p></p>                </div>                            </div>        </div><h2 id="samsung-s95h-vs-s90h-specs-compared">Samsung S95H vs S90H: Specs compared</h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Samsung S95H</p></th><th  ><p>Samsung S90H</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Sizes</strong></p></td><td  ><p>55", 65", 77", 83"</p></td><td  ><p>42", 48", 55", 65", 77", 83"</p></td></tr><tr><td class="firstcol " ><p><strong>Ports</strong></p></td><td  ><p>4x HDMI 2.1</p></td><td  ><p>4x HDMI 2.1</p></td></tr><tr><td class="firstcol " ><p><strong>Resolution</strong></p></td><td  ><p>3,840 x 2,160p</p></td><td  ><p>3,840 x 2,160p</p></td></tr><tr><td class="firstcol " ><p><strong>Refresh rate</strong></p></td><td  ><p>165Hz</p></td><td  ><p>165Hz</p></td></tr><tr><td class="firstcol " ><p><strong>HDR</strong></p></td><td  ><p>HDR10, HDR10+, HDR10+ Advanced,  HLG</p></td><td  ><p>HDR10, HDR10+, HDR10+ Advanced,  HLG</p></td></tr><tr><td class="firstcol " ><p><strong>Smart TV software</strong></p></td><td  ><p>Tizen OS</p></td><td  ><p>Tizen OS</p></td></tr><tr><td class="firstcol " ><p><strong>ATSC 3.0 support?</strong></p></td><td  ><p>No</p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>NQ4 AI Gen3</p></td><td  ><p>NQ4 AI Gen3</p></td></tr></tbody></table></div><p>Despite their difference in price, the S95H and S90H are quite similar on paper. Like all Samsung TVs, neither set supports Dolby Vision, one of the most popular, enhanced HDR formats.</p><p>These OLEDs are among the first Samsung TVs to support <a href="https://www.tomsguide.com/tvs/dolby-vision-2-vs-hdr10-advanced-read-this-before-you-buy-your-next-tv">HDR10+ Advanced</a>, an all-new, royalty-free Dolby Vision alternative. HDR10+ Advanced is meant to compete with <a href="https://www.tomsguide.com/tvs/dolby-vision-2-helps-your-tv-make-better-choices-whether-its-a-premium-oled-or-budget-lcd-and-you-dont-have-to-do-anything-at-all">Dolby Vision 2</a>, the newest version of Dolby Vision HDR, but content for both is still scarce.</p><p>One major difference has to do with size availability. The S90H comes in two smaller screen sizes: 42 and 48 inches. And, while it won't make a difference to the average viewer, it's worth noting that the S95H supports an optional, external One Connect Box that unlocks four additional HDMI ports.</p><p><em><strong>Winner:</strong></em><em> Samsung S95H</em></p><h2 id="samsung-s95h-vs-s90h-design">Samsung S95H vs S90H: Design</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="GAb2zLXjveaTTdLRkMjPq9" name="Samsung-S95H--6" alt="Samsung S95H OLED TV on a desk" src="https://cdn.mos.cms.futurecdn.net/GAb2zLXjveaTTdLRkMjPq9.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><div><blockquote><p>The Samsung S95H's most eye-catching feature is its metal frame.</p></blockquote></div><p>The Samsung S95H's design is quite divisive, as it's unlike anything else on the market. As you can see in the photo above, the S95H features an eye-catching, metallic frame, and it can't be detached from the screen itself. The brushed-metal material plays the part of a premium design flourish, but based on conversations I've had with readers, you'll either love it or hate it.</p><p>I don't mind the look of the S95H's frame when the TV is mounted on a wall, as the entire point is to emphasize the picture, similar to a portrait's frame. That said, the frame draws more attention to itself when the S95H is set up on a media console.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="sUu9XXEVZXYPjMRMYasU2o" name="Samsung-55-inch-S90H--2" alt="The back of a Samsung OLED S90H 4K TV" src="https://cdn.mos.cms.futurecdn.net/sUu9XXEVZXYPjMRMYasU2o.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><div  class="fancy-box"><div class="fancy_box-title">Want to learn more?</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Fs3qz5sNLWmSetUgLxCCjE" name="Samsung-S95H-OLED-TV-lifestyle" caption="" alt="A wall-mounted Samsung S95H OLED TV displaying abstract, purple-colored imagery in a modern living room illuminated by sunlight" src="https://cdn.mos.cms.futurecdn.net/Fs3qz5sNLWmSetUgLxCCjE.jpg" mos="" link="" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pinterest-pin-exclude"></p></div></div><figcaption itemprop="caption description" class=""><span class="credit" itemprop="copyrightHolder">(Image credit: Samsung)</span></figcaption></figure><p class="fancy-box__body-text"><strong>Here's my expert guide to the </strong><a data-analytics-id="inline-link" href="https://www.tomsguide.com/tvs/oled-tvs/matte-vs-glossy-oled-tv-screens-what-should-you-buy-in-2026"><strong>matte or glossy OLED screen </strong></a><strong>debate.</strong></p></div></div><p>The S90H, on the other hand does <em>not</em> come with a big metal frame. Its OLED screen sits atop a pedestal-style stand. It's sturdy enough to minimize wobble, but some people might prefer the approach of the S95H's setup, which trades a pedestal-style stand for a pair of L-shaped feet.</p><p>Last year, Samsung's flagship OLED was the only OLED TV in the brand's lineup to feature Samsung's Glare Free display. This year, the Glare Free display has made its way to the mid-range S90H. </p><p>This matte-style finish is the best in the business at eliminating direct glare, but there's a catch: During daytime viewing (or in well-lit rooms), the Glare Free display scatters light in such a way that black levels on the S95H and S90H appear purplish-gray instead of deep, inky black. This would not be the case with a glossy-style screen.</p><p>Both TVs ship with Samsung's Solar Cell remote control, which automatically charges its lithium-ion battery via indoor/outdoor light. This convenient feature saves on the waste that comes with disposable batteries, but the Solar Cell remote's lack of an input button is a bit inconvenient.</p><p>There's no denying that the S95H features a more luxurious look and feel. But the S90H's design is far less divisive.</p><p><em><strong>Winner: </strong></em><em>Draw</em></p><h2 id="samsung-s95h-vs-s90h-performance">Samsung S95H vs S90H: Performance</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="M79zQxVBgVMFEYLUetsB6o" name="Samsung-55-inch-S90H--8" alt="Samsung OLED S90H 4K TV on a desk" src="https://cdn.mos.cms.futurecdn.net/M79zQxVBgVMFEYLUetsB6o.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Before we dive into which of these TVs is the better performer, let's compare their test results. (Both TVs were set to Samsung's Filmmaker picture mode when these tests were taken.)</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Samsung S95H</strong></p></th><th  ><p><strong>Samsung S90H</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>SDR Brightness (10%, in nits)    </strong></p></td><td  ><p>253</p></td><td  ><p>226</p></td></tr><tr><td class="firstcol " ><p><strong>Delta-E (lower is better)    </strong></p></td><td  ><p>2.2</p></td><td  ><p>1.6</p></td></tr><tr><td class="firstcol " ><p><strong>HDR Brightness (10%, in nits)    </strong></p></td><td  ><p>2,721</p></td><td  ><p>1,497</p></td></tr><tr><td class="firstcol " ><p><strong>UHDA-P3 Gamut Coverage    </strong></p></td><td  ><p>99.92%</p></td><td  ><p>99.34%</p></td></tr><tr><td class="firstcol " ><p><strong>Rec. 2020 Gamut Coverage    </strong></p></td><td  ><p>89.6%</p></td><td  ><p>77.83%</p></td></tr><tr><td class="firstcol " ><p><strong>Input latency (milliseconds)   </strong></p></td><td  ><p>9.7</p></td><td  ><p>9.3</p></td></tr></tbody></table></div><p>Both TVs deliver the performance-related benefits that we've come to expect from OLED TVs: perfect black levels, pixel-level dimming and ultra-accommodating viewing angles. Because of these benefits, pretty much everything look superb on both the S95H and S90H.</p><p>However, compared to the S90H, the S95H offers a superior picture. The differences come down to two key areas of performance: brightness and color.</p><p>Almost every size in the S95H leverages Samsung Display's quantum dot-enhanced OLED technology (also known as QD-OLED). Samsung's mid-range S90 series featured a QD-OLED display last year, but this year, every size in the S90H series makes use of a standard WOLED display.</p><p>There are many <a href="https://www.tomsguide.com/tvs/oled-tvs/qd-oled-vs-woled-whats-the-difference-in-2025">differences between QD-OLED and WOLED</a>, but for our purposes, here's what you need to know: The S95H offers better HDR brightness and color volume than what you'll see on WOLED-equipped OLED TVs like the S90H.</p><p>As you can see from our test results, the S95H is capable of pumping nearly twice the level of brightness to HDR highlights than the S90H. During HDR movies, shows and games, highlights — like the sharp reflection of sunlight off the hood of a car — are appear much brighter on the S95H.</p><p>This added highlight brightness adds tremendously to the S95H's ability to create visual depth. It also allows for better detail around said highlights.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ddhs67cP7D9Efs3irU7iy9" name="Samsung-S95H--8" alt="Samsung S95H OLED TV on a desk" src="https://cdn.mos.cms.futurecdn.net/ddhs67cP7D9Efs3irU7iy9.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><div><blockquote><p>The added range of colors makes for a more color-rich viewing experience on the S95H.</p></blockquote></div><p>But the primary benefit of the S95H's quantum dots can be seen in its color volume. Thanks to Samsung Display's enhanced OLED display, it covers 89% - 90% of the BT.2020 color space (compared to about 78% on the S90H).</p><p>The added range of colors makes for a more color-rich viewing experience on the S95H, particularly during cinematic, HDR content. Bold, bright primary colors are punchier, but the S95H is particularly good at rendering accurate skin tones and low-luminance colors like dark blue.</p><p>Despite its shortcomings when compared to the S95H, the Samsung S90H is nevertheless a sensational TV. Its roughly 1,500 nits of HDR highlight brightness is more than enough for an eye-popping, cinematic picture. It's an OLED TV, after all, so it's not saddled with light bloom and haloing around bright objects.</p><p>I'm willing to bet that nearly everyone who spends time with the S90H will walk away impressed with its accurate, OLED-driven performance. The S95H is just brighter, more colorful and guided by more-advanced processing. In a side-by-side comparison, the S95H's advantages really shine.</p><p><em><strong>Winner: </strong></em><em>Samsung S95H</em></p><h2 id="samsung-s95h-vs-s90h-smart-platform-and-features">Samsung S95H vs S90H: Smart platform and features</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wd3dKWhjgyNN5NN3e3Zbt9" name="Samsung-S95H--11" alt="Samsung S95H OLED TV on a desk" src="https://cdn.mos.cms.futurecdn.net/wd3dKWhjgyNN5NN3e3Zbt9.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Both the S95H and the S90H are built around a newly refreshed version of Samsung's Tizen-based smart platform, Smart Hub. This version is similar to what we saw across the brand's 2025 lineup, but there are some subtle changes to the user interface that improve the overall experience. For instance, new this year is a menu bar at the top of the screen that provides quick access to important settings.</p><p>I suspect that most people that choose to rely on Smart Hub as their daily streaming platform will find it decent enough. Navigation and load times are similar across both TVs.</p><p>When it comes to additional features and enhancements, these TVs are nearly identical. Both sets support 4K/120Hz gaming (the highest 4K spec on current-gen consoles), and with a gaming PC linked up, both OLEDs can support 4K titles at up to 165Hz.</p><p><em><strong>Winner: </strong></em><em>Draw</em></p><h2 id="samsung-s95h-vs-s90h-verdict">Samsung S95H vs S90H: Verdict</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="LAiT9M2XhwKcGgSJPKgJDo" name="Samsung-55-inch-S90H--18" alt="The remote for a Samsung OLED S90H 4K TV" src="https://cdn.mos.cms.futurecdn.net/LAiT9M2XhwKcGgSJPKgJDo.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Samsung S95H</p></th><th  ><p>Samsung S90H</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Specs (25)</strong></p></td><td  ><p>24</p></td><td  ><p>23</p></td></tr><tr><td class="firstcol " ><p><strong>Design (25)</strong></p></td><td  ><p>23</p></td><td  ><p>23</p></td></tr><tr><td class="firstcol " ><p><strong>Performance (25)</strong></p></td><td  ><p>25</p></td><td  ><p>23</p></td></tr><tr><td class="firstcol " ><p><strong>Features (25)</strong></p></td><td  ><p>24</p></td><td  ><p>24</p></td></tr><tr><td class="firstcol " ><p><strong>Total Score (100)</strong></p></td><td  ><p><strong>96</strong></p></td><td  ><p><strong>93</strong></p></td></tr></tbody></table></div><p>The Samsung S95H is an astonishing TV. Its quantum-dot color is nearly unmatched among OLED TVs, and it's also one of the brightest OLEDs you can buy right now. This makes it a safer bet than the S90H for brighter-than-average rooms, all while creating a truly impressive sense of visual depth.</p><p>But all of this performance upside comes at a steep cost. Right now, the <a href="https://www.bestbuy.com/product/samsung-65-class-s95h-oled-4k-glare-free-tv-with-samsungvisionai-2026/JJGRF3Q3GR" target="_blank" rel="nofollow">65-inch Samsung S95H is $2,999 at Best Buy</a>, which is prohibitively pricey for the average consumer — even those willing to spend over a thousand bucks on an impressive, new TV.</p><p>This is the primary reason why I recommend the Samsung S90H over its flagship-level sibling. The <a href="https://www.bestbuy.com/product/samsung-65-class-s90h-oled-4k-glare-free-tv-with-samsungvisionai-2026/JJGRF3QG5V" target="_blank" rel="nofollow">65-inch S90H is currently $1,799 at Best Buy</a>, and while it's not as bright and colorful as the S95H, you're still getting a near-identical set of features for gaming and streaming. In addition, the S90H's frame-free design is a safer bet for the average shopper.</p><p>I won't tell you that the S95H's sensational performance isn't worthy of the S95H's added cost. For home theater enthusiasts who've been saving up for a life-changing TV, the S95H is probably worth its price.</p><p>The S90H has far greater appeal for most people shopping for a higher-end TV. I suspect it'll be the more popular model in 2026.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ePaJpW"></div>                            </div>                            <script src="https://kwizly.com/embed/ePaJpW.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s95h-oled-tv-review">Samsung S95H OLED TV review</a></li><li><a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s90h-oled-tv-review">Samsung S90H OLED TV review</a></li><li><a href="https://www.tomsguide.com/tvs/micro-rgb-vs-oled-tvs-whats-the-difference">Micro RGB vs OLED TVs: What’s the difference?</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I walked 5,000 steps with the Garmin Cirqa vs Apple Watch 11. Here’s which came out on top ]]></title>
                                                                                                <dc:content><![CDATA[ <p>If you see me walking down the street and I start to cry, it’s probably because I’m doing a walk test for Tom’s Guide, and I’ve lost count. As you’ll know if you follow Tom’s Guide’s fitness desk, one of the first things we do when a new device drops is take it for a walk with another fitness tracker to see how well it does the basics. </p><p>This week, everyone is talking about the new <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-just-went-hands-on-with-the-garmin-cirqa-and-it-strikes-a-near-perfect-balance-between-the-fitbit-air-and-whoop-5-0">Garmin Cirqa</a>, Garmin’s $199 screenless fitness tracker, which looks set to take on the likes of <a href="https://www.tomsguide.com/wellness/smartwatches/ive-been-wearing-the-new-fitbit-air-for-5-days-and-this-is-the-one-thing-that-has-really-impressed-me-so-far">Fitbit Air</a> and <a href="https://www.tomsguide.com/wellness/fitness-trackers/whoop-5-0-review-should-you-give-a-whoop-about-this-new-tracker">Whoop 5.0</a>. It’s a subscription-free tracker with comprehensive workout and sleep insights, up to 10 days of battery, haptic feedback, and a single physical button. You can read our <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-just-went-hands-on-with-the-garmin-cirqa-and-it-strikes-a-near-perfect-balance-between-the-fitbit-air-and-whoop-5-0">early verdict on the Garmin Cirqa</a> here. </p><p>To find out more, I strapped it to my wrist alongside the Apple Watch 11, which isn’t screenless, but is one of the most popular smartwatches on the market. I’ve had the Series 11 on my wrist since it was released last September. The newest iteration of Apple’s most popular smartwatch has hypertension alerts and a sleep score to help you gain a deeper understanding of your overall health.</p>        <div class="featured_product_block featured_block_versus" data-id="9e051f02-86a3-11f1-9a93-e3c256a9071a">            <a href="https://www.garmin.com/en-US/p/1989182/" data-model-name="Cirqa" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:102.04%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/4evX7WqPWr9jhKZeqqaxnb.png" alt="Garmin, Cirqa"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                            <div class='featured__brand'>Garmin</div>                    <div class="featured__title">Cirqa</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>The Garmin Cirqa goes on sale on July 24 for $199; it comes in two sizes and four color options. It's water-resistant to 5 ATM, and has a 10-day battery life.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_versus" data-id="9e051f84-86a3-11f1-ac1b-d1fd1eb9c244">            <a href="https://www.amazon.com/Apple-Watch-Smartwatch-Aluminum-Always/dp/B0FQFL8PZ5" data-model-name="Apple Watch 11" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:118.11%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/GuyP4rEgTW2kHmRSjGeHCG.jpg" alt="Apple Watch 11"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                            <div class='featured__brand'>Apple</div>                    <div class="featured__title">Watch Series 11</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>The Apple Watch Series 11 is considered the best smartwatch on the market for most people. It's an extension of your iPhone on your wrist, with plenty of health tools loaded on board.</p></p>                </div>                            </div>        </div><p>But which was more accurate over 5,000 steps? Read on to find out more. </p><h2 id="i-walked-5-000-steps-with-the-garmin-cirqa-and-the-apple-watch-11-here-are-the-results">I walked 5,000 steps with the Garmin Cirqa and the Apple Watch 11 — here are the results </h2><p>If you’ve read one of my articles before, you’ll know that manually counting anything more than around 50 steps is out of my remit, so I rely on a trusty $5 clicker tool from <a href="https://www.tomsguide.com/uk/tag/amazon">Amazon</a>.</p><p>I manually click every time I take a step. For this test, I wore the Apple Watch 11 on my left wrist and the Garmin Cirqa on my right. Both watches count your steps using an internal accelerometer, which measures the swing of your arm.</p><p>Each swing counts for two steps, and it doesn’t matter whether you wear your watch on your dominant or non-dominant hand. It doesn’t matter if you walk with your hands in your pockets or holding a cup of coffee; the accelerometer should still measure your body’s movement. It does, however, make a difference if you’re pushing a stroller — no, Apple, I promise I haven’t done a 45-minute elliptical workout while trying to get my toddler to sleep.</p><p>As with all of the <a href="https://www.tomsguide.com/best-picks/best-apple-watch">best Apple Watches</a>, the Apple Watch 11 doesn’t tell you the number of steps you’ve taken during a specific workout; instead, you see an overall number of steps throughout the day. Probably because <a href="https://www.tomsguide.com/wellness/fitness/forget-10000-steps-researchers-say-this-is-way-more-important">steps aren’t actually that useful a metric</a>, but annoying for me when writing these articles. For this comparison, I downloaded a third-party Pedometer+ app onto my Apple Watch 11.</p><p>When I got home, I downloaded all the data. </p><div ><table><caption>Results</caption><tbody><tr><td class="firstcol " ><p>Manual recording: </p></td><td  ><p>5,500 steps</p></td></tr><tr><td class="firstcol " ><p>Garmin Cirqa: </p></td><td  ><p> 4,605 steps </p></td></tr><tr><td class="firstcol " ><p>Apple Watch 11:</p></td><td  ><p>5,148 steps</p></td></tr></tbody></table></div><p>As you can see, the Apple Watch got slightly closer to my actual step count than the Garmin Cirqa; however, I will caveat this slightly.  I had a major problem with the device in that it didn’t recognise the activity as a walk at all. Instead, when I synced the Cirqa to Garmin Connect, I just got a "45-minute workout," with no distance or steps included. </p><p>I’ve only been wearing the device for 48 hours, and Garmin has stressed it gets smarter the more it gets to know you. Instead, I had to look at my overall steps throughout the day and use the numbers from there. I wonder if the results would have been different if the walk had been recorded as a walk, or if I’d been wearing the tracker for months, as I have with the Apple Watch 11.</p><p>I’ll continue my testing and my step counting before I make my verdict. Watch this space! </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eBzBKe"></div>                            </div>                            <script src="https://kwizly.com/embed/eBzBKe.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/ive-tested-over-100-fitness-trackers-head-to-head-3-workout-stats-i-trust-the-least">I’ve tested over 100 fitness trackers head-to-head — 3 workout stats I trust the least</a></li><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/can-the-usd99-fitbit-air-beat-the-usd799-apple-watch-ultra-3-at-fitness-tracking-i-manually-counted-4-500-steps-to-find-out">Can the $99 Fitbit Air beat the $799 Apple Watch Ultra 3 at fitness tracking? I manually counted 4,500 steps to find out</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/3-reasons-why-google-should-make-an-oura-ring-alternative">It's time for a Fitbit Ring — 3 reasons why Google should make an Oura Ring alternative</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/wellness/fitness-trackers/i-walked-5-000-steps-with-the-garmin-cirqa-vs-apple-watch-11-heres-which-came-out-on-top</link>
                                                                            <description>
                            <![CDATA[ We put Garmin's newest tracker head-to-head with the Apple Watch. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">msBKoEe4dqNkxNr7fvid8W</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/vNCdwjy2tbNqERQooPESMf-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 25 Jul 2026 04:15:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Fitness Trackers]]></category>
                                                    <category><![CDATA[Wellness]]></category>
                                                    <category><![CDATA[Smartwatches]]></category>
                                                                                                <author><![CDATA[ jane.mcguire@futurenet.com (Jane McGuire) ]]></author>                    <dc:creator><![CDATA[ Jane McGuire ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/vV4Uj3e5TZvBqmmsjT2EU6.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jane McGuire is Tom&#039;s Guide&#039;s Fitness Managing Editor, which means she looks after everything fitness-related — from running gear and fitness trackers to yoga mats and sports bras. An avid runner, Jane has tested and reviewed fitness products for the past five years, so she knows what to look for when finding a good running watch or a pair of shorts with pockets big enough for your smartphone, running gels, and house keys. &lt;/p&gt;&lt;p&gt;Jane has run six marathons — the London Marathon five times, and the Berlin Marathon once -and is still on a quest to tick off all of the marathon majors. Her marathon PR is 3:30, which she ran in the New Balance Supercomp Elite V5&#039;s, but she also spends a lot of time talking about her  ‘joy plan’, where she runs for happiness, not for PR’s. &lt;/p&gt;&lt;p&gt;Previous to Tom’s Guide, Jane worked for Runner’s World, where she co-hosted the Runner’s World podcast. She also presents on a YouTube channel called the Run Testers, alongside other running-mad journalists, where they review the latest shoes, kit, and tech. Her work has also appeared in Coach, Get Sweat Go, and Women’s Health. &lt;/p&gt;&lt;p&gt;When she&#039;s not pounding the pavements, you&#039;ll find Jane striding round the Surrey Hills, taking far too many photos of her spaniel, Toby. &lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/vNCdwjy2tbNqERQooPESMf-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[a photo of the Garmin Cirqa and Apple Watch 11]]></media:description>                                                            <media:text><![CDATA[a photo of the Garmin Cirqa and Apple Watch 11]]></media:text>
                                <media:title type="plain"><![CDATA[a photo of the Garmin Cirqa and Apple Watch 11]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/vNCdwjy2tbNqERQooPESMf-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>If you see me walking down the street and I start to cry, it’s probably because I’m doing a walk test for Tom’s Guide, and I’ve lost count. As you’ll know if you follow Tom’s Guide’s fitness desk, one of the first things we do when a new device drops is take it for a walk with another fitness tracker to see how well it does the basics. </p><p>This week, everyone is talking about the new <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-just-went-hands-on-with-the-garmin-cirqa-and-it-strikes-a-near-perfect-balance-between-the-fitbit-air-and-whoop-5-0">Garmin Cirqa</a>, Garmin’s $199 screenless fitness tracker, which looks set to take on the likes of <a href="https://www.tomsguide.com/wellness/smartwatches/ive-been-wearing-the-new-fitbit-air-for-5-days-and-this-is-the-one-thing-that-has-really-impressed-me-so-far">Fitbit Air</a> and <a href="https://www.tomsguide.com/wellness/fitness-trackers/whoop-5-0-review-should-you-give-a-whoop-about-this-new-tracker">Whoop 5.0</a>. It’s a subscription-free tracker with comprehensive workout and sleep insights, up to 10 days of battery, haptic feedback, and a single physical button. You can read our <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-just-went-hands-on-with-the-garmin-cirqa-and-it-strikes-a-near-perfect-balance-between-the-fitbit-air-and-whoop-5-0">early verdict on the Garmin Cirqa</a> here. </p><p>To find out more, I strapped it to my wrist alongside the Apple Watch 11, which isn’t screenless, but is one of the most popular smartwatches on the market. I’ve had the Series 11 on my wrist since it was released last September. The newest iteration of Apple’s most popular smartwatch has hypertension alerts and a sleep score to help you gain a deeper understanding of your overall health.</p>        <div class="featured_product_block featured_block_versus" data-id="9e051f02-86a3-11f1-9a93-e3c256a9071a">            <a href="https://www.garmin.com/en-US/p/1989182/" data-model-name="Cirqa" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:102.04%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/4evX7WqPWr9jhKZeqqaxnb.png" alt="Garmin, Cirqa"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                            <div class='featured__brand'>Garmin</div>                    <div class="featured__title">Cirqa</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>The Garmin Cirqa goes on sale on July 24 for $199; it comes in two sizes and four color options. It's water-resistant to 5 ATM, and has a 10-day battery life.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_versus" data-id="9e051f84-86a3-11f1-ac1b-d1fd1eb9c244">            <a href="https://www.amazon.com/Apple-Watch-Smartwatch-Aluminum-Always/dp/B0FQFL8PZ5" data-model-name="Apple Watch 11" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:118.11%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/GuyP4rEgTW2kHmRSjGeHCG.jpg" alt="Apple Watch 11"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                            <div class='featured__brand'>Apple</div>                    <div class="featured__title">Watch Series 11</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>The Apple Watch Series 11 is considered the best smartwatch on the market for most people. It's an extension of your iPhone on your wrist, with plenty of health tools loaded on board.</p></p>                </div>                            </div>        </div><p>But which was more accurate over 5,000 steps? Read on to find out more. </p><h2 id="i-walked-5-000-steps-with-the-garmin-cirqa-and-the-apple-watch-11-here-are-the-results">I walked 5,000 steps with the Garmin Cirqa and the Apple Watch 11 — here are the results </h2><p>If you’ve read one of my articles before, you’ll know that manually counting anything more than around 50 steps is out of my remit, so I rely on a trusty $5 clicker tool from <a href="https://www.tomsguide.com/uk/tag/amazon">Amazon</a>.</p><p>I manually click every time I take a step. For this test, I wore the Apple Watch 11 on my left wrist and the Garmin Cirqa on my right. Both watches count your steps using an internal accelerometer, which measures the swing of your arm.</p><p>Each swing counts for two steps, and it doesn’t matter whether you wear your watch on your dominant or non-dominant hand. It doesn’t matter if you walk with your hands in your pockets or holding a cup of coffee; the accelerometer should still measure your body’s movement. It does, however, make a difference if you’re pushing a stroller — no, Apple, I promise I haven’t done a 45-minute elliptical workout while trying to get my toddler to sleep.</p><p>As with all of the <a href="https://www.tomsguide.com/best-picks/best-apple-watch">best Apple Watches</a>, the Apple Watch 11 doesn’t tell you the number of steps you’ve taken during a specific workout; instead, you see an overall number of steps throughout the day. Probably because <a href="https://www.tomsguide.com/wellness/fitness/forget-10000-steps-researchers-say-this-is-way-more-important">steps aren’t actually that useful a metric</a>, but annoying for me when writing these articles. For this comparison, I downloaded a third-party Pedometer+ app onto my Apple Watch 11.</p><p>When I got home, I downloaded all the data. </p><div ><table><caption>Results</caption><tbody><tr><td class="firstcol " ><p>Manual recording: </p></td><td  ><p>5,500 steps</p></td></tr><tr><td class="firstcol " ><p>Garmin Cirqa: </p></td><td  ><p> 4,605 steps </p></td></tr><tr><td class="firstcol " ><p>Apple Watch 11:</p></td><td  ><p>5,148 steps</p></td></tr></tbody></table></div><p>As you can see, the Apple Watch got slightly closer to my actual step count than the Garmin Cirqa; however, I will caveat this slightly.  I had a major problem with the device in that it didn’t recognise the activity as a walk at all. Instead, when I synced the Cirqa to Garmin Connect, I just got a "45-minute workout," with no distance or steps included. </p><p>I’ve only been wearing the device for 48 hours, and Garmin has stressed it gets smarter the more it gets to know you. Instead, I had to look at my overall steps throughout the day and use the numbers from there. I wonder if the results would have been different if the walk had been recorded as a walk, or if I’d been wearing the tracker for months, as I have with the Apple Watch 11.</p><p>I’ll continue my testing and my step counting before I make my verdict. Watch this space! </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eBzBKe"></div>                            </div>                            <script src="https://kwizly.com/embed/eBzBKe.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/ive-tested-over-100-fitness-trackers-head-to-head-3-workout-stats-i-trust-the-least">I’ve tested over 100 fitness trackers head-to-head — 3 workout stats I trust the least</a></li><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/can-the-usd99-fitbit-air-beat-the-usd799-apple-watch-ultra-3-at-fitness-tracking-i-manually-counted-4-500-steps-to-find-out">Can the $99 Fitbit Air beat the $799 Apple Watch Ultra 3 at fitness tracking? I manually counted 4,500 steps to find out</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/3-reasons-why-google-should-make-an-oura-ring-alternative">It's time for a Fitbit Ring — 3 reasons why Google should make an Oura Ring alternative</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I walked 4,000 steps with the Apple Watch Ultra 3 vs Samsung Galaxy Watch Ultra 2 —  and the winning margin was razor-thin ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Which rugged smartwatch, the Apple Watch Ultra 3 or the new Samsung Galaxy Watch Ultra 2, is the better device for tracking outdoor workouts and adventures? I decided to find out by manually counting 4,000 steps with one on either wrist.</p><p>Aside from the obvious — the <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-3-review">Apple Watch Ultra 3</a> is for iOS users, and the <a href="https://www.tomsguide.com/wellness/smartwatches/galaxy-watch-ultra-2-hands-on-review">Samsung Galaxy Watch Ultra 2</a> is for the Android faithful — these two smartwatches are remarkably evenly matched. Of course, they also track a whole lot of other, more exciting activities, <a href="https://www.tomsguide.com/wellness/smartwatches/samsung-turned-the-galaxy-watch-ultra-2-into-a-fully-fledged-dive-computer-but-theres-a-catch">including scuba diving</a>, but for the sake of our comparison, I’m going to stick with a good old-fashioned walk.</p><p>With my manual count as the primary control for this comparison, as a control for distance, climb, and pace, we’ll rely on ol’ reliable, the Strava app. </p><p>Read on to find out which smartwatch came out on top in this fitness tracking accuracy showdown with the Apple Watch Ultra 3 vs Samsung Galaxy Watch Ultra 2.</p><div class="product"><a data-dimension112="ec4544dc-86d3-11f1-a981-5bfe34187f4c" data-action="Deal Block" data-label="Watch Ultra 3" data-dimension48="Watch Ultra 3" href="https://www.bestbuy.com/product/apple-watch-ultra-3-gps-cellular-49mm-titanium-case-with-black-alpine-loop-medium-black-2025/JJGCQL87VH" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1600px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="jZmNn7NgmEcxvn6y45BBZX" name="Apple Watch Ultra 3 sq" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/jZmNn7NgmEcxvn6y45BBZX.jpg" mos="" align="middle" fullscreen="" width="1600" height="1600" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Apple Watch Ultra 3 is Cupertino's toughest-built, longest-lasting smartwatch designed with outdoor adventurers and athletes in mind. A bright screen, sleek case, and safety features galore add to its appeal.<a class="view-deal button" href="https://www.bestbuy.com/product/apple-watch-ultra-3-gps-cellular-49mm-titanium-case-with-black-alpine-loop-medium-black-2025/JJGCQL87VH" target="_blank" rel="nofollow" data-dimension112="ec4544dc-86d3-11f1-a981-5bfe34187f4c" data-action="Deal Block" data-label="Watch Ultra 3" data-dimension48="Watch Ultra 3" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="ec454554-86d3-11f1-98bb-bb471e66fd35" data-action="Deal Block" data-label="Galaxy Watch Ultra 2" data-dimension48="Galaxy Watch Ultra 2" data-dimension25="$" href="https://www.bestbuy.com/product/samsung-galaxy-watch-ultra2-titanium-smartwatch-47mm-lte-titanium-silver-2026/JJGRF3FXV3/sku/6684221" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:757px;"><p class="vanilla-image-block" style="padding-top:106.87%;"><img id="Zb6a5zdmbxUdzpjQuWMEAj" name="galaxywatchUltra2-deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Zb6a5zdmbxUdzpjQuWMEAj.jpg" mos="" align="middle" fullscreen="" width="757" height="809" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Galaxy Watch Ultra 2 is a massive, rugged smartwatch with a dive-ready design, a seriously bright display, 60+ hours of battery, and Google's fantastic Gemini AI voice assistant built-in.<a class="view-deal button" href="https://www.bestbuy.com/product/samsung-galaxy-watch-ultra2-titanium-smartwatch-47mm-lte-titanium-silver-2026/JJGRF3FXV3/sku/6684221" target="_blank" rel="nofollow" data-dimension112="ec454554-86d3-11f1-98bb-bb471e66fd35" data-action="Deal Block" data-label="Galaxy Watch Ultra 2" data-dimension48="Galaxy Watch Ultra 2" data-dimension25="$">View Deal</a></p></div><h3 class="article-body__section" id="section-samsung-galaxy-watch-ultra-2-vs-apple-watch-ultra-3"><span>Samsung Galaxy Watch Ultra 2 vs Apple Watch Ultra 3</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4885px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gJNJWDGLv8fd94rotU7zkd" name="GalaxyWatchUltra2-v-AWU3-02" alt="Close-up look at the Samsung Galaxy Watch Ultra 2 smartwatch" src="https://cdn.mos.cms.futurecdn.net/gJNJWDGLv8fd94rotU7zkd.jpg" mos="" align="middle" fullscreen="" width="4885" height="2748" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Before diving into the results, here are the biggest differences between the Apple Watch Ultra 3, one of the <a href="https://www.tomsguide.com/wellness/smartwatches/best-smartwatch">best smartwatches</a> in 2026, and the Samsung Galaxy Watch Ultra 2 (review pending). For starters, the Apple Watch is $100 more than the Galaxy Watch, $799 vs $699.</p><p>The Galaxy Watch, meanwhile, boasts a brighter display, better battery life, and a genuinely useful onboard AI assistant that's backed by Gemini and accessible via a wrist raise.</p><p>Design-wise, I find the Apple Watch Ultra 3 to be a lot comfier than the Galaxy Watch Ultra 2. Not only is the Apple Watch thinner, but it's also narrower. That said, the two weigh roughly the same.</p><p>When it comes to logging workouts, Apple and Samsung's best are evenly matched. They each boast dual-band GPS for location tracking, barometric altimeters for elevation monitoring, accelerometers and gyroscopes for motion tracking, and tons of health sensors to monitor your heart rate, body temperature, calories burned, and more.</p><p>With that out of the way, on to the result of my 4,000-step walk test comparison with the Apple Watch Ultra 3 vs Samsung Galaxy Watch Ultra 2!</p><h3 class="article-body__section" id="section-samsung-galaxy-watch-ultra-2-vs-apple-watch-ultra-3-walk-test-results"><span>Samsung Galaxy Watch Ultra 2 vs Apple Watch Ultra 3: Walk test results </span></h3><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Samsung Galaxy Watch Ultra 2</p></th><th  ><p>Apple Watch Ultra 3</p></th><th  ><p>Control</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Steps</strong></p></td><td  ><p>4,023 steps</p></td><td  ><p>3,924 steps</p></td><td  ><p>4,000 steps (manual count)</p></td></tr><tr><td class="firstcol " ><p><strong>Distance</strong></p></td><td  ><p>2.09  miles</p></td><td  ><p>2.11 miles</p></td><td  ><p>2.17 miles (Strava)</p></td></tr><tr><td class="firstcol " ><p><strong>Climb</strong></p></td><td  ><p>358 feet</p></td><td  ><p>372 feet</p></td><td  ><p>362 feet (Strava)</p></td></tr><tr><td class="firstcol " ><p><strong>Average pace </strong></p></td><td  ><p>17 mins 05 secs</p></td><td  ><p>17 mins 09 secs</p></td><td  ><p>16 mins 48 secs (Strava)</p></td></tr><tr><td class="firstcol " ><p><strong>Average heart rate</strong></p></td><td  ><p>128 bpm</p></td><td  ><p>130 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Max heart rate</strong></p></td><td  ><p>160 bpm</p></td><td  ><p>158 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Calories burned</strong></p></td><td  ><p>237 calories</p></td><td  ><p> 299 calories </p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Battery usage</strong></p></td><td  ><p>3%</p></td><td  ><p>1%</p></td><td  ><p>n/a</p></td></tr></tbody></table></div><p>I took exactly 4,000 steps during my ~35-minute walk, a tally that's backed up by Strava, which also logged precisely 4K. As always, any step count total within 100 steps of my actual tally is considered excellent and well within a reasonable margin for error.</p><p>Both the Apple Watch Ultra 3 and Samsung Galaxy Watch Ultra 2 performed exceptionally well in this test, not just in terms of accurately counting my steps, but also logging distance, elevation gain, pace, and even heart rate.</p><p>Of course, when it comes to steps, the Galaxy Watch Ultra 2 beats the Apple Watch Ultra 3 by a modest margin compared to the control. The same goes for climb and pace. The Apple Watch, meanwhile, was a little bit closer to the control for distance.</p><p>Both devices registered roughly the same maximum and average heart rates, though the Apple Watch calculated more calories burned and used less battery to log my efforts. </p><h3 class="article-body__section" id="section-samsung-galaxy-watch-ultra-2-vs-apple-watch-ultra-3-winner"><span>Samsung Galaxy Watch Ultra 2 vs Apple Watch Ultra 3: Winner </span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4797px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="vHP2ZPZZ4Z6xQ2bKK5vYtZ" name="GalaxyWatchUltra2-06" alt="Close-up look at the Samsung Galaxy Watch Ultra 2 smartwatch" src="https://cdn.mos.cms.futurecdn.net/vHP2ZPZZ4Z6xQ2bKK5vYtZ.jpg" mos="" align="middle" fullscreen="" width="4797" height="2698" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>By a teeny-tiny margin, the Samsung Galaxy Watch Ultra 2 gets a win versus its main competitor, the Apple Watch Ultra 3. Ultimately, though, both devices performed with impressive accuracy during this test, and I would not hesitate to use either to log my next workout, whether it's a walk around the neighborhood or a recreational dive in Puget Sound.</p><p>Stay tuned for my full Samsung Galaxy Watch Ultra 2 review, to be published soon. In the meantime, which smartwatches would you like to see me test the Galaxy Watch Ultra 2 against next? Let me know below. </p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/wellness/smartwatches/5-things-to-know-about-the-new-samsung-galaxy-watch-9">5 things to know about the new Samsung Galaxy Watch 9</a></li><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/can-the-usd99-fitbit-air-beat-the-usd799-apple-watch-ultra-3-at-fitness-tracking-i-manually-counted-4-500-steps-to-find-out">Can the $99 Fitbit Air beat the $799 Apple Watch Ultra 3 at fitness tracking? I manually counted 4,500 steps to find out</a></li><li><a href="https://www.tomsguide.com/wellness/smart-rings/the-samsung-galaxy-ring-is-about-to-be-the-worlds-first-fda-cleared-smart-ring-for-sleep-apnea">The Samsung Galaxy Ring is about to be the world’s first FDA-cleared smart ring for sleep apnea</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/wellness/smartwatches/i-manually-counted-4-000-steps-to-test-the-apple-watch-ultra-3-vs-samsung-galaxy-watch-ultra-2-and-samsung-wins-the-accuracy-battle-with-better-elevation-data-too</link>
                                                                            <description>
                            <![CDATA[ Which rugged smartwatch, the Apple Watch Ultra 3 or the Samsung Galaxy Watch Ultra 2, is the better device for tracking outdoor workouts? I decided to find out by manually counting 4,000 steps with one on either wrist. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">BiMtgUtLvXGBXkpBqnjd2m</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/7RLoxSzFXxAzKQFchr6Qod-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 24 Jul 2026 10:00:00 +0000</pubDate>                                                                                                                                <updated>Fri, 24 Jul 2026 21:21:52 +0000</updated>
                                                                                                                                            <category><![CDATA[Smartwatches]]></category>
                                                    <category><![CDATA[Wellness]]></category>
                                                                                                <author><![CDATA[ dan.bracaglia@futurenet.com (Dan Bracaglia) ]]></author>                    <dc:creator><![CDATA[ Dan Bracaglia ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/3Ev8EFrheNxPemMWSBaKcK.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;&lt;br&gt;&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/7RLoxSzFXxAzKQFchr6Qod-1280-80.jpg">
                                                            <media:credit><![CDATA[Dan Bracaglia/Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Close-up look at the Samsung Galaxy Watch Ultra 2 smartwatch]]></media:description>                                                            <media:text><![CDATA[Close-up look at the Samsung Galaxy Watch Ultra 2 smartwatch]]></media:text>
                                <media:title type="plain"><![CDATA[Close-up look at the Samsung Galaxy Watch Ultra 2 smartwatch]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/7RLoxSzFXxAzKQFchr6Qod-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Which rugged smartwatch, the Apple Watch Ultra 3 or the new Samsung Galaxy Watch Ultra 2, is the better device for tracking outdoor workouts and adventures? I decided to find out by manually counting 4,000 steps with one on either wrist.</p><p>Aside from the obvious — the <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-3-review">Apple Watch Ultra 3</a> is for iOS users, and the <a href="https://www.tomsguide.com/wellness/smartwatches/galaxy-watch-ultra-2-hands-on-review">Samsung Galaxy Watch Ultra 2</a> is for the Android faithful — these two smartwatches are remarkably evenly matched. Of course, they also track a whole lot of other, more exciting activities, <a href="https://www.tomsguide.com/wellness/smartwatches/samsung-turned-the-galaxy-watch-ultra-2-into-a-fully-fledged-dive-computer-but-theres-a-catch">including scuba diving</a>, but for the sake of our comparison, I’m going to stick with a good old-fashioned walk.</p><p>With my manual count as the primary control for this comparison, as a control for distance, climb, and pace, we’ll rely on ol’ reliable, the Strava app. </p><p>Read on to find out which smartwatch came out on top in this fitness tracking accuracy showdown with the Apple Watch Ultra 3 vs Samsung Galaxy Watch Ultra 2.</p><div class="product"><a data-dimension112="ec4544dc-86d3-11f1-a981-5bfe34187f4c" data-action="Deal Block" data-label="Watch Ultra 3" data-dimension48="Watch Ultra 3" href="https://www.bestbuy.com/product/apple-watch-ultra-3-gps-cellular-49mm-titanium-case-with-black-alpine-loop-medium-black-2025/JJGCQL87VH" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1600px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="jZmNn7NgmEcxvn6y45BBZX" name="Apple Watch Ultra 3 sq" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/jZmNn7NgmEcxvn6y45BBZX.jpg" mos="" align="middle" fullscreen="" width="1600" height="1600" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Apple Watch Ultra 3 is Cupertino's toughest-built, longest-lasting smartwatch designed with outdoor adventurers and athletes in mind. A bright screen, sleek case, and safety features galore add to its appeal.<a class="view-deal button" href="https://www.bestbuy.com/product/apple-watch-ultra-3-gps-cellular-49mm-titanium-case-with-black-alpine-loop-medium-black-2025/JJGCQL87VH" target="_blank" rel="nofollow" data-dimension112="ec4544dc-86d3-11f1-a981-5bfe34187f4c" data-action="Deal Block" data-label="Watch Ultra 3" data-dimension48="Watch Ultra 3" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="ec454554-86d3-11f1-98bb-bb471e66fd35" data-action="Deal Block" data-label="Galaxy Watch Ultra 2" data-dimension48="Galaxy Watch Ultra 2" data-dimension25="$" href="https://www.bestbuy.com/product/samsung-galaxy-watch-ultra2-titanium-smartwatch-47mm-lte-titanium-silver-2026/JJGRF3FXV3/sku/6684221" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:757px;"><p class="vanilla-image-block" style="padding-top:106.87%;"><img id="Zb6a5zdmbxUdzpjQuWMEAj" name="galaxywatchUltra2-deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Zb6a5zdmbxUdzpjQuWMEAj.jpg" mos="" align="middle" fullscreen="" width="757" height="809" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Galaxy Watch Ultra 2 is a massive, rugged smartwatch with a dive-ready design, a seriously bright display, 60+ hours of battery, and Google's fantastic Gemini AI voice assistant built-in.<a class="view-deal button" href="https://www.bestbuy.com/product/samsung-galaxy-watch-ultra2-titanium-smartwatch-47mm-lte-titanium-silver-2026/JJGRF3FXV3/sku/6684221" target="_blank" rel="nofollow" data-dimension112="ec454554-86d3-11f1-98bb-bb471e66fd35" data-action="Deal Block" data-label="Galaxy Watch Ultra 2" data-dimension48="Galaxy Watch Ultra 2" data-dimension25="$">View Deal</a></p></div><h3 class="article-body__section" id="section-samsung-galaxy-watch-ultra-2-vs-apple-watch-ultra-3"><span>Samsung Galaxy Watch Ultra 2 vs Apple Watch Ultra 3</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4885px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gJNJWDGLv8fd94rotU7zkd" name="GalaxyWatchUltra2-v-AWU3-02" alt="Close-up look at the Samsung Galaxy Watch Ultra 2 smartwatch" src="https://cdn.mos.cms.futurecdn.net/gJNJWDGLv8fd94rotU7zkd.jpg" mos="" align="middle" fullscreen="" width="4885" height="2748" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Before diving into the results, here are the biggest differences between the Apple Watch Ultra 3, one of the <a href="https://www.tomsguide.com/wellness/smartwatches/best-smartwatch">best smartwatches</a> in 2026, and the Samsung Galaxy Watch Ultra 2 (review pending). For starters, the Apple Watch is $100 more than the Galaxy Watch, $799 vs $699.</p><p>The Galaxy Watch, meanwhile, boasts a brighter display, better battery life, and a genuinely useful onboard AI assistant that's backed by Gemini and accessible via a wrist raise.</p><p>Design-wise, I find the Apple Watch Ultra 3 to be a lot comfier than the Galaxy Watch Ultra 2. Not only is the Apple Watch thinner, but it's also narrower. That said, the two weigh roughly the same.</p><p>When it comes to logging workouts, Apple and Samsung's best are evenly matched. They each boast dual-band GPS for location tracking, barometric altimeters for elevation monitoring, accelerometers and gyroscopes for motion tracking, and tons of health sensors to monitor your heart rate, body temperature, calories burned, and more.</p><p>With that out of the way, on to the result of my 4,000-step walk test comparison with the Apple Watch Ultra 3 vs Samsung Galaxy Watch Ultra 2!</p><h3 class="article-body__section" id="section-samsung-galaxy-watch-ultra-2-vs-apple-watch-ultra-3-walk-test-results"><span>Samsung Galaxy Watch Ultra 2 vs Apple Watch Ultra 3: Walk test results </span></h3><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Samsung Galaxy Watch Ultra 2</p></th><th  ><p>Apple Watch Ultra 3</p></th><th  ><p>Control</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Steps</strong></p></td><td  ><p>4,023 steps</p></td><td  ><p>3,924 steps</p></td><td  ><p>4,000 steps (manual count)</p></td></tr><tr><td class="firstcol " ><p><strong>Distance</strong></p></td><td  ><p>2.09  miles</p></td><td  ><p>2.11 miles</p></td><td  ><p>2.17 miles (Strava)</p></td></tr><tr><td class="firstcol " ><p><strong>Climb</strong></p></td><td  ><p>358 feet</p></td><td  ><p>372 feet</p></td><td  ><p>362 feet (Strava)</p></td></tr><tr><td class="firstcol " ><p><strong>Average pace </strong></p></td><td  ><p>17 mins 05 secs</p></td><td  ><p>17 mins 09 secs</p></td><td  ><p>16 mins 48 secs (Strava)</p></td></tr><tr><td class="firstcol " ><p><strong>Average heart rate</strong></p></td><td  ><p>128 bpm</p></td><td  ><p>130 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Max heart rate</strong></p></td><td  ><p>160 bpm</p></td><td  ><p>158 bpm</p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Calories burned</strong></p></td><td  ><p>237 calories</p></td><td  ><p> 299 calories </p></td><td  ><p>n/a</p></td></tr><tr><td class="firstcol " ><p><strong>Battery usage</strong></p></td><td  ><p>3%</p></td><td  ><p>1%</p></td><td  ><p>n/a</p></td></tr></tbody></table></div><p>I took exactly 4,000 steps during my ~35-minute walk, a tally that's backed up by Strava, which also logged precisely 4K. As always, any step count total within 100 steps of my actual tally is considered excellent and well within a reasonable margin for error.</p><p>Both the Apple Watch Ultra 3 and Samsung Galaxy Watch Ultra 2 performed exceptionally well in this test, not just in terms of accurately counting my steps, but also logging distance, elevation gain, pace, and even heart rate.</p><p>Of course, when it comes to steps, the Galaxy Watch Ultra 2 beats the Apple Watch Ultra 3 by a modest margin compared to the control. The same goes for climb and pace. The Apple Watch, meanwhile, was a little bit closer to the control for distance.</p><p>Both devices registered roughly the same maximum and average heart rates, though the Apple Watch calculated more calories burned and used less battery to log my efforts. </p><h3 class="article-body__section" id="section-samsung-galaxy-watch-ultra-2-vs-apple-watch-ultra-3-winner"><span>Samsung Galaxy Watch Ultra 2 vs Apple Watch Ultra 3: Winner </span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4797px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="vHP2ZPZZ4Z6xQ2bKK5vYtZ" name="GalaxyWatchUltra2-06" alt="Close-up look at the Samsung Galaxy Watch Ultra 2 smartwatch" src="https://cdn.mos.cms.futurecdn.net/vHP2ZPZZ4Z6xQ2bKK5vYtZ.jpg" mos="" align="middle" fullscreen="" width="4797" height="2698" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>By a teeny-tiny margin, the Samsung Galaxy Watch Ultra 2 gets a win versus its main competitor, the Apple Watch Ultra 3. Ultimately, though, both devices performed with impressive accuracy during this test, and I would not hesitate to use either to log my next workout, whether it's a walk around the neighborhood or a recreational dive in Puget Sound.</p><p>Stay tuned for my full Samsung Galaxy Watch Ultra 2 review, to be published soon. In the meantime, which smartwatches would you like to see me test the Galaxy Watch Ultra 2 against next? Let me know below. </p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/wellness/smartwatches/5-things-to-know-about-the-new-samsung-galaxy-watch-9">5 things to know about the new Samsung Galaxy Watch 9</a></li><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/can-the-usd99-fitbit-air-beat-the-usd799-apple-watch-ultra-3-at-fitness-tracking-i-manually-counted-4-500-steps-to-find-out">Can the $99 Fitbit Air beat the $799 Apple Watch Ultra 3 at fitness tracking? I manually counted 4,500 steps to find out</a></li><li><a href="https://www.tomsguide.com/wellness/smart-rings/the-samsung-galaxy-ring-is-about-to-be-the-worlds-first-fda-cleared-smart-ring-for-sleep-apnea">The Samsung Galaxy Ring is about to be the world’s first FDA-cleared smart ring for sleep apnea</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I walked 5,000 steps with the Garmin Cirqa vs Fitbit Air — and the winner is clear ]]></title>
                                                                                                <dc:content><![CDATA[ <p>If you’ve followed the Tom’s Guide fitness team for a while, you’ll know that one of the first things we do when a new device drops is take it for a walk test. Sure, most of the <a href="https://www.tomsguide.com/wellness/fitness-trackers/ive-tested-over-100-fitness-trackers-head-to-head-3-workout-stats-i-trust-the-least">best fitness trackers</a> on the market are designed to do much more than just count your steps, but how well they handle the basics is often a good place to start. </p><p>Next on my list was the long-awaited <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-just-went-hands-on-with-the-garmin-cirqa-and-it-strikes-a-near-perfect-balance-between-the-fitbit-air-and-whoop-5-0">Garmin Cirqa</a>, which was announced this week and launches on July 24 for $199. It’s Garmin’s new screenless tracker, designed to track your health and fitness stats without distractions or a monthly subscription.</p><p>The obvious device to compare it to was the <a href="https://www.tomsguide.com/wellness/smartwatches/ive-been-wearing-the-new-fitbit-air-for-5-days-and-this-is-the-one-thing-that-has-really-impressed-me-so-far">Fitbit Air</a>, Google’s $99 screenless tracker, which launched earlier this year. They both track everything you’d expect: your steps, calories, heart rate, menstrual cycle, skin temperature, and sleep. Both have haptic alerts to wake you up, and tons of data to help you live a healthier lifestyle. Check out the <a href="https://www.tomsguide.com/wellness/fitness-trackers/garmin-cirqa-vs-fitbit-air-5-crucial-differences-you-need-to-know#mrfhud=true">main similarities and differences between the Garmin Cirqa and Fitbit Air</a> here. </p>        <div class="featured_product_block featured_block_versus" data-id="ae591c1a-869d-11f1-91b6-65245a5f8305">            <a href="https://www.amazon.com/Google-Fitbit-Air-Screenless-Personalized/dp/B0GTMJF7PV" data-model-name="Fitbit Air" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/UcGoezMNaNCCtsaSfVKrqL.jpg" alt="Google Fitbit Air"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                            <div class='featured__brand'>Fitbit</div>                    <div class="featured__title">Air</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>With no screen, buttons, or alerts to distract you — plus nearly a week of battery — the Fitbit Air is as easy-going as it is affordable. It’s also one of the <a href="https://www.tomsguide.com/us/best-fitbit,review-3203.html">best fitness trackers </a>of the year.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_versus" data-id="ae591c92-869d-11f1-ad09-0f4eea890258">            <a href="https://www.garmin.com/en-US/p/1989182/" data-model-name="Cirqa" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:102.04%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/4evX7WqPWr9jhKZeqqaxnb.png" alt="Garmin, Cirqa"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                            <div class='featured__brand'>Garmin</div>                    <div class="featured__title">Cirqa</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>The Garmin Cirqa goes on sale on July 24 for $199; it comes in two sizes and four color options. It's water-resistant to 5 ATM, and has a 10-day battery life.</p></p>                </div>                            </div>        </div><p>As a control, I manually counted my steps using a $5 clicker tool from Amazon — the kind a bouncer would use to count people into a club in my twenties. Every time I took a step, I clicked, and when I got home, I checked my stats on the respective apps. One key difference was that I was able to use the button on the right-hand side of the Garmin Cirqa to start the activity, whereas I logged into the Google Health app to manually start my walk, but more on that below. </p>                    <div class= "tiktok-wrapper" style="min-height: 750px;"><blockquote class="tiktok-embed" cite="https://www.tiktok.com/@tomsguide/video/7665079360898075918" data-video-id="7665079360898075918" style="max-width: 605px; min-width: 325px;">                        <section>                            <a target="_blank" title="@tomsguide" href="https://www.tiktok.com/@tomsguide">@tomsguide</a>                            <p></p><a target="_blank" title="♬ Vlog Video work Fashionable BGM(847726) - Tsuyoshi_san" href="https://www.tiktok.com/music/Vlog-Video-work-Fashionable-BGM-847726-6860515009819052033">♬ Vlog Video work Fashionable BGM(847726) - Tsuyoshi_san</a></section>                    </blockquote></div>                <h2 id="i-walked-5-000-steps-with-the-garmin-cirqa-and-fitbit-air-and-the-winner-is-clear">I walked 5,000 steps with the Garmin Cirqa and Fitbit Air, and the winner is clear </h2><p>As mentioned above, for each step I took, I clicked. I wore the Garmin Cirqa and the Fitbit Air on the same wrist. Both record steps in the same way: using an internal accelerometer, which measures the swing of your arm.</p><p>Each swing counts for two steps, and it doesn’t matter whether you wear your watch on your dominant or non-dominant hand. It doesn’t matter if you walk with your hands in your pockets or holding a cup of coffee; the accelerometer should still measure your body’s movement.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4031px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="SUU3QyhmffqoZpGcFQfgb4" name="IMG_0406" alt="a photo of the Garmin Cirqa and the Fitbit air" src="https://cdn.mos.cms.futurecdn.net/SUU3QyhmffqoZpGcFQfgb4.jpg" mos="" align="middle" fullscreen="" width="4031" height="2267" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p><u><strong>Here are the results: </strong></u></p><div ><table><tbody><tr><td class="firstcol " ><p><strong>Manual counter</strong></p></td><td  ><p>5,500 steps</p></td></tr><tr><td class="firstcol " ><p><strong>Garmin Cirqa</strong></p></td><td  ><p>4,605 steps</p></td></tr><tr><td class="firstcol " ><p><strong>Fitbit Air </strong></p></td><td  ><p>5,552 steps</p></td></tr></tbody></table></div><p>As you can see, the results are pretty clear: the Fitbit Air was pretty much spot on when it came to counting my steps. </p><p>That said, before we write the Garmin Cirqa off completely, I had a major problem with the device in that it didn’t recognize the activity as a walk at all. Instead, when I synced the Cirqa to Garmin Connect, I just got a "45-minute workout," with no distance or steps included. </p><p>I’ve only been wearing the device for 48 hours, and Garmin has stressed it gets smarter the more it gets to know you. Instead, I had to look at my overall steps throughout the day and use the numbers from there. I wonder if the results would have been different if the walk had been recorded as a walk, or if I’d been wearing the tracker for months, as I have with the Fitbit Air. </p><p>Either way, only overcounting by two steps is very impressive from the Fitbit Air. I’ll continue testing both alongside one another to help you decide which is the best screenless fitness tracker for you. Watch this space! </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eBzBKe"></div>                            </div>                            <script src="https://kwizly.com/embed/eBzBKe.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/ive-tested-over-100-fitness-trackers-head-to-head-3-workout-stats-i-trust-the-least">I’ve tested over 100 fitness trackers head-to-head — 3 workout stats I trust the least</a></li><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/can-the-usd99-fitbit-air-beat-the-usd799-apple-watch-ultra-3-at-fitness-tracking-i-manually-counted-4-500-steps-to-find-out">Can the $99 Fitbit Air beat the $799 Apple Watch Ultra 3 at fitness tracking? I manually counted 4,500 steps to find out</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/3-reasons-why-google-should-make-an-oura-ring-alternative">It's time for a Fitbit Ring — 3 reasons why Google should make an Oura Ring alternative</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/wellness/fitness-trackers/i-walked-5-000-steps-with-the-garmin-cirqa-and-fitbit-air-and-the-winner-is-clear</link>
                                                                            <description>
                            <![CDATA[ Our fitness editor put the two screenless trackers head-to-head ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">eAz3fqNVAzLDv2sLj8eM3Z</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/V5bphk5nqaWqaTZMwFPFaL-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 24 Jul 2026 04:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Fitness Trackers]]></category>
                                                    <category><![CDATA[Wellness]]></category>
                                                    <category><![CDATA[Smartwatches]]></category>
                                                                                                <author><![CDATA[ jane.mcguire@futurenet.com (Jane McGuire) ]]></author>                    <dc:creator><![CDATA[ Jane McGuire ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/vV4Uj3e5TZvBqmmsjT2EU6.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jane McGuire is Tom&#039;s Guide&#039;s Fitness Managing Editor, which means she looks after everything fitness-related — from running gear and fitness trackers to yoga mats and sports bras. An avid runner, Jane has tested and reviewed fitness products for the past five years, so she knows what to look for when finding a good running watch or a pair of shorts with pockets big enough for your smartphone, running gels, and house keys. &lt;/p&gt;&lt;p&gt;Jane has run six marathons — the London Marathon five times, and the Berlin Marathon once -and is still on a quest to tick off all of the marathon majors. Her marathon PR is 3:30, which she ran in the New Balance Supercomp Elite V5&#039;s, but she also spends a lot of time talking about her  ‘joy plan’, where she runs for happiness, not for PR’s. &lt;/p&gt;&lt;p&gt;Previous to Tom’s Guide, Jane worked for Runner’s World, where she co-hosted the Runner’s World podcast. She also presents on a YouTube channel called the Run Testers, alongside other running-mad journalists, where they review the latest shoes, kit, and tech. Her work has also appeared in Coach, Get Sweat Go, and Women’s Health. &lt;/p&gt;&lt;p&gt;When she&#039;s not pounding the pavements, you&#039;ll find Jane striding round the Surrey Hills, taking far too many photos of her spaniel, Toby. &lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/V5bphk5nqaWqaTZMwFPFaL-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[a photo of the Fitbit Air and the Garmin Cirqa on the wrist ]]></media:description>                                                            <media:text><![CDATA[a photo of the Fitbit Air and the Garmin Cirqa on the wrist ]]></media:text>
                                <media:title type="plain"><![CDATA[a photo of the Fitbit Air and the Garmin Cirqa on the wrist ]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/V5bphk5nqaWqaTZMwFPFaL-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>If you’ve followed the Tom’s Guide fitness team for a while, you’ll know that one of the first things we do when a new device drops is take it for a walk test. Sure, most of the <a href="https://www.tomsguide.com/wellness/fitness-trackers/ive-tested-over-100-fitness-trackers-head-to-head-3-workout-stats-i-trust-the-least">best fitness trackers</a> on the market are designed to do much more than just count your steps, but how well they handle the basics is often a good place to start. </p><p>Next on my list was the long-awaited <a href="https://www.tomsguide.com/wellness/fitness-trackers/i-just-went-hands-on-with-the-garmin-cirqa-and-it-strikes-a-near-perfect-balance-between-the-fitbit-air-and-whoop-5-0">Garmin Cirqa</a>, which was announced this week and launches on July 24 for $199. It’s Garmin’s new screenless tracker, designed to track your health and fitness stats without distractions or a monthly subscription.</p><p>The obvious device to compare it to was the <a href="https://www.tomsguide.com/wellness/smartwatches/ive-been-wearing-the-new-fitbit-air-for-5-days-and-this-is-the-one-thing-that-has-really-impressed-me-so-far">Fitbit Air</a>, Google’s $99 screenless tracker, which launched earlier this year. They both track everything you’d expect: your steps, calories, heart rate, menstrual cycle, skin temperature, and sleep. Both have haptic alerts to wake you up, and tons of data to help you live a healthier lifestyle. Check out the <a href="https://www.tomsguide.com/wellness/fitness-trackers/garmin-cirqa-vs-fitbit-air-5-crucial-differences-you-need-to-know#mrfhud=true">main similarities and differences between the Garmin Cirqa and Fitbit Air</a> here. </p>        <div class="featured_product_block featured_block_versus" data-id="ae591c1a-869d-11f1-91b6-65245a5f8305">            <a href="https://www.amazon.com/Google-Fitbit-Air-Screenless-Personalized/dp/B0GTMJF7PV" data-model-name="Fitbit Air" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/UcGoezMNaNCCtsaSfVKrqL.jpg" alt="Google Fitbit Air"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                            <div class='featured__brand'>Fitbit</div>                    <div class="featured__title">Air</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>With no screen, buttons, or alerts to distract you — plus nearly a week of battery — the Fitbit Air is as easy-going as it is affordable. It’s also one of the <a href="https://www.tomsguide.com/us/best-fitbit,review-3203.html">best fitness trackers </a>of the year.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_versus" data-id="ae591c92-869d-11f1-ad09-0f4eea890258">            <a href="https://www.garmin.com/en-US/p/1989182/" data-model-name="Cirqa" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:102.04%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/4evX7WqPWr9jhKZeqqaxnb.png" alt="Garmin, Cirqa"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                            <div class='featured__brand'>Garmin</div>                    <div class="featured__title">Cirqa</div>                                    </div>                <div class="subtitle__description">                                                            <p><p>The Garmin Cirqa goes on sale on July 24 for $199; it comes in two sizes and four color options. It's water-resistant to 5 ATM, and has a 10-day battery life.</p></p>                </div>                            </div>        </div><p>As a control, I manually counted my steps using a $5 clicker tool from Amazon — the kind a bouncer would use to count people into a club in my twenties. Every time I took a step, I clicked, and when I got home, I checked my stats on the respective apps. One key difference was that I was able to use the button on the right-hand side of the Garmin Cirqa to start the activity, whereas I logged into the Google Health app to manually start my walk, but more on that below. </p>                    <div class= "tiktok-wrapper" style="min-height: 750px;"><blockquote class="tiktok-embed" cite="https://www.tiktok.com/@tomsguide/video/7665079360898075918" data-video-id="7665079360898075918" style="max-width: 605px; min-width: 325px;">                        <section>                            <a target="_blank" title="@tomsguide" href="https://www.tiktok.com/@tomsguide">@tomsguide</a>                            <p></p><a target="_blank" title="♬ Vlog Video work Fashionable BGM(847726) - Tsuyoshi_san" href="https://www.tiktok.com/music/Vlog-Video-work-Fashionable-BGM-847726-6860515009819052033">♬ Vlog Video work Fashionable BGM(847726) - Tsuyoshi_san</a></section>                    </blockquote></div>                <h2 id="i-walked-5-000-steps-with-the-garmin-cirqa-and-fitbit-air-and-the-winner-is-clear">I walked 5,000 steps with the Garmin Cirqa and Fitbit Air, and the winner is clear </h2><p>As mentioned above, for each step I took, I clicked. I wore the Garmin Cirqa and the Fitbit Air on the same wrist. Both record steps in the same way: using an internal accelerometer, which measures the swing of your arm.</p><p>Each swing counts for two steps, and it doesn’t matter whether you wear your watch on your dominant or non-dominant hand. It doesn’t matter if you walk with your hands in your pockets or holding a cup of coffee; the accelerometer should still measure your body’s movement.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4031px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="SUU3QyhmffqoZpGcFQfgb4" name="IMG_0406" alt="a photo of the Garmin Cirqa and the Fitbit air" src="https://cdn.mos.cms.futurecdn.net/SUU3QyhmffqoZpGcFQfgb4.jpg" mos="" align="middle" fullscreen="" width="4031" height="2267" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p><u><strong>Here are the results: </strong></u></p><div ><table><tbody><tr><td class="firstcol " ><p><strong>Manual counter</strong></p></td><td  ><p>5,500 steps</p></td></tr><tr><td class="firstcol " ><p><strong>Garmin Cirqa</strong></p></td><td  ><p>4,605 steps</p></td></tr><tr><td class="firstcol " ><p><strong>Fitbit Air </strong></p></td><td  ><p>5,552 steps</p></td></tr></tbody></table></div><p>As you can see, the results are pretty clear: the Fitbit Air was pretty much spot on when it came to counting my steps. </p><p>That said, before we write the Garmin Cirqa off completely, I had a major problem with the device in that it didn’t recognize the activity as a walk at all. Instead, when I synced the Cirqa to Garmin Connect, I just got a "45-minute workout," with no distance or steps included. </p><p>I’ve only been wearing the device for 48 hours, and Garmin has stressed it gets smarter the more it gets to know you. Instead, I had to look at my overall steps throughout the day and use the numbers from there. I wonder if the results would have been different if the walk had been recorded as a walk, or if I’d been wearing the tracker for months, as I have with the Fitbit Air. </p><p>Either way, only overcounting by two steps is very impressive from the Fitbit Air. I’ll continue testing both alongside one another to help you decide which is the best screenless fitness tracker for you. Watch this space! </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eBzBKe"></div>                            </div>                            <script src="https://kwizly.com/embed/eBzBKe.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/ive-tested-over-100-fitness-trackers-head-to-head-3-workout-stats-i-trust-the-least">I’ve tested over 100 fitness trackers head-to-head — 3 workout stats I trust the least</a></li><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/can-the-usd99-fitbit-air-beat-the-usd799-apple-watch-ultra-3-at-fitness-tracking-i-manually-counted-4-500-steps-to-find-out">Can the $99 Fitbit Air beat the $799 Apple Watch Ultra 3 at fitness tracking? I manually counted 4,500 steps to find out</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/3-reasons-why-google-should-make-an-oura-ring-alternative">It's time for a Fitbit Ring — 3 reasons why Google should make an Oura Ring alternative</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Is magnesium or melatonin better for reducing 3 a.m. wake-ups and sleeping through the night? Experts wade in ]]></title>
                                                                                                <dc:content><![CDATA[ <p>In recent years, <a href="https://www.tomsguide.com/news/does-magnesium-help-you-sleep">magnesium</a> has become a bedtime must-have, promising to help you stop waking up at 3 a.m. by preparing your body for deep, peaceful sleep. I've been taking magnesium in the evenings for a while, but lately I've been wondering if I should take <a href="https://www.tomsguide.com/wellness/mattresses/what-is-melatonin">melatonin </a>instead. </p><p>Both are popular sleep supplements, but is magnesium or melatonin better for reducing 3 a.m. wake-ups? "Neither magnesium nor melatonin is a guaranteed solution, but both can be helpful in certain situations," says <a href="https://drshelbyharris.com/" target="_blank">Dr Shelby Harris</a>, a board-certified clinical psychologist and behavioural sleep medicine specialist. </p><p>Here I ask Dr Harris and Vanessa Rissetto, a Registered Dietician on the <a href="https://www.vitaminshoppe.com/blog/vanessa-rissetto-wellness-council-member/" target="_blank">Vitamin Shoppe’s Wellness Council</a>,  if either melatonin or magnesium can help you sleep through the night and stop you from waking up at 3 a.m., and what the pros and cons of each are. Here's what they said...</p><h2 id="key-takeaways-magnesium-vs-melatonin-at-a-glance">Key takeaways: Magnesium vs melatonin at a glance</h2><ul><li><strong>While neither magnesium nor melatonin are guaranteed to prevent middle-of-the-night wake-ups, both are effective at helping you to sleep better. </strong></li><li><strong>Magnesium can be used to reduce nighttime awakenings if your broken sleep is caused by stress, tension, or a magnesium deficiency. </strong></li><li><strong>Melatonin is more effective to fall asleep faster, rather than helping you to stay asleep. </strong></li><li><strong>Always speak to your doctor before taking melatonin, as it isn't suitable for everybody. </strong></li><li><strong>When taking melatonin, use the lowest effective dose possible, and discuss dosage times with your sleep specialist first. </strong></li></ul><h3 class="article-body__section" id="section-what-is-magnesium-for-sleep"><span>What is magnesium for sleep?</span></h3><p>According to Rissetto, magnesium is an essential mineral involved in hundred of reactions throughout the body. One such function is promoting calmness as it supports normal muscle relaxation and healthy stress response. </p><p>"I often tell people to think of magnesium as creating the right conditions for good sleep rather than forcing you to fall asleep," shares Rissetto. </p><p>However, the registered dietician also warns that magnesium "isn’t a magic sleep supplement". </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5712px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="h5Gzfw5AtHue3FRuXrCpxe" name="Calm gummies" alt="A jar of gummies with magnesium to promote relaxation and wellbeing." src="https://cdn.mos.cms.futurecdn.net/h5Gzfw5AtHue3FRuXrCpxe.jpg" mos="" align="middle" fullscreen="" width="5712" height="3213" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Magnesium glycinate is the key ingredient in my sleep gummies. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>"If someone is deficient, correcting that deficiency can absolutely improve sleep quality, reduce muscle cramping, and ease<a href="https://www.tomsguide.com/wellness/sleep/how-to-calm-anxiety-at-night-naturally-according-to-a-sleep-doctor"> restless feelings at night</a>," she explains. "But if your magnesium status is already adequate, the effects are usually more subtle."</p><p>Dr Harris agrees, explaining that, while magnesium isn't a sleep medication, evidence <a href="https://pubmed.ncbi.nlm.nih.gov/35184264/" target="_blank">shows</a> it may help people who are deficient or experiencing <a href="https://www.tomsguide.com/wellness/sleep/stress-often-wakes-me-up-in-the-middle-of-the-night-why-it-happens-and-how-sound-therapy-is-helping-me-sleep-better">stress-related insomnia  </a>"by promoting relaxation and supporting healthy sleep quality". </p><p>"Certain forms, such as <a href="https://www.tomsguide.com/wellness/sleep/glycine-or-magnesium-which-is-best-for-sleep">magnesium glycinate</a>, tend to be better tolerated and are commonly used for sleep," the board-certified doctor adds.</p><h3 class="article-body__section" id="section-what-is-melatonin-for-sleep"><span>What is melatonin for sleep?</span></h3><p>Rissetto says that one of the biggest misconceptions about melatonin is that it's nothing more than a "nightly vitamin" or a supplement. </p><p>"It's actually a hormone your brain naturally produces in response to darkness, " she clarifies.</p><p>The dietician explains that the hormone is an integral part of our body's natural sleep schedule, which is know as our <a href="https://www.tomsguide.com/wellness/sleep/circadian-rhythm">circadian rhythm</a>, sending the body and "internal signal that it's time to wind down".</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="mkbLJ7S36JPhPcPMixDreX" name="Melatonin gummies" alt="A close-up of a spilled jar full of strawberry-flavored melatonin gummies for sleep." src="https://cdn.mos.cms.futurecdn.net/mkbLJ7S36JPhPcPMixDreX.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p>"As evening approaches, melatonin levels rise, helping prepare your body for sleep, and then they decrease again in the morning," she explains.</p><p>However, both Rissetto and Dr. Harris point out that melatonin should not be seen as a sleeping pill. </p><p>"As a supplement, it works by signalling that it's time to sleep rather than acting as a sedative," Dr. Harris tells me. </p><p>Dr. Harris says that it's most effective when being used for people who are experiencing issues with their circadian rhythm, such as travellers with jet lag and  shift workers. </p><p>"Though the data behind its use specifically for insomnia isn’t very strong," she warns. </p><h3 class="article-body__section" id="section-magnesium-vs-melatonin-which-is-better-for-deep-sleep"><span>Magnesium vs melatonin: Which is better for deep sleep?</span></h3><p>Before we compare the effects that magnesium and melatonin have on disrupted sleep, both Rissetto and Dr. Harris stress the importance of identifying the underlying cause of these nighttime awakenings. </p><p>"I’d be asking bigger questions," says Rissetto. "Is the person<a href="https://www.tomsguide.com/wellness/sleep/quitting-drinking-leads-to-better-sleep"> drinking alcohol</a>? Is <a href="https://www.tomsguide.com/wellness/sleep/sleep-during-menopause">menopause </a>playing a role? Do they have<a href="https://www.tomsguide.com/wellness/sleep-problems/sleep-apnea"> sleep apnea</a>? Is blood sugar fluctuating? Are they under chronic stress?" </p><p>"Neither magnesium nor melatonin is particularly good at preventing middle-of-the-night awakenings if there’s an underlying cause," she adds. </p><h3 class="article-body__section" id="section-magnesium-pros-and-cons"><span>Magnesium: Pros and cons </span></h3><p>For Rissetto and Dr. Harris, magnesium seems to be the clear winner when treating nighttime awakenings caused by stress, <a href="https://www.tomsguide.com/wellness/sleep/anxiety-and-stress-were-keeping-me-awake-until-experts-shared-a-simple-bedtime-rule-to-help-me-fall-asleep-fast">nighttime anxiety</a>, muscle tension or <a href="https://www.tomsguide.com/wellness/fitness/what-happens-to-your-body-when-you-add-magnesium-to-your-diet">magnesium deficiency</a>. </p><p>"Magnesium may promote relaxation and improve overall sleep quality, particularly in people who are deficient," says Dr. Harris. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AwARxXNSYVCLqCLXtabQx9" name="Sleeping on a comfy mattress" alt="TG Sleep Senior Writer Ruth Jones sleeps on her stomach on a comfy mattress" src="https://cdn.mos.cms.futurecdn.net/AwARxXNSYVCLqCLXtabQx9.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>"Magnesium may help some people feel more relaxed, especially if low magnesium levels, muscle tension, or stress are contributing to fragmented sleep," Rissetti tells me.</p><p>"Still, the evidence for reducing nighttime awakenings is mixed," the dietician adds, referring to <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC12535714/" target="_blank">research</a> that indicates further investigations are needs to clarify the relationship between magnesium and sleep. </p><p>However, magnesium is still the experts' pick when choosing between the two supplements. "For someone who’s stressed, tense, or not meeting their magnesium needs through diet, magnesium may offer more benefit," Rissetto concludes. </p><h3 class="article-body__section" id="section-melatonin-pros-and-cons"><span>Melatonin: Pros and cons</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2121px;"><p class="vanilla-image-block" style="padding-top:56.29%;"><img id="XBz8WsqdjZwBDCB6DFy9Lf" name="Woman sleeps on a plan to get over jet lag.jpg" alt="A woman with dark hair curls up on a plane seat to sleep during the flight as advised by a sleep expert for getting over jet lag" src="https://cdn.mos.cms.futurecdn.net/XBz8WsqdjZwBDCB6DFy9Lf.jpg" mos="" align="middle" fullscreen="" width="2121" height="1194" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p>While melatonin has proved to be a popular aid for helping people fall asleep fast, both Rissetto and Dr. Harris agree that it's not the best option if you want to sleep through the night without waking up at 3 a.m. </p><p>"Melatonin primarily helps people fall asleep by supporting the body's natural sleep-wake cycle," says Dr. Harris. </p><p>"For someone with <a href="https://www.tomsguide.com/wellness/sleep-problems/how-long-can-jet-lag-last">jet lag</a> or a disrupted sleep schedule, melatonin may be the better fit as it's generally more helpful for helping you fall asleep than it is for helping you stay asleep," says Rissetto. </p><p>"I generally think of melatonin as a tool, not a long-term solution. If someone is using it every night for months because they can’t sleep, that’s a sign we should be asking why they’re not sleeping in the first place," she adds.</p><h3 class="article-body__section" id="section-is-taking-melatonin-bad-for-you"><span>Is taking melatonin bad for you?</span></h3><p>A November 2025 <a href="https://newsroom.heart.org/news/long-term-use-of-melatonin-supplements-to-support-sleep-may-have-negative-health-effects" target="_blank">study</a> found that people<a href="https://www.tomsguide.com/wellness/sleep/melatonin-supplements-may-be-bad-for-your-heart-study-shows-doctors-explain-how-to-fall-asleep-fast-without-them"> using melatonin supplements long-term</a> had around a 90% higher chance of heart failure over five years — causing searches for "is melatonin bad for you?" to balloon the same month. </p><p>So, is it best to avoid melatonin supplements altogether, even if they do help you to fall asleep?</p><p>"In the U.S., it’s sold as a supplement, so dosing isn’t regulated as tightly as prescription medications, and studies have<a href="https://aasm.org/study-finds-that-melatonin-content-of-supplements-varies-widely/" target="_blank"> found</a> that some products contain much more — or much less — melatonin than what’s listed on the label," warns Rissetto.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gxjEFffKzWmCXCTVx8gtU4" name="supplements" alt="A woman with black hair wearing glasses and holding a glass of water sits on the edge of her bed and prepares to take a multivitamin supplement at night." src="https://cdn.mos.cms.futurecdn.net/gxjEFffKzWmCXCTVx8gtU4.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p>If you want to try a melatonin supplements for sleep, Risetto says to choose a high quality, reputable brand and remember that more isn't always better. </p><p>"Many products contain 5, 10, or even 20 milligrams, when research<a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC9842516/"> suggests </a>much smaller doses, often around 0.3 to 1 milligram, may be sufficient for many people," she advises. </p><p>Dr. Harris agrees with smaller dosing, saying that melatonin is safest when used at the "lowest effective dose". </p><p>"Try 1-3mg max an hour before bed," says Dr Harris. "If you need more than 5mg of melatonin to sleep at night, it likely isn’t the appropriate treatment for you as 5-10 mg is quite a moderate to large dose."</p><p>"Working with a sleep specialist can be useful here to figure out specific timing," says thethe board-certified doctor.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/wellness/sleep/magnesium-vs-melatonin</link>
                                                                            <description>
                            <![CDATA[ I asked a registered dietician and a sleep doctor if I should swap my magnesium gummies for melatonin to avoid 3 a.m. wake ups. Here's their verdicts... ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">UsK8hF6EiJQ3nDLscgbQjf</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/vYKpZCWtdmnwg9GnBPe6Sg-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 18 Jul 2026 16:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Sleep]]></category>
                                                    <category><![CDATA[Sleep Problems]]></category>
                                                    <category><![CDATA[Wellness]]></category>
                                                                                                                    <dc:creator><![CDATA[ Frances Daniels ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/gwtHaY4CfWtqYQH6EuKPGE.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/vYKpZCWtdmnwg9GnBPe6Sg-1280-80.jpg">
                                                            <media:credit><![CDATA[Getty Images / Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Asplit screen of a close-up of a spilled jar full of strawberry-flavored melatonin gummies for sleep and an image of a melatonin supplement jar. ]]></media:description>                                                            <media:text><![CDATA[Asplit screen of a close-up of a spilled jar full of strawberry-flavored melatonin gummies for sleep and an image of a melatonin supplement jar. ]]></media:text>
                                <media:title type="plain"><![CDATA[Asplit screen of a close-up of a spilled jar full of strawberry-flavored melatonin gummies for sleep and an image of a melatonin supplement jar. ]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/vYKpZCWtdmnwg9GnBPe6Sg-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>In recent years, <a href="https://www.tomsguide.com/news/does-magnesium-help-you-sleep">magnesium</a> has become a bedtime must-have, promising to help you stop waking up at 3 a.m. by preparing your body for deep, peaceful sleep. I've been taking magnesium in the evenings for a while, but lately I've been wondering if I should take <a href="https://www.tomsguide.com/wellness/mattresses/what-is-melatonin">melatonin </a>instead. </p><p>Both are popular sleep supplements, but is magnesium or melatonin better for reducing 3 a.m. wake-ups? "Neither magnesium nor melatonin is a guaranteed solution, but both can be helpful in certain situations," says <a href="https://drshelbyharris.com/" target="_blank">Dr Shelby Harris</a>, a board-certified clinical psychologist and behavioural sleep medicine specialist. </p><p>Here I ask Dr Harris and Vanessa Rissetto, a Registered Dietician on the <a href="https://www.vitaminshoppe.com/blog/vanessa-rissetto-wellness-council-member/" target="_blank">Vitamin Shoppe’s Wellness Council</a>,  if either melatonin or magnesium can help you sleep through the night and stop you from waking up at 3 a.m., and what the pros and cons of each are. Here's what they said...</p><h2 id="key-takeaways-magnesium-vs-melatonin-at-a-glance">Key takeaways: Magnesium vs melatonin at a glance</h2><ul><li><strong>While neither magnesium nor melatonin are guaranteed to prevent middle-of-the-night wake-ups, both are effective at helping you to sleep better. </strong></li><li><strong>Magnesium can be used to reduce nighttime awakenings if your broken sleep is caused by stress, tension, or a magnesium deficiency. </strong></li><li><strong>Melatonin is more effective to fall asleep faster, rather than helping you to stay asleep. </strong></li><li><strong>Always speak to your doctor before taking melatonin, as it isn't suitable for everybody. </strong></li><li><strong>When taking melatonin, use the lowest effective dose possible, and discuss dosage times with your sleep specialist first. </strong></li></ul><h3 class="article-body__section" id="section-what-is-magnesium-for-sleep"><span>What is magnesium for sleep?</span></h3><p>According to Rissetto, magnesium is an essential mineral involved in hundred of reactions throughout the body. One such function is promoting calmness as it supports normal muscle relaxation and healthy stress response. </p><p>"I often tell people to think of magnesium as creating the right conditions for good sleep rather than forcing you to fall asleep," shares Rissetto. </p><p>However, the registered dietician also warns that magnesium "isn’t a magic sleep supplement". </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5712px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="h5Gzfw5AtHue3FRuXrCpxe" name="Calm gummies" alt="A jar of gummies with magnesium to promote relaxation and wellbeing." src="https://cdn.mos.cms.futurecdn.net/h5Gzfw5AtHue3FRuXrCpxe.jpg" mos="" align="middle" fullscreen="" width="5712" height="3213" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Magnesium glycinate is the key ingredient in my sleep gummies. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>"If someone is deficient, correcting that deficiency can absolutely improve sleep quality, reduce muscle cramping, and ease<a href="https://www.tomsguide.com/wellness/sleep/how-to-calm-anxiety-at-night-naturally-according-to-a-sleep-doctor"> restless feelings at night</a>," she explains. "But if your magnesium status is already adequate, the effects are usually more subtle."</p><p>Dr Harris agrees, explaining that, while magnesium isn't a sleep medication, evidence <a href="https://pubmed.ncbi.nlm.nih.gov/35184264/" target="_blank">shows</a> it may help people who are deficient or experiencing <a href="https://www.tomsguide.com/wellness/sleep/stress-often-wakes-me-up-in-the-middle-of-the-night-why-it-happens-and-how-sound-therapy-is-helping-me-sleep-better">stress-related insomnia  </a>"by promoting relaxation and supporting healthy sleep quality". </p><p>"Certain forms, such as <a href="https://www.tomsguide.com/wellness/sleep/glycine-or-magnesium-which-is-best-for-sleep">magnesium glycinate</a>, tend to be better tolerated and are commonly used for sleep," the board-certified doctor adds.</p><h3 class="article-body__section" id="section-what-is-melatonin-for-sleep"><span>What is melatonin for sleep?</span></h3><p>Rissetto says that one of the biggest misconceptions about melatonin is that it's nothing more than a "nightly vitamin" or a supplement. </p><p>"It's actually a hormone your brain naturally produces in response to darkness, " she clarifies.</p><p>The dietician explains that the hormone is an integral part of our body's natural sleep schedule, which is know as our <a href="https://www.tomsguide.com/wellness/sleep/circadian-rhythm">circadian rhythm</a>, sending the body and "internal signal that it's time to wind down".</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="mkbLJ7S36JPhPcPMixDreX" name="Melatonin gummies" alt="A close-up of a spilled jar full of strawberry-flavored melatonin gummies for sleep." src="https://cdn.mos.cms.futurecdn.net/mkbLJ7S36JPhPcPMixDreX.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p>"As evening approaches, melatonin levels rise, helping prepare your body for sleep, and then they decrease again in the morning," she explains.</p><p>However, both Rissetto and Dr. Harris point out that melatonin should not be seen as a sleeping pill. </p><p>"As a supplement, it works by signalling that it's time to sleep rather than acting as a sedative," Dr. Harris tells me. </p><p>Dr. Harris says that it's most effective when being used for people who are experiencing issues with their circadian rhythm, such as travellers with jet lag and  shift workers. </p><p>"Though the data behind its use specifically for insomnia isn’t very strong," she warns. </p><h3 class="article-body__section" id="section-magnesium-vs-melatonin-which-is-better-for-deep-sleep"><span>Magnesium vs melatonin: Which is better for deep sleep?</span></h3><p>Before we compare the effects that magnesium and melatonin have on disrupted sleep, both Rissetto and Dr. Harris stress the importance of identifying the underlying cause of these nighttime awakenings. </p><p>"I’d be asking bigger questions," says Rissetto. "Is the person<a href="https://www.tomsguide.com/wellness/sleep/quitting-drinking-leads-to-better-sleep"> drinking alcohol</a>? Is <a href="https://www.tomsguide.com/wellness/sleep/sleep-during-menopause">menopause </a>playing a role? Do they have<a href="https://www.tomsguide.com/wellness/sleep-problems/sleep-apnea"> sleep apnea</a>? Is blood sugar fluctuating? Are they under chronic stress?" </p><p>"Neither magnesium nor melatonin is particularly good at preventing middle-of-the-night awakenings if there’s an underlying cause," she adds. </p><h3 class="article-body__section" id="section-magnesium-pros-and-cons"><span>Magnesium: Pros and cons </span></h3><p>For Rissetto and Dr. Harris, magnesium seems to be the clear winner when treating nighttime awakenings caused by stress, <a href="https://www.tomsguide.com/wellness/sleep/anxiety-and-stress-were-keeping-me-awake-until-experts-shared-a-simple-bedtime-rule-to-help-me-fall-asleep-fast">nighttime anxiety</a>, muscle tension or <a href="https://www.tomsguide.com/wellness/fitness/what-happens-to-your-body-when-you-add-magnesium-to-your-diet">magnesium deficiency</a>. </p><p>"Magnesium may promote relaxation and improve overall sleep quality, particularly in people who are deficient," says Dr. Harris. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AwARxXNSYVCLqCLXtabQx9" name="Sleeping on a comfy mattress" alt="TG Sleep Senior Writer Ruth Jones sleeps on her stomach on a comfy mattress" src="https://cdn.mos.cms.futurecdn.net/AwARxXNSYVCLqCLXtabQx9.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>"Magnesium may help some people feel more relaxed, especially if low magnesium levels, muscle tension, or stress are contributing to fragmented sleep," Rissetti tells me.</p><p>"Still, the evidence for reducing nighttime awakenings is mixed," the dietician adds, referring to <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC12535714/" target="_blank">research</a> that indicates further investigations are needs to clarify the relationship between magnesium and sleep. </p><p>However, magnesium is still the experts' pick when choosing between the two supplements. "For someone who’s stressed, tense, or not meeting their magnesium needs through diet, magnesium may offer more benefit," Rissetto concludes. </p><h3 class="article-body__section" id="section-melatonin-pros-and-cons"><span>Melatonin: Pros and cons</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2121px;"><p class="vanilla-image-block" style="padding-top:56.29%;"><img id="XBz8WsqdjZwBDCB6DFy9Lf" name="Woman sleeps on a plan to get over jet lag.jpg" alt="A woman with dark hair curls up on a plane seat to sleep during the flight as advised by a sleep expert for getting over jet lag" src="https://cdn.mos.cms.futurecdn.net/XBz8WsqdjZwBDCB6DFy9Lf.jpg" mos="" align="middle" fullscreen="" width="2121" height="1194" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p>While melatonin has proved to be a popular aid for helping people fall asleep fast, both Rissetto and Dr. Harris agree that it's not the best option if you want to sleep through the night without waking up at 3 a.m. </p><p>"Melatonin primarily helps people fall asleep by supporting the body's natural sleep-wake cycle," says Dr. Harris. </p><p>"For someone with <a href="https://www.tomsguide.com/wellness/sleep-problems/how-long-can-jet-lag-last">jet lag</a> or a disrupted sleep schedule, melatonin may be the better fit as it's generally more helpful for helping you fall asleep than it is for helping you stay asleep," says Rissetto. </p><p>"I generally think of melatonin as a tool, not a long-term solution. If someone is using it every night for months because they can’t sleep, that’s a sign we should be asking why they’re not sleeping in the first place," she adds.</p><h3 class="article-body__section" id="section-is-taking-melatonin-bad-for-you"><span>Is taking melatonin bad for you?</span></h3><p>A November 2025 <a href="https://newsroom.heart.org/news/long-term-use-of-melatonin-supplements-to-support-sleep-may-have-negative-health-effects" target="_blank">study</a> found that people<a href="https://www.tomsguide.com/wellness/sleep/melatonin-supplements-may-be-bad-for-your-heart-study-shows-doctors-explain-how-to-fall-asleep-fast-without-them"> using melatonin supplements long-term</a> had around a 90% higher chance of heart failure over five years — causing searches for "is melatonin bad for you?" to balloon the same month. </p><p>So, is it best to avoid melatonin supplements altogether, even if they do help you to fall asleep?</p><p>"In the U.S., it’s sold as a supplement, so dosing isn’t regulated as tightly as prescription medications, and studies have<a href="https://aasm.org/study-finds-that-melatonin-content-of-supplements-varies-widely/" target="_blank"> found</a> that some products contain much more — or much less — melatonin than what’s listed on the label," warns Rissetto.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gxjEFffKzWmCXCTVx8gtU4" name="supplements" alt="A woman with black hair wearing glasses and holding a glass of water sits on the edge of her bed and prepares to take a multivitamin supplement at night." src="https://cdn.mos.cms.futurecdn.net/gxjEFffKzWmCXCTVx8gtU4.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p>If you want to try a melatonin supplements for sleep, Risetto says to choose a high quality, reputable brand and remember that more isn't always better. </p><p>"Many products contain 5, 10, or even 20 milligrams, when research<a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC9842516/"> suggests </a>much smaller doses, often around 0.3 to 1 milligram, may be sufficient for many people," she advises. </p><p>Dr. Harris agrees with smaller dosing, saying that melatonin is safest when used at the "lowest effective dose". </p><p>"Try 1-3mg max an hour before bed," says Dr Harris. "If you need more than 5mg of melatonin to sleep at night, it likely isn’t the appropriate treatment for you as 5-10 mg is quite a moderate to large dose."</p><p>"Working with a sleep specialist can be useful here to figure out specific timing," says thethe board-certified doctor.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ LG C6 vs Samsung S90H: After testing both, here’s the OLED TV to buy ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The <a href="https://www.tomsguide.com/tvs/oled-tvs/lg-c6-oled-review">LG C6</a> is the latest in a long line of perennially popular, mid-range OLED TVs. It offers the exceptional performance we've come to expect from an LG OLED TV along with a class-leading selection of gaming- and streaming-related features. </p><p>As a Samsung-branded, mid-range OLED TV, the <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s90h-oled-tv-review">Samsung S90H</a> is the C6's top rival. Its price, performance and size availability is similar to that of the C6, but its overall design is quite different.</p><p>If you're in the market for an OLED TV this year, and you're willing to spend on something above the entry-level tier, the C6 and S90H are two of the <a href="https://www.tomsguide.com/tvs/oled-tvs/best-oled-tvs">best OLED TVs</a> to consider. Here's how they stack up when it comes to performance, design and features.</p>        <div class="featured_product_block featured_block_versus" data-id="e3444d30-81ef-11f1-a745-4d7465a4c5d1">            <a href="https://www.tomsguide.com/tvs/oled-tvs/lg-c6-oled-review" data-model-name="LG C6 OLED TV" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/yZJJv6Rpskz5oXrVozrW7o.jpg" alt="The LG C6 OLED TV"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                                                <div class="featured__title">LG C6</div>                                    </div>                <div class="subtitle__description">                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star half"></span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="90" /></span></div>                                        <p><p>As the brand's newest mid-range OLED TV, the LG C6 delivers an excellent blend of performance and value. Its picture quality is roughly on par with the Samsung S90H and the two TVs are similar in price, so the biggest differences come down to the C6's Dolby Vision support and its glossy-style screen.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_versus" data-id="e3444db2-81ef-11f1-855d-1bd1bf5fce3f">            <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s90h-oled-tv-review" data-model-name="Samsung OLED S90H 4K TV (2026)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/yzjgxzyvgYt7gaUGD7tu4k.jpg" alt="Samsung S90H OLED TV"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                                                <div class="featured__title">Samsung S90H</div>                                    </div>                <div class="subtitle__description">                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="80" /></span></div>                                        <p><p>The S90H is Samsung's newest mid-range OLED, and its performance, size availability and features are similar to the LG C6. Unlike the C6, the S90H comes with a matte-style finish to combat direct glare, so people with bright light sources in their room may prefer the S90H. Unfortunately, it doesn't support Dolby Vision.</p></p>                </div>                            </div>        </div><h2 id="lg-c6-vs-samsung-s90h-specs-compared">LG C6 vs Samsung S90H: specs compared</h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>LG C6</p></th><th  ><p>Samsung S90H</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Sizes</strong></p></td><td  ><p>42", 48", 55", 65"</p></td><td  ><p>42", 48", 55", 65", 77", 83"</p></td></tr><tr><td class="firstcol " ><p><strong>Ports</strong></p></td><td  ><p>4x HDMI 2.1</p></td><td  ><p>4x HDMI 2.1</p></td></tr><tr><td class="firstcol " ><p><strong>Resolution</strong></p></td><td  ><p>3,840 x 2,160p</p></td><td  ><p>3,840 x 2,160p</p></td></tr><tr><td class="firstcol " ><p><strong>Refresh rate</strong></p></td><td  ><p>165Hz</p></td><td  ><p>165Hz</p></td></tr><tr><td class="firstcol " ><p><strong>HDR</strong></p></td><td  ><p>Dolby Vision, HDR10, HLG</p></td><td  ><p>HDR10, HDR10+, HDR10+ Advanced,  HLG</p></td></tr><tr><td class="firstcol " ><p><strong>Smart TV software</strong></p></td><td  ><p>webOS 26</p></td><td  ><p>Tizen OS</p></td></tr><tr><td class="firstcol " ><p><strong>ATSC 3.0 support?</strong></p></td><td  ><p>No</p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>a11 AI Processor 4K Gen3</p></td><td  ><p>NQ4 AI Gen3</p></td></tr></tbody></table></div><p>Before we dive into the rest of the specs, let's discuss size availability. The LG C6<em> is </em>available in in 77- and 83-inch screen sizes, but these variants are classified as an altogether different model called the LG C6H. This means if you want a 77- or 83-inch LG C6, you'll technically have to buy the C6H.</p><p>We've not yet tested the 77- or 83-inch versions of the C6H, but LG promises better performance on these sets due to the fact that they leverage LG Display's newest RGB Tandem OLED display. This type of OLED panel allows for higher brightness and better color volume than the standard WOLED displays found on the 42- to 65-inch versions of the C6.</p><p>One of the biggest differences between these sets concerns HDR support. Like all LG OLED TVs, the C6 supports Dolby Vision, a licensed version of enhanced HDR.</p><p>The S90H <em>does not</em> support Dolby Vision. No Samsung TV does. Instead, it offers HDR10+, a royalty-free version of Dolby Vision that uses metadata to adjust the picture on a scene-by-scene basis, similar to Dolby Vision.</p><p>You'll still be able to watch Dolby Vision content on the S90H, and it'll certainly look great, but without Dolby Vision support, the S90H won't be optimized to replicate the creator's intent on Dolby Vision-mastered movies and shows . (To learn more check out our guide to <a href="https://www.tomsguide.com/tvs/do-you-actually-need-dolby-vision-on-your-next-tv-heres-the-answer">whether or not you need Dolby Vision</a>.)</p><p>Neither one of these OLED TVs supports ATSC 3.0, which supports native 4K over-the-air broadcasting. However, both sets offer a full slate of four HDMI 2.1-compatible inputs, along with support for 4K gaming at 120Hz (and up to 165Hz when a PC is linked up).</p><p>It's close, but the C6's Dolby Vision support gives it an edge..</p><p><em><strong>Winner: </strong></em><em>LG C6</em></p><h2 id="lg-c6-vs-samsung-s90h-design">LG C6 vs Samsung S90H: design</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1794px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="4hk6YBsm54ZTtJ2tU5FFSi" name="LG-C6--9" alt="LG C6 OLED TV shown on a wood table" src="https://cdn.mos.cms.futurecdn.net/4hk6YBsm54ZTtJ2tU5FFSi.jpg" mos="" align="middle" fullscreen="" width="1794" height="1009" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Given their performance similarities, I suspect that the design differences between the C6 and the S90H will inform many people's choice about which to buy.</p><p>The C6 (seen above) looks remarkably similar to its predecessor, the <a href="https://www.tomsguide.com/tvs/oled-tvs/lg-c5-oled-tv-review">LG C5</a>. That's not a bad thing, as both the C5 and C6 are quite sleek.</p><p>The C6's wedge-shaped stand sits below the center of the screen. The stand isn't very tall, so people with larger soundbars should make sure that their device won't obstruct the screen.</p><p>Every size in the C6 series ships with the newest version of LG's remote control. Like previous iterations, this remote features Wii-mote-like motion controls for pointing and clicking. (If you don't want to use this feature, the remote's directional pad can override the motion controls.)</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="sUu9XXEVZXYPjMRMYasU2o" name="Samsung-55-inch-S90H--2" alt="The back of a Samsung OLED S90H 4K TV" src="https://cdn.mos.cms.futurecdn.net/sUu9XXEVZXYPjMRMYasU2o.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Like the C6, the S90H — the back of which you can see above — also leans into the ultra-thin look that OLED TVs are typically associated with. (It doesn't, however, feature a unique, marble-like design on the back of its panel like LG's OLED.)</p><p>The C6's stand is a flat plate rather than a wedge-shaped piece, and it lifts the S90H slightly higher above its surface than the C6's stand. If your soundbar is extra tall, you might want to take a closer look at the S90H.</p><p>Samsung's Solar Cell remote control is included in the box, and while I'm annoyed at its lack of a dedicated input button, I do appreciate the fact that it charges by way of a solar panel on its back. It really cuts down on battery waste.</p><p>Unlike its predecessor (the <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s90f-oled-tv-review">S90F OLED</a>), the S90H is the first mid-range Samsung OLED to feature the brand's Glare Free display. This matte-style finish is the most effective I've seen in combating direct reflections, but it it does so at a cost.</p><div><blockquote><p>The S90H is the first mid-range Samsung OLED to feature the brand's Glare Free display. This matte-style finish is the most effective I've seen in combating direct reflections, but it it does so at a cost.</p></blockquote></div><p>In average-to-well-lit rooms, the S90H's matte finish significantly lifts the picture's black levels. Big, bold reflections will disappear, but the light from those sources will scatter across the display. When this happens, the darker portions of the screen can appear purplish-gray and lose the deep, inky presentation that many people associate with OLED picture quality.</p><p>The C6's glossy screen isn't as adept at fighting direct glare, but it maintains the inky OLED patina in well-lit environments. With the lights off, both presentations look similar.</p><p>Depending on your living space and viewing habits, you'll likely prefer one of these designs over the other. Folks who are concerned about reflecting light ought to favor the S90H's matte-style screen, and viewers without competing light sources will likely prefer the C6's glossy screen.</p><p><em><strong>Winner:</strong></em><em> Draw</em></p><h2 id="lg-c6-vs-samsung-s90h-performance">LG C6 vs Samsung S90H: performance</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="mU4CinhJF5ZAXBVzLJxM2o" name="Samsung-55-inch-S90H--1-LIST" alt="Samsung OLED S90H 4K TV on a desk" src="https://cdn.mos.cms.futurecdn.net/mU4CinhJF5ZAXBVzLJxM2o.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Before we dive into which of these TVs is the better performer, let's compare their test results. (Both TVs were in their respective Filmmaker picture mode when these tests were taken.)</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>LG C6</strong></p></th><th  ><p><strong>Samsung S90H</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>SDR Brightness (10%, in nits)    </strong></p></td><td  ><p>355</p></td><td  ><p>226</p></td></tr><tr><td class="firstcol " ><p><strong>Delta-E (lower is better)    </strong></p></td><td  ><p>1.5</p></td><td  ><p>1.6</p></td></tr><tr><td class="firstcol " ><p><strong>HDR Brightness (10%, in nits)    </strong></p></td><td  ><p>1,355</p></td><td  ><p>1,497</p></td></tr><tr><td class="firstcol " ><p><strong>UHDA-P3 Gamut Coverage    </strong></p></td><td  ><p>99.77%</p></td><td  ><p>109.61%</p></td></tr><tr><td class="firstcol " ><p><strong>Rec.2020 Gamut Coverage    </strong></p></td><td  ><p>75.92%</p></td><td  ><p>77.83% </p></td></tr><tr><td class="firstcol " ><p><strong>Input latency (milliseconds)   </strong></p></td><td  ><p>9.1</p></td><td  ><p>9.3</p></td></tr></tbody></table></div><p>As much as I'd love to regale you with a multi-point breakdown of the many ways in which the performance of these rival sets diverge, the truth of the matter is that they're almost the same TV.</p><p>Both deliver the key benefits that OLEDs are known for: perfect black levels, pixel-level dimming and ultra-wide viewing angles. Given these benefits, pretty much everything looks terrific on the C6 and S90H.</p><p>The C6 is slightly brighter during SDR content (like cable TV and most TV shows), but it's close enough in this category that it almost doesn't matter. Ditto for HDR content, too — the S90H offers slightly brighter HDR performance, but in normal viewing scenarios, the difference is barely noticeable.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="jg7j6rWsv5fcAUR3h2qbTi" name="LG-C6--2" alt="LG C6 OLED TV shown on a wood table" src="https://cdn.mos.cms.futurecdn.net/jg7j6rWsv5fcAUR3h2qbTi.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><div><blockquote><p>They're almost the same TV.</p></blockquote></div><p>When it comes to color, these OLEDs are neck and neck, too: The S90H's marginally higher brightness allows for a wider range of color, but — and stop me if you've heard this one before — <em>the difference is too subtle to matter</em>.</p><p>The story here would've been different if Samsung had outfitted the S90H with a quantum dot-enhanced OLED display, just as last-year's S90F did. With quantum dots in tow, the S90H would likely produce a much wider range of colors. Unfortunately, with WOLED panels in play, Samsung's mid-range OLED has lost a step to LG's this year.</p><p>Nevertheless, home theater enthusiasts will be thrilled to learn that both sets are remarkably accurate in their out-of-the-box state. You won't have to shell out for a professional calibration in order to enjoy a precise picture.</p><p>Both of these TVs look fantastic. However, even in a direct, side-by-side comparison, their differences are subtle.</p><p><em><strong>Winner:</strong></em><em> Draw</em></p><h2 id="lg-c6-vs-samsung-s90h-smart-platform-and-features">LG C6 vs Samsung S90H: smart platform and features</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1805px;"><p class="vanilla-image-block" style="padding-top:56.18%;"><img id="sdYXGmHMCP7u9WFkt43kRi" name="LG-C6--8" alt="LG C6 OLED TV shown on a wood table" src="https://cdn.mos.cms.futurecdn.net/sdYXGmHMCP7u9WFkt43kRi.jpg" mos="" align="middle" fullscreen="" width="1805" height="1014" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The C6's user experience is built around the latest version of LG's webOS. Dubbed webOS 26, it's a similar experience to the version we tested last year, but a handful of small changes to the interface make it a bit easier to navigate. </p><p>While I'm always in favor of software improvements, webOS still isn't my top choice for daily streaming on account of its heavy ad placement and occasional slow-down. Still, webOS will get the job done if you'd rather not deal with a separate streaming box.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nBeHybaXXUBc2u2Sz2EC6o" name="Samsung-55-inch-S90H--14" alt="Samsung OLED S90H 4K TV on a desk" src="https://cdn.mos.cms.futurecdn.net/nBeHybaXXUBc2u2Sz2EC6o.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Samsung's Tizen-based streaming platform, Smart Hub, has similarly seen some subtle improvements year over year. For instance, there's now a quick-access menu at the top of most of the pages on the home screen, and its convenient placement makes it easier to access often-used settings.</p><p>Unless you favor LG's software over Samsung (or vice versa), both of these user experiences are on a similar level when it comes to sponsored content and navigation speed.</p><div><blockquote><p>Both TVs offer HDMI 2.1-compatibility across all four of their primary inputs, and they're equipped to make make the most out of 4K titles on current-generation consoles since they each support 4K gaming at 120Hz. </p></blockquote></div><p>And, as far as gaming features go, the similarities continue. Both TVs offer HDMI 2.1-compatibility across all four of their primary inputs, and they're equipped to make make the most out of 4K titles on current-generation consoles since they each support 4K gaming at 120Hz. With a gaming PC hooked up, you can stretch that to 4K/165Hz on both sets.</p><p>In addition, both the C6 and S90H support Variable Refresh Rate (VRR), Auto Low Latency Mode (ALLM) and a version of AMD FreeSync Premium for smooth, tear-free gameplay.</p><p>We've already factored in the S90H's lack of Dolby Vision support, and once you set this aside, these TVs offer essentially the same set of features and ehancements.</p><p><em><strong>Winner: </strong></em><em>Draw</em></p><h2 id="lg-c6-vs-samsung-s90h-verdict">LG C6 vs Samsung S90H: verdict</h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>LG C6</p></th><th  ><p>Samsung S90H</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Specs (25)</strong></p></td><td  ><p>24</p></td><td  ><p>23</p></td></tr><tr><td class="firstcol " ><p><strong>Design (25)</strong></p></td><td  ><p>23</p></td><td  ><p>23</p></td></tr><tr><td class="firstcol " ><p><strong>Performance (25)</strong></p></td><td  ><p>23</p></td><td  ><p>23</p></td></tr><tr><td class="firstcol " ><p><strong>Features (25)</strong></p></td><td  ><p>24</p></td><td  ><p>24</p></td></tr><tr><td class="firstcol " ><p><strong>Total Score (100)</strong></p></td><td  ><p><strong>94</strong></p></td><td  ><p><strong>93</strong></p></td></tr></tbody></table></div><p>Regardless of which set you settle on, you're getting equally impressive performance and a near-identical selection of features. That said, the LG C6 is the OLED TV I recommend for most people. Its glossy screen is less divisive and the S90H's lack of Dolby Vision support is likely to be a sticking point for a certain type of viewer.</p><p>That said, you should consider the S90H if your living space and viewing habits are such that you'd make the most of its matte-style screen (or if you'd rather have Samsung's software suite).</p><p>Price is less of a factor in this matchup since both TVs are similarly priced. The <a href="https://www.bestbuy.com/product/lg-65-class-c6-series-oled-evo-ai-4k-smart-webos-tv-2026/JJ8VPZKZ8H" target="_blank" rel="nofollow">65-inch LG C6 is on sale for $1,799 at Best Buy</a> and the <a href="https://www.bestbuy.com/product/samsung-65-class-s90h-oled-4k-glare-free-tv-with-samsungvisionai-2026/JJGRF3QG5V" target="_blank" rel="nofollow">65-inch Samsung S90H is currently $1,999 at Best Buy</a>. These prices will fluctuate in the coming weeks and months, but I don't expect them to stray too far from one another.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/tvs/oled-tvs/lg-c6-oled-review">LG C6 OLED review</a></li><li><a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s90h-oled-tv-review">Samsung S90H OLED TV review</a></li><li><a href="https://www.tomsguide.com/tvs/the-ram-crisis-came-for-computers-first-and-now-its-coming-for-tvs-heres-why-i-recommend-upgrading-while-you-still-can">The RAM crisis came for computers first and now it's coming for TVs — here's why I recommend upgrading while you still can</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/tvs/oled-tvs/lg-c6-vs-samsung-s90h-after-testing-both-heres-the-oled-tv-to-buy</link>
                                                                            <description>
                            <![CDATA[ The LG C6 and the Samsung S90H are two of the best OLED TVs of 2026. Here's how they compare — from performance to features and price. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">77SgfVGsQgKJ5EJf3gzySi</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/fdZE54rMngDZ24gneTENX9-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 18 Jul 2026 11:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[OLED TVs]]></category>
                                                    <category><![CDATA[TVs]]></category>
                                                                                                <author><![CDATA[ michael.desjardin@futurenet.com (Michael Desjardin) ]]></author>                    <dc:creator><![CDATA[ Michael Desjardin ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/esytxRqW9GNVZNVCf7BFyV.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Michael Desjardin is a Senior Editor for TVs at Tom&#039;s Guide. He&#039;s been testing and tinkering with TVs professionally for over a decade, previously for Reviewed and USA Today. Michael studied media production and screenwriting at Emerson College. He loves cooking, zoning out to ambient music, and getting way too invested in the Red Sox. He considers himself living proof that TV doesn&#039;t necessarily rot your brain.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/fdZE54rMngDZ24gneTENX9-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A side-by-side composite of the LG C6 and the Samsung S90H OLED TVs]]></media:description>                                                            <media:text><![CDATA[A side-by-side composite of the LG C6 and the Samsung S90H OLED TVs]]></media:text>
                                <media:title type="plain"><![CDATA[A side-by-side composite of the LG C6 and the Samsung S90H OLED TVs]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/fdZE54rMngDZ24gneTENX9-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The <a href="https://www.tomsguide.com/tvs/oled-tvs/lg-c6-oled-review">LG C6</a> is the latest in a long line of perennially popular, mid-range OLED TVs. It offers the exceptional performance we've come to expect from an LG OLED TV along with a class-leading selection of gaming- and streaming-related features. </p><p>As a Samsung-branded, mid-range OLED TV, the <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s90h-oled-tv-review">Samsung S90H</a> is the C6's top rival. Its price, performance and size availability is similar to that of the C6, but its overall design is quite different.</p><p>If you're in the market for an OLED TV this year, and you're willing to spend on something above the entry-level tier, the C6 and S90H are two of the <a href="https://www.tomsguide.com/tvs/oled-tvs/best-oled-tvs">best OLED TVs</a> to consider. Here's how they stack up when it comes to performance, design and features.</p>        <div class="featured_product_block featured_block_versus" data-id="e3444d30-81ef-11f1-a745-4d7465a4c5d1">            <a href="https://www.tomsguide.com/tvs/oled-tvs/lg-c6-oled-review" data-model-name="LG C6 OLED TV" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/yZJJv6Rpskz5oXrVozrW7o.jpg" alt="The LG C6 OLED TV"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                                                <div class="featured__title">LG C6</div>                                    </div>                <div class="subtitle__description">                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star half"></span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="90" /></span></div>                                        <p><p>As the brand's newest mid-range OLED TV, the LG C6 delivers an excellent blend of performance and value. Its picture quality is roughly on par with the Samsung S90H and the two TVs are similar in price, so the biggest differences come down to the C6's Dolby Vision support and its glossy-style screen.</p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_versus" data-id="e3444db2-81ef-11f1-855d-1bd1bf5fce3f">            <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s90h-oled-tv-review" data-model-name="Samsung OLED S90H 4K TV (2026)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:56.25%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/yzjgxzyvgYt7gaUGD7tu4k.jpg" alt="Samsung S90H OLED TV"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                                                <div class="featured__title">Samsung S90H</div>                                    </div>                <div class="subtitle__description">                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="80" /></span></div>                                        <p><p>The S90H is Samsung's newest mid-range OLED, and its performance, size availability and features are similar to the LG C6. Unlike the C6, the S90H comes with a matte-style finish to combat direct glare, so people with bright light sources in their room may prefer the S90H. Unfortunately, it doesn't support Dolby Vision.</p></p>                </div>                            </div>        </div><h2 id="lg-c6-vs-samsung-s90h-specs-compared">LG C6 vs Samsung S90H: specs compared</h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>LG C6</p></th><th  ><p>Samsung S90H</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Sizes</strong></p></td><td  ><p>42", 48", 55", 65"</p></td><td  ><p>42", 48", 55", 65", 77", 83"</p></td></tr><tr><td class="firstcol " ><p><strong>Ports</strong></p></td><td  ><p>4x HDMI 2.1</p></td><td  ><p>4x HDMI 2.1</p></td></tr><tr><td class="firstcol " ><p><strong>Resolution</strong></p></td><td  ><p>3,840 x 2,160p</p></td><td  ><p>3,840 x 2,160p</p></td></tr><tr><td class="firstcol " ><p><strong>Refresh rate</strong></p></td><td  ><p>165Hz</p></td><td  ><p>165Hz</p></td></tr><tr><td class="firstcol " ><p><strong>HDR</strong></p></td><td  ><p>Dolby Vision, HDR10, HLG</p></td><td  ><p>HDR10, HDR10+, HDR10+ Advanced,  HLG</p></td></tr><tr><td class="firstcol " ><p><strong>Smart TV software</strong></p></td><td  ><p>webOS 26</p></td><td  ><p>Tizen OS</p></td></tr><tr><td class="firstcol " ><p><strong>ATSC 3.0 support?</strong></p></td><td  ><p>No</p></td><td  ><p>No</p></td></tr><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>a11 AI Processor 4K Gen3</p></td><td  ><p>NQ4 AI Gen3</p></td></tr></tbody></table></div><p>Before we dive into the rest of the specs, let's discuss size availability. The LG C6<em> is </em>available in in 77- and 83-inch screen sizes, but these variants are classified as an altogether different model called the LG C6H. This means if you want a 77- or 83-inch LG C6, you'll technically have to buy the C6H.</p><p>We've not yet tested the 77- or 83-inch versions of the C6H, but LG promises better performance on these sets due to the fact that they leverage LG Display's newest RGB Tandem OLED display. This type of OLED panel allows for higher brightness and better color volume than the standard WOLED displays found on the 42- to 65-inch versions of the C6.</p><p>One of the biggest differences between these sets concerns HDR support. Like all LG OLED TVs, the C6 supports Dolby Vision, a licensed version of enhanced HDR.</p><p>The S90H <em>does not</em> support Dolby Vision. No Samsung TV does. Instead, it offers HDR10+, a royalty-free version of Dolby Vision that uses metadata to adjust the picture on a scene-by-scene basis, similar to Dolby Vision.</p><p>You'll still be able to watch Dolby Vision content on the S90H, and it'll certainly look great, but without Dolby Vision support, the S90H won't be optimized to replicate the creator's intent on Dolby Vision-mastered movies and shows . (To learn more check out our guide to <a href="https://www.tomsguide.com/tvs/do-you-actually-need-dolby-vision-on-your-next-tv-heres-the-answer">whether or not you need Dolby Vision</a>.)</p><p>Neither one of these OLED TVs supports ATSC 3.0, which supports native 4K over-the-air broadcasting. However, both sets offer a full slate of four HDMI 2.1-compatible inputs, along with support for 4K gaming at 120Hz (and up to 165Hz when a PC is linked up).</p><p>It's close, but the C6's Dolby Vision support gives it an edge..</p><p><em><strong>Winner: </strong></em><em>LG C6</em></p><h2 id="lg-c6-vs-samsung-s90h-design">LG C6 vs Samsung S90H: design</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1794px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="4hk6YBsm54ZTtJ2tU5FFSi" name="LG-C6--9" alt="LG C6 OLED TV shown on a wood table" src="https://cdn.mos.cms.futurecdn.net/4hk6YBsm54ZTtJ2tU5FFSi.jpg" mos="" align="middle" fullscreen="" width="1794" height="1009" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Given their performance similarities, I suspect that the design differences between the C6 and the S90H will inform many people's choice about which to buy.</p><p>The C6 (seen above) looks remarkably similar to its predecessor, the <a href="https://www.tomsguide.com/tvs/oled-tvs/lg-c5-oled-tv-review">LG C5</a>. That's not a bad thing, as both the C5 and C6 are quite sleek.</p><p>The C6's wedge-shaped stand sits below the center of the screen. The stand isn't very tall, so people with larger soundbars should make sure that their device won't obstruct the screen.</p><p>Every size in the C6 series ships with the newest version of LG's remote control. Like previous iterations, this remote features Wii-mote-like motion controls for pointing and clicking. (If you don't want to use this feature, the remote's directional pad can override the motion controls.)</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="sUu9XXEVZXYPjMRMYasU2o" name="Samsung-55-inch-S90H--2" alt="The back of a Samsung OLED S90H 4K TV" src="https://cdn.mos.cms.futurecdn.net/sUu9XXEVZXYPjMRMYasU2o.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Like the C6, the S90H — the back of which you can see above — also leans into the ultra-thin look that OLED TVs are typically associated with. (It doesn't, however, feature a unique, marble-like design on the back of its panel like LG's OLED.)</p><p>The C6's stand is a flat plate rather than a wedge-shaped piece, and it lifts the S90H slightly higher above its surface than the C6's stand. If your soundbar is extra tall, you might want to take a closer look at the S90H.</p><p>Samsung's Solar Cell remote control is included in the box, and while I'm annoyed at its lack of a dedicated input button, I do appreciate the fact that it charges by way of a solar panel on its back. It really cuts down on battery waste.</p><p>Unlike its predecessor (the <a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s90f-oled-tv-review">S90F OLED</a>), the S90H is the first mid-range Samsung OLED to feature the brand's Glare Free display. This matte-style finish is the most effective I've seen in combating direct reflections, but it it does so at a cost.</p><div><blockquote><p>The S90H is the first mid-range Samsung OLED to feature the brand's Glare Free display. This matte-style finish is the most effective I've seen in combating direct reflections, but it it does so at a cost.</p></blockquote></div><p>In average-to-well-lit rooms, the S90H's matte finish significantly lifts the picture's black levels. Big, bold reflections will disappear, but the light from those sources will scatter across the display. When this happens, the darker portions of the screen can appear purplish-gray and lose the deep, inky presentation that many people associate with OLED picture quality.</p><p>The C6's glossy screen isn't as adept at fighting direct glare, but it maintains the inky OLED patina in well-lit environments. With the lights off, both presentations look similar.</p><p>Depending on your living space and viewing habits, you'll likely prefer one of these designs over the other. Folks who are concerned about reflecting light ought to favor the S90H's matte-style screen, and viewers without competing light sources will likely prefer the C6's glossy screen.</p><p><em><strong>Winner:</strong></em><em> Draw</em></p><h2 id="lg-c6-vs-samsung-s90h-performance">LG C6 vs Samsung S90H: performance</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="mU4CinhJF5ZAXBVzLJxM2o" name="Samsung-55-inch-S90H--1-LIST" alt="Samsung OLED S90H 4K TV on a desk" src="https://cdn.mos.cms.futurecdn.net/mU4CinhJF5ZAXBVzLJxM2o.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Before we dive into which of these TVs is the better performer, let's compare their test results. (Both TVs were in their respective Filmmaker picture mode when these tests were taken.)</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>LG C6</strong></p></th><th  ><p><strong>Samsung S90H</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>SDR Brightness (10%, in nits)    </strong></p></td><td  ><p>355</p></td><td  ><p>226</p></td></tr><tr><td class="firstcol " ><p><strong>Delta-E (lower is better)    </strong></p></td><td  ><p>1.5</p></td><td  ><p>1.6</p></td></tr><tr><td class="firstcol " ><p><strong>HDR Brightness (10%, in nits)    </strong></p></td><td  ><p>1,355</p></td><td  ><p>1,497</p></td></tr><tr><td class="firstcol " ><p><strong>UHDA-P3 Gamut Coverage    </strong></p></td><td  ><p>99.77%</p></td><td  ><p>109.61%</p></td></tr><tr><td class="firstcol " ><p><strong>Rec.2020 Gamut Coverage    </strong></p></td><td  ><p>75.92%</p></td><td  ><p>77.83% </p></td></tr><tr><td class="firstcol " ><p><strong>Input latency (milliseconds)   </strong></p></td><td  ><p>9.1</p></td><td  ><p>9.3</p></td></tr></tbody></table></div><p>As much as I'd love to regale you with a multi-point breakdown of the many ways in which the performance of these rival sets diverge, the truth of the matter is that they're almost the same TV.</p><p>Both deliver the key benefits that OLEDs are known for: perfect black levels, pixel-level dimming and ultra-wide viewing angles. Given these benefits, pretty much everything looks terrific on the C6 and S90H.</p><p>The C6 is slightly brighter during SDR content (like cable TV and most TV shows), but it's close enough in this category that it almost doesn't matter. Ditto for HDR content, too — the S90H offers slightly brighter HDR performance, but in normal viewing scenarios, the difference is barely noticeable.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="jg7j6rWsv5fcAUR3h2qbTi" name="LG-C6--2" alt="LG C6 OLED TV shown on a wood table" src="https://cdn.mos.cms.futurecdn.net/jg7j6rWsv5fcAUR3h2qbTi.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><div><blockquote><p>They're almost the same TV.</p></blockquote></div><p>When it comes to color, these OLEDs are neck and neck, too: The S90H's marginally higher brightness allows for a wider range of color, but — and stop me if you've heard this one before — <em>the difference is too subtle to matter</em>.</p><p>The story here would've been different if Samsung had outfitted the S90H with a quantum dot-enhanced OLED display, just as last-year's S90F did. With quantum dots in tow, the S90H would likely produce a much wider range of colors. Unfortunately, with WOLED panels in play, Samsung's mid-range OLED has lost a step to LG's this year.</p><p>Nevertheless, home theater enthusiasts will be thrilled to learn that both sets are remarkably accurate in their out-of-the-box state. You won't have to shell out for a professional calibration in order to enjoy a precise picture.</p><p>Both of these TVs look fantastic. However, even in a direct, side-by-side comparison, their differences are subtle.</p><p><em><strong>Winner:</strong></em><em> Draw</em></p><h2 id="lg-c6-vs-samsung-s90h-smart-platform-and-features">LG C6 vs Samsung S90H: smart platform and features</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1805px;"><p class="vanilla-image-block" style="padding-top:56.18%;"><img id="sdYXGmHMCP7u9WFkt43kRi" name="LG-C6--8" alt="LG C6 OLED TV shown on a wood table" src="https://cdn.mos.cms.futurecdn.net/sdYXGmHMCP7u9WFkt43kRi.jpg" mos="" align="middle" fullscreen="" width="1805" height="1014" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The C6's user experience is built around the latest version of LG's webOS. Dubbed webOS 26, it's a similar experience to the version we tested last year, but a handful of small changes to the interface make it a bit easier to navigate. </p><p>While I'm always in favor of software improvements, webOS still isn't my top choice for daily streaming on account of its heavy ad placement and occasional slow-down. Still, webOS will get the job done if you'd rather not deal with a separate streaming box.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nBeHybaXXUBc2u2Sz2EC6o" name="Samsung-55-inch-S90H--14" alt="Samsung OLED S90H 4K TV on a desk" src="https://cdn.mos.cms.futurecdn.net/nBeHybaXXUBc2u2Sz2EC6o.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class=""></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Samsung's Tizen-based streaming platform, Smart Hub, has similarly seen some subtle improvements year over year. For instance, there's now a quick-access menu at the top of most of the pages on the home screen, and its convenient placement makes it easier to access often-used settings.</p><p>Unless you favor LG's software over Samsung (or vice versa), both of these user experiences are on a similar level when it comes to sponsored content and navigation speed.</p><div><blockquote><p>Both TVs offer HDMI 2.1-compatibility across all four of their primary inputs, and they're equipped to make make the most out of 4K titles on current-generation consoles since they each support 4K gaming at 120Hz. </p></blockquote></div><p>And, as far as gaming features go, the similarities continue. Both TVs offer HDMI 2.1-compatibility across all four of their primary inputs, and they're equipped to make make the most out of 4K titles on current-generation consoles since they each support 4K gaming at 120Hz. With a gaming PC hooked up, you can stretch that to 4K/165Hz on both sets.</p><p>In addition, both the C6 and S90H support Variable Refresh Rate (VRR), Auto Low Latency Mode (ALLM) and a version of AMD FreeSync Premium for smooth, tear-free gameplay.</p><p>We've already factored in the S90H's lack of Dolby Vision support, and once you set this aside, these TVs offer essentially the same set of features and ehancements.</p><p><em><strong>Winner: </strong></em><em>Draw</em></p><h2 id="lg-c6-vs-samsung-s90h-verdict">LG C6 vs Samsung S90H: verdict</h2><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>LG C6</p></th><th  ><p>Samsung S90H</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Specs (25)</strong></p></td><td  ><p>24</p></td><td  ><p>23</p></td></tr><tr><td class="firstcol " ><p><strong>Design (25)</strong></p></td><td  ><p>23</p></td><td  ><p>23</p></td></tr><tr><td class="firstcol " ><p><strong>Performance (25)</strong></p></td><td  ><p>23</p></td><td  ><p>23</p></td></tr><tr><td class="firstcol " ><p><strong>Features (25)</strong></p></td><td  ><p>24</p></td><td  ><p>24</p></td></tr><tr><td class="firstcol " ><p><strong>Total Score (100)</strong></p></td><td  ><p><strong>94</strong></p></td><td  ><p><strong>93</strong></p></td></tr></tbody></table></div><p>Regardless of which set you settle on, you're getting equally impressive performance and a near-identical selection of features. That said, the LG C6 is the OLED TV I recommend for most people. Its glossy screen is less divisive and the S90H's lack of Dolby Vision support is likely to be a sticking point for a certain type of viewer.</p><p>That said, you should consider the S90H if your living space and viewing habits are such that you'd make the most of its matte-style screen (or if you'd rather have Samsung's software suite).</p><p>Price is less of a factor in this matchup since both TVs are similarly priced. The <a href="https://www.bestbuy.com/product/lg-65-class-c6-series-oled-evo-ai-4k-smart-webos-tv-2026/JJ8VPZKZ8H" target="_blank" rel="nofollow">65-inch LG C6 is on sale for $1,799 at Best Buy</a> and the <a href="https://www.bestbuy.com/product/samsung-65-class-s90h-oled-4k-glare-free-tv-with-samsungvisionai-2026/JJGRF3QG5V" target="_blank" rel="nofollow">65-inch Samsung S90H is currently $1,999 at Best Buy</a>. These prices will fluctuate in the coming weeks and months, but I don't expect them to stray too far from one another.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/tvs/oled-tvs/lg-c6-oled-review">LG C6 OLED review</a></li><li><a href="https://www.tomsguide.com/tvs/oled-tvs/samsung-s90h-oled-tv-review">Samsung S90H OLED TV review</a></li><li><a href="https://www.tomsguide.com/tvs/the-ram-crisis-came-for-computers-first-and-now-its-coming-for-tvs-heres-why-i-recommend-upgrading-while-you-still-can">The RAM crisis came for computers first and now it's coming for TVs — here's why I recommend upgrading while you still can</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I drove the BMW XM Label and Audi RS Q8 for a week — here’s the only one I'd recommend ]]></title>
                                                                                                <dc:content><![CDATA[ <p>When I think of luxury performance vehicles, the first two brands that come to mind are German. While Audi and BMW have a slew of sedans that might pique your interest, they also build massive SUVs that effortlessly blend track-level performance with executive luxury.</p><p>The <a href="https://www.bmwusa.com/vehicles/m-series/xm/bmw-xm.html" target="_blank">BMW XM Label</a> and <a href="https://www.audiusa.com/en/models/q8/rsq8/2027/overview/?" target="_blank">Audi RS Q8</a> fit this bill perfectly. Both models combine cutting-edge tech suites with thrilling performance to justify their eye-watering price tags. At well over $100K, these SUVs certainly don’t come cheap, but if your budget is accommodating, they deliver the ultimate dual-purpose machine.</p><p>I put them to the test by driving each for a week. Along the way, I looked at how fun they are to drive, uncovered cool features you won’t find in ordinary cars, and measured their real-world usability. At the end of the day, there’s only one I would actually recommend.</p><figure class="inline-layout"><div style="min-height: 400px;"><fw-embed-feed channel="toms_guide" playlist="gOdY2y" mode="row" player_placement="bottom-right"></fw-embed-feed></div></figure><h2 class="article-body__section" id="section-bmw-xm-label-vs-audi-rs-q8-specifications"><span>BMW XM Label vs. Audi RS Q8: Specifications</span></h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>2026 BMW XM Label</strong></p></td><td  ><p><strong>2026 Audi RS Q8 performance</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Price Tested</strong></p></td><td  ><p>$162,275</p></td><td  ><p>$160,790</p></td></tr><tr><td class="firstcol " ><p><strong>Engine</strong></p></td><td  ><p>4.4L TwinPower Turbo V-8 32-Valve Engine</p></td><td  ><p>4.0L TFSI biturbo V8 engine </p></td></tr><tr><td class="firstcol " ><p><strong>All-Electric Battery</strong></p></td><td  ><p>19 kWh</p></td><td  ><p>N/A</p></td></tr><tr><td class="firstcol " ><p><strong>All-Electric Range</strong></p></td><td  ><p>30 miles</p></td><td  ><p>N/A</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ><p>14 mpg combined / 47 mpge</p></td><td  ><p>14 mpg city / 20 mpg highway / 16 mpg combined</p></td></tr><tr><td class="firstcol " ><p><strong>0 to 60 mph</strong></p></td><td  ><p>3.4 seconds</p></td><td  ><p>3.4 seconds</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Tank Capacity</strong></p></td><td  ><p>18.2 gallons</p></td><td  ><p>22.5 gallons</p></td></tr><tr><td class="firstcol " ><p><strong>Horsepower</strong></p></td><td  ><p>738 hp</p></td><td  ><p>631 hp</p></td></tr><tr><td class="firstcol " ><p><strong>Wheels</strong></p></td><td  ><p>22-inches</p></td><td  ><p>22-inches</p></td></tr><tr><td class="firstcol " ><p><strong>MSRP</strong></p></td><td  ><p>$159,600</p></td><td  ><p>$138,300</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-bmw-xm-label-vs-audi-rs-q8-design"><span>BMW XM Label vs. Audi RS Q8: Design</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/oSypjVSb2nUrjBQVgi57CB.jpg" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/qHbr3d7Ef7aKoet5T6rpwf.jpg" alt="2026 Audi RS Q8 review." /><figcaption>2026 Audi RS Q8.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ShAU7kautiztv7jzbBHMAB.jpg" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/DdjvuAKrE6beQSfaPetgJf.jpg" alt="2026 Audi RS Q8 review." /><figcaption>2026 Audi RS Q8.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>Both designs lean heavily into aggressive, road-dominating stances, but I have a clear favorite.</p><div><blockquote><p>Sure, the BMW XM Label feels like I’m steering a yacht due to its long hood and massive overall size, but it looks like a stealth fighter on wheels.</p></blockquote></div><p>Without a doubt, it’s the BMW XM Label. Sure, it feels like I’m steering a yacht due to its long hood and massive overall size, but it looks like a stealth fighter on wheels. The XM’s slab-sided design language and geometric angles give it an imposing presence that stands out in a sea of generic crossovers..</p><p>In addition to the matte paint job, I especially love the illuminated hexagonal kidney grilles and stacked quad exhaust tips — together, they deliver a futuristic, almost cyberpunk design that commands immediate attention on the highway.</p><p>By comparison, the Audi RS Q8 feels a bit too safe and conventional. It’s much easier to drive because it’s slightly more compact. While its sloped, sportback roofline and massive wide-body arches give it a sporty stance, the overall shape blends too easily into Audi's standard SUV design language. It’s a handsome luxury cruiser, but side-by-side with the XM’s dramatic look, the Audi lacks that head-turning drama.</p><p><strong>Winner:</strong> BMW XM Label</p><h2 class="article-body__section" id="section-bmw-xm-label-vs-audi-rs-q8-fuel-economy"><span>BMW XM Label vs. Audi RS Q8: Fuel economy</span></h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>2026 BMW XM Label</strong></p></td><td  ><p><strong>2026 Audi RS Q8 performance</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Total Miles Driven</strong></p></td><td  ><p>262.9 miles</p></td><td  ><p>116.7 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Average Fuel Economy</strong></p></td><td  ><p>23.5 mpge</p></td><td  ><p>16.1 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best short distance fuel economy</strong></p></td><td  ><p>24.3 mpge</p></td><td  ><p>14.1 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best long distance fuel economy</strong></p></td><td  ><p>19.7 mpg</p></td><td  ><p>21 mpg</p></td></tr></tbody></table></div><p>High-performance V8 luxury cruisers aren’t bought to save money at the pump, but I still know very well how every bit of efficiency helps — especially with the ongoing volatility in gas prices. Since the 2026 BMW XM Label is technically a <a href="https://www.tomsguide.com/vehicle-tech/sorry-evs-i-test-drove-my-first-phev-and-its-the-perfect-blend-of-electric-and-gas-power">PHEV</a> (plug-in hybrid electric vehicle), it’s no surprise it’s the more efficient of the two. More importantly, it packs a dedicated battery that provides roughly 30 miles of all-electric range. That alone gives the BMW superior long-term savings.</p><p>I drove a total of 262.9 miles in the BMW XM Label and 116.7 miles in the Audi RS Q8 performance to see how their distinct powertrains hold up. Over my week of testing, the BMW achieved an average fuel economy of 23.5 MPGe, heavily assisted by its electric motor. On shorter trips around town where the battery did the heavy lifting, it yielded its best short-distance fuel economy of 24.3 MPGe.</p><p>The Audi RS Q8 performance relies on a more traditional gas setup, which naturally yields lower efficiency numbers. In my week’s worth of testing, it achieved an average of 16.1 mpg. I’m not surprised that this performance SUV struggled with short-distance drives, with 14.1 mpg being my best average. However, I was pleasantly surprised that I averaged 21 mpg on one of my long-distance tests driving mostly on highways.</p><p><strong>Winner:</strong> BMW XM Label</p><h2 class="article-body__section" id="section-bmw-xm-label-vs-audi-rs-q8-driving-performance"><span>BMW XM Label vs. Audi RS Q8: Driving performance</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/ysgt7ZZHZBAzxviifBX9DB.jpg" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/3pAfUdRLULeFbTP8ABdUkd.jpg" alt="2026 Audi RS Q8 review." /><figcaption>2026 Audi RS Q8.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/x6w3bQbWREohykFFEDWeCB.jpg" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/THZs4FBjbiXB54PRafgpmf.jpg" alt="2026 Audi RS Q8 review." /><figcaption>2026 Audi RS Q8.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/TZ9mZVtUkkSg7cetuPyg4B.jpg" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ZY9dB4WgBF9Z93Ubo3kajf.jpg" alt="2026 Audi RS Q8 review." /><figcaption>2026 Audi RS Q8.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>Besides the luxury features that accompany the BMW XM Label and Audi RS Q8, you’re paying a premium for their performance.</p><p>Despite delivering 738 horsepower out of its 4.4L TwinPower Turbo V-8 engine, the BMW's long body and immense weight make it more challenging to drive. As much as I like how the transition between electric and gasoline power is seamless, I don't find it very nimble. Don’t get me wrong, it’s lightning-fast off the starting line, but carving through tight curves isn't exactly effortless. I'm definitely more cognizant in busy parking lots.</p><p>The Audi RS Q8 is down on power compared to the BMW, generating 631 horsepower out of its 4.0L TFSI biturbo V8 engine, but its smaller footprint gives it a massive advantage. Because it's also significantly lighter, it feels way more athletic. Thanks to its standard all-wheel steering and sport-tuned adaptive air suspension, the RS Q8 is much more composed when carving through corners and handling tight turns.</p><p><strong>Winner:</strong> Audi RS Q8</p><h2 class="article-body__section" id="section-bmw-xm-label-vs-audi-rs-q8-comfort"><span>BMW XM Label vs. Audi RS Q8: Comfort</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/HbMZLJydrD4x7mPHsuFiDB.jpg" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/XhouyL7MgyEQfnYoGDPbhf.jpg" alt="2026 Audi RS Q8 review." /><figcaption>2026 Audi RS Q8.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/rJNigsfWdbLTqKxadRXo9B.jpg" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/jq8VxqPeKXKLEuvuqKBJef.jpg" alt="2026 Audi RS Q8 review." /><figcaption>2026 Audi RS Q8.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/BX3pyadLHYZFFQTDfK2m3B.jpg" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/sQqWDTX8S6uM2gBNQ2CLud.jpg" alt="2026 Audi RS Q8 review." /><figcaption>2026 Audi RS Q8.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>Although their respective cabins envelop you in top-tier premium materials, it’s the tech and ambiance that set them apart.</p><p>Just like the <a href="https://www.tomsguide.com/vehicle-tech/2026-bmw-550e-review">BMW 550e</a>, the XM Label is designed to be an absolute sanctuary of high-tech luxury. It features a stunning, LED-lined roof that creates an atmosphere that makes the inside come to life at night. Another unique feature is the heating and cooling cup holders, something you rarely find in any vehicle.</p><p>On the road, the driving experience is bolstered by <a href="https://www.tomsguide.com/vehicle-tech/evs/2026-bmw-ix-xdrive45-pros-and-cons">BMW’s Drive Assist system</a> that lets me confirm turns using head gestures, along with an intelligent backup assistant that makes getting out of a tight parking space a breeze.</p><p>The Audi RS Q8 offers a more grounded, traditional luxury experience. Its interior is impeccably built, blending a hint of sportiness into the aesthetics, but it’s the surround sound system that delivers concert-hall clarity. For those who prioritize safety tech, it’s one of the few vehicles equipped with a <a href="https://www.tomsguide.com/vehicle-tech/evs/2025-cadillac-escalade-iq-pros-and-cons">night vision camera</a> that detects specific heat signatures — like people on the road or large animals — to ensure I'm always aware of them.</p><p>While the RS Q8 is undeniably refined, it just lacks the sheer wow factor and the futuristic, driver-focused automation found in the BMW XM Label.</p><p><strong>Winner:</strong> BMW XM Label</p><h2 class="article-body__section" id="section-bmw-xm-label-vs-audi-rs-q8-value"><span>BMW XM Label vs. Audi RS Q8: Value</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/qx9ehky3LLPikK8x2HF6ym.gif" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/aJB4pBXdVgXE3vyixRyYMf.gif" alt="2026 Audi RS Q8 review." /><figcaption>2026 Audi RS Q8.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/kA6TVwFcVCv9burn3j6uQn.gif" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/xgrbsHmHFGnqjep4FPibie.gif" alt="2026 Audi RS Q8 review." /><figcaption>2026 Audi RS Q8.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/7huHfEDgRrpyjgjXGMCiMn.gif" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/za9HfKs7iGLEuN4YPDzPnf.gif" alt="2026 Audi RS Q8 review." /><figcaption>2026 Audi RS Q8.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>Looking at the initial price tags, it’s easy to assume the value proposition automatically leans toward the less expensive option. The Audi RS Q8 performance starts at $138,300, and even when configured with optional carbon-ceramic brakes and premium tech packages with the trim I tested, it still manages to come at about $2,000 less. However, I think you’re getting more value out of the XM Label when it boils down to it.</p><p>That’s because it earns every penny by packing in a level of luxury and utility that the Audi simply can’t match. First and foremost, the XM Label is a plug-in hybrid and inherently has  substantial long-term savings by running short commutes running entirely off cheaper, electric power. When you factor in the sheer volume of advanced, exclusive features I’ve already mentioned, the XM Label delivers a genuinely next-generation experience.</p><p>The Audi is a fantastic, fast SUV, but the BMW XM Label is the one that actually feels like a true, boundary-pushing splurge.</p><p><strong>Winner:</strong> BMW XM Label</p><h2 class="article-body__section" id="section-bmw-xm-label-vs-audi-rs-q8-verdict"><span>BMW XM Label vs. Audi RS Q8: Verdict</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/LnS348ZgPyAszAinuEqqFB.jpg" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/bcRgzHR8etBmwhguAprpue.jpg" alt="2026 Audi RS Q8 review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/qKchQ7HDhyLimK9yCS2MDB.jpg" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/68tTmvwhWHCC6hKqnxsTxe.jpg" alt="2026 Audi RS Q8 review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/d6DSVg9cnuVYZ5vp2x2Y9B.jpg" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/mLG8X4xW8B3CJ9TsKsXAcd.jpg" alt="2026 Audi RS Q8 review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/cGgf9sUNy9QmymzxJ5tVVe.jpg" alt="2026 Audi RS Q8 review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/RuVrdPeYMnC8CdAtCeZC2A.jpg" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/W6FTr4RRUkGCjAXiFffmPd.jpg" alt="2026 Audi RS Q8 review." /><figcaption>2026 Audi RS Q8.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>There’s no denying that both of these luxury SUVs offer an incredible blend of performance and presence. Over-the-top is one way of describing them, but the premium you’ll pay is exactly what makes them special. I can’t deny that the Audi RS Q8 is an exceptional machine — it’s fast, handles beautifully, and delivers that traditional luxury experience for a slightly lower price tag.</p><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>2026 BMW XM Label</strong></p></td><td  ><p><strong>2026 Audi RS Q8 performance</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Design</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Driving Performance</strong></p></td><td  ></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Comfort</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Value</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Total</strong></p></td><td  ><p>4</p></td><td  ><p>1</p></td></tr></tbody></table></div><p>However, the BMW XM Label is the luxury cruiser actually worth splurging on. While it demands a premium, it justifies that cost by delivering a complete, next-generation package. There’s no shortage of premium features, from the way it commands presence with its stealth-fighter styling to the incredible long-term fuel savings of its plug-in hybrid powertrain, which truly seals the deal.</p><p>If you’re preparing to spend six figures on a high-end performance SUV, you want something that feels truly special every single time you get behind the wheel. That's exactly what the BMW XM Label delivers, making it the definitive winner of this matchup.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-egKaae"></div>                            </div>                            <script src="https://kwizly.com/embed/egKaae.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/vehicle-tech/evs/im-not-anxious-that-its-getting-darker-earlier-with-this-thermal-camera-for-my-car-heres-why">I'm not anxious that it's getting darker earlier with this thermal camera for my car — here's why</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/i-borrowed-the-new-nissan-leaf-for-a-day-and-this-affordable-ev-nails-it">I just test drove the new Nissan Leaf — and it's irresistible at under $30,000</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/crabwalking-with-the-gmc-sierra-ev-is-the-weirdest-thing-ive-ever-done-with-a-car-and-its-actually-pretty-useful">CrabWalking with the GMC Sierra EV is the weirdest thing I’ve ever done with a car — and it’s actually pretty useful</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/vehicle-tech/i-drove-the-bmw-xm-label-and-audi-rs-q8-for-a-week-heres-the-luxury-suv-worth-splurging-on</link>
                                                                            <description>
                            <![CDATA[ I put the 2026 BMW XM Label and 2026 Audi RS Q8 to the test for a week each to find out which performance luxury SUV is worth splurging on. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">ZRBBP7nSb3o6ZprTF6Xzoj</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/P4LKFKTadDmqWA469nQtTW-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 16 Jul 2026 06:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Vehicle Tech]]></category>
                                                                                                <author><![CDATA[ john.velasco@futurenet.com (John Velasco) ]]></author>                    <dc:creator><![CDATA[ John Velasco ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/TSj224oX8d5ERXaDs8pDGd.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/P4LKFKTadDmqWA469nQtTW-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[BMW XM Label vs Audi RS Q8.]]></media:description>                                                            <media:text><![CDATA[BMW XM Label vs Audi RS Q8.]]></media:text>
                                <media:title type="plain"><![CDATA[BMW XM Label vs Audi RS Q8.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/P4LKFKTadDmqWA469nQtTW-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>When I think of luxury performance vehicles, the first two brands that come to mind are German. While Audi and BMW have a slew of sedans that might pique your interest, they also build massive SUVs that effortlessly blend track-level performance with executive luxury.</p><p>The <a href="https://www.bmwusa.com/vehicles/m-series/xm/bmw-xm.html" target="_blank">BMW XM Label</a> and <a href="https://www.audiusa.com/en/models/q8/rsq8/2027/overview/?" target="_blank">Audi RS Q8</a> fit this bill perfectly. Both models combine cutting-edge tech suites with thrilling performance to justify their eye-watering price tags. At well over $100K, these SUVs certainly don’t come cheap, but if your budget is accommodating, they deliver the ultimate dual-purpose machine.</p><p>I put them to the test by driving each for a week. Along the way, I looked at how fun they are to drive, uncovered cool features you won’t find in ordinary cars, and measured their real-world usability. At the end of the day, there’s only one I would actually recommend.</p><figure class="inline-layout"><div style="min-height: 400px;"><fw-embed-feed channel="toms_guide" playlist="gOdY2y" mode="row" player_placement="bottom-right"></fw-embed-feed></div></figure><h2 class="article-body__section" id="section-bmw-xm-label-vs-audi-rs-q8-specifications"><span>BMW XM Label vs. Audi RS Q8: Specifications</span></h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>2026 BMW XM Label</strong></p></td><td  ><p><strong>2026 Audi RS Q8 performance</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Price Tested</strong></p></td><td  ><p>$162,275</p></td><td  ><p>$160,790</p></td></tr><tr><td class="firstcol " ><p><strong>Engine</strong></p></td><td  ><p>4.4L TwinPower Turbo V-8 32-Valve Engine</p></td><td  ><p>4.0L TFSI biturbo V8 engine </p></td></tr><tr><td class="firstcol " ><p><strong>All-Electric Battery</strong></p></td><td  ><p>19 kWh</p></td><td  ><p>N/A</p></td></tr><tr><td class="firstcol " ><p><strong>All-Electric Range</strong></p></td><td  ><p>30 miles</p></td><td  ><p>N/A</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ><p>14 mpg combined / 47 mpge</p></td><td  ><p>14 mpg city / 20 mpg highway / 16 mpg combined</p></td></tr><tr><td class="firstcol " ><p><strong>0 to 60 mph</strong></p></td><td  ><p>3.4 seconds</p></td><td  ><p>3.4 seconds</p></td></tr><tr><td class="firstcol " ><p><strong>Fuel Tank Capacity</strong></p></td><td  ><p>18.2 gallons</p></td><td  ><p>22.5 gallons</p></td></tr><tr><td class="firstcol " ><p><strong>Horsepower</strong></p></td><td  ><p>738 hp</p></td><td  ><p>631 hp</p></td></tr><tr><td class="firstcol " ><p><strong>Wheels</strong></p></td><td  ><p>22-inches</p></td><td  ><p>22-inches</p></td></tr><tr><td class="firstcol " ><p><strong>MSRP</strong></p></td><td  ><p>$159,600</p></td><td  ><p>$138,300</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-bmw-xm-label-vs-audi-rs-q8-design"><span>BMW XM Label vs. Audi RS Q8: Design</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/oSypjVSb2nUrjBQVgi57CB.jpg" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/qHbr3d7Ef7aKoet5T6rpwf.jpg" alt="2026 Audi RS Q8 review." /><figcaption>2026 Audi RS Q8.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ShAU7kautiztv7jzbBHMAB.jpg" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/DdjvuAKrE6beQSfaPetgJf.jpg" alt="2026 Audi RS Q8 review." /><figcaption>2026 Audi RS Q8.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>Both designs lean heavily into aggressive, road-dominating stances, but I have a clear favorite.</p><div><blockquote><p>Sure, the BMW XM Label feels like I’m steering a yacht due to its long hood and massive overall size, but it looks like a stealth fighter on wheels.</p></blockquote></div><p>Without a doubt, it’s the BMW XM Label. Sure, it feels like I’m steering a yacht due to its long hood and massive overall size, but it looks like a stealth fighter on wheels. The XM’s slab-sided design language and geometric angles give it an imposing presence that stands out in a sea of generic crossovers..</p><p>In addition to the matte paint job, I especially love the illuminated hexagonal kidney grilles and stacked quad exhaust tips — together, they deliver a futuristic, almost cyberpunk design that commands immediate attention on the highway.</p><p>By comparison, the Audi RS Q8 feels a bit too safe and conventional. It’s much easier to drive because it’s slightly more compact. While its sloped, sportback roofline and massive wide-body arches give it a sporty stance, the overall shape blends too easily into Audi's standard SUV design language. It’s a handsome luxury cruiser, but side-by-side with the XM’s dramatic look, the Audi lacks that head-turning drama.</p><p><strong>Winner:</strong> BMW XM Label</p><h2 class="article-body__section" id="section-bmw-xm-label-vs-audi-rs-q8-fuel-economy"><span>BMW XM Label vs. Audi RS Q8: Fuel economy</span></h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>2026 BMW XM Label</strong></p></td><td  ><p><strong>2026 Audi RS Q8 performance</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Total Miles Driven</strong></p></td><td  ><p>262.9 miles</p></td><td  ><p>116.7 miles</p></td></tr><tr><td class="firstcol " ><p><strong>Average Fuel Economy</strong></p></td><td  ><p>23.5 mpge</p></td><td  ><p>16.1 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best short distance fuel economy</strong></p></td><td  ><p>24.3 mpge</p></td><td  ><p>14.1 mpg</p></td></tr><tr><td class="firstcol " ><p><strong>Best long distance fuel economy</strong></p></td><td  ><p>19.7 mpg</p></td><td  ><p>21 mpg</p></td></tr></tbody></table></div><p>High-performance V8 luxury cruisers aren’t bought to save money at the pump, but I still know very well how every bit of efficiency helps — especially with the ongoing volatility in gas prices. Since the 2026 BMW XM Label is technically a <a href="https://www.tomsguide.com/vehicle-tech/sorry-evs-i-test-drove-my-first-phev-and-its-the-perfect-blend-of-electric-and-gas-power">PHEV</a> (plug-in hybrid electric vehicle), it’s no surprise it’s the more efficient of the two. More importantly, it packs a dedicated battery that provides roughly 30 miles of all-electric range. That alone gives the BMW superior long-term savings.</p><p>I drove a total of 262.9 miles in the BMW XM Label and 116.7 miles in the Audi RS Q8 performance to see how their distinct powertrains hold up. Over my week of testing, the BMW achieved an average fuel economy of 23.5 MPGe, heavily assisted by its electric motor. On shorter trips around town where the battery did the heavy lifting, it yielded its best short-distance fuel economy of 24.3 MPGe.</p><p>The Audi RS Q8 performance relies on a more traditional gas setup, which naturally yields lower efficiency numbers. In my week’s worth of testing, it achieved an average of 16.1 mpg. I’m not surprised that this performance SUV struggled with short-distance drives, with 14.1 mpg being my best average. However, I was pleasantly surprised that I averaged 21 mpg on one of my long-distance tests driving mostly on highways.</p><p><strong>Winner:</strong> BMW XM Label</p><h2 class="article-body__section" id="section-bmw-xm-label-vs-audi-rs-q8-driving-performance"><span>BMW XM Label vs. Audi RS Q8: Driving performance</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/ysgt7ZZHZBAzxviifBX9DB.jpg" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/3pAfUdRLULeFbTP8ABdUkd.jpg" alt="2026 Audi RS Q8 review." /><figcaption>2026 Audi RS Q8.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/x6w3bQbWREohykFFEDWeCB.jpg" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/THZs4FBjbiXB54PRafgpmf.jpg" alt="2026 Audi RS Q8 review." /><figcaption>2026 Audi RS Q8.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/TZ9mZVtUkkSg7cetuPyg4B.jpg" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ZY9dB4WgBF9Z93Ubo3kajf.jpg" alt="2026 Audi RS Q8 review." /><figcaption>2026 Audi RS Q8.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>Besides the luxury features that accompany the BMW XM Label and Audi RS Q8, you’re paying a premium for their performance.</p><p>Despite delivering 738 horsepower out of its 4.4L TwinPower Turbo V-8 engine, the BMW's long body and immense weight make it more challenging to drive. As much as I like how the transition between electric and gasoline power is seamless, I don't find it very nimble. Don’t get me wrong, it’s lightning-fast off the starting line, but carving through tight curves isn't exactly effortless. I'm definitely more cognizant in busy parking lots.</p><p>The Audi RS Q8 is down on power compared to the BMW, generating 631 horsepower out of its 4.0L TFSI biturbo V8 engine, but its smaller footprint gives it a massive advantage. Because it's also significantly lighter, it feels way more athletic. Thanks to its standard all-wheel steering and sport-tuned adaptive air suspension, the RS Q8 is much more composed when carving through corners and handling tight turns.</p><p><strong>Winner:</strong> Audi RS Q8</p><h2 class="article-body__section" id="section-bmw-xm-label-vs-audi-rs-q8-comfort"><span>BMW XM Label vs. Audi RS Q8: Comfort</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/HbMZLJydrD4x7mPHsuFiDB.jpg" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/XhouyL7MgyEQfnYoGDPbhf.jpg" alt="2026 Audi RS Q8 review." /><figcaption>2026 Audi RS Q8.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/rJNigsfWdbLTqKxadRXo9B.jpg" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/jq8VxqPeKXKLEuvuqKBJef.jpg" alt="2026 Audi RS Q8 review." /><figcaption>2026 Audi RS Q8.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/BX3pyadLHYZFFQTDfK2m3B.jpg" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/sQqWDTX8S6uM2gBNQ2CLud.jpg" alt="2026 Audi RS Q8 review." /><figcaption>2026 Audi RS Q8.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>Although their respective cabins envelop you in top-tier premium materials, it’s the tech and ambiance that set them apart.</p><p>Just like the <a href="https://www.tomsguide.com/vehicle-tech/2026-bmw-550e-review">BMW 550e</a>, the XM Label is designed to be an absolute sanctuary of high-tech luxury. It features a stunning, LED-lined roof that creates an atmosphere that makes the inside come to life at night. Another unique feature is the heating and cooling cup holders, something you rarely find in any vehicle.</p><p>On the road, the driving experience is bolstered by <a href="https://www.tomsguide.com/vehicle-tech/evs/2026-bmw-ix-xdrive45-pros-and-cons">BMW’s Drive Assist system</a> that lets me confirm turns using head gestures, along with an intelligent backup assistant that makes getting out of a tight parking space a breeze.</p><p>The Audi RS Q8 offers a more grounded, traditional luxury experience. Its interior is impeccably built, blending a hint of sportiness into the aesthetics, but it’s the surround sound system that delivers concert-hall clarity. For those who prioritize safety tech, it’s one of the few vehicles equipped with a <a href="https://www.tomsguide.com/vehicle-tech/evs/2025-cadillac-escalade-iq-pros-and-cons">night vision camera</a> that detects specific heat signatures — like people on the road or large animals — to ensure I'm always aware of them.</p><p>While the RS Q8 is undeniably refined, it just lacks the sheer wow factor and the futuristic, driver-focused automation found in the BMW XM Label.</p><p><strong>Winner:</strong> BMW XM Label</p><h2 class="article-body__section" id="section-bmw-xm-label-vs-audi-rs-q8-value"><span>BMW XM Label vs. Audi RS Q8: Value</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/qx9ehky3LLPikK8x2HF6ym.gif" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/aJB4pBXdVgXE3vyixRyYMf.gif" alt="2026 Audi RS Q8 review." /><figcaption>2026 Audi RS Q8.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/kA6TVwFcVCv9burn3j6uQn.gif" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/xgrbsHmHFGnqjep4FPibie.gif" alt="2026 Audi RS Q8 review." /><figcaption>2026 Audi RS Q8.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/7huHfEDgRrpyjgjXGMCiMn.gif" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/za9HfKs7iGLEuN4YPDzPnf.gif" alt="2026 Audi RS Q8 review." /><figcaption>2026 Audi RS Q8.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>Looking at the initial price tags, it’s easy to assume the value proposition automatically leans toward the less expensive option. The Audi RS Q8 performance starts at $138,300, and even when configured with optional carbon-ceramic brakes and premium tech packages with the trim I tested, it still manages to come at about $2,000 less. However, I think you’re getting more value out of the XM Label when it boils down to it.</p><p>That’s because it earns every penny by packing in a level of luxury and utility that the Audi simply can’t match. First and foremost, the XM Label is a plug-in hybrid and inherently has  substantial long-term savings by running short commutes running entirely off cheaper, electric power. When you factor in the sheer volume of advanced, exclusive features I’ve already mentioned, the XM Label delivers a genuinely next-generation experience.</p><p>The Audi is a fantastic, fast SUV, but the BMW XM Label is the one that actually feels like a true, boundary-pushing splurge.</p><p><strong>Winner:</strong> BMW XM Label</p><h2 class="article-body__section" id="section-bmw-xm-label-vs-audi-rs-q8-verdict"><span>BMW XM Label vs. Audi RS Q8: Verdict</span></h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/LnS348ZgPyAszAinuEqqFB.jpg" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/bcRgzHR8etBmwhguAprpue.jpg" alt="2026 Audi RS Q8 review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/qKchQ7HDhyLimK9yCS2MDB.jpg" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/68tTmvwhWHCC6hKqnxsTxe.jpg" alt="2026 Audi RS Q8 review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/d6DSVg9cnuVYZ5vp2x2Y9B.jpg" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/mLG8X4xW8B3CJ9TsKsXAcd.jpg" alt="2026 Audi RS Q8 review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/cGgf9sUNy9QmymzxJ5tVVe.jpg" alt="2026 Audi RS Q8 review." /><figcaption><small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/RuVrdPeYMnC8CdAtCeZC2A.jpg" alt="2026 BMW XM Label review." /><figcaption>2026 BMW XM Label.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/W6FTr4RRUkGCjAXiFffmPd.jpg" alt="2026 Audi RS Q8 review." /><figcaption>2026 Audi RS Q8.<small role="credit">John Velasco / Tom's Guide</small></figcaption></figure></figure><p>There’s no denying that both of these luxury SUVs offer an incredible blend of performance and presence. Over-the-top is one way of describing them, but the premium you’ll pay is exactly what makes them special. I can’t deny that the Audi RS Q8 is an exceptional machine — it’s fast, handles beautifully, and delivers that traditional luxury experience for a slightly lower price tag.</p><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>2026 BMW XM Label</strong></p></td><td  ><p><strong>2026 Audi RS Q8 performance</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Design</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Fuel Economy</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Driving Performance</strong></p></td><td  ></td><td  ><p>X</p></td></tr><tr><td class="firstcol " ><p><strong>Comfort</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Value</strong></p></td><td  ><p>X</p></td><td  ></td></tr><tr><td class="firstcol " ><p><strong>Total</strong></p></td><td  ><p>4</p></td><td  ><p>1</p></td></tr></tbody></table></div><p>However, the BMW XM Label is the luxury cruiser actually worth splurging on. While it demands a premium, it justifies that cost by delivering a complete, next-generation package. There’s no shortage of premium features, from the way it commands presence with its stealth-fighter styling to the incredible long-term fuel savings of its plug-in hybrid powertrain, which truly seals the deal.</p><p>If you’re preparing to spend six figures on a high-end performance SUV, you want something that feels truly special every single time you get behind the wheel. That's exactly what the BMW XM Label delivers, making it the definitive winner of this matchup.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-egKaae"></div>                            </div>                            <script src="https://kwizly.com/embed/egKaae.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/vehicle-tech/evs/im-not-anxious-that-its-getting-darker-earlier-with-this-thermal-camera-for-my-car-heres-why">I'm not anxious that it's getting darker earlier with this thermal camera for my car — here's why</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/i-borrowed-the-new-nissan-leaf-for-a-day-and-this-affordable-ev-nails-it">I just test drove the new Nissan Leaf — and it's irresistible at under $30,000</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/evs/crabwalking-with-the-gmc-sierra-ev-is-the-weirdest-thing-ive-ever-done-with-a-car-and-its-actually-pretty-useful">CrabWalking with the GMC Sierra EV is the weirdest thing I’ve ever done with a car — and it’s actually pretty useful</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
            </channel>
</rss>