<?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 href="https://www.techradar.com/in/rss/reviews" rel="self" type="application/rss+xml" />
                            <title><![CDATA[ Latest from TechRadar IN in Reviews ]]></title>
                <link>https://www.techradar.com</link>
        <description><![CDATA[  ]]></description>
                                    <lastBuildDate>Wed, 04 Nov 2026 23:00:00 +0000</lastBuildDate>
                            <language>en</language>
                                <item>
                                                            <title><![CDATA[ SteelSeries Rival Pro Mini review: S-tier performance in a compact package ]]></title>
                                                                                                <dc:content><![CDATA[ <h2 class="article-body__section" id="section-steelseries-rival-pro-mini-review"><span>SteelSeries Rival Pro Mini review</span></h2><p>The SteelSeries Rival Pro Mini might just be perfect for you, if you're looking for a compact gaming mouse that makes no sacrifices when it comes to performance.</p><p>The SteelSeries Rival Pro Mini has everything a competitive gamer could ever want, be that true 8K polling, programmable buttons, 42K DPI sensitivity… you name it. It even brings ‘infinite power supply’ tech to the table, meaning you’ll have next to no downtime when duking it out against your opponents.</p><p>However, this mouse doesn’t come cheap. At $179.99 / £169.99 (about AU$250), it sits firmly in the premium category, meaning it has to go above and beyond to prove itself against the <a href="https://www.techradar.com/news/computing-components/peripherals/what-mouse-10-best-mice-compared-1027809">best mice</a> on the market. But is it truly worth that steep asking price? Here’s my view after hours of intensive testing.</p><p>Let’s start things off by looking at some of the features that the Rival Pro Mini has to offer. I may have piqued your curiosity when I mentioned that ‘infinite’ power supply just now — but what exactly does that mean? </p><p>Well, the Rival Pro Mini and its accompanying Ultra Wideband base station come with hot-swappable batteries. One will slot into your mouse while gaming, and the other will sit in the base station and charge up in the meantime. When your mouse eventually runs dry — around 60 hours with 1K polling or 16 hours with 8K — you can simply pop the battery out of your base station, slot it into your mouse, and continue playing in an instant.</p><p>This is a truly brilliant feature, and means you’ll never run out of juice when competing in a tournament or playing a few casual rounds. Even though the Rival Pro Mini mouse has no USB slot for wired use, this tech means that you’ll never truly need it.</p><p>But there are so many more features to discover on the Rival Pro Mini. First up, you’re getting true 8K polling for ultra-smooth performance. SuperSync is also here, which enables you to independently set tracking and clicking polling rates. There’s also aim tools, 42K DPI sensitivity, and six fully programmable buttons on board. </p><p>You can customize the way that buttons function in the GG app or web platform, which also lets you adjust sensitivity, polling rate, and power management among other things. I found both the downloadable and web app to be incredibly easy to use and navigate, with no shortage of options at my disposal.</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="haez7RJ3FYspxCnrinbweH" name="Steelseries_RivalProMini_007.JPG" alt="SteelSeries Rival Pro Mini with UWB base station" src="https://cdn.mos.cms.futurecdn.net/haez7RJ3FYspxCnrinbweH-1920-80.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 just how does the Rival Pro Mini feel to use in practice? Just as good as you’d hope. When playing <em>Cyberpunk 2077 </em>on the <a href="https://www.techradar.com/computing/monitors/lg-reveals-worlds-first-native-1-000hz-gaming-monitor-but-good-luck-trying-to-find-a-gpu-to-drive-it-without-breaking-the-bank">LG UltraGear 25G590B 1000Hz gaming monitor</a>, I was blown away by the all-round quality on offer. When aiming, movement felt supremely stable and accurate, and even basic functions like turning the camera was super smooth and highly responsive. </p><p>In addition, the optical switches had a great feel to them, and allowed me to blast down my foes with unrivaled speed and precision. Like typical optical switches, these aren’t the quietest around, but their satisfying click felt never seemed obnoxiously loud or distracting to me. The mechanical scroll wheel also impressed me with its control and tactility, and its ridges provided ample grip when gaming or simply performing everyday tasks at work.</p><p>This mouse gets it right when it comes to ergonomics too, although it is a more compact model, so if you have larger hands I’d recommend picking up the full-sized Rival Pro instead. But the mouse’s molded exterior and lightweight feel fantastic, and I was able to use the Rival Pro Mini for hours on end without any cramp or fatigue. This is an ergonomic model for right-handed gamers, though, so if you’re a lefty, I’d suggest checking out the symmetrical SteelSeries Sensei Pro Mini.</p><p>The Rival Pro Mini plays it fairly safe looks-wise, but it does have a sleek aesthetic, and the orange scroll wheel gives it a bit of pop. It also has strong build quality, and I liked its lightly textured matte finish, which adds a premium touch. One thing I will say, however, is that this finish does turn the Rival Pro Mini into a bit of a fingerprint magnet, so it’ll need a good wipe down every now and then if you want to keep it looking pristine. Still, fingerprints will likely seem less visible if you opt for the white colorway over the black variant I tested.</p><p>There’s very little holding this mouse back, though one thing could prove to put some gamers off. And you guessed it: it’s that asking price. </p><p>While I think that the Rival Pro Mini offers solid value thanks to its exemplary functionality, at $179.99 / £169.99 (about AU$250), it’s unquestionably expensive. It’s also priced identically to the larger, full-size model — no big deal given that they share the same features, but it would’ve been nice to get this one at an ever-so-slightly lower price. </p><p>When all’s said and done, though, I had an overwhelmingly positive experience with the SteelSeries Rival Pro Mini. Its S-tier performance, clever hot-swappable batteries, and customizable buttons make it a great option, even for the most competitive gamers out there, and if you can stomach the price, it’s well worth picking up.</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="rASN6BNM2bWUiAC5qmzFZH" name="Steelseries_RivalProMini_003.JPG" alt="Scroll wheel on the SteelSeries Rival Pro Mini" src="https://cdn.mos.cms.futurecdn.net/rASN6BNM2bWUiAC5qmzFZH-1920-80.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><h2 class="article-body__section" id="section-steelseries-rival-pro-mini-review-price-release-date"><span>SteelSeries Rival Pro Mini review: price &amp; release date</span></h2><ul><li><strong>Priced at $179.99 / £169.99 (about AU$250)</strong></li><li><strong>Released in October 2026</strong></li></ul><p>The SteelSeries Rival Pro Mini first arrived in October 2026 alongside three other models, namely the larger SteelSeries Rival Pro, as well as the SteelSeries Sensei Pro and Sensei Pro Mini. The Rival Pro Mini has the same list price as the full-sized model, coming in at $179.99 / £169.99 (about AU$250). As you’d expect, that places it in the premium category with competition including the <a href="https://www.techradar.com/computing/mice/logitech-pro-x2-superstrike-review">Logitech G Pro X2 Superstrike</a> and the <a href="https://www.techradar.com/computing/mice/razer-deathadder-v4-pro">Razer DeathAdder V4 Pro</a> — both of which you can learn more about in the ‘also consider’ section.</p><h2 class="article-body__section" id="section-steelseries-rival-pro-mini-review-specs"><span>SteelSeries Rival Pro Mini review: specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p>Interface</p></td><td  ><p>Ultra Wideband Wireless (6GHz and above)</p></td></tr><tr><td class="firstcol " ><p>Battery life</p></td><td  ><p>Up to 60 hours 1K / 16 hours 8K</p></td></tr><tr><td class="firstcol " ><p>Sensor</p></td><td  ><p>TrueMove 42K Pro Sensor</p></td></tr><tr><td class="firstcol " ><p>Polling rate</p></td><td  ><p>8KHz (with 9KHz overpolling)</p></td></tr><tr><td class="firstcol " ><p>Buttons</p></td><td  ><p>6</p></td></tr><tr><td class="firstcol " ><p>DPI</p></td><td  ><p>42,000</p></td></tr><tr><td class="firstcol " ><p>Switches</p></td><td  ><p>Optical</p></td></tr><tr><td class="firstcol " ><p>Dimensions</p></td><td  ><p>4.75 x 2.57 x 1.59 inches / 120.7 x 65.4 x 40.5mm</p></td></tr><tr><td class="firstcol " ><p>Weight</p></td><td  ><p>1.7oz / 49g</p></td></tr></tbody></table></div><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="iAHbaUFJjw492hdByQYZzH" name="Steelseries_RivalProMini_012.JPG" alt="SteelSeries Rival Pro Mini with various accessories" src="https://cdn.mos.cms.futurecdn.net/iAHbaUFJjw492hdByQYZzH-1920-80.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><h2 class="article-body__section" id="section-should-i-buy-the-steelseries-rival-pro-mini"><span>Should I buy the SteelSeries Rival Pro Mini?</span></h2><div ><table><thead><tr><th class="firstcol " ><p><strong>Attribute</strong></p></th><th  ><p><strong>Notes</strong></p></th><th  ><p><strong>Score</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Design</p></td><td  ><p>Great ergonomics, ultra-lightweight, great build quality, and nice matte finish — although it's a bit of a fingerprint magnet.</p></td><td  ><p>4.5/5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>8K polling with SuperSync, top-tier 42K DPI sensitivity, practical infinite power system.</p></td><td  ><p>5/5</p></td></tr><tr><td class="firstcol " ><p>Value</p></td><td  ><p>Steep price, and just as expensive as the full-sized model, but incredibly high overall quality.</p></td><td  ><p>3.5/5</p></td></tr></tbody></table></div><h2 id="buy-it-if">Buy it if…</h2><div class="product"><p><strong>You want top-tier performance</strong><br />Whether you’re an esports competitor or an FPS fanatic, the features on the Rival Pro Mini are sure to cover all of the bases. You get true 8K polling, 42K DPI sensitivity, and plenty of customization options in the GG app and web platform to get you ready for competitive play.</p></div><div class="product"><p><strong>You want a mouse with unbeatable battery life</strong><br />The hot-swappable batteries on the Rival Pro Mini ensure that you’ll never run out of battery life when playing your favorite games. Sure, you’ll have to swap in the battery from your base station when your mouse runs dry, but otherwise you’ll experience no down time whatsoever.</p></div><h2 id="don-t-buy-it-if">Don’t buy it if…</h2><div class="product"><p><strong>You have larger hands</strong><br />If you’re someone with larger hands, then you may find the SteelSeries Rival Pro Mini to be a little undersized. I’d recommend just stepping up to the full-size Rival Pro, which is virtually identical to the Mini, just a bit bigger and marginally weightier.</p></div><div class="product"><p><strong>You don’t need the most advanced gaming features</strong><br />Unless you’re playing games that need high levels of precision, then I’d say that the Rival Pro Mini might be overkill for you. After all, it comes in at a very high asking price, and there are plenty of great options available for less than $100 / £100.</p></div><h2 class="article-body__section" id="section-steelseries-rival-pro-mini-review-also-consider"><span>SteelSeries Rival Pro Mini review: also consider</span></h2><div class="product"><p><strong>Logitech G Pro X2 Superstrike</strong><br />We’re big fans of this Logitech mouse here at TechRadar. When we tested it we were wowed by its ultra-low click and sensor latency, excellent switches, and great build quality — though like its SteelSeries rival, this mouse is pretty pricey. Read our full <a href="https://www.techradar.com/computing/mice/logitech-pro-x2-superstrike-review" data-dimension112="cdf5c41a-d22e-11f1-b8d2-c31e11ac6d07" data-action="Deal Block" data-label="Logitech G Pro X2 Superstrike review" data-dimension48="Logitech G Pro X2 Superstrike review" data-dimension25="">Logitech G Pro X2 Superstrike review</a>. </p></div><div class="product"><p><strong>Razer DeathAdder V4 Pro</strong><br />The Razer DeathAdder V4 Pro is a spectacular gaming mouse, and competes with the very best models on the market. It supplies exceptional performance, a brilliant optical scroll wheel, and marvelous ergonomics too. It comes in at a similar cost to its SteelSeries rival, though we have seen this Razer mouse appear on sale now and then. Read our full <a href="https://www.techradar.com/computing/mice/razer-deathadder-v4-pro" data-dimension112="cdf5c47e-d22e-11f1-8b44-155de0060b65" data-action="Deal Block" data-label="Razer DeathAdder V4 Pro review" data-dimension48="Razer DeathAdder V4 Pro review" data-dimension25="">Razer DeathAdder V4 Pro review</a>.</p></div><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="AtiJnFcD3gZUmFd3frqTwH" name="Steelseries_RivalProMini_010.JPG" alt="SteelSeries Rival Pro Mini behind block with UWB base station front and center" src="https://cdn.mos.cms.futurecdn.net/AtiJnFcD3gZUmFd3frqTwH-1920-80.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><h2 class="article-body__section" id="section-how-i-tested-the-steelseries-rival-pro-mini"><span>How I tested the SteelSeries Rival Pro Mini</span></h2><ul><li><strong>Tested intensively for hours</strong></li><li><strong>Used for gaming and general productivity</strong></li><li><strong>Made use of all features in the GG web app</strong></li></ul><p>I tested the SteelSeries Rival Pro Mini across the course of a few days, and spent hours using it for both gaming and general productivity purposes.</p><p>For playing games, I made sure to pair the Rival Pro Mini with the LG UltraGear 25G590B 1000Hz gaming monitor, which helped me get the best performance possible out of the mouse. I also made sure to try the mouse with a variety of games, though I mainly used the PC version of <em>Cyberpunk 2077</em> to test its capabilities. What’s more, I made sure to trial all of the mouse’s features and customization options in the GG web app.</p><p>More generally, I’ve spent years testing gadgets here at TechRadar, where I serve as a Senior Reviews Writer. I’ve reviewed everything from premium wireless headphones to mechanical keyboards, and have tested a number of mice, including the <a href="https://www.techradar.com/computing/mice/logitech-mobi-fold-review">Logitech Mobi Fold</a>.</p><ul><li><a href="https://www.techradar.com/news/how-we-test">Read TechRadar’s reviews guarantee</a></li><li><em>First reviewed: October 2026</em></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/mice/steelseries-rival-pro-mini-review</link>
                                                                            <description>
                            <![CDATA[ The SteelSeries Rival Pro Mini offers flagship performance in a compact form, and has all of the features a competitive gamer could want — but it comes at quite the price. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">kUPCeXXtnzwvZKaoJNV3fe</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/9xR3CXjpyNsMw3aLdFbFqG-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 04 Nov 2026 23:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Mice]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Peripherals & Accessories]]></category>
                                                                                                <author><![CDATA[ harry.padoan@futurenet.com (Harry Padoan) ]]></author>                    <dc:creator><![CDATA[ Harry Padoan ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/995EkuqRKUTUjvMk7ataFi-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Harry is a Senior Reviews Writer for TechRadar. He reviews everything from party speakers to wall chargers and has a particular interest in the worlds of audio and gaming.&lt;/p&gt;&lt;p&gt;Prior to joining TechRadar, Harry was a journalist covering stories from the telecoms industry, drilling into areas such as innovation, acquisitions, and sustainability.&lt;/p&gt;&lt;p&gt;When he isn’t testing the newest tech, Harry can probably be found listening to deep house, playing JRPGs, or watching his beloved Tottenham Hotspur.&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/9xR3CXjpyNsMw3aLdFbFqG-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Man holding the Steelseries Rival Pro Mini]]></media:description>                                                            <media:text><![CDATA[Man holding the Steelseries Rival Pro Mini]]></media:text>
                                <media:title type="plain"><![CDATA[Man holding the Steelseries Rival Pro Mini]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/9xR3CXjpyNsMw3aLdFbFqG-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <h2 class="article-body__section" id="section-steelseries-rival-pro-mini-review"><span>SteelSeries Rival Pro Mini review</span></h2><p>The SteelSeries Rival Pro Mini might just be perfect for you, if you're looking for a compact gaming mouse that makes no sacrifices when it comes to performance.</p><p>The SteelSeries Rival Pro Mini has everything a competitive gamer could ever want, be that true 8K polling, programmable buttons, 42K DPI sensitivity… you name it. It even brings ‘infinite power supply’ tech to the table, meaning you’ll have next to no downtime when duking it out against your opponents.</p><p>However, this mouse doesn’t come cheap. At $179.99 / £169.99 (about AU$250), it sits firmly in the premium category, meaning it has to go above and beyond to prove itself against the <a href="https://www.techradar.com/news/computing-components/peripherals/what-mouse-10-best-mice-compared-1027809">best mice</a> on the market. But is it truly worth that steep asking price? Here’s my view after hours of intensive testing.</p><p>Let’s start things off by looking at some of the features that the Rival Pro Mini has to offer. I may have piqued your curiosity when I mentioned that ‘infinite’ power supply just now — but what exactly does that mean? </p><p>Well, the Rival Pro Mini and its accompanying Ultra Wideband base station come with hot-swappable batteries. One will slot into your mouse while gaming, and the other will sit in the base station and charge up in the meantime. When your mouse eventually runs dry — around 60 hours with 1K polling or 16 hours with 8K — you can simply pop the battery out of your base station, slot it into your mouse, and continue playing in an instant.</p><p>This is a truly brilliant feature, and means you’ll never run out of juice when competing in a tournament or playing a few casual rounds. Even though the Rival Pro Mini mouse has no USB slot for wired use, this tech means that you’ll never truly need it.</p><p>But there are so many more features to discover on the Rival Pro Mini. First up, you’re getting true 8K polling for ultra-smooth performance. SuperSync is also here, which enables you to independently set tracking and clicking polling rates. There’s also aim tools, 42K DPI sensitivity, and six fully programmable buttons on board. </p><p>You can customize the way that buttons function in the GG app or web platform, which also lets you adjust sensitivity, polling rate, and power management among other things. I found both the downloadable and web app to be incredibly easy to use and navigate, with no shortage of options at my disposal.</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="haez7RJ3FYspxCnrinbweH" name="Steelseries_RivalProMini_007.JPG" alt="SteelSeries Rival Pro Mini with UWB base station" src="https://cdn.mos.cms.futurecdn.net/haez7RJ3FYspxCnrinbweH-1920-80.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 just how does the Rival Pro Mini feel to use in practice? Just as good as you’d hope. When playing <em>Cyberpunk 2077 </em>on the <a href="https://www.techradar.com/computing/monitors/lg-reveals-worlds-first-native-1-000hz-gaming-monitor-but-good-luck-trying-to-find-a-gpu-to-drive-it-without-breaking-the-bank">LG UltraGear 25G590B 1000Hz gaming monitor</a>, I was blown away by the all-round quality on offer. When aiming, movement felt supremely stable and accurate, and even basic functions like turning the camera was super smooth and highly responsive. </p><p>In addition, the optical switches had a great feel to them, and allowed me to blast down my foes with unrivaled speed and precision. Like typical optical switches, these aren’t the quietest around, but their satisfying click felt never seemed obnoxiously loud or distracting to me. The mechanical scroll wheel also impressed me with its control and tactility, and its ridges provided ample grip when gaming or simply performing everyday tasks at work.</p><p>This mouse gets it right when it comes to ergonomics too, although it is a more compact model, so if you have larger hands I’d recommend picking up the full-sized Rival Pro instead. But the mouse’s molded exterior and lightweight feel fantastic, and I was able to use the Rival Pro Mini for hours on end without any cramp or fatigue. This is an ergonomic model for right-handed gamers, though, so if you’re a lefty, I’d suggest checking out the symmetrical SteelSeries Sensei Pro Mini.</p><p>The Rival Pro Mini plays it fairly safe looks-wise, but it does have a sleek aesthetic, and the orange scroll wheel gives it a bit of pop. It also has strong build quality, and I liked its lightly textured matte finish, which adds a premium touch. One thing I will say, however, is that this finish does turn the Rival Pro Mini into a bit of a fingerprint magnet, so it’ll need a good wipe down every now and then if you want to keep it looking pristine. Still, fingerprints will likely seem less visible if you opt for the white colorway over the black variant I tested.</p><p>There’s very little holding this mouse back, though one thing could prove to put some gamers off. And you guessed it: it’s that asking price. </p><p>While I think that the Rival Pro Mini offers solid value thanks to its exemplary functionality, at $179.99 / £169.99 (about AU$250), it’s unquestionably expensive. It’s also priced identically to the larger, full-size model — no big deal given that they share the same features, but it would’ve been nice to get this one at an ever-so-slightly lower price. </p><p>When all’s said and done, though, I had an overwhelmingly positive experience with the SteelSeries Rival Pro Mini. Its S-tier performance, clever hot-swappable batteries, and customizable buttons make it a great option, even for the most competitive gamers out there, and if you can stomach the price, it’s well worth picking up.</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="rASN6BNM2bWUiAC5qmzFZH" name="Steelseries_RivalProMini_003.JPG" alt="Scroll wheel on the SteelSeries Rival Pro Mini" src="https://cdn.mos.cms.futurecdn.net/rASN6BNM2bWUiAC5qmzFZH-1920-80.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><h2 class="article-body__section" id="section-steelseries-rival-pro-mini-review-price-release-date"><span>SteelSeries Rival Pro Mini review: price &amp; release date</span></h2><ul><li><strong>Priced at $179.99 / £169.99 (about AU$250)</strong></li><li><strong>Released in October 2026</strong></li></ul><p>The SteelSeries Rival Pro Mini first arrived in October 2026 alongside three other models, namely the larger SteelSeries Rival Pro, as well as the SteelSeries Sensei Pro and Sensei Pro Mini. The Rival Pro Mini has the same list price as the full-sized model, coming in at $179.99 / £169.99 (about AU$250). As you’d expect, that places it in the premium category with competition including the <a href="https://www.techradar.com/computing/mice/logitech-pro-x2-superstrike-review">Logitech G Pro X2 Superstrike</a> and the <a href="https://www.techradar.com/computing/mice/razer-deathadder-v4-pro">Razer DeathAdder V4 Pro</a> — both of which you can learn more about in the ‘also consider’ section.</p><h2 class="article-body__section" id="section-steelseries-rival-pro-mini-review-specs"><span>SteelSeries Rival Pro Mini review: specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p>Interface</p></td><td  ><p>Ultra Wideband Wireless (6GHz and above)</p></td></tr><tr><td class="firstcol " ><p>Battery life</p></td><td  ><p>Up to 60 hours 1K / 16 hours 8K</p></td></tr><tr><td class="firstcol " ><p>Sensor</p></td><td  ><p>TrueMove 42K Pro Sensor</p></td></tr><tr><td class="firstcol " ><p>Polling rate</p></td><td  ><p>8KHz (with 9KHz overpolling)</p></td></tr><tr><td class="firstcol " ><p>Buttons</p></td><td  ><p>6</p></td></tr><tr><td class="firstcol " ><p>DPI</p></td><td  ><p>42,000</p></td></tr><tr><td class="firstcol " ><p>Switches</p></td><td  ><p>Optical</p></td></tr><tr><td class="firstcol " ><p>Dimensions</p></td><td  ><p>4.75 x 2.57 x 1.59 inches / 120.7 x 65.4 x 40.5mm</p></td></tr><tr><td class="firstcol " ><p>Weight</p></td><td  ><p>1.7oz / 49g</p></td></tr></tbody></table></div><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="iAHbaUFJjw492hdByQYZzH" name="Steelseries_RivalProMini_012.JPG" alt="SteelSeries Rival Pro Mini with various accessories" src="https://cdn.mos.cms.futurecdn.net/iAHbaUFJjw492hdByQYZzH-1920-80.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><h2 class="article-body__section" id="section-should-i-buy-the-steelseries-rival-pro-mini"><span>Should I buy the SteelSeries Rival Pro Mini?</span></h2><div ><table><thead><tr><th class="firstcol " ><p><strong>Attribute</strong></p></th><th  ><p><strong>Notes</strong></p></th><th  ><p><strong>Score</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Design</p></td><td  ><p>Great ergonomics, ultra-lightweight, great build quality, and nice matte finish — although it's a bit of a fingerprint magnet.</p></td><td  ><p>4.5/5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>8K polling with SuperSync, top-tier 42K DPI sensitivity, practical infinite power system.</p></td><td  ><p>5/5</p></td></tr><tr><td class="firstcol " ><p>Value</p></td><td  ><p>Steep price, and just as expensive as the full-sized model, but incredibly high overall quality.</p></td><td  ><p>3.5/5</p></td></tr></tbody></table></div><h2 id="buy-it-if">Buy it if…</h2><div class="product"><p><strong>You want top-tier performance</strong><br />Whether you’re an esports competitor or an FPS fanatic, the features on the Rival Pro Mini are sure to cover all of the bases. You get true 8K polling, 42K DPI sensitivity, and plenty of customization options in the GG app and web platform to get you ready for competitive play.</p></div><div class="product"><p><strong>You want a mouse with unbeatable battery life</strong><br />The hot-swappable batteries on the Rival Pro Mini ensure that you’ll never run out of battery life when playing your favorite games. Sure, you’ll have to swap in the battery from your base station when your mouse runs dry, but otherwise you’ll experience no down time whatsoever.</p></div><h2 id="don-t-buy-it-if">Don’t buy it if…</h2><div class="product"><p><strong>You have larger hands</strong><br />If you’re someone with larger hands, then you may find the SteelSeries Rival Pro Mini to be a little undersized. I’d recommend just stepping up to the full-size Rival Pro, which is virtually identical to the Mini, just a bit bigger and marginally weightier.</p></div><div class="product"><p><strong>You don’t need the most advanced gaming features</strong><br />Unless you’re playing games that need high levels of precision, then I’d say that the Rival Pro Mini might be overkill for you. After all, it comes in at a very high asking price, and there are plenty of great options available for less than $100 / £100.</p></div><h2 class="article-body__section" id="section-steelseries-rival-pro-mini-review-also-consider"><span>SteelSeries Rival Pro Mini review: also consider</span></h2><div class="product"><p><strong>Logitech G Pro X2 Superstrike</strong><br />We’re big fans of this Logitech mouse here at TechRadar. When we tested it we were wowed by its ultra-low click and sensor latency, excellent switches, and great build quality — though like its SteelSeries rival, this mouse is pretty pricey. Read our full <a href="https://www.techradar.com/computing/mice/logitech-pro-x2-superstrike-review" data-dimension112="cdf5c41a-d22e-11f1-b8d2-c31e11ac6d07" data-action="Deal Block" data-label="Logitech G Pro X2 Superstrike review" data-dimension48="Logitech G Pro X2 Superstrike review" data-dimension25="">Logitech G Pro X2 Superstrike review</a>. </p></div><div class="product"><p><strong>Razer DeathAdder V4 Pro</strong><br />The Razer DeathAdder V4 Pro is a spectacular gaming mouse, and competes with the very best models on the market. It supplies exceptional performance, a brilliant optical scroll wheel, and marvelous ergonomics too. It comes in at a similar cost to its SteelSeries rival, though we have seen this Razer mouse appear on sale now and then. Read our full <a href="https://www.techradar.com/computing/mice/razer-deathadder-v4-pro" data-dimension112="cdf5c47e-d22e-11f1-8b44-155de0060b65" data-action="Deal Block" data-label="Razer DeathAdder V4 Pro review" data-dimension48="Razer DeathAdder V4 Pro review" data-dimension25="">Razer DeathAdder V4 Pro review</a>.</p></div><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="AtiJnFcD3gZUmFd3frqTwH" name="Steelseries_RivalProMini_010.JPG" alt="SteelSeries Rival Pro Mini behind block with UWB base station front and center" src="https://cdn.mos.cms.futurecdn.net/AtiJnFcD3gZUmFd3frqTwH-1920-80.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><h2 class="article-body__section" id="section-how-i-tested-the-steelseries-rival-pro-mini"><span>How I tested the SteelSeries Rival Pro Mini</span></h2><ul><li><strong>Tested intensively for hours</strong></li><li><strong>Used for gaming and general productivity</strong></li><li><strong>Made use of all features in the GG web app</strong></li></ul><p>I tested the SteelSeries Rival Pro Mini across the course of a few days, and spent hours using it for both gaming and general productivity purposes.</p><p>For playing games, I made sure to pair the Rival Pro Mini with the LG UltraGear 25G590B 1000Hz gaming monitor, which helped me get the best performance possible out of the mouse. I also made sure to try the mouse with a variety of games, though I mainly used the PC version of <em>Cyberpunk 2077</em> to test its capabilities. What’s more, I made sure to trial all of the mouse’s features and customization options in the GG web app.</p><p>More generally, I’ve spent years testing gadgets here at TechRadar, where I serve as a Senior Reviews Writer. I’ve reviewed everything from premium wireless headphones to mechanical keyboards, and have tested a number of mice, including the <a href="https://www.techradar.com/computing/mice/logitech-mobi-fold-review">Logitech Mobi Fold</a>.</p><ul><li><a href="https://www.techradar.com/news/how-we-test">Read TechRadar’s reviews guarantee</a></li><li><em>First reviewed: October 2026</em></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ NordVPN review: still the pinnacle of VPNs ]]></title>
                                                                                                <dc:content><![CDATA[ <h2 class="article-body__section" id="section-how-we-tested-nordvpn"><span>How we tested NordVPN</span></h2><h2 class="article-body__section" id="section-nordvpn-review-scores"><span>NordVPN review scores</span></h2><div ><table><thead><tr><th class="firstcol " ><p>Category</p></th><th  ><p>Score</p></th><th  ><p>Comments</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Total</strong></p></td><td  ><p>90 / 100</p></td><td  ><p>Top notch features, watertight security, and the best streaming performance out there by a distance all solidify NordVPN as the best VPN available right now. <a href="#section-final-verdict"><strong>Read more ▼</strong></a></p></td></tr><tr><td class="firstcol " ><p>Price plans &amp; value</p></td><td  ><p> 8 / 10</p></td><td  ><p>Despite its hefty price rises, NordVPN's array of plans and features give you more than enough value no matter your choice.  <a href="#section-nordvpn-price-plans"><strong>Read more ▼</strong></a></p></td></tr><tr><td class="firstcol " ><p>Features</p></td><td  ><p>10 / 10</p></td><td  ><p>NordVPN is set apart by some of its unique features. Meshnet is something offered by no other VPN, Next Gen Antivirus  is the best of any similar product offered, and NordPass is the best password manager out there. Plus, there's a whole bunch more <a href="#section-features-what-can-nordvpn-do"><strong>Read more ▼</strong></a></p></td></tr><tr><td class="firstcol " ><p>Server network</p></td><td  ><p>10 / 10</p></td><td  ><p>NordVPN's server network is unmatched. While some providers offer more locations in specific regions, no-one is as well spread as NordVPN is. <a href="#section-server-network-and-locations"><strong>Read more </strong>▼</a></p></td></tr><tr><td class="firstcol " ><p>Privacy</p></td><td  ><p>10 / 10</p></td><td  ><p>Based in Panama, with an airtight, audited no-logs policy, secure, proprietary protocols, and a host of privacy-focused settings, you can't dislike NordVPN in this regard. <a href="#section-privacy"><strong>Read more ▼</strong></a></p></td></tr></tbody></table></div><div class="collapsible-block-start"></div><div class="collapsible-block-title"strong-read-all-of-nordvpn-s-review-scores-strong"><p><strong>Read all of NordVPN's review scores ▼</strong></p></div><div ><table><tbody><tr><td class="firstcol " ><p>Security</p></td><td  ><p>10 / 10</p></td><td  ><p>NordVPN scores top marks here thanks to its commitments both now and in the future. Next Gen Antivirus is top notch, post-quantum encryption is already in place, and it has top-grade encryption for the current generation too. <a href="#section-security"><strong>Read more ▼</strong></a></p></td></tr><tr><td class="firstcol " ><p>Speed</p></td><td  ><p>9 / 10</p></td><td  ><p>Good speeds, superb latency and jitter, a top performer all-around for whatever your needs are. <a href="#section-speed"><strong>Read more </strong>▼</a></p></td></tr><tr><td class="firstcol " ><p>Unblocking streams</p></td><td  ><p>10 / 10</p></td><td  ><p>NordVPN performed flawlessly in our unblocking tests. Zero issues, zero blocks, on every service, top marks! <a href="#section-unblocking-streaming-services"><strong>Read more ▼</strong></a></p></td></tr><tr><td class="firstcol " ><p>P2P &amp; Torrenting</p></td><td  ><p>4 / 5</p></td><td  ><p>Despite not offering port-forwarding, NordVPN offers near complete P2P optimization coverage on its servers and offers a suite of guides to help users get going if they need them, <a href="#section-p2p-and-torrenting"><strong>Read more ▼</strong></a></p></td></tr><tr><td class="firstcol " ><p>Apps &amp; Compatibility</p></td><td  ><p>4 / 5</p></td><td  ><p>NordVPN has apps for every platform, which all look great and work flawlessly no matter your device. Its only limitation is its feature imparity across platforms which, while improved in recent years, still has room for improvement. <a href="#section-compatibility"><strong>Read more ▼</strong></a></p></td></tr><tr><td class="firstcol " ><p>Usability</p></td><td  ><p>5 / 5</p></td><td  ><p>Dropping the interactive map and honing in on quick access to tools has made NordVPNs apps easy to use no matter your VPN experience, plus the experience is near identical everywhere. <a href="#section-usability"><strong>Read more ▼</strong></a></p></td></tr><tr><td class="firstcol " ><p>Accessibility</p></td><td  ><p>2 / 5</p></td><td  ><p>NordVPN's accessibility is good enough but by no means perfect. It has an average spread of languages, some amount of keyboard support, and some contrast issues. But, for the most part it comfortably among the most accessible VPNs. <a href="#section-accessibility"><strong>Read more ▼</strong></a></p></td></tr><tr><td class="firstcol " ><p>Customer support</p></td><td  ><p>4 / 5</p></td><td  ><p>NordVPN's customer support is among the best available.  Several options to find a solution, responsive live chat, and well considered conversations with email agents all help a user greatly. Its only area for improvement is usability in terms of its FAQ navigation. <a href="#section-customer-support"><strong>Read more ▼</strong></a></p></td></tr><tr><td class="firstcol " ><p> Track record</p></td><td  ><p>4 / 5</p></td><td  ><p>NordVPN for the most part has a shiny clean track record to be admired. However a breach in 2019 and its ongoing legal battles surround auto-renewals leaves a level of doubt available for some.  <a href="#section-track-record-can-you-trust-nordvpn"><strong>Read more ▼</strong></a></p></td></tr></tbody></table></div><div class="collapsible-block-end"></div><h2 class="article-body__section" id="section-nordvpn-price-plans"><span>NordVPN price plans </span></h2><ul><li>Prices start <strong>from $3.49/month</strong> with NordVPN Basic.</li><li><strong>Complete offers the best value</strong> balance of features and price.</li><li><strong>Auto-renewal fees are eye-watering – remember to opt out.</strong></li></ul><div ><table><caption>NordVPN per month price</caption><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>NordVPN Basic</strong></p></td><td  ><p><strong>NordVPN Complete (US-only)</strong></p></td><td  ><p><strong>NordVPN Prime (US-only)</strong></p></td></tr><tr><td class="firstcol " ><p><strong>1-month</strong></p></td><td  ><p>$14.99</p></td><td  ><p>$19.99</p></td><td  ><p>$29.99</p></td></tr><tr><td class="firstcol " ><p><strong>1-year </strong>(+3 extra months)</p></td><td  ><p>$4.99/month</p></td><td  ><p>$5.99/month</p></td><td  ><p>$8.99/month</p></td></tr><tr><td class="firstcol " ><p><strong>2-year </strong>(+3 extra months)</p></td><td  ><p>$3.49/month</p></td><td  ><p>$3.99/month</p></td><td  ><p>$6.99/month</p></td></tr></tbody></table></div><p>NordVPN has changed some of its plans and their respective prices in recent months. It’s removed the Plus tier and now offers three tiers instead of four: Basic, Complete, and Prime. </p><p>While all countries offer Basic and Complete plans, top-tier plans vary by country: in the US it's Prime, in Canada it’s Ultra, and in the UK it’s known as Ultimate Max. For this review, we're primarily focusing on the US plans. </p><p>Still, one constant is that you can secure up to 10 devices simultaneously – matching <a href="https://www.techradar.com/reviews/expressvpn">ExpressVPN</a> and <a href="https://www.techradar.com/reviews/protonvpn">Proton VPN</a>.</p><p><a href="https://www.techradar.com/vpn/nordvpn-price-deals-discounts-offers">NordVPN’s current pricing</a> puts it at the premium end. It’s particularly expensive when comparing its one-month subscription plans. While its entry-level Basic plan is $14.99/month – the same as ExpressVPN – the latter’s mid- and top-tier equivalents are significantly cheaper.</p><div class="collapsible-block-start"></div><div class="collapsible-block-title"read-more-about-nordvpn-s-price-plans"><p>Read more about NordVPN's price plans ▼</p></div><p>There’s little reason to choose NordVPN if you want the flexibility of a short-term plan. Only Surfshark’s base tier is more expensive at $18.95. </p><p>You’re better off considering Proton Plus at $9.99/month, or <a href="https://www.techradar.com/reviews/private-internet-access-vpn">PIA</a> for $11.99/month. Let’s not forget <a href="https://www.techradar.com/reviews/mullvad">Mullvad</a> either, which, at €5 a month (roughly $5.60 at the time of writing), is a steal - three months of Mullvad is almost the same price as one month of NordVPN Basic.</p><p>Where NordVPN gets more competitive is with its one- and two-year subscriptions. This is where the steep discounts kick in, though you’ll need to pay the full amount upfront. </p><p>One-year prices of $4.99, $5.99, and $8.99/month are on par with ExpressVPN and Proton VPN. However, <a href="https://www.techradar.com/reviews/surfshark">Surfshark</a> has the edge, offering plans from just $2.99 a month.</p><p>Two-year plans deliver the biggest savings. NordVPN’s prices of $3.49, $3.99, and $6.99/month put it below those of ExpressVPN. Proton VPN is similarly priced, but Surfshark is cheaper, starting at $2.19/month.</p><div ><table><caption>NordVPN total price (pre-tax)</caption><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>NordVPN Basic</strong></p></td><td  ><p><strong>NordVPN Complete (US-only)</strong></p></td><td  ><p><strong>NordVPN Prime (US-only)</strong></p></td></tr><tr><td class="firstcol " ><p><strong>1-month</strong></p></td><td  ><p>$14.99</p></td><td  ><p>$19.99</p></td><td  ><p>$29.99</p></td></tr><tr><td class="firstcol " ><p><strong>1-year </strong>(+3 extra months)</p></td><td  ><p>$74.85</p></td><td  ><p>$89.85</p></td><td  ><p>$134.85</p></td></tr><tr><td class="firstcol " ><p><strong>2-year </strong>(+3 extra months)</p></td><td  ><p>$94.23</p></td><td  ><p>$107.73</p></td><td  ><p>$188.73</p></td></tr></tbody></table></div><p>When you total the yearly cost, the numbers won’t add up – that’s because you’re getting three extra months included too. Also note that the prices quoted are pre-tax, and the final bill will increase based on your country’s sales tax.</p><p>There isn’t too much of a gulf between the total price you pay for NordVPN’s Basic and Complete plans, at least not initially. Upgrading from Basic to Complete costs just $1.00/month more on the annual plan, or $0.50/month more over two years. </p><p>This represents solid value considering it adds Nord’s <a href="https://www.techradar.com/vpn/vpn-services/nordvpns-next-gen-antivirus-aces-independent-testing-with-a-96-percent-phishing-block-rate">next-gen antivirus</a>, call, email, and message protection, a password manager, and cloud storage.</p><p>The bigger price jump is between Complete and Prime – $45 upfront for the annual term, or $81 for the two-year plan, for advanced identity protection via Coveron. That’s an extra $3/month either way, though it won’t be worth it if you’re outside the US since Coveron’s identity protection is US-only.</p><div ><table><caption>NordVPN auto-renewal prices</caption><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>NordVPN Basic</strong></p></td><td  ><p><strong>NordVPN Complete (US-only)</strong></p></td><td  ><p><strong>NordVPN Prime (US-only)</strong></p></td></tr><tr><td class="firstcol " ><p><strong>1-year (pre-tax)</strong></p></td><td  ><p>$139.08</p></td><td  ><p>$219.48</p></td><td  ><p>$296.28</p></td></tr><tr><td class="firstcol " ><p><strong>2-year (pre-tax)</strong></p></td><td  ><p>$278.16</p></td><td  ><p>$438.86</p></td><td  ><p>$592.56</p></td></tr></tbody></table></div><p>We then have to consider <a href="https://www.techradar.com/vpn/vpn-services/nordvpn-hit-with-yet-another-lawsuit-over-difficult-to-cancel-auto-renewal-subscriptions">NordVPN’s auto-renewal prices</a> which are significant to say the least. Take NordVPN’s Complete plan over two years, for example. That’s just $107.73 for the initial two-year term, but it rises a staggering 358% on renewal to $438.86.</p><p>You’re not just paying more later, either – you’re also getting fewer months. The initial term throws in three extra months so your lump sum stretches over 27 months; the renewal charges full price for just 24.</p><p>If anything, this is a reminder to make sure you turn off auto-renewal upon signup to prevent any nasty surprises further down the line. And if you want the best NordVPN deal, you’ll likely find the deepest discounts during major sales events like <a href="https://www.techradar.com/black-friday/vpn-black-friday-deals">Black Friday</a>.</p><p><strong>Price and plans score: 8/10</strong></p><div class="collapsible-block-end"></div><h2 class="article-body__section" id="section-features-what-can-nordvpn-do"><span>Features: What can NordVPN do?</span></h2><ul><li><strong>NordVPN Basic and Plus</strong> plans are the same across the world.</li><li>Full <strong>NordProtect cyber-insurance</strong> only available in the US.</li><li><strong>NordPass password manager</strong> included with all plans apart from Basic.</li></ul><h2 id="nordvpn-basic">NordVPN Basic</h2><p>The Basic plan from NordVPN does exactly what the name suggests. The main feature is the VPN product itself and not too much more. It's the same full VPN software as available on all NordVPN plans.</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:1344px;"><p class="vanilla-image-block" style="padding-top:57.14%;"><img id="LddzPGAzqxECKXqYxNnVf9" name="NordVPN running in dark mode on a laptop on desk" alt="NordVPN running in dark mode on a laptop on desk" src="https://cdn.mos.cms.futurecdn.net/LddzPGAzqxECKXqYxNnVf9-1920-80.png" mos="" align="middle" fullscreen="" width="1344" height="768" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">All of the best features available with NordVPN can be swiftly accessed via its redesigned home screen.  </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h2 id="nordvpn-plus">NordVPN Plus</h2><div class="collapsible-block-start"></div><div class="collapsible-block-title"read-more-about-nordvpn-features"><p>Read more about NordVPN features ▼</p></div><p>The Plus plan is my favorite NordVPN plan. Available in any region, it strikes a good balance between value and power by incorporating what I think are NordVPN’s most essential tools and features.</p><p>Most notably, you’re given Next Gen Antivirus. This adds malware protection via file scanning, ad-blocking capabilities (including tracker blocking), and measures to protect against phishing and other malicious websites. </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:1344px;"><p class="vanilla-image-block" style="padding-top:57.14%;"><img id="UraaoMJmyEJfaD68iaANLH" name="NordVPN in dark mode running Threat Protection Pro" alt="NordVPN in dark mode running NExt Gen Antivirus" src="https://cdn.mos.cms.futurecdn.net/UraaoMJmyEJfaD68iaANLH-1920-80.png" mos="" align="middle" fullscreen="" width="1344" height="768" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Next Gen Antivirus is an effective protective solution, even if you can only access it on desktop at the time of writing.  </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Unfortunately, these improvements can only be seen on NordVPN’s desktop apps, which is great if your home PC is the device you’re most concerned about, but leaves you short-changed across all of your mobile devices.</p><p>This is especially unfortunate since <a href="https://www.techradar.com/reviews/surfshark">Surfshark</a>, for example, offers its complete protective toolkit for mobile too – including antivirus on Android, which NordVPN doesn’t have whatsoever. </p><p>Something included across almost any device, however, is <a href="https://www.techradar.com/reviews/nordpass" target="_blank">NordPass</a>. We rate NordPass as the <a href="https://www.techradar.com/best/password-manager">best password manager</a> available right now, so getting it thrown in alongside your VPN package is some serious value.</p><p>It’s compatible across all major desktop operating systems, as well as popular web browsers such as Chrome, Brave, Firefox, Edge, and Opera, and of course, iOS and Android mobile devices. </p><div ><table><caption>Compare NordVPN plan availability</caption><thead><tr><th class="firstcol empty" ></th><th  ><p><a href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow">Basic Plan</a></p></th><th  ><p><a href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow"><strong>Plus Plan </strong></a></p></th><th  ><p><a href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow"><strong>Complete Plan</strong></a></p></th><th  ><p><a href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow"><strong>Ultimate Plan</strong></a></p></th><th  ><p><a href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow"><strong>Prime Plan</strong></a></p></th><th  ><p><a href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow"><strong>Ultra Plan</strong></a></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>US</strong></p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>❌</p></td><td  ><p>✅</p></td><td  ><p>❌</p></td></tr><tr><td class="firstcol " ><p><strong>UK</strong></p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>❌</p></td><td  ><p>✅</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td></tr><tr><td class="firstcol " ><p><strong>Canada</strong></p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>✅</p></td></tr><tr><td class="firstcol " ><p><strong>Australia </strong></p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td></tr></tbody></table></div><p>NordPass encrypts your passwords using XChaCha20 but also secures password generation, passkey support, and easy synchronization of data between platforms, so you’re never stuck without the details you need.</p><p>What's more, you can use NordPass' data breach scanning – which is traditionally kept for premium NordPass plans. That said, we found it only worked through the NordVPN app, which could be confusing if you're using it alongside NordPass.</p><h2 id="nordvpn-complete">NordVPN Complete </h2><p>Entering the upper echelons of NordVPN is where things get complex since, as mentioned, no one country gets the same premium plans. For the moment, we’ll stick with what the US gets.</p><p>NordVPN Complete adds two features to the spread offered by a Plus Plan: firstly, 1 TB of <a href="https://www.techradar.com/pro/vpn/what-is-e2ee">end-to-end encrypted</a> storage. For an extra dollar a month, that may initially seem to be a great deal, but first, consider whether the added storage is actually going to be used. </p><p>If, like me, you’ve already pushed the limits of your free storage allowances on systems like Google and iCloud, then maybe it will, but will the added storage outweigh the convenience these services offer? The value for money for that 1 TB of storage is good, but, if you won’t use it, why pay more?</p><p>In terms of the value, it’s definitely worth mentioning that among the top VPN providers, only <a href="https://www.techradar.com/reviews/protonvpn">Proton VPN</a> currently offers encrypted storage with any of its packages.</p><p>Though to get 500 GB of storage with Proton, you pay $3 per month more than you’d pay for a NordVPN Complete plan. And that makes NordVPN Complete comparatively better value if storage with your VPN is a priority.</p><p>Next up is Scam Call Protection. This is NordVPN's latest feature addition, offering potential scam detection, caller identification, and caller categorization (such as telemarketers). For now, this is an Android-only feature, NordVPN has confirmed it's planning to bring the functionality to iPhone users soon. </p><h2 id="nordvpn-prime">NordVPN Prime</h2><p>Prime only brings one new thing to the party, though this time it’s a biggie – NordProtect.</p><p><a href="https://www.techradar.com/pro/security/nordprotect-made-me-rethink-how-i-protect-my-personal-information-online" target="_blank">NordProtect</a> is an all-in-one package aimed at protecting your identity at all costs. Firstly, <a href="https://www.techradar.com/pro/what-is-dark-web-monitoring">Dark Web Monitoring</a> searches for your social security number, phone number, and email on the dark web 24/7, with immediate notifications should anything be found.</p><p>Your credit card also gets similar protection. 1-Bureau credit monitoring notifies you about changes, including inquiries into your credit file, new accounts, and unauthorized use. You can also make use of VantageScore credit scoring, should you wish for insights into how to improve your credit.</p><p>TransUnion, the company behind VantageScore, also provides credit freeze assistance as part of NordProtect. This not only helps to prevent credit card fraud, but also ensures your credit score isn’t impacted if you fall victim to it.</p><p>If that wasn’t enough, you’re also provided with identity theft insurance up to $1M in coverage, and cyber extortion insurance up to $100K in coverage.</p><p>All this protection does come at a hefty cost, however, as Prime Plans start from $6.99 per month on the two-year plan.</p><p>That takes your total payment to $50 more than Complete, and your cost on renewal rises to around $340 before tax. So, make sure you really need NordProtect before signing up.</p><div ><table><caption>Compare NordVPN features</caption><thead><tr><th class="firstcol empty" ></th><th  ><p><a href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow">Basic Plan</a></p></th><th  ><p><a href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow"><strong>Plus </strong></a></p></th><th  ><p><a href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow"><strong>Complete</strong></a></p></th><th  ><p><a href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow"><strong>Ultimate</strong></a></p></th><th  ><p><a href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow"><strong>Ultra</strong></a></p></th><th  ><p><a href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow"><strong>Prime</strong></a></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>VPN</strong></p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td></tr><tr><td class="firstcol " ><p><strong>Next Gen Antivirus </strong></p></td><td  ><p>❌</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td></tr><tr><td class="firstcol " ><p><strong>Ad and tracker blocker</strong></p></td><td  ><p>❌</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td></tr><tr><td class="firstcol " ><p><strong>Password manager</strong></p></td><td  ><p>❌</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td></tr><tr><td class="firstcol " ><p><strong>Data breach scanning</strong></p></td><td  ><p>❌</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td></tr><tr><td class="firstcol " ><p><strong>1TB encrypted cloud storage</strong></p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td></tr><tr><td class="firstcol " ><p><strong>Cyber insurance (up to £5,000)</strong></p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>✅</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td></tr><tr><td class="firstcol " ><p><strong>Identity theft insurance (up to $1M)</strong></p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>✅</p></td></tr><tr><td class="firstcol " ><p><strong>Cyber extortion insurance (up to $100k)</strong></p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>✅</p></td></tr><tr><td class="firstcol " ><p><strong>Incogni personal data removal</strong></p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>✅</p></td><td  ><p>❌</p></td></tr></tbody></table></div><p>A surprising omission from almost all NordVPN plans worldwide is Incogni. Developed by Nord Security, NordVPN and Surfshark’s parent company,<a href="https://www.techradar.com/reviews/incogni" target="_blank"> Incogni</a> is a data removal tool that removes your personal information from company databases and people search sites, helping reduce the risk of scams, fraud, and identity theft.</p><p>Only Canada’s Ultra plan includes Incogni. Though, much like the US Prime plan, you’ll be forking out a fair sum for it, with prices starting from CA$8.19 per month.</p><p>If there’s one constant piece of advice we can give about picking a NordVPN plan, it’s this: know what you want. They all offer value, but only if you actually use the features you're buying.</p><p><strong>Score: 10/10</strong></p><div class="collapsible-block-end"></div><h2 class="article-body__section" id="section-server-network-and-locations"><span>Server network and locations</span></h2><ul><li><strong>Most countries covered</strong> of any tested VPN (150).</li><li><strong>Most locations overall</strong> with 225</li><li><strong>Approximately 8,000</strong>-strong network of RAM-only servers.</li></ul><p>NordVPN offers the largest selection of server locations of any VPN we test. Nobody beats NordVPN's 225 locations, while only Proton VPN's 149 countries come close to NordVPN's chart-topping 150</p><p>The spread of these locations also earns it top marks. 77 locations in North America is the most of any VPN, 54 locations in Europe are only usurped by NymVPN, ExpressVPN, and Proton VPN, and 30 locations in Africa are only topped by Proton’s 33. </p><p>NordVPN also remains top for locations in South America and Oceania, while its 43 Asian locations keep it second to Proton VPN's 51. </p><p>The provider offers around 79 virtual locations in regions where physical servers are not possible. This is perfect if you're travelling to regions with tight internet restrictions and require a stable, secure connection. However, you can't see in-app which locations are virtual when on Windows, which is unfortunate. </p><p>Much like other top VPNs, NordVPN’s network runs on RAM-only servers. This is now reasonably standard practice, since RAM-only servers not only ensure no user data is accidentally stored (since they wipe on reboot) but they are also more efficient in terms of speed, latency, and power consumption.</p><div class="collapsible-block-start"></div><div class="collapsible-block-title"read-more-about-nordvpn-s-server-network"><p>Read more about NordVPN's server network ▼</p></div><p>This ensures the servers are capable of handling NordVPN’s various server uses, be that <a href="https://www.techradar.com/vpn/what-is-p2p">P2P</a>, <a href="https://www.techradar.com/vpn/nordvpn-double-vpn">multi-hop</a>, or <a href="https://www.techradar.com/vpn/what-is-meshnet">Meshnet</a>, without noticeable drops in performance. </p><p>Handily, NordVPN also recently made all of its servers P2P compatible. That means you no longer need to select a dedicated P2P server from the dedicated 'Speciality Servers' list, instead, you can use whichever NordVPN server works best for your needs. </p><p>Earlier in 2025, <a href="https://www.techradar.com/vpn/vpn-services/vpn-server-count-doesnt-matter-nordvpn-throws-a-challenge-to-the-vpn-industry" target="_blank">NordVPN threw a challenge to the VPN industry</a>, claiming that the exact number of servers across its locations isn’t important. This means we no longer have a precise figure to use to compare NordVPN with its competitors. </p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>NordVPN</p></th><th  ><p>Surfshark</p></th><th  ><p>ExpressVPN</p></th><th  ><p>Proton VPN</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>North America</p></td><td  ><p><strong>77</strong></p></td><td  ><p>34</p></td><td  ><p>71</p></td><td  ><p>39</p></td></tr><tr><td class="firstcol " ><p>South America</p></td><td  ><p><strong>12</strong></p></td><td  ><p>10</p></td><td  ><p>9</p></td><td  ><p>10</p></td></tr><tr><td class="firstcol " ><p>Europe</p></td><td  ><p><strong>54</strong></p></td><td  ><p>54</p></td><td  ><p>58</p></td><td  ><p>53</p></td></tr><tr><td class="firstcol " ><p>Asia</p></td><td  ><p><strong>43</strong></p></td><td  ><p>32</p></td><td  ><p>36</p></td><td  ><p>48</p></td></tr><tr><td class="firstcol " ><p>Oceania</p></td><td  ><p><strong>9</strong></p></td><td  ><p>6</p></td><td  ><p>8</p></td><td  ><p>7</p></td></tr><tr><td class="firstcol " ><p>Africa</p></td><td  ><p><strong>30</strong></p></td><td  ><p>6</p></td><td  ><p>6</p></td><td  ><p>31</p></td></tr></tbody></table></div><p>Surfshark, a VPN also owned by Nord Security, uses around 4,500 servers currently, while Proton VPN uses over 15,000. Our latest research suggests NordVPN's figure is somewhere over 8,000 servers, which is above average, but by no means the most.</p><p>Realistically, however, we rarely see VPN servers reach absolute maximum load, and, frankly, with the spread of locations NordVPN has, you'll never be short of another place to connect to. There's really nothing we can complain about here, loads of locations, RAM-only servers, top marks!</p><p><strong>Score: 10/10</strong></p><div class="collapsible-block-end"></div><h2 class="article-body__section" id="section-privacy"><span>Privacy</span></h2><ul><li><strong>Strong, privacy-focused protocol choices</strong> – NordLynx and NordWhisper</li><li><strong>Double VPN and Onion over VPN</strong> boost privacy and anonymity</li><li><strong>Tapjacking protection is a handy bonus</strong> for Android users</li></ul><p>NordVPN’s privacy is founded on its <a href="https://www.techradar.com/pro/vpn/the-difference-between-no-logs-and-zero-logs-vpns-and-why-it-matters">no-logs policy</a>. Not only is the policy in depth, but it has been audited six times, <a href="https://www.techradar.com/vpn/vpn-services/independent-auditors-confirm-nordvpn-never-stores-your-data-for-the-6th-time" target="_blank">most recently by Deloitte at the end of 2025</a>.</p><p>That depth doesn't make for good casual reading but it does successfully cover every important topic, and in enough detail that we’re comfortable with saying that nothing is amiss.</p><p>The closest NordVPN comes to recording data is its enforcement of the 10 device limit. As it explains, username and timestamp information is “used to limit the amount of concurrent active user sessions and is automatically deleted within 15 minutes after a session is terminated”.</p><div class="collapsible-block-start"></div><div class="collapsible-block-title"read-more-about-nordvpn-s-privacy-measures"><p>Read more about NordVPN's privacy measures ▼</p></div><p>In-app, NordVPN’s primary privacy focal point is its <a href="https://www.techradar.com/vpn/vpn-services/nordvpn-launches-new-revolutionary-censorship-resistant-vpn-protocol">NordWhisper protocol</a>.</p><p><a href="https://www.techradar.com/vpn/vpn-services/nordvpn-launches-new-revolutionary-censorship-resistant-vpn-protocol" target="_blank">Introduced in January 2025</a>, the <a href="https://www.techradar.com/vpn/what-is-a-vpn-protocol">protocol</a> is based on the <a href="https://www.techradar.com/pro/security/tor-has-a-new-https-esque-feature-to-help-beat-censorship">Tor Project’s WebTunnel technology. </a>It wraps your encrypted VPN traffic in a standard HTTPS connection to hide it from detection. This disguises it as standard web traffic and makes NordWhisper especially effective in regions of high internet censorship and places where people found to be using VPNs can be punished. </p><p>For everyday connectivity, you’re not short of options either. <a href="https://www.techradar.com/vpn/what-is-openvpn">OpenVPN</a> is available in both its <a href="https://www.techradar.com/vpn/udp-vs-tcp">TCP and UDP</a> forms. The former provides a more stable, reliable connection for emailing, browsing, and the like. The latter is more focused towards speed for gaming, streaming, or similar.</p><p>Alongside this, you also get NordVPN’s other proprietary protocol, NordLynx. <a href="https://www.techradar.com/vpn/what-is-nordlynx" target="_blank">NordLynx</a> uses a ‘double NAT’ system to remove privacy vulnerabilities you’d be at risk of by using traditional <a href="https://www.techradar.com/vpn/what-is-wireguard">WireGuard</a>.</p><p>By combining double NAT technology and WireGuard, NordLynx allows you to experience the speed benefits of WireGuard, without any identifiable information being stored, even temporarily, in a server. </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:1344px;"><p class="vanilla-image-block" style="padding-top:57.14%;"><img id="dKGZBGKxSWcuYnqtyNYEm3" name="NordVPN website during Black Friday 2025 running on a laptop on a desk" alt="NordVPN website during Black Friday 2025 running on a laptop on a desk" src="https://cdn.mos.cms.futurecdn.net/dKGZBGKxSWcuYnqtyNYEm3-1920-80.png" mos="" align="middle" fullscreen="" width="1344" height="768" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">NordVPN's privacy and no-logs policies can be easily accessed via the NordVPN website. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>NordLynx is also <a href="https://www.techradar.com/pro/vpn/nordvpn-joins-the-post-quantum-revolution" target="_blank">NordVPN’s first post-quantum encrypted VPN protocol</a>. It ensures that your data remains secure even once quantum computing arrives with its enormous boost in code-cracking, number crunching power.</p><p>NordVPN has chosen to use <a href="https://www.techradar.com/pro/vpn/post-quantum-encryption-standards-are-here-a-new-era-for-vpn-security-begins" target="_blank">ML-KEM</a>, an approved quantum-resistant cryptographic standard, with NordLynx.</p><p>NordVPN’s use of RAM-only servers helps too. Since RAM-only servers don’t store any data permanently. That means you’re never at risk of being personally identifiable should Nord’s servers be seized, since there’s no data to be found.</p><p>Connecting to NordVPN offers several privacy-centric options. <a href="https://www.techradar.com/vpn/nordvpn-double-vpn" target="_blank">Double VPN</a> works as the name suggests, routing your connection through two VPN servers rather than one. In other words, your data is encrypted twice.</p><p>That makes your connection twice as difficult for cybercriminals to crack, your IP address is further protected (since the second server doesn’t have any information about it), and your ISP knows nothing about where you end up on the web.</p><p>This makes Double VPN perfect for those needing greater protection in regions where governments attempt to intercept messages or surveil online activities.</p><p>NordVPN currently offers 12 Double VPN locations, including 2 locations in the US and Canada. This is far fewer than the likes of <a href="https://www.techradar.com/reviews/protonvpn">Proton VPN</a> and <a href="https://www.techradar.com/reviews/surfshark">Surfshark</a>.</p><p>Proton VPN offers 64 locations that utilize its <a href="https://www.techradar.com/vpn/proton-vpn-secure-core">Secure Core</a> technology, while <a href="https://www.techradar.com/news/surfshark-adds-new-cutting-technology-to-its-vpn-service">Surfshark’s Nexus network</a> allows you to make any two server connections you want from its entire server network.</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:1344px;"><p class="vanilla-image-block" style="padding-top:57.14%;"><img id="Vz5xAMvyBZfBzarRiDJQPa" name="NordVPN server types displaying on phone on desk" alt="NordVPN server types displaying on phone on desk" src="https://cdn.mos.cms.futurecdn.net/Vz5xAMvyBZfBzarRiDJQPa-1920-80.png" mos="" align="middle" fullscreen="" width="1344" height="768" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">NordVPN's selection of server types can be quickly accessed whether you're on mobile or desktop. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Another option for concealing your VPN connection is NordVPN’s obfuscated servers. These servers now use NordVPN's NordWhisper protocol in addition to extra protections to ensure your VPN connection isn't detected. The shift to using NordWhisper also means you can now connect to obfuscated servers in almost all of NordVPN's locations.</p><p>If you’re looking to access the darker corners of the web securely, NordVPN also offers <a href="https://www.techradar.com/vpn/vpn-privacy-security/what-is-onion-over-vpn" target="_blank">Onion Over VPN</a> connections. Available via its Amsterdam, Stockholm, and Zurich server locations. This connection routes your traffic through both a VPN server and <a href="https://www.techradar.com/reviews/tor-browser">the Tor Network</a>. </p><p>As a result, since the Tor Network’s servers are volunteer-operated, you are secured by a VPN before entering it in case a bad actor has planted servers intent on tracking your online activity and stealing your data. This added security when using Tor is something only offered by a few top VPNs, the most notable of which are NordVPN and Proton VPN.</p><p>Depending on the platform you’re using, NordVPN also offers several handy privacy settings you can use to further affirm your privacy. Android users get arguably the biggest spread. Notably, NordVPN’s ‘Tapjacking protection’ is something you won’t find on any other NordVPN platform, or offered by any other VPN for that matter.</p><p>The system aims to protect users against malicious overlays and is as simple to use as toggling on and forgetting about it. Having had the protection turned on for a matter of months now, I can comfortably say I've never found an instance where an overlay has slipped through the net, and I've never noticed it adding unwanted strain to my phone’s performance either.</p><p><strong>Score: 10/10</strong></p><div class="collapsible-block-end"></div><h2 class="article-body__section" id="section-security"><span>Security</span></h2><ul><li><strong>Strong encryption</strong> and post-quantum encryption standards already live.</li><li><strong>Next Gen Antivirus performs well</strong> against malware and phishing sites</li><li>Lots of options for <strong>granular security customization.</strong></li></ul><p>NordVPN’s security is top-notch.</p><p>We tested its claims of strong <a href="https://www.techradar.com/news/what-is-aes" target="_blank">AES-256-GCM encryption</a> on OpenVPN using a 4096-bit Diffie-Hellman key, and we saw exactly that. Our tests registered AES-256-GCM-SHA384 encryption with 4096-bit certification using TLS 1.3. This makes NordVPN’s OpenVPN protocol as secure as possible, ensuring you needn’t worry about your connection, no matter your location.</p><p>On NordLynx, you’re similarly protected. Since the protocol is based on WireGuard, it uses the same ChaCha20 encryption you’d expect to see, using Poly1305 for authentication. This means you’re using the latest and greatest encryption capabilities across both of NordVPN’s primary protocols.</p><p><a href="https://www.techradar.com/pro/vpn/post-quantum-encryption-standards-are-here-a-new-era-for-vpn-security-begins">Post-quantum encryption</a> has also already reached NordVPN. While providers such as Proton VPN and Surfshark are yet to implement it or are in the early stages, NordLynx is already post-quantum ready, with the future-proof encryption method available at the switch of a toggle.</p><p>While that might seem superfluous right now, it's a key differentiator given the existence of <a href="https://www.techradar.com/pro/security/quantum-race-how-are-cybercriminals-silently-stealing-the-trophy">harvest now, decrypt later attacks</a>.</p><div class="collapsible-block-start"></div><div class="collapsible-block-title"read-more-about-nordvpn-s-security-features"><p>Read more about NordVPN's security features ▼</p></div><p>OpenVPN and NordWhisper aren’t post-quantum-equipped quite yet. It's worth knowing that if you turn on post-quantum encryption, it'll turn itself off if your automatically selected protocol isn't NordLynx. This can be fixed in a matter of clicks by turning automatic protocol choosing off, instead selecting to always use NordLynx</p><p>You also won’t be post-quantum-protected when using Meshnet or NordVPN’s obfuscated server connection; the same goes if you add a dedicated IP to your plan.</p><p>If you’ve turned on post-quantum encryption before using Meshnet, beware that this automatically turns Meshnet off, making you choose between your secure local network and a super-secure VPN connection.</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:1344px;"><p class="vanilla-image-block" style="padding-top:57.14%;"><img id="h5ZkvznRGyWnjbHnk9ipiL" name="NordVPN Meshnet settings screen on  laptop at a desk" alt="NordVPN Meshnet settings screen on  laptop at a desk" src="https://cdn.mos.cms.futurecdn.net/h5ZkvznRGyWnjbHnk9ipiL-1920-80.png" mos="" align="middle" fullscreen="" width="1344" height="768" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Meshnet is a superb, unique NordVPN feature, though it doesn't benefit from post-quantum encryption as yet.  </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>NordVPN also, of course, a more standard suite or security options in place.</p><p>Auto-connect jumps straight to mind, since you can fully customize exactly when and how NordVPN auto-connects you to a server.</p><p>It covers both the server type, and the instances in which it connects. This includes options for <a href="https://www.techradar.com/vpn/nordvpn-double-vpn">Double VPN</a>, Obfuscated, Onion-Over, and P2P servers, and connecting when on Wi-Fi, Ethernet, or mobile networks. You can even create lists of trusted networks that are excluded from auto-connect parameters.</p><p>I use this kind of customization to make sure that I'm always protected and I particularly like it to my ensure my connection on-the-go.</p><p>If you want to continue the granular levels of security tailoring, you can also control the <a href="https://www.techradar.com/vpn/what-is-dns">DNS server address</a> you connect to, your visibility over LAN, and, on desktops, whether your computer can still be accessed remotely when connected. It’s worth noting, with LAN invisibility especially, toggling these settings can impact performance. </p><p>For example, with LAN invisibility turned on, iPhone, iPad, and Mac users won’t be able to use AirDrop. You may also experience significant performance impacts due to how Apple integrates the relevant API parameters in its hardware. If you want to know more, NordVPN released a complete breakdown you can read <a href="https://support.nordvpn.com/hc/en-us/articles/25202605194257-Invisibility-on-a-local-network-why-we-had-to-build-a-broken-feature" target="_blank">here</a>.</p><p>Something that continues to impress is NordVPN’s kill switch. It's often the downfall of less secure VPN providers. In our security testing, a <a href="https://www.techradar.com/vpn/vpn-kill-switch-explained" target="_blank">kill switch</a> is key to ensuring your connection is never inadvertently exposed to bad actors, governments and the like.</p><p>We tried to break NordVPN’s kill switch in various ways, including uninstalling NordVPN’s network adapter driver while connected. Not only did NordVPN disconnect us successfully without any IP leaks, but it recognized the issue, reinstalled and activated the driver, and reconnected us, all within seconds.</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:1344px;"><p class="vanilla-image-block" style="padding-top:57.14%;"><img id="uRhVxq3Xibufwxup3ZYAz9" name="NordVPN kill switch settings screen on laptop at desk with coffee" alt="NordVPN kill switch settings screen on laptop at desk with coffee" src="https://cdn.mos.cms.futurecdn.net/uRhVxq3Xibufwxup3ZYAz9-1920-80.png" mos="" align="middle" fullscreen="" width="1344" height="768" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">NordVPN has an array of effective security settings, which can all be found in one place whether you're on desktop or mobile. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>If we could wish for one thing to improve NordVPN’s kill switch, it would be moving away from the native kill switch system on Android devices. </p><p>Across all platforms aside from Android, you can turn the kill switch on and off as you please. On Android, the native kill switch forces you to use the VPN at all times and disconnects you completely from the internet should the connection fail. </p><p>While this is super-secure, it’s frustrating should you only require a VPN connection in certain situations. </p><p>Something we’ll cover in more depth in the <a href="#section-compatibility">compatibility section</a> is NordVPN’s feature parity across platforms. <a href="https://www.techradar.com/vpn/split-tunneling">Split tunneling</a>, another of NordVPN’s security capabilities, is a notable victim of some of NordVPN’s variations by device.</p><p>Windows users can create either a list of apps that must use the VPN or a list of apps that must not. Android users can only choose which apps won't use the VPN, and Mac and iOS users don’t get split tunneling at all – though this is reasonably common among VPNs owing to the security systems in place on Apple devices.</p><p>Our testing showed no reason to doubt NordVPN’s split tunneling capabilities, though it would be great to see its Android apps gain the same capabilities as Windows. Lacking the choice in this way puts NordVPN behind the likes of <a href="https://www.techradar.com/reviews/surfshark">Surfshark</a> and <a href="https://www.techradar.com/reviews/protonvpn">Proton VPN</a>, which offer both choices on their Android apps.</p><p>We’ve mentioned <a href="https://www.techradar.com/vpn/vpn-services/nordvpn-launches-new-revolutionary-censorship-resistant-vpn-protocol">NordWhisper</a> already, but NordVPN also offers traditional obfuscated servers too. This is helpful since, at the time of writing, NordWhisper isn’t quite available on all platforms as yet – though Windows, Android, Linux, Mac, and iOS all have it already.</p><p>These servers, however, have one big problem: accessibility. Not only does NordVPN only offer obfuscated servers in 16 of its 127 countries, but also, depending on the app and protocol you’re using, you may not even see the option. NordVPN’s obfuscated servers only work over OpenVPN, which is understandable given the added security it brings, even if at a huge speed deficit, but if you’ve not manually selected OpenVPN as your protocol choice, your app may not show them. </p><p>Our testing on Apple devices showed the option simply doesn’t exist in the app unless you go into your settings and change to OpenVPN. </p><p>Windows and Android users don’t face the same issue. The option appears in the ‘Specialty Server’ section, no matter the protocol chosen, which makes much more sense and begs the question of why it isn’t this simple across all devices. </p><p>What’s more, the lack of locations means those in regions distant from a server will face even greater performance drops than you’d expect anyway from obfuscated servers.</p><p>Another feature lacking in locations is NordVPN’s Onion-over VPN capabilities, though in this instance, this is less of a problem since many providers don’t offer this at all. Onion-over VPN allows you to connect to sites on the <a href="https://www.techradar.com/reviews/tor-browser">Tor Network</a> while secured by a VPN connection, something only offered by Proton VPN among other top VPN providers. In NordVPN’s case, it offers three countries to connect to: the Netherlands, Sweden, and Switzerland. </p><p>By comparison, Proton’s six locations include Sweden and Switzerland, but the additions of France, Germany, Hong Kong, and the US give the VPN provider not only wider EU coverage but broader coverage worldwide. </p><p>As with any VPN connection, reduced locations often mean worse speeds, either due to distance to the server or the load the server is under, and NordVPN’s Onion-over VPN servers prove no different. </p><p><a href="https://www.techradar.com/vpn/vpn-privacy-security/what-is-onion-over-vpn">Onion-over VPN</a> connections (otherwise called Tor-over VPN) always require greater processing. That makes a dent on performance straight away, no matter the location, but the 741 Kbps download speeds we saw in testing demonstrate just how limited you can be, yes, that was Kbps by the way!</p><p>Finally, <a href="https://www.techradar.com/vpn/nordvpn-double-vpn">Double VPN</a>. This is NordVPN’s version of a multi-hop connection, though its simpler than some competitor alternatives. This is because NordVPN doesn’t allow you to choose your entry and exit server, unlike <a href="https://www.techradar.com/reviews/surfshark">Surfshark</a>. </p><p>Even Proton, whose <a href="https://www.techradar.com/vpn/proton-vpn-secure-core" target="_blank">Secure Core Technology</a> limits the choices you have, gives users a few choices. We won’t directly compare NordVPN and Surfshark here, since Surfshark’s <a href="https://www.techradar.com/news/surfshark-adds-new-cutting-technology-to-its-vpn-service" target="_blank">Nexus technology</a> gives users complete freedom to multi-hop between every Surfshark server, something no other VPN provider offers. </p><p>Outside of the VPN itself, NordVPN also offers Next Gen Antivirus. This works at a deeper level, protecting your desktop devices from phishing and malicious URLs, as well as ads and trackers. It can even scan for and block malicious downloads. </p><p>While this is nice, there are several downsides. Firstly, Next Gen Antivirus, oddly,  isn’t actually an antivirus. It can’t scan files already on your computer for malware, nor can it remove them. Secondly, the full Next Gen Antivirus suite is only available on desktop devices, while mobile users only get Threat Protection.</p><p>That limitation puts NordVPN behind Surfshark here. Surfshark includes a full antivirus with its Surfshark One plan – and it works on mobile as well as desktop. </p><p>That said, you can hardly fault Next Gen Antivirus’s results.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Phishing Sites Blocked</strong></p></th><th  ><p><strong>Malware Sites Blocked</strong></p></th><th  ><p><strong>Ads blocked</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>NordVPN (Next Gen Antivirus)</strong></p></td><td  ><p>92%</p></td><td  ><p>80%</p></td><td  ><p>21%</p></td></tr><tr><td class="firstcol " ><p><strong>Proton VPN</strong></p></td><td  ><p>88%</p></td><td  ><p>0%</p></td><td  ><p>88%</p></td></tr><tr><td class="firstcol " ><p><strong>ExpressVPN</strong></p></td><td  ><p>76%</p></td><td  ><p>0%</p></td><td  ><p>86%</p></td></tr><tr><td class="firstcol " ><p><strong>Surfshark</strong></p></td><td  ><p>48%</p></td><td  ><p>28%</p></td><td  ><p>44%</p></td></tr></tbody></table></div><p>We tested Next Gen Antivirus against 50 brand-new malware-hosting and phishing pages, and it was the top-performing software of anything similar we tested among VPNs. It blocked 92% of phishing sites and 80% of malware sites. </p><p>By comparison, Surfshark Antivirus achieved only 48% and 28% in these same tests, putting a stretch ahead.</p><p>While these results do impress when compared to VPNs, a dedicated antivirus software performs far better than even Next Gen Antivirus.</p><p>The likes of<a href="https://www.techradar.com/reviews/avast-one"> Avast</a>, Norton, and ESET achieved equal or greater success in phishing protection tests carried out by AV-Comparatives in 2025. This is why we normally recommend picking up one of the <a href="https://www.techradar.com/best/best-antivirus">best antivirus software</a> in addition to your VPN of choice.</p><p>It's also worth mentioning that Next Gen Antivirus's remit is constantly expanding. In recent months, Email Protection, hijacked session and double extension alerts, search result safety indicators, and crypto wallet checks have all joined the mix. While many of these are niche solutions, they're a handy addition should they fit your everyday needs.</p><p><strong>Score: 10/10</strong></p><div class="collapsible-block-end"></div><h2 class="article-body__section" id="section-speed"><span>Speed</span></h2><ul><li>NordVPN is still <strong>among the fastest VPNs </strong>using WireGuard.</li><li>Minimal latency and jitter make the <strong>best VPN for gamers</strong>.</li><li><strong>Struggled over OpenVPN</strong> in latest speed tests.</li></ul><p>We recently completed our second round of testing using a 10 Gbps line with an increased number of data points. </p><p>This time around, NordVPN's NordLynx speeds saw a slight improvement, recording 1427 Mbps, having previously achieved 1249 Mbps. Despite this,  NordVPN remains slower than Proton VPN and Surfshark using WireGuard and <a href="https://www.techradar.com/vpn/expressvpn-lightway">ExpressVPN’s Lightway Turbo protocol</a>.</p><p>Take ExpressVPN’s results with a pinch of salt, though, since <a href="https://www.techradar.com/vpn/vpn-services/can-fast-be-faster-expressvpn-promises-its-possible" target="_blank">Lightway Turbo </a>is only available on its Windows app, and ExpressVPN has warned that it might cause issues with some websites and games.</p><p>None of that is true for NordLynx and, although Lightway Turbo’s 1479 Mbps speeds put it a margin ahead of NordLynx on paper, most users won’t see this difference in day-to-day usage.</p><p>Instead, you’ll likely benefit more from the added compatibility of NordLynx.</p><div class="collapsible-block-start"></div><div class="collapsible-block-title"read-more-about-nordvpn-s-performance"><p>Read more about NordVPN's performance ▼</p></div><p>NordLynx’s results do, however, put it among the best VPN protocols for gamers, since in our testing, it recorded only 7 ms latency and 2.2 ms jitter when connected to our nearest server.</p><p>High latency results in laggy gameplay, and high jitter can lead to unstable gameplay and stuttering, so recording latency and jitter at low result is key when choosing the <a href="https://www.techradar.com/vpn/best-gaming-vpn">best gaming VPN</a>.</p><p>Connecting to US NordVPN servers from the UK proved less effective, though still improved over last time around. NordLynx achieved 939 Mbps connecting over the pond this time, having only managed 688 Mbps last time. </p><p>This is still slower than many other VPNs over the same distance. That said, you'll rarely struggle with these results no matter what streaming or gaming you test it with. </p><p>NordVPN did still hold up well for latency and jitter over long distance, proving, again, that it's a great gaming VPN choice – perfect, in this instance for avoiding unwanted lag while connecting to servers abroad for gaming, streaming, or other high-intensity tasks.</p><p>Unfortunately, NordVPN's OpenVPN performance has yet again dropped off. Previously registering 688 Mbps, it now only achieved 633 Mbps, much lower than several other top VPNs. </p><p><strong>Score: 9/10</strong></p><div class="collapsible-block-end"></div><h2 class="article-body__section" id="section-unblocking-streaming-services"><span>Unblocking streaming services</span></h2><ul><li><strong>Only struggled with two streaming services </strong>we tested.</li><li><strong>Never encountered unwanted CAPTCHAs</strong>, or dropouts.</li><li>All servers are <strong>streaming optimized.</strong></li></ul><p>NordVPN was the clear winner in our latest unblocking testing. It struggled with the fewest streaming services of every VPN we've tested.</p><p>We test Netflix, across the US, UK, Australia, Canada, and Japan, Prime Video, Disney+, and YouTube. We also tested NordVPN at unblocking local free streaming services, including BBC iPlayer, ITVX, C4, 9Now, and 10Play.</p><p>Only YouTube US and Prime Video Australia proved inaccessible. Aside from these, we never encountered VPN detection, unwanted CAPTCHAs during login, or any dreadful lag, buffering or connection dropouts to ruin our streaming experience. This was the same whether we were attempting to watch something live or catching up on demand.</p><p>So, while there are now some small blips on NordVPN's record, most won't be heavily impacted. </p><div class="collapsible-block-start"></div><div class="collapsible-block-title"read-more-about-nordvpn-s-unblocking-capabilities"><p>Read more about NordVPN's unblocking capabilities ▼</p></div><p>Proton VPN, ExpressVPN, and Surfshark all equally struggled with US YouTube. Proton also struggled with Disney+ USA alongside ITVX and Channel 4 in the UK. Surfshark suffered a spread of issues across platforms worldwide, a big change from a near-flawless performance last time out. </p><p>What was even more impressive was the lack of impact of NordVPN's Threat Protection Pro ad-blocker. Normally, we find that the ad-blockers of VPN services disrupted the streaming capabilities of local, ad-based services like Channel 4 and ITV, but we saw no such issues with NordVPN. The same cannot be said of Proton VPM and Surfshark. </p><p>NordVPN never found itself unable to load services due to their advert reel requirements, even when connecting to ad-based services abroad, such as Peacock. Top marks.</p><p>Something certainly playing into this success is that all of NordVPN’s servers are streaming-optimized. This move not only means you never have to scroll through to find those with the correct optimization, but it also means you’re never short of another server to connect to if one struggles to connect to the streaming service you’re trying to access.</p><p><strong>Score: 10/10</strong></p><div class="collapsible-block-end"></div><h2 class="article-body__section" id="section-p2p-and-torrenting"><span>P2P and torrenting</span></h2><ul><li>Most<strong> servers are P2P optimized.</strong></li><li><strong>Lots of guides</strong> to help beginners get started.</li><li><strong>No port forwarding</strong> support.</li></ul><p>Nothing summarizes NordVPN’s torrenting capabilities more than the fact that all but four of its countries offer <a href="https://www.techradar.com/vpn/what-is-p2p" target="_blank">P2P-optimized servers</a> – sorry to those looking to torrent connected to Albania, Bosnia and Herzegovina, Moldova, and North Macedonia! </p><p>What’s more, finding the server you need is super simple. NordVPN’s P2P-optimized locations can be found in its Specialized Servers section on any app, and you even get the option to quickly connect to the fastest server if you’re not after somewhere specific and would rather sheer performance.</p><p>Thankfully, NordVPN’s speed capabilities mean your torrenting experience is likely to be more limited by your peers than your VPN. What’s more, its security measures meant we never found ourselves receiving warnings from our ISP when testing its capabilities with <a href="https://www.techradar.com/reviews/utorrent">uTorrent</a>, no matter if we were using NordLynx or OpenVPN.</p><p>As is standard among top VPNs, NordVPN doesn’t support <a href="https://www.techradar.com/how-to/how-to-port-forward">port forwarding</a> due to the security risks posed. A full blog article outlines their reasons for this, which you can read <a href="https://nordvpn.com/blog/port-forwarding/" target="_blank" rel="nofollow">here</a>.</p><p>If you’re new to torrenting, it’s also great to see NordVPN has a whole variety of guides for setting up proxies with popular torrenting services, including <a href="https://www.techradar.com/reviews/bittorrent">BitTorrent</a>, <a href="https://www.techradar.com/reviews/utorrent">uTorrent</a>, and <a href="https://www.techradar.com/reviews/qbittorrent">qBittorrent</a>. They’re easy to digest and come with all the information you need packed in, too.</p><p><strong>Score: 4/5</strong></p><h2 class="article-body__section" id="section-compatibility"><span>Compatibility</span></h2><ul><li><strong>Apps for every platform</strong> – including Linux GUI and routers.</li><li><strong>A similar look</strong> across almost every app.</li><li>No<strong> Threat Protection Pro</strong> on mobile.</li></ul><p>NordVPN has apps across every platform out there, including a GUI <a href="https://www.techradar.com/vpn/best-linux-vpn" target="_blank">Linux VPN</a> and <a href="https://www.techradar.com/news/best-vpn-routers">router VPN</a> capabilities, alongside the expected web extensions and smart TV apps.</p><p>The majority of NordVPN's apps share a similar feel and consequently enough regularity that the features you can access will be found where you’d expect them. Smart TVs are, as expected with most VPNs, the platform with the most differentiation in layout, but that change brings added simplicity and makes it easy to use.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Windows</p></th><th  ><p>Mac</p></th><th  ><p>iOS </p></th><th  ><p>Android</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Protocols</strong></p></td><td  ><p>NordLynx, NordWhisper, OpenVPN (TCP and UDP)</p></td><td  ><p>NordLynx, NordWhisper, OpenVPN (TCP and UDP)</p></td><td  ><p>NordLynx, NordWhisper, OpenVPN (TCP and UDP)</p></td><td  ><p>NordLynx, NordWhisper, OpenVPN (TCP and UDP)</p></td></tr><tr><td class="firstcol " ><p><strong>Kill switch</strong></p></td><td  ><p>3-mode kill switch including VPN and application specific settings</p></td><td  ><p>Application-level kill switch</p></td><td  ><p>VPN connection failure killswitch</p></td><td  ><p>Android-native kill switch only</p></td></tr><tr><td class="firstcol " ><p><strong>Split tunnelling</strong></p></td><td  ><p>Disable or Enable based split tunnelling</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>Disable only</p></td></tr><tr><td class="firstcol " ><p><strong>Auto-connect</strong></p></td><td  ><p>WiFi, ethernet, or mobile network settings. Plus custom or fastest location choice</p></td><td  ><p>Can be set to auto connect when using untrusted WiFi networks. Plus location choice</p></td><td  ><p>Can be set up for all networks, no networks, or WiFi only. Plus location choice</p></td><td  ><p>All networks, Wifi, or mobile networks settings. Plus location choice</p></td></tr><tr><td class="firstcol " ><p><strong>Threat Protection Pro</strong></p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>Basic Threat Protection only</p></td><td  ><p>Basic Threat Protection only</p></td></tr></tbody></table></div><div class="collapsible-block-start"></div><div class="collapsible-block-title"read-more-about-nordvpn-s-compatibility"><p>Read more about NordVPN's compatibility ▼</p></div><p>I mentioned already that NordVPN isn’t stellar in terms of its feature-parity across platforms, but for the most part, NordVPN’s compatibility is nothing to be concerned about.</p><p>As you can see, in the table below, like most VPNs, Windows gets everything, and iOS users get the least. In amongst this, though, are several key differentiators.</p><p>NordVPN users on iOS and Mac don't get to enjoy s<a href="https://www.techradar.com/vpn/split-tunneling" target="_blank">plit tunneling</a>. In the past, that proved difficult for all VPN providers on iOS and Mac due to Apple's security infrastructure, but now the likes of <a href="https://www.techradar.com/reviews/ipvanish-vpn" target="_blank">IPVanish</a> and <a href="https://www.techradar.com/reviews/surfshark" target="_blank">Surfshark</a> are beginning to roll the feature out. NordVPN users have no such luck.</p><p>It’s not often that we see Android users facing big feature shortfalls as well but, most frustrating, of the absentees is that there's no <a href="https://www.techradar.com/pro/nordvpn-threat-protection-pro-is-now-even-better-at-keeping-you-safe">Threat Protection Pro</a> on any mobile devices. That's a real loss.</p><p>Threat Protection Pro is the best-performing VPN security add-on we've tested, and is a notable step up from the results we saw basic <a href="https://www.techradar.com/vpn/nordvpn-threat-protection">Threat Protection</a>, which mobile users do get.</p><p>By comparison, <a href="https://www.techradar.com/news/surfshark-launches-antivirus-to-go-alongside-your-vpn">Surfshark's full antivirus</a> capabilities are available across any platform, including the regular file scanning feature – something not offered by NordVPN.</p><p><strong>Score: 4/5</strong></p><div class="collapsible-block-end"></div><h2 class="article-body__section" id="section-usability"><span>Usability</span></h2><ul><li>Simple set up – but <strong>ensure you disable auto-renewals.</strong></li><li><strong>Similar user experience</strong> across most apps.</li><li>Reducing the use of the map has <strong>improved functionality hugely.</strong></li></ul><h2 id="set-up">Set up</h2><p>Setting up NordVPN is simple enough. Once you’re signed up, you can download the VPN directly from the website (unless you’ve signed up within the iOS or Android app, in which case you’ll have already installed it to do so). From there, you’re almost on your own.</p><p>Loading the installer gives you the option of also adding <a href="https://www.techradar.com/reviews/nordpass">NordPass</a> and the NordVPN browser extension to your device. Both are great tools and super handy to have – and then you’re straight into the NordVPN app.</p><p>Something we recommend doing as soon as you’re in is stopping your auto-renewals. This will stop you getting a nasty and very expensive surprise when your initial NordVPN agreement runs out.</p><p>Stop auto-renewal by heading to the Account section of your Settings menu. It takes almost no time at all.</p><div class="collapsible-block-start"></div><div class="collapsible-block-title"read-more-about-nordvpn-s-usability"><p>Read more about NordVPN's usability ▼</p></div><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1344px;"><p class="vanilla-image-block" style="padding-top:57.14%;"><img id="eRoMh94zDi2myDraB5BszN" name="NordVPN website download screen on laptop with a coffee" alt="NordVPN website download screen on laptop with a coffee" src="https://cdn.mos.cms.futurecdn.net/eRoMh94zDi2myDraB5BszN-1920-80.png" mos="" align="middle" fullscreen="" width="1344" height="768" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">You can find the quickest ways to download each of NordVPN's apps via its website, including web extensions.  </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h2 id="user-experience">User Experience</h2><p>NordVPN is as close to identical as it can be across the majority of its apps nowadays, which is only a good thing for sure.</p><p>The only times you’ll see anything especially different is on smart TVs, as is expected with most VPNs, and streaming devices such as Fire TV Sticks.</p><p>Older Fire TV Sticks, especially, will be in for a shock, as, depending on your device generation, you can be hit with a much older-appearing UI than anywhere else. </p><p>Even NordVPN's Chrome extension shares a similar feel. While you can't use it to access <a href="https://www.techradar.com/vpn/what-is-a-vpn-protocol">VPN protocols</a> or specialist servers, you're never left wondering where anything is.</p><p>What's more, you're still equipped with everything from the kill switch, auto-connect, and split tunneling, to otherwise hidden features such as location spoofing, which is only available via the web extension and sets your browser to the location and time zone of your VPN server. It's by no means perfect, but you have all the essential tools in a familiar package.</p><p>One of NordVPN’s quirky inclusions in its desktop and mobile apps used to be an interactive map interface you could use to select your server. While this did look rather pleasing, we’ve never found ourselves using it in all the years it’s been there, nor did it ever do anything to make the connection process quicker. So, we’re glad to see it getting phased out on desktop devices in favor of more screen space for features such as Threat Protection Pro.</p><p>This change makes it supremely quick and easy access to almost every tool, whether on mobile or desktop.</p><p>The home screen brings quick access to every VPN country available, each of NordVPN’s specialty server types, <a href="https://www.techradar.com/vpn/what-is-meshnet" target="_blank">Meshnet</a>, Dark Web Monitoring, and the three key aspects of Threat Protection Pro – anti-malware, advanced browser protection, and ad and tracker blocking.</p><p>Accessing these features in more detail is as simple as clicking the corresponding icon on the side-nav, and once you’re where you want to be, you’re greeted by explainer after explainer giving you everything you need to know to understand the tool and how it’ll benefit either your VPN connection or your online security. </p><p>I do have two gripes with the desktop version however:</p><p>Firstly, the search bar isn’t the most advanced. While some VPN providers will allow you to search for a location and choose between its specific capabilities, for example, P2P or obfuscated, Nord’s shows you the location as though you were connecting normally. </p><p>If you’re after, say, a P2P server, you’d have to search P2P, and then choose a server from the icon that appears – a method slower than simply choosing P2P in the specialty servers section you’re greeted with on the home screen. </p><p>Secondly, the desktop app no longer offers both choices of pausing your connection or disconnecting entirely. Instead, you now get a pause button which, once clicked, becomes a dropdown with a series of pause durations alongside a disconnect button. </p><p>While I understand adding steps to the disconnection process reduces the chance someone will, thus improving their security, for those of us who know when we do and don’t want to be connected, it’s an unnecessary added step. Still, it's a pretty minor beef.</p><p>Mobile users get a similarly efficient experience, which we love. While it retains the interactive map, you can access every country, Meshnet, and all of Nord’s Specialty Servers from your home screen – though, understandably given screen restraints, there’s no room for Threat Protection or Dark Web Monitoring this time round. </p><p>You still get the same detailed explanations of each feature and setting throughout the app, though you’re still stuck with the same limited search capabilities and pause button that the desktop app uses. </p><p>Oddly, something omitted from the main screen across desktop and mobile is any reference to key features, such as protocols or the kill switch. To set up or change these, you need to head into the settings instead. What’s more, while on desktop you can click one button to set the server you’re connected to as your auto-connect, you’re given no such convenience on mobile – though for many this won’t be so useful. </p><p>Aside from the minor gripes, NordVPN’s apps are the best they’ve been in years – efficient, clean to look at, and easy for beginners.</p><p>The few issues we’ve found, and their minor impact show just how much thought has gone into NordVPN's usability across the board.</p><p><strong>Score: 5/5</strong></p><div class="collapsible-block-end"></div><h2 class="article-body__section" id="section-accessibility"><span>Accessibility</span></h2><ul><li>NordVPN's website is <strong>among the most accessible VPN websites.</strong></li><li><strong>Not a huge amount</strong> of language support.</li><li>Keyboard-only navigation <strong>could be better</strong>.</li></ul><p>We put <a href="http://nordvpn.com" target="_blank">NordVPN.com</a> through an AccessibilityChecker audit, and its score of 83% puts it among the most accessible VPN websites out there. It scores higher than Proton VPN (35%), Surfshark (41%), and ExpressVPN (21%) and PIA (10%). This makes it the most accessible VPN website of all our <a href="https://www.techradar.com/vpn/best-vpn">best VPNs</a>.</p><div id="crow-inpage-content"><style>    @import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');        #fv-chart-1765993020521-aorml67bt *, #fv-chart-1765993020521-aorml67bt *:before, #fv-chart-1765993020521-aorml67bt *:after {        box-sizing: border-box !important; margin: 0; padding: 0; border: 0;        font-size: 100%; font: inherit; vertical-align: baseline;    }    #fv-chart-1765993020521-aorml67bt { font-family: 'Open Sans', sans-serif !important; }    /* Main Wrappers */    #fv-chart-1765993020521-aorml67bt {        position: relative !important; overflow: visible !important;        --riv-primary: #2E6E93;    }    #fv-chart-1765993020521-aorml67bt .fv-inner-wrapper {        color: #1F2937 !important; background-color: #ffffff !important;        padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important;        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;        margin: 1rem 0 !important; display: flex !important; flex-direction: column !important;    }        /* Typography */    #fv-chart-1765993020521-aorml67bt .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: #1F2937 !important; font-size: 1.25rem !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; }    #fv-chart-1765993020521-aorml67bt .fv-chart-subhead { font-size: 1rem !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #6B7280 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; }    #fv-chart-1765993020521-aorml67bt .rv-chart-caption { font-size: 15px !important; color: #6B7280 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; }    #fv-chart-1765993020521-aorml67bt .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }    /* Footer */    #fv-chart-1765993020521-aorml67bt .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }    #fv-chart-1765993020521-aorml67bt .fv-footer-content { text-align: center !important; width: 100% !important; }    #fv-chart-1765993020521-aorml67bt .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; }    /* Display Mode Controls */    #fv-chart-1765993020521-aorml67bt .fv-dropdown-container { text-align: center !important; margin-bottom: 16px !important; }    #fv-chart-1765993020521-aorml67bt .fv-dropdown {        width: 100% !important; max-width: 350px !important; padding: 8px 12px !important; font-size: 14px !important; line-height: 1.2 !important;        border: 2px solid #d1d5db !important; border-radius: 8px !important; background-color: #ffffff !important; color: #374151 !important;        cursor: pointer !important; appearance: none !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e") !important;        background-position: right 12px center !important; background-repeat: no-repeat !important; background-size: 14px !important; padding-right: 35px !important; font-family: 'Open Sans', sans-serif !important;    }    #fv-chart-1765993020521-aorml67bt .fv-dropdown:hover { border-color: var(--riv-primary) !important; }    #fv-chart-1765993020521-aorml67bt .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; }    #fv-chart-1765993020521-aorml67bt .fv-carousel-nav-btn {        background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important;        cursor: pointer !important; font-size: 13px !important; color: #6b7280 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important;    }    #fv-chart-1765993020521-aorml67bt .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }    #fv-chart-1765993020521-aorml67bt .fv-carousel-counter { font-size: 14px !important; color: #6b7280 !important; text-align: center !important; margin-top: 1rem !important; }        /* Legend */    #fv-chart-1765993020521-aorml67bt .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; }    #fv-chart-1765993020521-aorml67bt .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #4B5563 !important; }    #fv-chart-1765993020521-aorml67bt .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }    /* Chart Core Styles */    #fv-chart-1765993020521-aorml67bt .fv-benchmark-group { margin-bottom: 1rem !important; }    #fv-chart-1765993020521-aorml67bt .fv-benchmark-title {         font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important;        text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important;        font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important;        text-transform: none !important;    }    #fv-chart-1765993020521-aorml67bt .fv-bar-row, #fv-chart-1765993020521-aorml67bt .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; }    #fv-chart-1765993020521-aorml67bt .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #4B5563 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; }    #fv-chart-1765993020521-aorml67bt .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; }     #fv-chart-1765993020521-aorml67bt .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; }    #fv-chart-1765993020521-aorml67bt .fv-bar:hover { opacity: 0.8 !important; }    #fv-chart-1765993020521-aorml67bt .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; color: white !important; font-size: 14px !important; font-weight: bold !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; overflow: hidden !important; }    #fv-chart-1765993020521-aorml67bt .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }    #fv-chart-1765993020521-aorml67bt .fv-bar-inner-value { flex-shrink: 0 !important; }    #fv-chart-1765993020521-aorml67bt .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #4B5563 !important; white-space: nowrap !important; }    #fv-chart-1765993020521-aorml67bt .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }    /* Stacked Bar */    #fv-chart-1765993020521-aorml67bt .fv-stacked-bar { display: flex !important; overflow: hidden !important; }    #fv-chart-1765993020521-aorml67bt .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; }    #fv-chart-1765993020521-aorml67bt .fv-stacked-segment:last-child { border-right: none !important; }    #fv-chart-1765993020521-aorml67bt .fv-segment-value { font-size: 14px !important; font-weight: bold !important; color: white !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; }    /* Grouped Bar */    #fv-chart-1765993020521-aorml67bt .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }    #fv-chart-1765993020521-aorml67bt .fv-grouped-product-title-wrapper { padding-left: 150px !important; }    #fv-chart-1765993020521-aorml67bt .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #4B5563 !important; text-transform: none !important; }    #fv-chart-1765993020521-aorml67bt .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }    #fv-chart-1765993020521-aorml67bt .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }    #fv-chart-1765993020521-aorml67bt .fv-bar-cluster .fv-bar-container { height: 20px !important; }        /* Line Chart Grid */    #fv-chart-1765993020521-aorml67bt .riv-grid line {        stroke: #D1D5DB !important;        stroke-dasharray: 3 3 !important;    }    /* X-Axis */    #fv-chart-1765993020521-aorml67bt .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }    #fv-chart-1765993020521-aorml67bt .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }    #fv-chart-1765993020521-aorml67bt .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }    #fv-chart-1765993020521-aorml67bt .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }    #fv-chart-1765993020521-aorml67bt .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }     #fv-chart-1765993020521-aorml67bt .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #6B7280 !important; }    #fv-chart-1765993020521-aorml67bt .fv-x-axis-ticks span { position: relative !important; }    #fv-chart-1765993020521-aorml67bt .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; }    #fv-chart-1765993020521-aorml67bt .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #6B7280 !important; margin-top: 8px !important; display: block !important; }    #fv-chart-1765993020521-aorml67bt .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #6B7280 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; }    #fv-chart-1765993020521-aorml67bt .fv-y-axis-title {        font-size: 15px !important;        color: #6B7280 !important;        line-height: 1.5 !important;        text-align: left !important;        padding-left: 5.83% !important; /* Aligns with Y-axis line inside SVG (35/600) */        margin-bottom: 4px !important;        display: block !important;        font-weight: bold !important;    }    /* Mobile / Forced Mobile View */    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-pie-container { flex-direction: column !important; gap: 1rem !important; }    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-grouped-product-title-wrapper {        padding-left: 0 !important;    }    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-bar-row,    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-stacked-product,    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-grouped-bar-product {        flex-direction: column !important;        align-items: flex-start !important;        margin-bottom: 1.25rem !important;    }    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-bar-label,    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-grouped-product-title {        width: 100% !important;        text-align: left !important;        padding-right: 0 !important;        margin-bottom: 0.25rem !important;        font-size: 14px !important;        font-weight: 700 !important;    }    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-bar-container,    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-bar-cluster {        width: 100% !important;    }    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-x-axis-wrapper {        margin-left: 0 !important;    }    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-x-axis-label-space {        display: none !important;    }    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-x-axis-chart-space {        padding-right: 0 !important;    }    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-benchmark-title { font-size: 16px !important; }    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-logo { width: 60px !important; max-width: 60px !important; }    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-carousel-nav-btn { padding: 6px 8px !important; font-size: 11px !important; }    @media (max-width: 500px) {         #fv-chart-1765993020521-aorml67bt .fv-pie-container { flex-direction: column !important; gap: 1rem !important; }        #fv-chart-1765993020521-aorml67bt .fv-grouped-product-title-wrapper {            padding-left: 0 !important;        }        #fv-chart-1765993020521-aorml67bt .fv-bar-row,        #fv-chart-1765993020521-aorml67bt .fv-stacked-product {            flex-direction: column !important;            align-items: flex-start !important;            margin-bottom: 1.25rem !important;        }        #fv-chart-1765993020521-aorml67bt .fv-bar-label:not(.fv-grouped-product-title) {             width: 100% !important;            text-align: left !important;            padding-right: 0 !important;            margin-bottom: 0.25rem !important;            font-size: 14px !important;             font-weight: 700 !important;        }        #fv-chart-1765993020521-aorml67bt .fv-bar-container {            width: 100% !important;        }        #fv-chart-1765993020521-aorml67bt .fv-x-axis-wrapper:not(.fv-grouped-x-axis) {            margin-left: 0 !important;        }        #fv-chart-1765993020521-aorml67bt .fv-x-axis-label-space:not(.fv-grouped-x-axis .fv-x-axis-label-space) {            display: none !important;        }        #fv-chart-1765993020521-aorml67bt .fv-x-axis-chart-space {            padding-right: 0 !important;        }        #fv-chart-1765993020521-aorml67bt .fv-benchmark-title { font-size: 16px !important; }        #fv-chart-1765993020521-aorml67bt .fv-logo { width: 60px !important; max-width: 60px !important; }        #fv-chart-1765993020521-aorml67bt .fv-carousel-nav-btn { padding: 6px 8px !important; font-size: 11px !important; }        #fv-chart-1765993020521-aorml67bt .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ }        #fv-chart-1765993020521-aorml67bt.fv-contains-line-chart .fv-footer-content {            margin-left: -1rem !important;            margin-right: -1rem !important;        }    }          </style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Website Accessibility Scores",  "description": "AccessibilityChecker audit of the home pages of each VPN website",  "creator": {    "@type": "Organization",    "name": "TechRadar",    "logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2025-12-17T17:37:00.522Z",  "citation": "NordVPN offers a very easy to navigate website for those with visual accessibility needs. The apps could have better keyboard-only support, though.",  "keywords": [    "NordVPN",    "Surfshark",    "ExpressVPN",    "Proton VPN",    "PureVPN",    "Mullvad",    "IPVanish",    "CyberGhost",    "AdGuard VPN",    "PrivadoVPN",    "Hotspot Shield",    "TunnelBear",    "Accessibility score",    "benchmark",    "comparison",    "performance",    "review",    "TechRadar"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "NordVPN – Accessibility score",      "value": 83,      "unitText": "%"    },    {      "@type": "PropertyValue",      "name": "Surfshark – Accessibility score",      "value": 41,      "unitText": "%"    },    {      "@type": "PropertyValue",      "name": "ExpressVPN – Accessibility score",      "value": 23,      "unitText": "%"    },    {      "@type": "PropertyValue",      "name": "Proton VPN – Accessibility score",      "value": 35,      "unitText": "%"    },    {      "@type": "PropertyValue",      "name": "PureVPN – Accessibility score",      "value": 35,      "unitText": "%"    },    {      "@type": "PropertyValue",      "name": "Mullvad – Accessibility score",      "value": 89,      "unitText": "%"    },    {      "@type": "PropertyValue",      "name": "IPVanish – Accessibility score",      "value": 71,      "unitText": "%"    },    {      "@type": "PropertyValue",      "name": "CyberGhost – Accessibility score",      "value": 17,      "unitText": "%"    },    {      "@type": "PropertyValue",      "name": "AdGuard VPN – Accessibility score",      "value": 17,      "unitText": "%"    },    {      "@type": "PropertyValue",      "name": "PrivadoVPN – Accessibility score",      "value": 10,      "unitText": "%"    },    {      "@type": "PropertyValue",      "name": "Hotspot Shield – Accessibility score",      "value": 23,      "unitText": "%"    },    {      "@type": "PropertyValue",      "name": "TunnelBear – Accessibility score",      "value": 74,      "unitText": "%"    }  ]}</script>        <div id="fv-chart-1765993020521-aorml67bt" class="fv-chart-wrapper ">        <div class="fv-inner-wrapper">            <h3 class="fv-chart-title">Website Accessibility Scores</h3>            <p class="fv-chart-subhead">AccessibilityChecker audit of the home pages of each VPN website</p>                        <div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1765993020521-aorml67bt-bar-Accessibility score" data-chart-type="Bar" style=""><div class="fv-benchmark-group"><h4 class="fv-benchmark-title">Accessibility score</h4><div class="fv-bar-row" title="NordVPN - Accessibility score: 83 Percent">                <div class="fv-bar-label fv-primary-product">NordVPN</div>                <div class="fv-bar-container">                    <div class="fv-bar" style="width: 0%; background-color: #0033A0;" data-target-width="83">                        <div class="fv-bar-inner-content"><span></span><span class="fv-bar-inner-value">83</span></div>                    </div>                                    </div>            </div><div class="fv-bar-row" title="Surfshark - Accessibility score: 41 Percent">                <div class="fv-bar-label ">Surfshark</div>                <div class="fv-bar-container">                    <div class="fv-bar" style="width: 0%; background-color: #1CA9C4;" data-target-width="41">                        <div class="fv-bar-inner-content"><span></span><span class="fv-bar-inner-value">41</span></div>                    </div>                                    </div>            </div><div class="fv-bar-row" title="ExpressVPN - Accessibility score: 23 Percent">                <div class="fv-bar-label ">ExpressVPN</div>                <div class="fv-bar-container">                    <div class="fv-bar" style="width: 0%; background-color: #E33235;" data-target-width="23">                        <div class="fv-bar-inner-content"><span></span><span class="fv-bar-inner-value">23</span></div>                    </div>                                    </div>            </div><div class="fv-bar-row" title="Proton VPN - Accessibility score: 35 Percent">                <div class="fv-bar-label ">Proton VPN</div>                <div class="fv-bar-container">                    <div class="fv-bar" style="width: 0%; background-color: #9333EA;" data-target-width="35">                        <div class="fv-bar-inner-content"><span></span><span class="fv-bar-inner-value">35</span></div>                    </div>                                    </div>            </div><div class="fv-bar-row" title="PureVPN - Accessibility score: 35 Percent">                <div class="fv-bar-label ">PureVPN</div>                <div class="fv-bar-container">                    <div class="fv-bar" style="width: 0%; background-color: #470ca4;" data-target-width="35">                        <div class="fv-bar-inner-content"><span></span><span class="fv-bar-inner-value">35</span></div>                    </div>                                    </div>            </div><div class="fv-bar-row" title="Mullvad - Accessibility score: 89 Percent">                <div class="fv-bar-label ">Mullvad</div>                <div class="fv-bar-container">                    <div class="fv-bar" style="width: 0%; background-color: #f5cd22;" data-target-width="89">                        <div class="fv-bar-inner-content"><span></span><span class="fv-bar-inner-value">89</span></div>                    </div>                                    </div>            </div><div class="fv-bar-row" title="IPVanish - Accessibility score: 71 Percent">                <div class="fv-bar-label ">IPVanish</div>                <div class="fv-bar-container">                    <div class="fv-bar" style="width: 0%; background-color: #6db642;" data-target-width="71">                        <div class="fv-bar-inner-content"><span></span><span class="fv-bar-inner-value">71</span></div>                    </div>                                    </div>            </div><div class="fv-bar-row" title="CyberGhost - Accessibility score: 17 Percent">                <div class="fv-bar-label ">CyberGhost</div>                <div class="fv-bar-container">                    <div class="fv-bar" style="width: 0%; background-color: #f7c603;" data-target-width="17">                        <div class="fv-bar-inner-content"><span></span><span class="fv-bar-inner-value">17</span></div>                    </div>                                    </div>            </div><div class="fv-bar-row" title="AdGuard VPN - Accessibility score: 17 Percent">                <div class="fv-bar-label ">AdGuard VPN</div>                <div class="fv-bar-container">                    <div class="fv-bar" style="width: 0%; background-color: #2E6E93;" data-target-width="17">                        <div class="fv-bar-inner-content"><span></span><span class="fv-bar-inner-value">17</span></div>                    </div>                                    </div>            </div><div class="fv-bar-row" title="PrivadoVPN - Accessibility score: 10 Percent">                <div class="fv-bar-label ">PrivadoVPN</div>                <div class="fv-bar-container">                    <div class="fv-bar" style="width: 0%; background-color: #E8238C;" data-target-width="10">                        <div class="fv-bar-inner-content"><span></span><span class="fv-bar-inner-value">10</span></div>                    </div>                                    </div>            </div><div class="fv-bar-row" title="Hotspot Shield - Accessibility score: 23 Percent">                <div class="fv-bar-label ">Hotspot Shield</div>                <div class="fv-bar-container">                    <div class="fv-bar" style="width: 0%; background-color: #5DA8D4;" data-target-width="23">                        <div class="fv-bar-inner-content"><span></span><span class="fv-bar-inner-value">23</span></div>                    </div>                                    </div>            </div><div class="fv-bar-row" title="TunnelBear - Accessibility score: 74 Percent">                <div class="fv-bar-label ">TunnelBear</div>                <div class="fv-bar-container">                    <div class="fv-bar" style="width: 0%; background-color: #F06EAF;" data-target-width="74">                        <div class="fv-bar-inner-content"><span></span><span class="fv-bar-inner-value">74</span></div>                    </div>                                    </div>            </div>        <table class="sr-only">            <caption>Accessibility score Data</caption>            <thead><tr><th>Product</th><th>Value (Percent)</th></tr></thead>            <tbody><tr>                <td>NordVPN</td>                <td>83</td>            </tr><tr>                <td>Surfshark</td>                <td>41</td>            </tr><tr>                <td>ExpressVPN</td>                <td>23</td>            </tr><tr>                <td>Proton VPN</td>                <td>35</td>            </tr><tr>                <td>PureVPN</td>                <td>35</td>            </tr><tr>                <td>Mullvad</td>                <td>89</td>            </tr><tr>                <td>IPVanish</td>                <td>71</td>            </tr><tr>                <td>CyberGhost</td>                <td>17</td>            </tr><tr>                <td>AdGuard VPN</td>                <td>17</td>            </tr><tr>                <td>PrivadoVPN</td>                <td>10</td>            </tr><tr>                <td>Hotspot Shield</td>                <td>23</td>            </tr><tr>                <td>TunnelBear</td>                <td>74</td>            </tr></tbody>        </table></div></div></div>                                          <div class="fv-bottom-bar" style="display: flex">                        <div class="fv-footer-content" style="display: block;">                    <div class="rv-chart-caption">NordVPN offers a very easy to navigate website for those with visual accessibility needs. The apps could have better keyboard-only support, though.</div>                </div>        <img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo" />      </div>            </div>    </div>            <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async=""></script>    <script>          (function() {      function initialize() {        var chartWrapper = document.getElementById('fv-chart-1765993020521-aorml67bt');        if (!chartWrapper) {          console.error('Chart wrapper with ID fv-chart-1765993020521-aorml67bt not found.');          return;        }                function animateBars(chartElement) {          if (!chartElement) return;          var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');          bars.forEach(function(bar, index) {            var targetWidth = bar.dataset.targetWidth;            if (targetWidth === undefined) return;            // Bars start at width: 0% in HTML, so we just animate them            setTimeout(function() {              bar.style.width = targetWidth + '%';            }, index * 50 + 100);          });        }        function animateLineChart(chartElement) {          if (!chartElement) return;          var lineSvg = chartElement.querySelector('svg');          if (!lineSvg) return;          var paths = lineSvg.querySelectorAll('.riv-line-path');          paths.forEach(function(p, i) {            if (typeof p.getTotalLength === 'function') {              var len = p.getTotalLength();              p.style.transition = 'none';              p.style.strokeDasharray = len;              p.style.strokeDashoffset = len;              p.getBoundingClientRect();              setTimeout(function() {                p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's';                p.style.strokeDashoffset = '0';              }, 100);            }          });          var dots = lineSvg.querySelectorAll('.riv-dot');          dots.forEach(function(dot, i) {            dot.style.opacity = '0';            setTimeout(function() {                dot.style.transition = 'opacity 0.3s ease';                dot.style.opacity = '1';            }, 500 + i * 10);          });        }                        var charts = chartWrapper.querySelectorAll('.fv-chart-item');        // Animate initial view        if ("All Charts" === "All Charts") {          charts.forEach(function(chart) {            var chartType = chart.dataset.chartType;            if (chartType === 'Line') {              animateLineChart(chart);                          } else if (chartType !== 'Pie') {              animateBars(chart);            }          });        } else if (charts.length > 0) {          var firstChart = charts[0];          var firstChartType = firstChart.dataset.chartType;          if (firstChartType === 'Line') {            animateLineChart(firstChart);                      } else if (firstChartType !== 'Pie') {            animateBars(firstChart);          }        }                if (charts.length > 1 && "All Charts" !== "All Charts") {          var currentChartIndex = 0;          var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');          var captionEl = chartWrapper.querySelector('.rv-chart-caption');                    var placeholderSubhead = "Subhead to describe the test and what's being measured and why";          var placeholderCaption = "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized";          var globalSubheadJSON = "AccessibilityChecker audit of the home pages of each VPN website";          var globalCaptionJSON = "NordVPN offers a very easy to navigate website for those with visual accessibility needs. The apps could have better keyboard-only support, though.";          var globalSubhead = globalSubheadJSON === placeholderSubhead ? '' : globalSubheadJSON;          var globalCaption = globalCaptionJSON === placeholderCaption ? '' : globalCaptionJSON;          var subheadOverrides = {};          var captionOverrides = {};          var chartInfo = [{"id":"bar-Accessibility score","title":"Accessibility score"}];          var captionOverrideKeys = Object.keys(captionOverrides);          var singleCaptionOverrideValue = captionOverrideKeys.length === 1 ? captionOverrides[captionOverrideKeys[0]] : null;          if (singleCaptionOverrideValue === placeholderCaption) {            singleCaptionOverrideValue = '';          }          function showChart(index) {            if (index < 0 || index >= charts.length) return;            charts.forEach(function(chart, i) {              chart.style.display = i === index ? 'block' : 'none';            });            currentChartIndex = index;                        var activeChart = charts[index];            var chartType = activeChart.dataset.chartType;            if (chartType === 'Line') {                animateLineChart(activeChart);                            } else if (chartType !== 'Pie') {                animateBars(activeChart);            }                        var activeChartId = chartInfo[index].id;            if (subheadEl) {              var subheadContent = (subheadOverrides[activeChartId] !== undefined)                ? (subheadOverrides[activeChartId] === placeholderSubhead ? '' : subheadOverrides[activeChartId])                : globalSubhead;              subheadEl.innerHTML = subheadContent;            }            if (captionEl) {                var captionContent;                if (captionOverrides[activeChartId] !== undefined) {                    captionContent = captionOverrides[activeChartId] === placeholderCaption ? '' : captionOverrides[activeChartId];                } else if (singleCaptionOverrideValue !== null) {                    captionContent = singleCaptionOverrideValue;                } else {                    captionContent = globalCaption;                }                                captionEl.innerHTML = captionContent;                var captionContainer = captionEl.closest('.fv-footer-content');                if (captionContainer) {                    var hasContent = captionContent && captionContent.trim() !== '';                    var shouldShow = hasContent || (captionContainer.parentElement && captionContainer.parentElement.querySelector('.fv-logo'));                    if (captionContainer.parentElement) captionContainer.parentElement.style.display = shouldShow ? 'flex' : 'none';                    captionContainer.style.display = hasContent ? 'block' : 'none';                }            }                        var dropdown = chartWrapper.querySelector('.fv-dropdown');            if (dropdown) dropdown.value = index;            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            if (carouselTitle) carouselTitle.innerHTML = chartInfo[index].title;                        var counter = chartWrapper.querySelector('.fv-carousel-counter');            if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;          }          var dropdown = chartWrapper.querySelector('.fv-dropdown');          if (dropdown) dropdown.addEventListener('change', function(e) { showChart(parseInt(e.target.value)) });          var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');          if (prevBtn) prevBtn.addEventListener('click', function() { showChart((currentChartIndex - 1 + charts.length) % charts.length) });          var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');          if (nextBtn) nextBtn.addEventListener('click', function() { showChart((currentChartIndex + 1) % charts.length) });        }        chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {            var chartId = legend.dataset.chart;            var chart = document.getElementById(chartId); // Uses page-unique ID            if (!chart) return;            var lines = chart.querySelectorAll('.riv-line-path');            var dots = chart.querySelectorAll('.riv-dot');            legend.querySelectorAll('.riv-legend-item').forEach(function(item) {                var productName = item.dataset.product;                var line = chart.querySelector('.riv-line-path[data-product="' + productName + '"]');                var productDots = chart.querySelectorAll('.riv-dot[data-product="' + productName + '"]');                var highlight = function() {                    if (legend.querySelector('.isolated')) return;                    lines.forEach(function(l) { l.style.opacity = '0.3' });                    dots.forEach(function(d) { d.style.opacity = '0.3' });                    if (line) line.style.opacity = '1';                    productDots.forEach(function(d) { d.style.opacity = '1' });                };                var clearHighlight = function() {                    if (legend.querySelector('.isolated')) return;                    lines.forEach(function(l) { l.style.opacity = '1' });                    dots.forEach(function(d) { d.style.opacity = '1' });                };                                var toggleIsolate = function() {                    var isIsolated = item.classList.contains('isolated');                    legend.querySelectorAll('.riv-legend-item').forEach(function(i) { i.classList.remove('isolated') });                                        if (isIsolated) {                        lines.forEach(function(l) { l.style.opacity = '1' });                        dots.forEach(function(d) { d.style.opacity = '1' });                    } else {                        item.classList.add('isolated');                        lines.forEach(function(l) { l.style.opacity = '0.3' });                        dots.forEach(function(d) { d.style.opacity = '0.3' });                        if (line) line.style.opacity = '1';                        productDots.forEach(function(d) { d.style.opacity = '1' });                    }                };                item.addEventListener('mouseenter', highlight);                item.addEventListener('focus', highlight);                item.addEventListener('mouseleave', clearHighlight);                item.addEventListener('blur', clearHighlight);                item.addEventListener('click', toggleIsolate);                item.addEventListener('keydown', function(e) {                    if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); toggleIsolate(); }                });            });        });      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', initialize);      } else {        initialize();      }      function sendMessageToParentWindow(typeOfMessage, message = null) {          let url = (window.location.ancestorOrigins && window.location.ancestorOrigins.length > 0) ? window.location.ancestorOrigins[0] : '*';          window.parent.postMessage({ analytics: { ...message } }, url);      }      sendMessageToParentWindow('analytics', { type: "fv-loaded", timestamp: new Date().toISOString() });    })();      </script>  </div><p>The site passed all interaction and navigational checks. One element failed a screenreader test due to a prohibited ARIA attribute, and 36 elements failed visual and structural accessibility tests because of poor contrast between foreground and background.</p><div class="collapsible-block-start"></div><div class="collapsible-block-title"read-more-about-nordvpn-s-accessibility"><p>Read more about NordVPN's accessibility ▼</p></div><p>On investigating the contrast issue, it turned out it referred to text that became clearer when scrolled over.</p><p>Looking at NordVPN on desktop, we found it supports 13 languages, including options including English, French, German, Italian, Polish, Portuguese, Japanese, Korean and Chinese (Simplified and Traditional.)</p><p>However, much like Surfshark, it lacked others, including Arabic, Turkish, and Swedish. This seems a simple enough area both NordVPN and Surfshark can improve on, especially since providers such as <a href="https://www.techradar.com/reviews/norton-secure-vpn">Norton VPN</a> and Proton VPN have 26 and 28 languages supported, respectively.</p><p>Keyboard support on NordVPN is also not the best. Disconnecting our mouse for a second, it quickly became apparent that doing anything other than actually connecting to a VPN server wasn't easy enough.</p><p>Unless you’d happened to connect to where you wanted to recently – so it’d appear in your ‘Recent Connections’ list – it was nearly impossible to get a connection going. Using Meshnet, Threat Protection Pro, or anything else, however, was simple.</p><p>An easy comparison to make here is with PIA, whose app allows you to scroll its country list, highlight a country, and connect within a few taps of the keyboard – it really should be this simple.</p><p><strong>Score: 2/5</strong></p><div class="collapsible-block-end"></div><h2 class="article-body__section" id="section-customer-support"><span>Customer support</span></h2><ul><li><strong>24/7 live chat and email support</strong> available alongside a support site</li><li><strong>Easy access to support</strong> via the apps</li><li><strong>Excellent</strong> online user guides.</li></ul><p>NordVPN offers several customer support options, including a support site, 24/7 live chat, and a 24/7 email ticketing system.</p><p>Usefully, the app gives you easy access to raising a ticket or accessing the support site if you need help.</p><p>We found running diagnostic testing from within the app when you encounter a problem helps speed up the support process, as it reduces the number of additional questions agents need to ask. You can even include a list of apps installed on the impacted device in case any of them may be a contributing factor that the support agent can identify.</p><p>Putting its Live Chat service to the test, we found it sufficiently responsive, with an agent responding typically after 2-3 minutes. Its email service wasn’t so hasty. We had to wait around 18 hours before receiving a response to our test question. </p><p>Despite its sluggishness, the email system was effective. Our agent solved our test issue by asking a selection of relevant questions at once, collecting our responses, and using them to diagnose the problems.</p><div class="collapsible-block-start"></div><div class="collapsible-block-title"read-more-about-nordvpn-s-customer-support"><p>Read more about NordVPN's customer support ▼</p></div><p>It was also refreshing to avoid the typical customer support responses of “have you reinstalled the app?” or “have you cleared your cookies?” since the questions we were asked required detailed enough responses that there was no need. This also reduced the amount of back-and-forth required to resolve our test issues. </p><p>NordVPN’s customer support page is also very helpful. It doesn't bombarded the reader with category options to click between straight away, as is expected nowadays. Instead, you’re greeted by five overarching categories, one of which is about exploring other Nord Security products. So, in reality, four categories, and a search bar.</p><p>There is a trade-off for usability, though. For example, entering any of the categories removes the search bar from your screen, forcing you instead to use the breadcrumb trail at the top of the page to return to the main screen and search from there. </p><p>This leaves you doing a lot of unnecessary navigation if you’re merely looking for a quick fix, especially if you’ve clicked through several options in the categories already to try and find your answers that way.</p><p>To NordVPN's credit, once you find the article you need, it's usually extremely helpful.</p><p>For example, Nord’s proxy setup guide for uTorrent not only gives you the super-clear steps you need, but it also tells you how to then check that what you’ve done is working.</p><p>This is great for any kind of VPN user and typically of how strong NordVPN is on customer support.</p><p><strong>Score: 4/5</strong></p><div class="collapsible-block-end"></div><h2 class="article-body__section" id="section-user-reviews"><span>User reviews</span></h2><p>Although all review sites should be approached with a level of skepticism, they do offer a good enough gauge of how trustworthy a VPN is and how well it performs if you’re looking at a quick glance. </p><p>Across Google Play and the App Store, NordVPN has ratings equal to the very top VPNs. Its rating on TrustPilot is lower than most at only 4.2 out of 5, with 12% of the 44,000+ reviews being 1-star too.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Google Play</p></th><th  ><p>App Store</p></th><th  ><p>Trustpilot</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>NordVPN</p></td><td  ><p>4.6</p></td><td  ><p>4.7</p></td><td  ><p>4.2</p></td></tr><tr><td class="firstcol " ><p>Windscribe</p></td><td  ><p>4.6</p></td><td  ><p>4.6</p></td><td  ><p>4.7</p></td></tr><tr><td class="firstcol " ><p>Surfshark</p></td><td  ><p>4.5</p></td><td  ><p>4.7</p></td><td  ><p>4.5</p></td></tr><tr><td class="firstcol " ><p>PIA</p></td><td  ><p>4.6</p></td><td  ><p>4.7</p></td><td  ><p>4.3</p></td></tr><tr><td class="firstcol " ><p>ExpressVPN</p></td><td  ><p>4.4</p></td><td  ><p>4.7</p></td><td  ><p>4.2</p></td></tr></tbody></table></div><p>The majority of negative reviews on Trustpilot surround NordVPN’s auto-renewals, which, should you be worried about it, can be turned off in a matter of clicks. We recommend doing this early on in your subscription to ensure you’re not stung down the line.</p><h2 class="article-body__section" id="section-track-record-can-you-trust-nordvpn"><span>Track record: can you trust NordVPN?</span></h2><ul><li><strong>Reasonably spotless reputation </strong>throughout its history.</li><li><strong>2018 breach is only notable blot</strong> on its record.</li><li><strong>Currently facing some lawsuits</strong> around its auto-renewal practices.</li></ul><p>NordVPN’s history is, for the most part, positive, though 2018 proved to be a tricky year.</p><p>A breach in March 2018 saw NordVPN’s reputation tarnished, in part due to the obvious security concerns, but mainly since it didn’t admit to the breach for another 18 months, with the announcement coming only in October 2019.</p><p>The breach was only to one VPN server in Finland, and NordVPN explained in the belated announcement that none of NordVPN’s own servers were compromised, claiming the breach “was made possible by poor configuration on a third-party data center’s part”.</p><p>NordVPN was supposedly only made aware of the issue in April 2019, prompting a review and the consequent delay in announcing the breach to customers. </p><p>It’s not thought that any identifiable data was stolen in the breach, due to its small scale and the fact that it didn’t breach Nord’s central infrastructure, and all 5,000 servers NordVPN used at the time were audited on the breach’s discovery to remove further vulnerabilities.</p><div class="collapsible-block-start"></div><div class="collapsible-block-title"read-more-about-nordvpn-s-track-record"><p>Read more about NordVPN's track record ▼</p></div><p>NIST’s vulnerability database also has three weaknesses on record from that same year, though thankfully, none in the seven years since, suggesting that there’s little to worry about now. </p><p>In 2019, NordVPN would become one of the founding members of the <a href="https://www.techradar.com/news/expressvpn-nordvpn-back-vpn-alliances-new-vti-principles">VPN Trust Initiative (VTI)</a>, an industry-led consortium focused on “improving digital safety for consumers by building understanding, strengthening trust, and mitigating risk for VPN users”.</p><p>This consortium also consists of ExpressVPN, StrongVPN, Surfshark, and <a href="http://encrypt.me">encrypt.me</a>, and aims to improve public trust in VPNs and help users make informed decisions.</p><p>While this bears no direct impact on its reputation, it’s a clear sign of good intent from NordVPN that has shown little reason to be doubted since.</p><p>NordVPN would go on to experience around five years with its reputation out of the spotlight, but a lawsuit against its auto-renewal practices would abruptly end this.</p><p>Wittels McInturff Palikovic (WMP) filed a $100m lawsuit against the VPN provider, alleging that it "uses deceptive and illegal auto-renewal practices" in August 2024. In May 2025, a second action was filed on similar grounds.  </p><p>While this case remains ongoing, the topic of auto-renewals remains on the lips of almost all VPN users, with many of the <a href="https://www.techradar.com/vpn/best-vpn">best VPNs</a> adopting similar practices.</p><p>This has lead to similar instances across the industry of users facing unexpected payments for subscriptions and getting pretty upset about it.</p><p>If you’re concerned about getting stung, we recommend turning off auto-renewal once you’re logged into NordVPN. You can do that as soon as you've installed it in a matter of a few clicks.</p><p>NordVPN's latest headache came in January 2026, when <a href="https://www.techradar.com/vpn/vpn-services/nordvpn-denies-data-breach-after-hackers-claim-salesforce-leak-heres-everything-we-know-so-far">a hacker claimed to have breached a NordVPN development server</a>. No sensitive user information was compromised in the alleged breach, and NordVPN has continuously denied its success. </p><p><strong>Score: 4/5</strong></p><div class="collapsible-block-end"></div><h2 class="article-body__section" id="section-final-verdict"><span>Final verdict</span></h2><figure class="van-image-figure pull-left inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1024px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="KUA6mAHyebQs5vgkbGjJ9V" name="review-score-90" alt="Review score 90" src="https://cdn.mos.cms.futurecdn.net/KUA6mAHyebQs5vgkbGjJ9V-1920-80.jpg" mos="" align="left" fullscreen="" width="1024" height="1024" attribution="" endorsement="" class="pull-leftinline" /></p></div></div><figcaption itemprop="caption description" class="pull-left inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Gemini)</span></figcaption></figure><p>NordVPN is the <a href="https://www.techradar.com/vpn/best-vpn">best VPN</a> for most people. While it’s more expensive than Surfshark, it has superior streaming performance, comparable speeds, and a suite of features, including the <a href="https://www.techradar.com/best/password-manager">best password manager</a> available, depending on the plan you choose. </p><p>We recommend a NordVPN Plus plan over its other alternatives. It provides tools, including premium password management and ad and tracker protection, as well as malware blocking and data breach alerts, all alongside its full VPN capabilities.</p><h2 id="who-should-use-nordvpn">Who should use NordVPN?</h2><p><strong>✅  Those looking for top streaming performance: </strong>NordVPN performed near-flawlessly across our streaming tests. It had no issue unblocking any provider we threw at it aside YouTube US and Prime Video Australia. It never struggles with buffering or unexpected dropouts. Plus, it has apps for almost any platform you might wish to stream on. </p><p><strong>✅ </strong> <strong>Those wanting a top password manager alongside the VPN: </strong>Included in Plus plans and above, <a href="https://www.techradar.com/reviews/nordpass">NordPass</a> ranks as our top password manager right now. It offers passkey support, features including secure password sharing and strength detection, and is compatible with almost any platform. </p><p><strong>✅  Those wanting effective ad and malware blocking:</strong> NordVPN Threat Protection Pro performed the best in our latest testing for protection against malware and blocking ads.</p><div class="product"><a data-dimension112="d9891db8-c1cb-11f1-907a-370cff521b83" data-action="Deal Block" data-label="Try NordVPN from $3.39 per month" data-dimension48="Try NordVPN from $3.39 per month" href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:200px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="x3Zrr6LPF4qKNzdXj4H4t6" name="NordVPN deal image.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/x3Zrr6LPF4qKNzdXj4H4t6-1920-80.jpg" mos="" align="middle" fullscreen="" width="200" height="200" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p><a href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow" data-dimension112="d9891db8-c1cb-11f1-907a-370cff521b83" data-action="Deal Block" data-label="Try NordVPN from $3.39 per month" data-dimension48="Try NordVPN from $3.39 per month" data-dimension25=""><strong>Try NordVPN from $3.39 per month</strong></a></p><p>If you’re looking for the best value NordVPN plan, you should pick up a Plus plan. Available in every region, you can find NordVPN, the Plus plan, which gives you a strong mix of security features in addition to the VPN. These include NordPass, Threat Protection Pro, and data breach alerts. All NordVPN plans come with a 30-day money-back guarantee in case you don't like it. We've tried the guarantee for ourselves and it works.<a class="view-deal button" href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow" data-dimension112="d9891db8-c1cb-11f1-907a-370cff521b83" data-action="Deal Block" data-label="Try NordVPN from $3.39 per month" data-dimension48="Try NordVPN from $3.39 per month" data-dimension25="">View Deal</a></p></div><h2 id="who-should-try-a-different-vpn-instead">Who should try a different VPN instead?</h2><p>❌<strong> Those wanting full antivirus protection included: </strong>While Threat Protection Pro offers solid security capabilities, it is by no means a fully-fledged antivirus. Providers such as Surfshark offer true antivirus protection in their more premium plans, alongside features included with NordVPN such as ad and malware protection. </p><div class="product"><a data-dimension112="d9891ed0-c1cb-11f1-8b7b-b3639a1fdc47" data-action="Deal Block" data-label="from $1.99 per month" data-dimension48="from $1.99 per month" href="http://get.surfshark.net/aff_c?offer_id=61&amp;aff_id=1691&amp;url_id=2409&amp;aff_sub2=free" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:200px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="pSwRio45uPDhdN5egHcYF" name="Surfshark deal image.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/pSwRio45uPDhdN5egHcYF-1920-80.jpg" mos="" align="middle" fullscreen="" width="200" height="200" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p><strong>Surfshark</strong>: <a href="http://get.surfshark.net/aff_c?offer_id=61&amp;aff_id=1691&amp;url_id=2409&amp;aff_sub2=free" target="_blank" rel="nofollow" data-dimension112="d9891ed0-c1cb-11f1-8b7b-b3639a1fdc47" data-action="Deal Block" data-label="from $1.99 per month" data-dimension48="from $1.99 per month" data-dimension25="">from $1.99 per month</a><br /><strong>The best cheap VPN</strong><br />Surfshark is the second-best VPN we’ve tested overall, offers P2P optimization on all its servers, and even offers full antivirus protection on its One and One+ plans. What’s more, it’s over $1/month cheaper than NordVPN, and comes with unique features including Alternative ID, which enables you to spoof your name, address, and email – you can even spoof your phone number if you’re located in the US!<a class="view-deal button" href="http://get.surfshark.net/aff_c?offer_id=61&amp;aff_id=1691&amp;url_id=2409&amp;aff_sub2=free" target="_blank" rel="nofollow" data-dimension112="d9891ed0-c1cb-11f1-8b7b-b3639a1fdc47" data-action="Deal Block" data-label="from $1.99 per month" data-dimension48="from $1.99 per month" data-dimension25="">View Deal</a></p></div><h2 id="nordvpn-faqs">NordVPN FAQs</h2><section class="article__schema-question"><h3>Does NordVPN have a free trial?</h3><article class="article__schema-answer"><p>NordVPN does offer a free trial; however, it’s only available on its Android and iOS apps. Signing up to NordVPN from anywhere other than Apple’s App Store or the Google Play Store will only give you access to NordVPN’s 30-day money-back guarantee. </p></article></section><section class="article__schema-question"><h3>Does NordVPN work in China?</h3><article class="article__schema-answer"><p>Yes, our latest testing indicates that NordVPN not only works in China, but is also among the <a href="https://www.techradar.com/news/best-vpn-for-china-our-5-top-choices" target="_blank">best VPNs for China</a>. </p></article></section><section class="article__schema-question"><h3>Is NordVPN blocked by Netflix?</h3><article class="article__schema-answer"><p>No, our testing indicates that NordVPN works perfectly with Netflix. In fact, we rate it among the <a href="https://www.techradar.com/vpn/best-netflix-vpn">best VPNs for Netflix</a></p></article></section><h3 class="article-body__section" id="section-nordvpn-testing-methodology"><span>NordVPN testing methodology</span></h3><p>Throughout this review, I'll refer to things either 'I' or 'we' have seen. Whenever I say 'I' have seen something, this means it is something I, Rob Dunne, and I've seen it in hands-on testing of NordVPN.</p><p>When talking about things that 'we' have seen, this refers to anything uncovered during our technical lab testing. This is performed by <a href="https://www.techradar.com/author/mike-williams">VPN Technical Editor, Mike Williams</a>.</p><p>We test each VPN every six months. These tests cover speed, ad-blocking, anti-phishing and malware, streaming service unblocking, and local <a href="https://www.techradar.com/pro/what-is-an-ip-address">IP address</a> leaks. Plus,  the server networks are spot-checked to confirm that the <a href="https://www.techradar.com/pro/vpn/what-are-vpn-servers">VPN server</a> locations are accurate. We also check through each <a href="https://www.techradar.com/vpn/best-vpn">VPN</a> provider's security credentials, privacy policy, and executable files.</p><p>You can take a look at our <a href="https://www.techradar.com/vpn/latest-vpn-testing-and-results">VPN testing methodology</a> to see the full measures we put each VPN through.</p><p>The TechRadar VPN team fact-checks every VPN review we write, using our own research and knowledge alongside information provided by NordVPN. We update this review regularly to include any new features or information about the product, ensuring that what you’re reading is 100% up to date and as you would find the product if you downloaded and used it today.</p><p>If you notice anything while using NordVPN that doesn't match what you read on this page, please let us know in the comments or by emailing us. We will then do our best to offer product support information or include corrections and warnings to other users, depending on which is appropriate.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/reviews/nordvpn</link>
                                                                            <description>
                            <![CDATA[ Is this really the "world’s most advanced VPN?" We answer this question and many more in our NordVPN review. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">CiUAgVWMqnW3QP2VLGUypj</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/JmRoEizww7795f5Whgk4Jh-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 04 Nov 2026 16:36:03 +0000</pubDate>                                                                                                                                <updated>Wed, 04 Nov 2026 16:36:07 +0000</updated>
                                                                                                                                            <category><![CDATA[VPN Services]]></category>
                                                    <category><![CDATA[VPN]]></category>
                                                                                                                    <dc:creator><![CDATA[ Rob Dunne ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/SpemWktMnbiQ2SSmQ9RYtb-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Rob is VPN Editor for TechRadar. Coming from a background in phones and technology, Rob has long been putting himself, and his data, online. Finding out the easy, and hard, ways to stay secure online is something that has come along the way – not without being victim to a number of nasty data breaches that is.&lt;/p&gt;&lt;p&gt;Using his experiences and broader knowledge of the technology world, Rob strives to provide the latest ways to stay secure and private online. Whether that be simple steps such as two-factor authentication and password management, or more advanced options such as setting up VPNs, alternative online aliases and more.&lt;/p&gt;&lt;p&gt;In an ever-busy life outside of work, Rob is constantly engaging in tech across areas such as fitness and smart wearables to help him with his continuous work in the gym or on the tennis court, as well as keeping up to date on the latest in the gaming industry with the latest releases across PC and console a constant release from day to day life. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;To share a story or tip, email robert.dunne@futurenet.com&lt;/strong&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/JmRoEizww7795f5Whgk4Jh-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[NordVPN apps running on various devices during TechRadar&#039;s testing]]></media:description>                                                            <media:text><![CDATA[NordVPN apps running on various devices during TechRadar&#039;s testing]]></media:text>
                                <media:title type="plain"><![CDATA[NordVPN apps running on various devices during TechRadar&#039;s testing]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/JmRoEizww7795f5Whgk4Jh-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <h2 class="article-body__section" id="section-how-we-tested-nordvpn"><span>How we tested NordVPN</span></h2><h2 class="article-body__section" id="section-nordvpn-review-scores"><span>NordVPN review scores</span></h2><div ><table><thead><tr><th class="firstcol " ><p>Category</p></th><th  ><p>Score</p></th><th  ><p>Comments</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Total</strong></p></td><td  ><p>90 / 100</p></td><td  ><p>Top notch features, watertight security, and the best streaming performance out there by a distance all solidify NordVPN as the best VPN available right now. <a href="#section-final-verdict"><strong>Read more ▼</strong></a></p></td></tr><tr><td class="firstcol " ><p>Price plans &amp; value</p></td><td  ><p> 8 / 10</p></td><td  ><p>Despite its hefty price rises, NordVPN's array of plans and features give you more than enough value no matter your choice.  <a href="#section-nordvpn-price-plans"><strong>Read more ▼</strong></a></p></td></tr><tr><td class="firstcol " ><p>Features</p></td><td  ><p>10 / 10</p></td><td  ><p>NordVPN is set apart by some of its unique features. Meshnet is something offered by no other VPN, Next Gen Antivirus  is the best of any similar product offered, and NordPass is the best password manager out there. Plus, there's a whole bunch more <a href="#section-features-what-can-nordvpn-do"><strong>Read more ▼</strong></a></p></td></tr><tr><td class="firstcol " ><p>Server network</p></td><td  ><p>10 / 10</p></td><td  ><p>NordVPN's server network is unmatched. While some providers offer more locations in specific regions, no-one is as well spread as NordVPN is. <a href="#section-server-network-and-locations"><strong>Read more </strong>▼</a></p></td></tr><tr><td class="firstcol " ><p>Privacy</p></td><td  ><p>10 / 10</p></td><td  ><p>Based in Panama, with an airtight, audited no-logs policy, secure, proprietary protocols, and a host of privacy-focused settings, you can't dislike NordVPN in this regard. <a href="#section-privacy"><strong>Read more ▼</strong></a></p></td></tr></tbody></table></div><div class="collapsible-block-start"></div><div class="collapsible-block-title"strong-read-all-of-nordvpn-s-review-scores-strong"><p><strong>Read all of NordVPN's review scores ▼</strong></p></div><div ><table><tbody><tr><td class="firstcol " ><p>Security</p></td><td  ><p>10 / 10</p></td><td  ><p>NordVPN scores top marks here thanks to its commitments both now and in the future. Next Gen Antivirus is top notch, post-quantum encryption is already in place, and it has top-grade encryption for the current generation too. <a href="#section-security"><strong>Read more ▼</strong></a></p></td></tr><tr><td class="firstcol " ><p>Speed</p></td><td  ><p>9 / 10</p></td><td  ><p>Good speeds, superb latency and jitter, a top performer all-around for whatever your needs are. <a href="#section-speed"><strong>Read more </strong>▼</a></p></td></tr><tr><td class="firstcol " ><p>Unblocking streams</p></td><td  ><p>10 / 10</p></td><td  ><p>NordVPN performed flawlessly in our unblocking tests. Zero issues, zero blocks, on every service, top marks! <a href="#section-unblocking-streaming-services"><strong>Read more ▼</strong></a></p></td></tr><tr><td class="firstcol " ><p>P2P &amp; Torrenting</p></td><td  ><p>4 / 5</p></td><td  ><p>Despite not offering port-forwarding, NordVPN offers near complete P2P optimization coverage on its servers and offers a suite of guides to help users get going if they need them, <a href="#section-p2p-and-torrenting"><strong>Read more ▼</strong></a></p></td></tr><tr><td class="firstcol " ><p>Apps &amp; Compatibility</p></td><td  ><p>4 / 5</p></td><td  ><p>NordVPN has apps for every platform, which all look great and work flawlessly no matter your device. Its only limitation is its feature imparity across platforms which, while improved in recent years, still has room for improvement. <a href="#section-compatibility"><strong>Read more ▼</strong></a></p></td></tr><tr><td class="firstcol " ><p>Usability</p></td><td  ><p>5 / 5</p></td><td  ><p>Dropping the interactive map and honing in on quick access to tools has made NordVPNs apps easy to use no matter your VPN experience, plus the experience is near identical everywhere. <a href="#section-usability"><strong>Read more ▼</strong></a></p></td></tr><tr><td class="firstcol " ><p>Accessibility</p></td><td  ><p>2 / 5</p></td><td  ><p>NordVPN's accessibility is good enough but by no means perfect. It has an average spread of languages, some amount of keyboard support, and some contrast issues. But, for the most part it comfortably among the most accessible VPNs. <a href="#section-accessibility"><strong>Read more ▼</strong></a></p></td></tr><tr><td class="firstcol " ><p>Customer support</p></td><td  ><p>4 / 5</p></td><td  ><p>NordVPN's customer support is among the best available.  Several options to find a solution, responsive live chat, and well considered conversations with email agents all help a user greatly. Its only area for improvement is usability in terms of its FAQ navigation. <a href="#section-customer-support"><strong>Read more ▼</strong></a></p></td></tr><tr><td class="firstcol " ><p> Track record</p></td><td  ><p>4 / 5</p></td><td  ><p>NordVPN for the most part has a shiny clean track record to be admired. However a breach in 2019 and its ongoing legal battles surround auto-renewals leaves a level of doubt available for some.  <a href="#section-track-record-can-you-trust-nordvpn"><strong>Read more ▼</strong></a></p></td></tr></tbody></table></div><div class="collapsible-block-end"></div><h2 class="article-body__section" id="section-nordvpn-price-plans"><span>NordVPN price plans </span></h2><ul><li>Prices start <strong>from $3.49/month</strong> with NordVPN Basic.</li><li><strong>Complete offers the best value</strong> balance of features and price.</li><li><strong>Auto-renewal fees are eye-watering – remember to opt out.</strong></li></ul><div ><table><caption>NordVPN per month price</caption><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>NordVPN Basic</strong></p></td><td  ><p><strong>NordVPN Complete (US-only)</strong></p></td><td  ><p><strong>NordVPN Prime (US-only)</strong></p></td></tr><tr><td class="firstcol " ><p><strong>1-month</strong></p></td><td  ><p>$14.99</p></td><td  ><p>$19.99</p></td><td  ><p>$29.99</p></td></tr><tr><td class="firstcol " ><p><strong>1-year </strong>(+3 extra months)</p></td><td  ><p>$4.99/month</p></td><td  ><p>$5.99/month</p></td><td  ><p>$8.99/month</p></td></tr><tr><td class="firstcol " ><p><strong>2-year </strong>(+3 extra months)</p></td><td  ><p>$3.49/month</p></td><td  ><p>$3.99/month</p></td><td  ><p>$6.99/month</p></td></tr></tbody></table></div><p>NordVPN has changed some of its plans and their respective prices in recent months. It’s removed the Plus tier and now offers three tiers instead of four: Basic, Complete, and Prime. </p><p>While all countries offer Basic and Complete plans, top-tier plans vary by country: in the US it's Prime, in Canada it’s Ultra, and in the UK it’s known as Ultimate Max. For this review, we're primarily focusing on the US plans. </p><p>Still, one constant is that you can secure up to 10 devices simultaneously – matching <a href="https://www.techradar.com/reviews/expressvpn">ExpressVPN</a> and <a href="https://www.techradar.com/reviews/protonvpn">Proton VPN</a>.</p><p><a href="https://www.techradar.com/vpn/nordvpn-price-deals-discounts-offers">NordVPN’s current pricing</a> puts it at the premium end. It’s particularly expensive when comparing its one-month subscription plans. While its entry-level Basic plan is $14.99/month – the same as ExpressVPN – the latter’s mid- and top-tier equivalents are significantly cheaper.</p><div class="collapsible-block-start"></div><div class="collapsible-block-title"read-more-about-nordvpn-s-price-plans"><p>Read more about NordVPN's price plans ▼</p></div><p>There’s little reason to choose NordVPN if you want the flexibility of a short-term plan. Only Surfshark’s base tier is more expensive at $18.95. </p><p>You’re better off considering Proton Plus at $9.99/month, or <a href="https://www.techradar.com/reviews/private-internet-access-vpn">PIA</a> for $11.99/month. Let’s not forget <a href="https://www.techradar.com/reviews/mullvad">Mullvad</a> either, which, at €5 a month (roughly $5.60 at the time of writing), is a steal - three months of Mullvad is almost the same price as one month of NordVPN Basic.</p><p>Where NordVPN gets more competitive is with its one- and two-year subscriptions. This is where the steep discounts kick in, though you’ll need to pay the full amount upfront. </p><p>One-year prices of $4.99, $5.99, and $8.99/month are on par with ExpressVPN and Proton VPN. However, <a href="https://www.techradar.com/reviews/surfshark">Surfshark</a> has the edge, offering plans from just $2.99 a month.</p><p>Two-year plans deliver the biggest savings. NordVPN’s prices of $3.49, $3.99, and $6.99/month put it below those of ExpressVPN. Proton VPN is similarly priced, but Surfshark is cheaper, starting at $2.19/month.</p><div ><table><caption>NordVPN total price (pre-tax)</caption><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>NordVPN Basic</strong></p></td><td  ><p><strong>NordVPN Complete (US-only)</strong></p></td><td  ><p><strong>NordVPN Prime (US-only)</strong></p></td></tr><tr><td class="firstcol " ><p><strong>1-month</strong></p></td><td  ><p>$14.99</p></td><td  ><p>$19.99</p></td><td  ><p>$29.99</p></td></tr><tr><td class="firstcol " ><p><strong>1-year </strong>(+3 extra months)</p></td><td  ><p>$74.85</p></td><td  ><p>$89.85</p></td><td  ><p>$134.85</p></td></tr><tr><td class="firstcol " ><p><strong>2-year </strong>(+3 extra months)</p></td><td  ><p>$94.23</p></td><td  ><p>$107.73</p></td><td  ><p>$188.73</p></td></tr></tbody></table></div><p>When you total the yearly cost, the numbers won’t add up – that’s because you’re getting three extra months included too. Also note that the prices quoted are pre-tax, and the final bill will increase based on your country’s sales tax.</p><p>There isn’t too much of a gulf between the total price you pay for NordVPN’s Basic and Complete plans, at least not initially. Upgrading from Basic to Complete costs just $1.00/month more on the annual plan, or $0.50/month more over two years. </p><p>This represents solid value considering it adds Nord’s <a href="https://www.techradar.com/vpn/vpn-services/nordvpns-next-gen-antivirus-aces-independent-testing-with-a-96-percent-phishing-block-rate">next-gen antivirus</a>, call, email, and message protection, a password manager, and cloud storage.</p><p>The bigger price jump is between Complete and Prime – $45 upfront for the annual term, or $81 for the two-year plan, for advanced identity protection via Coveron. That’s an extra $3/month either way, though it won’t be worth it if you’re outside the US since Coveron’s identity protection is US-only.</p><div ><table><caption>NordVPN auto-renewal prices</caption><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>NordVPN Basic</strong></p></td><td  ><p><strong>NordVPN Complete (US-only)</strong></p></td><td  ><p><strong>NordVPN Prime (US-only)</strong></p></td></tr><tr><td class="firstcol " ><p><strong>1-year (pre-tax)</strong></p></td><td  ><p>$139.08</p></td><td  ><p>$219.48</p></td><td  ><p>$296.28</p></td></tr><tr><td class="firstcol " ><p><strong>2-year (pre-tax)</strong></p></td><td  ><p>$278.16</p></td><td  ><p>$438.86</p></td><td  ><p>$592.56</p></td></tr></tbody></table></div><p>We then have to consider <a href="https://www.techradar.com/vpn/vpn-services/nordvpn-hit-with-yet-another-lawsuit-over-difficult-to-cancel-auto-renewal-subscriptions">NordVPN’s auto-renewal prices</a> which are significant to say the least. Take NordVPN’s Complete plan over two years, for example. That’s just $107.73 for the initial two-year term, but it rises a staggering 358% on renewal to $438.86.</p><p>You’re not just paying more later, either – you’re also getting fewer months. The initial term throws in three extra months so your lump sum stretches over 27 months; the renewal charges full price for just 24.</p><p>If anything, this is a reminder to make sure you turn off auto-renewal upon signup to prevent any nasty surprises further down the line. And if you want the best NordVPN deal, you’ll likely find the deepest discounts during major sales events like <a href="https://www.techradar.com/black-friday/vpn-black-friday-deals">Black Friday</a>.</p><p><strong>Price and plans score: 8/10</strong></p><div class="collapsible-block-end"></div><h2 class="article-body__section" id="section-features-what-can-nordvpn-do"><span>Features: What can NordVPN do?</span></h2><ul><li><strong>NordVPN Basic and Plus</strong> plans are the same across the world.</li><li>Full <strong>NordProtect cyber-insurance</strong> only available in the US.</li><li><strong>NordPass password manager</strong> included with all plans apart from Basic.</li></ul><h2 id="nordvpn-basic">NordVPN Basic</h2><p>The Basic plan from NordVPN does exactly what the name suggests. The main feature is the VPN product itself and not too much more. It's the same full VPN software as available on all NordVPN plans.</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:1344px;"><p class="vanilla-image-block" style="padding-top:57.14%;"><img id="LddzPGAzqxECKXqYxNnVf9" name="NordVPN running in dark mode on a laptop on desk" alt="NordVPN running in dark mode on a laptop on desk" src="https://cdn.mos.cms.futurecdn.net/LddzPGAzqxECKXqYxNnVf9-1920-80.png" mos="" align="middle" fullscreen="" width="1344" height="768" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">All of the best features available with NordVPN can be swiftly accessed via its redesigned home screen.  </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h2 id="nordvpn-plus">NordVPN Plus</h2><div class="collapsible-block-start"></div><div class="collapsible-block-title"read-more-about-nordvpn-features"><p>Read more about NordVPN features ▼</p></div><p>The Plus plan is my favorite NordVPN plan. Available in any region, it strikes a good balance between value and power by incorporating what I think are NordVPN’s most essential tools and features.</p><p>Most notably, you’re given Next Gen Antivirus. This adds malware protection via file scanning, ad-blocking capabilities (including tracker blocking), and measures to protect against phishing and other malicious websites. </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:1344px;"><p class="vanilla-image-block" style="padding-top:57.14%;"><img id="UraaoMJmyEJfaD68iaANLH" name="NordVPN in dark mode running Threat Protection Pro" alt="NordVPN in dark mode running NExt Gen Antivirus" src="https://cdn.mos.cms.futurecdn.net/UraaoMJmyEJfaD68iaANLH-1920-80.png" mos="" align="middle" fullscreen="" width="1344" height="768" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Next Gen Antivirus is an effective protective solution, even if you can only access it on desktop at the time of writing.  </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Unfortunately, these improvements can only be seen on NordVPN’s desktop apps, which is great if your home PC is the device you’re most concerned about, but leaves you short-changed across all of your mobile devices.</p><p>This is especially unfortunate since <a href="https://www.techradar.com/reviews/surfshark">Surfshark</a>, for example, offers its complete protective toolkit for mobile too – including antivirus on Android, which NordVPN doesn’t have whatsoever. </p><p>Something included across almost any device, however, is <a href="https://www.techradar.com/reviews/nordpass" target="_blank">NordPass</a>. We rate NordPass as the <a href="https://www.techradar.com/best/password-manager">best password manager</a> available right now, so getting it thrown in alongside your VPN package is some serious value.</p><p>It’s compatible across all major desktop operating systems, as well as popular web browsers such as Chrome, Brave, Firefox, Edge, and Opera, and of course, iOS and Android mobile devices. </p><div ><table><caption>Compare NordVPN plan availability</caption><thead><tr><th class="firstcol empty" ></th><th  ><p><a href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow">Basic Plan</a></p></th><th  ><p><a href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow"><strong>Plus Plan </strong></a></p></th><th  ><p><a href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow"><strong>Complete Plan</strong></a></p></th><th  ><p><a href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow"><strong>Ultimate Plan</strong></a></p></th><th  ><p><a href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow"><strong>Prime Plan</strong></a></p></th><th  ><p><a href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow"><strong>Ultra Plan</strong></a></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>US</strong></p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>❌</p></td><td  ><p>✅</p></td><td  ><p>❌</p></td></tr><tr><td class="firstcol " ><p><strong>UK</strong></p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>❌</p></td><td  ><p>✅</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td></tr><tr><td class="firstcol " ><p><strong>Canada</strong></p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>✅</p></td></tr><tr><td class="firstcol " ><p><strong>Australia </strong></p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td></tr></tbody></table></div><p>NordPass encrypts your passwords using XChaCha20 but also secures password generation, passkey support, and easy synchronization of data between platforms, so you’re never stuck without the details you need.</p><p>What's more, you can use NordPass' data breach scanning – which is traditionally kept for premium NordPass plans. That said, we found it only worked through the NordVPN app, which could be confusing if you're using it alongside NordPass.</p><h2 id="nordvpn-complete">NordVPN Complete </h2><p>Entering the upper echelons of NordVPN is where things get complex since, as mentioned, no one country gets the same premium plans. For the moment, we’ll stick with what the US gets.</p><p>NordVPN Complete adds two features to the spread offered by a Plus Plan: firstly, 1 TB of <a href="https://www.techradar.com/pro/vpn/what-is-e2ee">end-to-end encrypted</a> storage. For an extra dollar a month, that may initially seem to be a great deal, but first, consider whether the added storage is actually going to be used. </p><p>If, like me, you’ve already pushed the limits of your free storage allowances on systems like Google and iCloud, then maybe it will, but will the added storage outweigh the convenience these services offer? The value for money for that 1 TB of storage is good, but, if you won’t use it, why pay more?</p><p>In terms of the value, it’s definitely worth mentioning that among the top VPN providers, only <a href="https://www.techradar.com/reviews/protonvpn">Proton VPN</a> currently offers encrypted storage with any of its packages.</p><p>Though to get 500 GB of storage with Proton, you pay $3 per month more than you’d pay for a NordVPN Complete plan. And that makes NordVPN Complete comparatively better value if storage with your VPN is a priority.</p><p>Next up is Scam Call Protection. This is NordVPN's latest feature addition, offering potential scam detection, caller identification, and caller categorization (such as telemarketers). For now, this is an Android-only feature, NordVPN has confirmed it's planning to bring the functionality to iPhone users soon. </p><h2 id="nordvpn-prime">NordVPN Prime</h2><p>Prime only brings one new thing to the party, though this time it’s a biggie – NordProtect.</p><p><a href="https://www.techradar.com/pro/security/nordprotect-made-me-rethink-how-i-protect-my-personal-information-online" target="_blank">NordProtect</a> is an all-in-one package aimed at protecting your identity at all costs. Firstly, <a href="https://www.techradar.com/pro/what-is-dark-web-monitoring">Dark Web Monitoring</a> searches for your social security number, phone number, and email on the dark web 24/7, with immediate notifications should anything be found.</p><p>Your credit card also gets similar protection. 1-Bureau credit monitoring notifies you about changes, including inquiries into your credit file, new accounts, and unauthorized use. You can also make use of VantageScore credit scoring, should you wish for insights into how to improve your credit.</p><p>TransUnion, the company behind VantageScore, also provides credit freeze assistance as part of NordProtect. This not only helps to prevent credit card fraud, but also ensures your credit score isn’t impacted if you fall victim to it.</p><p>If that wasn’t enough, you’re also provided with identity theft insurance up to $1M in coverage, and cyber extortion insurance up to $100K in coverage.</p><p>All this protection does come at a hefty cost, however, as Prime Plans start from $6.99 per month on the two-year plan.</p><p>That takes your total payment to $50 more than Complete, and your cost on renewal rises to around $340 before tax. So, make sure you really need NordProtect before signing up.</p><div ><table><caption>Compare NordVPN features</caption><thead><tr><th class="firstcol empty" ></th><th  ><p><a href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow">Basic Plan</a></p></th><th  ><p><a href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow"><strong>Plus </strong></a></p></th><th  ><p><a href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow"><strong>Complete</strong></a></p></th><th  ><p><a href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow"><strong>Ultimate</strong></a></p></th><th  ><p><a href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow"><strong>Ultra</strong></a></p></th><th  ><p><a href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow"><strong>Prime</strong></a></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>VPN</strong></p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td></tr><tr><td class="firstcol " ><p><strong>Next Gen Antivirus </strong></p></td><td  ><p>❌</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td></tr><tr><td class="firstcol " ><p><strong>Ad and tracker blocker</strong></p></td><td  ><p>❌</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td></tr><tr><td class="firstcol " ><p><strong>Password manager</strong></p></td><td  ><p>❌</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td></tr><tr><td class="firstcol " ><p><strong>Data breach scanning</strong></p></td><td  ><p>❌</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td></tr><tr><td class="firstcol " ><p><strong>1TB encrypted cloud storage</strong></p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>✅</p></td></tr><tr><td class="firstcol " ><p><strong>Cyber insurance (up to £5,000)</strong></p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>✅</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td></tr><tr><td class="firstcol " ><p><strong>Identity theft insurance (up to $1M)</strong></p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>✅</p></td></tr><tr><td class="firstcol " ><p><strong>Cyber extortion insurance (up to $100k)</strong></p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>✅</p></td></tr><tr><td class="firstcol " ><p><strong>Incogni personal data removal</strong></p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>✅</p></td><td  ><p>❌</p></td></tr></tbody></table></div><p>A surprising omission from almost all NordVPN plans worldwide is Incogni. Developed by Nord Security, NordVPN and Surfshark’s parent company,<a href="https://www.techradar.com/reviews/incogni" target="_blank"> Incogni</a> is a data removal tool that removes your personal information from company databases and people search sites, helping reduce the risk of scams, fraud, and identity theft.</p><p>Only Canada’s Ultra plan includes Incogni. Though, much like the US Prime plan, you’ll be forking out a fair sum for it, with prices starting from CA$8.19 per month.</p><p>If there’s one constant piece of advice we can give about picking a NordVPN plan, it’s this: know what you want. They all offer value, but only if you actually use the features you're buying.</p><p><strong>Score: 10/10</strong></p><div class="collapsible-block-end"></div><h2 class="article-body__section" id="section-server-network-and-locations"><span>Server network and locations</span></h2><ul><li><strong>Most countries covered</strong> of any tested VPN (150).</li><li><strong>Most locations overall</strong> with 225</li><li><strong>Approximately 8,000</strong>-strong network of RAM-only servers.</li></ul><p>NordVPN offers the largest selection of server locations of any VPN we test. Nobody beats NordVPN's 225 locations, while only Proton VPN's 149 countries come close to NordVPN's chart-topping 150</p><p>The spread of these locations also earns it top marks. 77 locations in North America is the most of any VPN, 54 locations in Europe are only usurped by NymVPN, ExpressVPN, and Proton VPN, and 30 locations in Africa are only topped by Proton’s 33. </p><p>NordVPN also remains top for locations in South America and Oceania, while its 43 Asian locations keep it second to Proton VPN's 51. </p><p>The provider offers around 79 virtual locations in regions where physical servers are not possible. This is perfect if you're travelling to regions with tight internet restrictions and require a stable, secure connection. However, you can't see in-app which locations are virtual when on Windows, which is unfortunate. </p><p>Much like other top VPNs, NordVPN’s network runs on RAM-only servers. This is now reasonably standard practice, since RAM-only servers not only ensure no user data is accidentally stored (since they wipe on reboot) but they are also more efficient in terms of speed, latency, and power consumption.</p><div class="collapsible-block-start"></div><div class="collapsible-block-title"read-more-about-nordvpn-s-server-network"><p>Read more about NordVPN's server network ▼</p></div><p>This ensures the servers are capable of handling NordVPN’s various server uses, be that <a href="https://www.techradar.com/vpn/what-is-p2p">P2P</a>, <a href="https://www.techradar.com/vpn/nordvpn-double-vpn">multi-hop</a>, or <a href="https://www.techradar.com/vpn/what-is-meshnet">Meshnet</a>, without noticeable drops in performance. </p><p>Handily, NordVPN also recently made all of its servers P2P compatible. That means you no longer need to select a dedicated P2P server from the dedicated 'Speciality Servers' list, instead, you can use whichever NordVPN server works best for your needs. </p><p>Earlier in 2025, <a href="https://www.techradar.com/vpn/vpn-services/vpn-server-count-doesnt-matter-nordvpn-throws-a-challenge-to-the-vpn-industry" target="_blank">NordVPN threw a challenge to the VPN industry</a>, claiming that the exact number of servers across its locations isn’t important. This means we no longer have a precise figure to use to compare NordVPN with its competitors. </p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>NordVPN</p></th><th  ><p>Surfshark</p></th><th  ><p>ExpressVPN</p></th><th  ><p>Proton VPN</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>North America</p></td><td  ><p><strong>77</strong></p></td><td  ><p>34</p></td><td  ><p>71</p></td><td  ><p>39</p></td></tr><tr><td class="firstcol " ><p>South America</p></td><td  ><p><strong>12</strong></p></td><td  ><p>10</p></td><td  ><p>9</p></td><td  ><p>10</p></td></tr><tr><td class="firstcol " ><p>Europe</p></td><td  ><p><strong>54</strong></p></td><td  ><p>54</p></td><td  ><p>58</p></td><td  ><p>53</p></td></tr><tr><td class="firstcol " ><p>Asia</p></td><td  ><p><strong>43</strong></p></td><td  ><p>32</p></td><td  ><p>36</p></td><td  ><p>48</p></td></tr><tr><td class="firstcol " ><p>Oceania</p></td><td  ><p><strong>9</strong></p></td><td  ><p>6</p></td><td  ><p>8</p></td><td  ><p>7</p></td></tr><tr><td class="firstcol " ><p>Africa</p></td><td  ><p><strong>30</strong></p></td><td  ><p>6</p></td><td  ><p>6</p></td><td  ><p>31</p></td></tr></tbody></table></div><p>Surfshark, a VPN also owned by Nord Security, uses around 4,500 servers currently, while Proton VPN uses over 15,000. Our latest research suggests NordVPN's figure is somewhere over 8,000 servers, which is above average, but by no means the most.</p><p>Realistically, however, we rarely see VPN servers reach absolute maximum load, and, frankly, with the spread of locations NordVPN has, you'll never be short of another place to connect to. There's really nothing we can complain about here, loads of locations, RAM-only servers, top marks!</p><p><strong>Score: 10/10</strong></p><div class="collapsible-block-end"></div><h2 class="article-body__section" id="section-privacy"><span>Privacy</span></h2><ul><li><strong>Strong, privacy-focused protocol choices</strong> – NordLynx and NordWhisper</li><li><strong>Double VPN and Onion over VPN</strong> boost privacy and anonymity</li><li><strong>Tapjacking protection is a handy bonus</strong> for Android users</li></ul><p>NordVPN’s privacy is founded on its <a href="https://www.techradar.com/pro/vpn/the-difference-between-no-logs-and-zero-logs-vpns-and-why-it-matters">no-logs policy</a>. Not only is the policy in depth, but it has been audited six times, <a href="https://www.techradar.com/vpn/vpn-services/independent-auditors-confirm-nordvpn-never-stores-your-data-for-the-6th-time" target="_blank">most recently by Deloitte at the end of 2025</a>.</p><p>That depth doesn't make for good casual reading but it does successfully cover every important topic, and in enough detail that we’re comfortable with saying that nothing is amiss.</p><p>The closest NordVPN comes to recording data is its enforcement of the 10 device limit. As it explains, username and timestamp information is “used to limit the amount of concurrent active user sessions and is automatically deleted within 15 minutes after a session is terminated”.</p><div class="collapsible-block-start"></div><div class="collapsible-block-title"read-more-about-nordvpn-s-privacy-measures"><p>Read more about NordVPN's privacy measures ▼</p></div><p>In-app, NordVPN’s primary privacy focal point is its <a href="https://www.techradar.com/vpn/vpn-services/nordvpn-launches-new-revolutionary-censorship-resistant-vpn-protocol">NordWhisper protocol</a>.</p><p><a href="https://www.techradar.com/vpn/vpn-services/nordvpn-launches-new-revolutionary-censorship-resistant-vpn-protocol" target="_blank">Introduced in January 2025</a>, the <a href="https://www.techradar.com/vpn/what-is-a-vpn-protocol">protocol</a> is based on the <a href="https://www.techradar.com/pro/security/tor-has-a-new-https-esque-feature-to-help-beat-censorship">Tor Project’s WebTunnel technology. </a>It wraps your encrypted VPN traffic in a standard HTTPS connection to hide it from detection. This disguises it as standard web traffic and makes NordWhisper especially effective in regions of high internet censorship and places where people found to be using VPNs can be punished. </p><p>For everyday connectivity, you’re not short of options either. <a href="https://www.techradar.com/vpn/what-is-openvpn">OpenVPN</a> is available in both its <a href="https://www.techradar.com/vpn/udp-vs-tcp">TCP and UDP</a> forms. The former provides a more stable, reliable connection for emailing, browsing, and the like. The latter is more focused towards speed for gaming, streaming, or similar.</p><p>Alongside this, you also get NordVPN’s other proprietary protocol, NordLynx. <a href="https://www.techradar.com/vpn/what-is-nordlynx" target="_blank">NordLynx</a> uses a ‘double NAT’ system to remove privacy vulnerabilities you’d be at risk of by using traditional <a href="https://www.techradar.com/vpn/what-is-wireguard">WireGuard</a>.</p><p>By combining double NAT technology and WireGuard, NordLynx allows you to experience the speed benefits of WireGuard, without any identifiable information being stored, even temporarily, in a server. </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:1344px;"><p class="vanilla-image-block" style="padding-top:57.14%;"><img id="dKGZBGKxSWcuYnqtyNYEm3" name="NordVPN website during Black Friday 2025 running on a laptop on a desk" alt="NordVPN website during Black Friday 2025 running on a laptop on a desk" src="https://cdn.mos.cms.futurecdn.net/dKGZBGKxSWcuYnqtyNYEm3-1920-80.png" mos="" align="middle" fullscreen="" width="1344" height="768" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">NordVPN's privacy and no-logs policies can be easily accessed via the NordVPN website. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>NordLynx is also <a href="https://www.techradar.com/pro/vpn/nordvpn-joins-the-post-quantum-revolution" target="_blank">NordVPN’s first post-quantum encrypted VPN protocol</a>. It ensures that your data remains secure even once quantum computing arrives with its enormous boost in code-cracking, number crunching power.</p><p>NordVPN has chosen to use <a href="https://www.techradar.com/pro/vpn/post-quantum-encryption-standards-are-here-a-new-era-for-vpn-security-begins" target="_blank">ML-KEM</a>, an approved quantum-resistant cryptographic standard, with NordLynx.</p><p>NordVPN’s use of RAM-only servers helps too. Since RAM-only servers don’t store any data permanently. That means you’re never at risk of being personally identifiable should Nord’s servers be seized, since there’s no data to be found.</p><p>Connecting to NordVPN offers several privacy-centric options. <a href="https://www.techradar.com/vpn/nordvpn-double-vpn" target="_blank">Double VPN</a> works as the name suggests, routing your connection through two VPN servers rather than one. In other words, your data is encrypted twice.</p><p>That makes your connection twice as difficult for cybercriminals to crack, your IP address is further protected (since the second server doesn’t have any information about it), and your ISP knows nothing about where you end up on the web.</p><p>This makes Double VPN perfect for those needing greater protection in regions where governments attempt to intercept messages or surveil online activities.</p><p>NordVPN currently offers 12 Double VPN locations, including 2 locations in the US and Canada. This is far fewer than the likes of <a href="https://www.techradar.com/reviews/protonvpn">Proton VPN</a> and <a href="https://www.techradar.com/reviews/surfshark">Surfshark</a>.</p><p>Proton VPN offers 64 locations that utilize its <a href="https://www.techradar.com/vpn/proton-vpn-secure-core">Secure Core</a> technology, while <a href="https://www.techradar.com/news/surfshark-adds-new-cutting-technology-to-its-vpn-service">Surfshark’s Nexus network</a> allows you to make any two server connections you want from its entire server network.</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:1344px;"><p class="vanilla-image-block" style="padding-top:57.14%;"><img id="Vz5xAMvyBZfBzarRiDJQPa" name="NordVPN server types displaying on phone on desk" alt="NordVPN server types displaying on phone on desk" src="https://cdn.mos.cms.futurecdn.net/Vz5xAMvyBZfBzarRiDJQPa-1920-80.png" mos="" align="middle" fullscreen="" width="1344" height="768" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">NordVPN's selection of server types can be quickly accessed whether you're on mobile or desktop. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Another option for concealing your VPN connection is NordVPN’s obfuscated servers. These servers now use NordVPN's NordWhisper protocol in addition to extra protections to ensure your VPN connection isn't detected. The shift to using NordWhisper also means you can now connect to obfuscated servers in almost all of NordVPN's locations.</p><p>If you’re looking to access the darker corners of the web securely, NordVPN also offers <a href="https://www.techradar.com/vpn/vpn-privacy-security/what-is-onion-over-vpn" target="_blank">Onion Over VPN</a> connections. Available via its Amsterdam, Stockholm, and Zurich server locations. This connection routes your traffic through both a VPN server and <a href="https://www.techradar.com/reviews/tor-browser">the Tor Network</a>. </p><p>As a result, since the Tor Network’s servers are volunteer-operated, you are secured by a VPN before entering it in case a bad actor has planted servers intent on tracking your online activity and stealing your data. This added security when using Tor is something only offered by a few top VPNs, the most notable of which are NordVPN and Proton VPN.</p><p>Depending on the platform you’re using, NordVPN also offers several handy privacy settings you can use to further affirm your privacy. Android users get arguably the biggest spread. Notably, NordVPN’s ‘Tapjacking protection’ is something you won’t find on any other NordVPN platform, or offered by any other VPN for that matter.</p><p>The system aims to protect users against malicious overlays and is as simple to use as toggling on and forgetting about it. Having had the protection turned on for a matter of months now, I can comfortably say I've never found an instance where an overlay has slipped through the net, and I've never noticed it adding unwanted strain to my phone’s performance either.</p><p><strong>Score: 10/10</strong></p><div class="collapsible-block-end"></div><h2 class="article-body__section" id="section-security"><span>Security</span></h2><ul><li><strong>Strong encryption</strong> and post-quantum encryption standards already live.</li><li><strong>Next Gen Antivirus performs well</strong> against malware and phishing sites</li><li>Lots of options for <strong>granular security customization.</strong></li></ul><p>NordVPN’s security is top-notch.</p><p>We tested its claims of strong <a href="https://www.techradar.com/news/what-is-aes" target="_blank">AES-256-GCM encryption</a> on OpenVPN using a 4096-bit Diffie-Hellman key, and we saw exactly that. Our tests registered AES-256-GCM-SHA384 encryption with 4096-bit certification using TLS 1.3. This makes NordVPN’s OpenVPN protocol as secure as possible, ensuring you needn’t worry about your connection, no matter your location.</p><p>On NordLynx, you’re similarly protected. Since the protocol is based on WireGuard, it uses the same ChaCha20 encryption you’d expect to see, using Poly1305 for authentication. This means you’re using the latest and greatest encryption capabilities across both of NordVPN’s primary protocols.</p><p><a href="https://www.techradar.com/pro/vpn/post-quantum-encryption-standards-are-here-a-new-era-for-vpn-security-begins">Post-quantum encryption</a> has also already reached NordVPN. While providers such as Proton VPN and Surfshark are yet to implement it or are in the early stages, NordLynx is already post-quantum ready, with the future-proof encryption method available at the switch of a toggle.</p><p>While that might seem superfluous right now, it's a key differentiator given the existence of <a href="https://www.techradar.com/pro/security/quantum-race-how-are-cybercriminals-silently-stealing-the-trophy">harvest now, decrypt later attacks</a>.</p><div class="collapsible-block-start"></div><div class="collapsible-block-title"read-more-about-nordvpn-s-security-features"><p>Read more about NordVPN's security features ▼</p></div><p>OpenVPN and NordWhisper aren’t post-quantum-equipped quite yet. It's worth knowing that if you turn on post-quantum encryption, it'll turn itself off if your automatically selected protocol isn't NordLynx. This can be fixed in a matter of clicks by turning automatic protocol choosing off, instead selecting to always use NordLynx</p><p>You also won’t be post-quantum-protected when using Meshnet or NordVPN’s obfuscated server connection; the same goes if you add a dedicated IP to your plan.</p><p>If you’ve turned on post-quantum encryption before using Meshnet, beware that this automatically turns Meshnet off, making you choose between your secure local network and a super-secure VPN connection.</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:1344px;"><p class="vanilla-image-block" style="padding-top:57.14%;"><img id="h5ZkvznRGyWnjbHnk9ipiL" name="NordVPN Meshnet settings screen on  laptop at a desk" alt="NordVPN Meshnet settings screen on  laptop at a desk" src="https://cdn.mos.cms.futurecdn.net/h5ZkvznRGyWnjbHnk9ipiL-1920-80.png" mos="" align="middle" fullscreen="" width="1344" height="768" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Meshnet is a superb, unique NordVPN feature, though it doesn't benefit from post-quantum encryption as yet.  </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>NordVPN also, of course, a more standard suite or security options in place.</p><p>Auto-connect jumps straight to mind, since you can fully customize exactly when and how NordVPN auto-connects you to a server.</p><p>It covers both the server type, and the instances in which it connects. This includes options for <a href="https://www.techradar.com/vpn/nordvpn-double-vpn">Double VPN</a>, Obfuscated, Onion-Over, and P2P servers, and connecting when on Wi-Fi, Ethernet, or mobile networks. You can even create lists of trusted networks that are excluded from auto-connect parameters.</p><p>I use this kind of customization to make sure that I'm always protected and I particularly like it to my ensure my connection on-the-go.</p><p>If you want to continue the granular levels of security tailoring, you can also control the <a href="https://www.techradar.com/vpn/what-is-dns">DNS server address</a> you connect to, your visibility over LAN, and, on desktops, whether your computer can still be accessed remotely when connected. It’s worth noting, with LAN invisibility especially, toggling these settings can impact performance. </p><p>For example, with LAN invisibility turned on, iPhone, iPad, and Mac users won’t be able to use AirDrop. You may also experience significant performance impacts due to how Apple integrates the relevant API parameters in its hardware. If you want to know more, NordVPN released a complete breakdown you can read <a href="https://support.nordvpn.com/hc/en-us/articles/25202605194257-Invisibility-on-a-local-network-why-we-had-to-build-a-broken-feature" target="_blank">here</a>.</p><p>Something that continues to impress is NordVPN’s kill switch. It's often the downfall of less secure VPN providers. In our security testing, a <a href="https://www.techradar.com/vpn/vpn-kill-switch-explained" target="_blank">kill switch</a> is key to ensuring your connection is never inadvertently exposed to bad actors, governments and the like.</p><p>We tried to break NordVPN’s kill switch in various ways, including uninstalling NordVPN’s network adapter driver while connected. Not only did NordVPN disconnect us successfully without any IP leaks, but it recognized the issue, reinstalled and activated the driver, and reconnected us, all within seconds.</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:1344px;"><p class="vanilla-image-block" style="padding-top:57.14%;"><img id="uRhVxq3Xibufwxup3ZYAz9" name="NordVPN kill switch settings screen on laptop at desk with coffee" alt="NordVPN kill switch settings screen on laptop at desk with coffee" src="https://cdn.mos.cms.futurecdn.net/uRhVxq3Xibufwxup3ZYAz9-1920-80.png" mos="" align="middle" fullscreen="" width="1344" height="768" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">NordVPN has an array of effective security settings, which can all be found in one place whether you're on desktop or mobile. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>If we could wish for one thing to improve NordVPN’s kill switch, it would be moving away from the native kill switch system on Android devices. </p><p>Across all platforms aside from Android, you can turn the kill switch on and off as you please. On Android, the native kill switch forces you to use the VPN at all times and disconnects you completely from the internet should the connection fail. </p><p>While this is super-secure, it’s frustrating should you only require a VPN connection in certain situations. </p><p>Something we’ll cover in more depth in the <a href="#section-compatibility">compatibility section</a> is NordVPN’s feature parity across platforms. <a href="https://www.techradar.com/vpn/split-tunneling">Split tunneling</a>, another of NordVPN’s security capabilities, is a notable victim of some of NordVPN’s variations by device.</p><p>Windows users can create either a list of apps that must use the VPN or a list of apps that must not. Android users can only choose which apps won't use the VPN, and Mac and iOS users don’t get split tunneling at all – though this is reasonably common among VPNs owing to the security systems in place on Apple devices.</p><p>Our testing showed no reason to doubt NordVPN’s split tunneling capabilities, though it would be great to see its Android apps gain the same capabilities as Windows. Lacking the choice in this way puts NordVPN behind the likes of <a href="https://www.techradar.com/reviews/surfshark">Surfshark</a> and <a href="https://www.techradar.com/reviews/protonvpn">Proton VPN</a>, which offer both choices on their Android apps.</p><p>We’ve mentioned <a href="https://www.techradar.com/vpn/vpn-services/nordvpn-launches-new-revolutionary-censorship-resistant-vpn-protocol">NordWhisper</a> already, but NordVPN also offers traditional obfuscated servers too. This is helpful since, at the time of writing, NordWhisper isn’t quite available on all platforms as yet – though Windows, Android, Linux, Mac, and iOS all have it already.</p><p>These servers, however, have one big problem: accessibility. Not only does NordVPN only offer obfuscated servers in 16 of its 127 countries, but also, depending on the app and protocol you’re using, you may not even see the option. NordVPN’s obfuscated servers only work over OpenVPN, which is understandable given the added security it brings, even if at a huge speed deficit, but if you’ve not manually selected OpenVPN as your protocol choice, your app may not show them. </p><p>Our testing on Apple devices showed the option simply doesn’t exist in the app unless you go into your settings and change to OpenVPN. </p><p>Windows and Android users don’t face the same issue. The option appears in the ‘Specialty Server’ section, no matter the protocol chosen, which makes much more sense and begs the question of why it isn’t this simple across all devices. </p><p>What’s more, the lack of locations means those in regions distant from a server will face even greater performance drops than you’d expect anyway from obfuscated servers.</p><p>Another feature lacking in locations is NordVPN’s Onion-over VPN capabilities, though in this instance, this is less of a problem since many providers don’t offer this at all. Onion-over VPN allows you to connect to sites on the <a href="https://www.techradar.com/reviews/tor-browser">Tor Network</a> while secured by a VPN connection, something only offered by Proton VPN among other top VPN providers. In NordVPN’s case, it offers three countries to connect to: the Netherlands, Sweden, and Switzerland. </p><p>By comparison, Proton’s six locations include Sweden and Switzerland, but the additions of France, Germany, Hong Kong, and the US give the VPN provider not only wider EU coverage but broader coverage worldwide. </p><p>As with any VPN connection, reduced locations often mean worse speeds, either due to distance to the server or the load the server is under, and NordVPN’s Onion-over VPN servers prove no different. </p><p><a href="https://www.techradar.com/vpn/vpn-privacy-security/what-is-onion-over-vpn">Onion-over VPN</a> connections (otherwise called Tor-over VPN) always require greater processing. That makes a dent on performance straight away, no matter the location, but the 741 Kbps download speeds we saw in testing demonstrate just how limited you can be, yes, that was Kbps by the way!</p><p>Finally, <a href="https://www.techradar.com/vpn/nordvpn-double-vpn">Double VPN</a>. This is NordVPN’s version of a multi-hop connection, though its simpler than some competitor alternatives. This is because NordVPN doesn’t allow you to choose your entry and exit server, unlike <a href="https://www.techradar.com/reviews/surfshark">Surfshark</a>. </p><p>Even Proton, whose <a href="https://www.techradar.com/vpn/proton-vpn-secure-core" target="_blank">Secure Core Technology</a> limits the choices you have, gives users a few choices. We won’t directly compare NordVPN and Surfshark here, since Surfshark’s <a href="https://www.techradar.com/news/surfshark-adds-new-cutting-technology-to-its-vpn-service" target="_blank">Nexus technology</a> gives users complete freedom to multi-hop between every Surfshark server, something no other VPN provider offers. </p><p>Outside of the VPN itself, NordVPN also offers Next Gen Antivirus. This works at a deeper level, protecting your desktop devices from phishing and malicious URLs, as well as ads and trackers. It can even scan for and block malicious downloads. </p><p>While this is nice, there are several downsides. Firstly, Next Gen Antivirus, oddly,  isn’t actually an antivirus. It can’t scan files already on your computer for malware, nor can it remove them. Secondly, the full Next Gen Antivirus suite is only available on desktop devices, while mobile users only get Threat Protection.</p><p>That limitation puts NordVPN behind Surfshark here. Surfshark includes a full antivirus with its Surfshark One plan – and it works on mobile as well as desktop. </p><p>That said, you can hardly fault Next Gen Antivirus’s results.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Phishing Sites Blocked</strong></p></th><th  ><p><strong>Malware Sites Blocked</strong></p></th><th  ><p><strong>Ads blocked</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>NordVPN (Next Gen Antivirus)</strong></p></td><td  ><p>92%</p></td><td  ><p>80%</p></td><td  ><p>21%</p></td></tr><tr><td class="firstcol " ><p><strong>Proton VPN</strong></p></td><td  ><p>88%</p></td><td  ><p>0%</p></td><td  ><p>88%</p></td></tr><tr><td class="firstcol " ><p><strong>ExpressVPN</strong></p></td><td  ><p>76%</p></td><td  ><p>0%</p></td><td  ><p>86%</p></td></tr><tr><td class="firstcol " ><p><strong>Surfshark</strong></p></td><td  ><p>48%</p></td><td  ><p>28%</p></td><td  ><p>44%</p></td></tr></tbody></table></div><p>We tested Next Gen Antivirus against 50 brand-new malware-hosting and phishing pages, and it was the top-performing software of anything similar we tested among VPNs. It blocked 92% of phishing sites and 80% of malware sites. </p><p>By comparison, Surfshark Antivirus achieved only 48% and 28% in these same tests, putting a stretch ahead.</p><p>While these results do impress when compared to VPNs, a dedicated antivirus software performs far better than even Next Gen Antivirus.</p><p>The likes of<a href="https://www.techradar.com/reviews/avast-one"> Avast</a>, Norton, and ESET achieved equal or greater success in phishing protection tests carried out by AV-Comparatives in 2025. This is why we normally recommend picking up one of the <a href="https://www.techradar.com/best/best-antivirus">best antivirus software</a> in addition to your VPN of choice.</p><p>It's also worth mentioning that Next Gen Antivirus's remit is constantly expanding. In recent months, Email Protection, hijacked session and double extension alerts, search result safety indicators, and crypto wallet checks have all joined the mix. While many of these are niche solutions, they're a handy addition should they fit your everyday needs.</p><p><strong>Score: 10/10</strong></p><div class="collapsible-block-end"></div><h2 class="article-body__section" id="section-speed"><span>Speed</span></h2><ul><li>NordVPN is still <strong>among the fastest VPNs </strong>using WireGuard.</li><li>Minimal latency and jitter make the <strong>best VPN for gamers</strong>.</li><li><strong>Struggled over OpenVPN</strong> in latest speed tests.</li></ul><p>We recently completed our second round of testing using a 10 Gbps line with an increased number of data points. </p><p>This time around, NordVPN's NordLynx speeds saw a slight improvement, recording 1427 Mbps, having previously achieved 1249 Mbps. Despite this,  NordVPN remains slower than Proton VPN and Surfshark using WireGuard and <a href="https://www.techradar.com/vpn/expressvpn-lightway">ExpressVPN’s Lightway Turbo protocol</a>.</p><p>Take ExpressVPN’s results with a pinch of salt, though, since <a href="https://www.techradar.com/vpn/vpn-services/can-fast-be-faster-expressvpn-promises-its-possible" target="_blank">Lightway Turbo </a>is only available on its Windows app, and ExpressVPN has warned that it might cause issues with some websites and games.</p><p>None of that is true for NordLynx and, although Lightway Turbo’s 1479 Mbps speeds put it a margin ahead of NordLynx on paper, most users won’t see this difference in day-to-day usage.</p><p>Instead, you’ll likely benefit more from the added compatibility of NordLynx.</p><div class="collapsible-block-start"></div><div class="collapsible-block-title"read-more-about-nordvpn-s-performance"><p>Read more about NordVPN's performance ▼</p></div><p>NordLynx’s results do, however, put it among the best VPN protocols for gamers, since in our testing, it recorded only 7 ms latency and 2.2 ms jitter when connected to our nearest server.</p><p>High latency results in laggy gameplay, and high jitter can lead to unstable gameplay and stuttering, so recording latency and jitter at low result is key when choosing the <a href="https://www.techradar.com/vpn/best-gaming-vpn">best gaming VPN</a>.</p><p>Connecting to US NordVPN servers from the UK proved less effective, though still improved over last time around. NordLynx achieved 939 Mbps connecting over the pond this time, having only managed 688 Mbps last time. </p><p>This is still slower than many other VPNs over the same distance. That said, you'll rarely struggle with these results no matter what streaming or gaming you test it with. </p><p>NordVPN did still hold up well for latency and jitter over long distance, proving, again, that it's a great gaming VPN choice – perfect, in this instance for avoiding unwanted lag while connecting to servers abroad for gaming, streaming, or other high-intensity tasks.</p><p>Unfortunately, NordVPN's OpenVPN performance has yet again dropped off. Previously registering 688 Mbps, it now only achieved 633 Mbps, much lower than several other top VPNs. </p><p><strong>Score: 9/10</strong></p><div class="collapsible-block-end"></div><h2 class="article-body__section" id="section-unblocking-streaming-services"><span>Unblocking streaming services</span></h2><ul><li><strong>Only struggled with two streaming services </strong>we tested.</li><li><strong>Never encountered unwanted CAPTCHAs</strong>, or dropouts.</li><li>All servers are <strong>streaming optimized.</strong></li></ul><p>NordVPN was the clear winner in our latest unblocking testing. It struggled with the fewest streaming services of every VPN we've tested.</p><p>We test Netflix, across the US, UK, Australia, Canada, and Japan, Prime Video, Disney+, and YouTube. We also tested NordVPN at unblocking local free streaming services, including BBC iPlayer, ITVX, C4, 9Now, and 10Play.</p><p>Only YouTube US and Prime Video Australia proved inaccessible. Aside from these, we never encountered VPN detection, unwanted CAPTCHAs during login, or any dreadful lag, buffering or connection dropouts to ruin our streaming experience. This was the same whether we were attempting to watch something live or catching up on demand.</p><p>So, while there are now some small blips on NordVPN's record, most won't be heavily impacted. </p><div class="collapsible-block-start"></div><div class="collapsible-block-title"read-more-about-nordvpn-s-unblocking-capabilities"><p>Read more about NordVPN's unblocking capabilities ▼</p></div><p>Proton VPN, ExpressVPN, and Surfshark all equally struggled with US YouTube. Proton also struggled with Disney+ USA alongside ITVX and Channel 4 in the UK. Surfshark suffered a spread of issues across platforms worldwide, a big change from a near-flawless performance last time out. </p><p>What was even more impressive was the lack of impact of NordVPN's Threat Protection Pro ad-blocker. Normally, we find that the ad-blockers of VPN services disrupted the streaming capabilities of local, ad-based services like Channel 4 and ITV, but we saw no such issues with NordVPN. The same cannot be said of Proton VPM and Surfshark. </p><p>NordVPN never found itself unable to load services due to their advert reel requirements, even when connecting to ad-based services abroad, such as Peacock. Top marks.</p><p>Something certainly playing into this success is that all of NordVPN’s servers are streaming-optimized. This move not only means you never have to scroll through to find those with the correct optimization, but it also means you’re never short of another server to connect to if one struggles to connect to the streaming service you’re trying to access.</p><p><strong>Score: 10/10</strong></p><div class="collapsible-block-end"></div><h2 class="article-body__section" id="section-p2p-and-torrenting"><span>P2P and torrenting</span></h2><ul><li>Most<strong> servers are P2P optimized.</strong></li><li><strong>Lots of guides</strong> to help beginners get started.</li><li><strong>No port forwarding</strong> support.</li></ul><p>Nothing summarizes NordVPN’s torrenting capabilities more than the fact that all but four of its countries offer <a href="https://www.techradar.com/vpn/what-is-p2p" target="_blank">P2P-optimized servers</a> – sorry to those looking to torrent connected to Albania, Bosnia and Herzegovina, Moldova, and North Macedonia! </p><p>What’s more, finding the server you need is super simple. NordVPN’s P2P-optimized locations can be found in its Specialized Servers section on any app, and you even get the option to quickly connect to the fastest server if you’re not after somewhere specific and would rather sheer performance.</p><p>Thankfully, NordVPN’s speed capabilities mean your torrenting experience is likely to be more limited by your peers than your VPN. What’s more, its security measures meant we never found ourselves receiving warnings from our ISP when testing its capabilities with <a href="https://www.techradar.com/reviews/utorrent">uTorrent</a>, no matter if we were using NordLynx or OpenVPN.</p><p>As is standard among top VPNs, NordVPN doesn’t support <a href="https://www.techradar.com/how-to/how-to-port-forward">port forwarding</a> due to the security risks posed. A full blog article outlines their reasons for this, which you can read <a href="https://nordvpn.com/blog/port-forwarding/" target="_blank" rel="nofollow">here</a>.</p><p>If you’re new to torrenting, it’s also great to see NordVPN has a whole variety of guides for setting up proxies with popular torrenting services, including <a href="https://www.techradar.com/reviews/bittorrent">BitTorrent</a>, <a href="https://www.techradar.com/reviews/utorrent">uTorrent</a>, and <a href="https://www.techradar.com/reviews/qbittorrent">qBittorrent</a>. They’re easy to digest and come with all the information you need packed in, too.</p><p><strong>Score: 4/5</strong></p><h2 class="article-body__section" id="section-compatibility"><span>Compatibility</span></h2><ul><li><strong>Apps for every platform</strong> – including Linux GUI and routers.</li><li><strong>A similar look</strong> across almost every app.</li><li>No<strong> Threat Protection Pro</strong> on mobile.</li></ul><p>NordVPN has apps across every platform out there, including a GUI <a href="https://www.techradar.com/vpn/best-linux-vpn" target="_blank">Linux VPN</a> and <a href="https://www.techradar.com/news/best-vpn-routers">router VPN</a> capabilities, alongside the expected web extensions and smart TV apps.</p><p>The majority of NordVPN's apps share a similar feel and consequently enough regularity that the features you can access will be found where you’d expect them. Smart TVs are, as expected with most VPNs, the platform with the most differentiation in layout, but that change brings added simplicity and makes it easy to use.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Windows</p></th><th  ><p>Mac</p></th><th  ><p>iOS </p></th><th  ><p>Android</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Protocols</strong></p></td><td  ><p>NordLynx, NordWhisper, OpenVPN (TCP and UDP)</p></td><td  ><p>NordLynx, NordWhisper, OpenVPN (TCP and UDP)</p></td><td  ><p>NordLynx, NordWhisper, OpenVPN (TCP and UDP)</p></td><td  ><p>NordLynx, NordWhisper, OpenVPN (TCP and UDP)</p></td></tr><tr><td class="firstcol " ><p><strong>Kill switch</strong></p></td><td  ><p>3-mode kill switch including VPN and application specific settings</p></td><td  ><p>Application-level kill switch</p></td><td  ><p>VPN connection failure killswitch</p></td><td  ><p>Android-native kill switch only</p></td></tr><tr><td class="firstcol " ><p><strong>Split tunnelling</strong></p></td><td  ><p>Disable or Enable based split tunnelling</p></td><td  ><p>❌</p></td><td  ><p>❌</p></td><td  ><p>Disable only</p></td></tr><tr><td class="firstcol " ><p><strong>Auto-connect</strong></p></td><td  ><p>WiFi, ethernet, or mobile network settings. Plus custom or fastest location choice</p></td><td  ><p>Can be set to auto connect when using untrusted WiFi networks. Plus location choice</p></td><td  ><p>Can be set up for all networks, no networks, or WiFi only. Plus location choice</p></td><td  ><p>All networks, Wifi, or mobile networks settings. Plus location choice</p></td></tr><tr><td class="firstcol " ><p><strong>Threat Protection Pro</strong></p></td><td  ><p>✅</p></td><td  ><p>✅</p></td><td  ><p>Basic Threat Protection only</p></td><td  ><p>Basic Threat Protection only</p></td></tr></tbody></table></div><div class="collapsible-block-start"></div><div class="collapsible-block-title"read-more-about-nordvpn-s-compatibility"><p>Read more about NordVPN's compatibility ▼</p></div><p>I mentioned already that NordVPN isn’t stellar in terms of its feature-parity across platforms, but for the most part, NordVPN’s compatibility is nothing to be concerned about.</p><p>As you can see, in the table below, like most VPNs, Windows gets everything, and iOS users get the least. In amongst this, though, are several key differentiators.</p><p>NordVPN users on iOS and Mac don't get to enjoy s<a href="https://www.techradar.com/vpn/split-tunneling" target="_blank">plit tunneling</a>. In the past, that proved difficult for all VPN providers on iOS and Mac due to Apple's security infrastructure, but now the likes of <a href="https://www.techradar.com/reviews/ipvanish-vpn" target="_blank">IPVanish</a> and <a href="https://www.techradar.com/reviews/surfshark" target="_blank">Surfshark</a> are beginning to roll the feature out. NordVPN users have no such luck.</p><p>It’s not often that we see Android users facing big feature shortfalls as well but, most frustrating, of the absentees is that there's no <a href="https://www.techradar.com/pro/nordvpn-threat-protection-pro-is-now-even-better-at-keeping-you-safe">Threat Protection Pro</a> on any mobile devices. That's a real loss.</p><p>Threat Protection Pro is the best-performing VPN security add-on we've tested, and is a notable step up from the results we saw basic <a href="https://www.techradar.com/vpn/nordvpn-threat-protection">Threat Protection</a>, which mobile users do get.</p><p>By comparison, <a href="https://www.techradar.com/news/surfshark-launches-antivirus-to-go-alongside-your-vpn">Surfshark's full antivirus</a> capabilities are available across any platform, including the regular file scanning feature – something not offered by NordVPN.</p><p><strong>Score: 4/5</strong></p><div class="collapsible-block-end"></div><h2 class="article-body__section" id="section-usability"><span>Usability</span></h2><ul><li>Simple set up – but <strong>ensure you disable auto-renewals.</strong></li><li><strong>Similar user experience</strong> across most apps.</li><li>Reducing the use of the map has <strong>improved functionality hugely.</strong></li></ul><h2 id="set-up">Set up</h2><p>Setting up NordVPN is simple enough. Once you’re signed up, you can download the VPN directly from the website (unless you’ve signed up within the iOS or Android app, in which case you’ll have already installed it to do so). From there, you’re almost on your own.</p><p>Loading the installer gives you the option of also adding <a href="https://www.techradar.com/reviews/nordpass">NordPass</a> and the NordVPN browser extension to your device. Both are great tools and super handy to have – and then you’re straight into the NordVPN app.</p><p>Something we recommend doing as soon as you’re in is stopping your auto-renewals. This will stop you getting a nasty and very expensive surprise when your initial NordVPN agreement runs out.</p><p>Stop auto-renewal by heading to the Account section of your Settings menu. It takes almost no time at all.</p><div class="collapsible-block-start"></div><div class="collapsible-block-title"read-more-about-nordvpn-s-usability"><p>Read more about NordVPN's usability ▼</p></div><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1344px;"><p class="vanilla-image-block" style="padding-top:57.14%;"><img id="eRoMh94zDi2myDraB5BszN" name="NordVPN website download screen on laptop with a coffee" alt="NordVPN website download screen on laptop with a coffee" src="https://cdn.mos.cms.futurecdn.net/eRoMh94zDi2myDraB5BszN-1920-80.png" mos="" align="middle" fullscreen="" width="1344" height="768" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">You can find the quickest ways to download each of NordVPN's apps via its website, including web extensions.  </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h2 id="user-experience">User Experience</h2><p>NordVPN is as close to identical as it can be across the majority of its apps nowadays, which is only a good thing for sure.</p><p>The only times you’ll see anything especially different is on smart TVs, as is expected with most VPNs, and streaming devices such as Fire TV Sticks.</p><p>Older Fire TV Sticks, especially, will be in for a shock, as, depending on your device generation, you can be hit with a much older-appearing UI than anywhere else. </p><p>Even NordVPN's Chrome extension shares a similar feel. While you can't use it to access <a href="https://www.techradar.com/vpn/what-is-a-vpn-protocol">VPN protocols</a> or specialist servers, you're never left wondering where anything is.</p><p>What's more, you're still equipped with everything from the kill switch, auto-connect, and split tunneling, to otherwise hidden features such as location spoofing, which is only available via the web extension and sets your browser to the location and time zone of your VPN server. It's by no means perfect, but you have all the essential tools in a familiar package.</p><p>One of NordVPN’s quirky inclusions in its desktop and mobile apps used to be an interactive map interface you could use to select your server. While this did look rather pleasing, we’ve never found ourselves using it in all the years it’s been there, nor did it ever do anything to make the connection process quicker. So, we’re glad to see it getting phased out on desktop devices in favor of more screen space for features such as Threat Protection Pro.</p><p>This change makes it supremely quick and easy access to almost every tool, whether on mobile or desktop.</p><p>The home screen brings quick access to every VPN country available, each of NordVPN’s specialty server types, <a href="https://www.techradar.com/vpn/what-is-meshnet" target="_blank">Meshnet</a>, Dark Web Monitoring, and the three key aspects of Threat Protection Pro – anti-malware, advanced browser protection, and ad and tracker blocking.</p><p>Accessing these features in more detail is as simple as clicking the corresponding icon on the side-nav, and once you’re where you want to be, you’re greeted by explainer after explainer giving you everything you need to know to understand the tool and how it’ll benefit either your VPN connection or your online security. </p><p>I do have two gripes with the desktop version however:</p><p>Firstly, the search bar isn’t the most advanced. While some VPN providers will allow you to search for a location and choose between its specific capabilities, for example, P2P or obfuscated, Nord’s shows you the location as though you were connecting normally. </p><p>If you’re after, say, a P2P server, you’d have to search P2P, and then choose a server from the icon that appears – a method slower than simply choosing P2P in the specialty servers section you’re greeted with on the home screen. </p><p>Secondly, the desktop app no longer offers both choices of pausing your connection or disconnecting entirely. Instead, you now get a pause button which, once clicked, becomes a dropdown with a series of pause durations alongside a disconnect button. </p><p>While I understand adding steps to the disconnection process reduces the chance someone will, thus improving their security, for those of us who know when we do and don’t want to be connected, it’s an unnecessary added step. Still, it's a pretty minor beef.</p><p>Mobile users get a similarly efficient experience, which we love. While it retains the interactive map, you can access every country, Meshnet, and all of Nord’s Specialty Servers from your home screen – though, understandably given screen restraints, there’s no room for Threat Protection or Dark Web Monitoring this time round. </p><p>You still get the same detailed explanations of each feature and setting throughout the app, though you’re still stuck with the same limited search capabilities and pause button that the desktop app uses. </p><p>Oddly, something omitted from the main screen across desktop and mobile is any reference to key features, such as protocols or the kill switch. To set up or change these, you need to head into the settings instead. What’s more, while on desktop you can click one button to set the server you’re connected to as your auto-connect, you’re given no such convenience on mobile – though for many this won’t be so useful. </p><p>Aside from the minor gripes, NordVPN’s apps are the best they’ve been in years – efficient, clean to look at, and easy for beginners.</p><p>The few issues we’ve found, and their minor impact show just how much thought has gone into NordVPN's usability across the board.</p><p><strong>Score: 5/5</strong></p><div class="collapsible-block-end"></div><h2 class="article-body__section" id="section-accessibility"><span>Accessibility</span></h2><ul><li>NordVPN's website is <strong>among the most accessible VPN websites.</strong></li><li><strong>Not a huge amount</strong> of language support.</li><li>Keyboard-only navigation <strong>could be better</strong>.</li></ul><p>We put <a href="http://nordvpn.com" target="_blank">NordVPN.com</a> through an AccessibilityChecker audit, and its score of 83% puts it among the most accessible VPN websites out there. It scores higher than Proton VPN (35%), Surfshark (41%), and ExpressVPN (21%) and PIA (10%). This makes it the most accessible VPN website of all our <a href="https://www.techradar.com/vpn/best-vpn">best VPNs</a>.</p><div id="crow-inpage-content"><style>    @import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap');        #fv-chart-1765993020521-aorml67bt *, #fv-chart-1765993020521-aorml67bt *:before, #fv-chart-1765993020521-aorml67bt *:after {        box-sizing: border-box !important; margin: 0; padding: 0; border: 0;        font-size: 100%; font: inherit; vertical-align: baseline;    }    #fv-chart-1765993020521-aorml67bt { font-family: 'Open Sans', sans-serif !important; }    /* Main Wrappers */    #fv-chart-1765993020521-aorml67bt {        position: relative !important; overflow: visible !important;        --riv-primary: #2E6E93;    }    #fv-chart-1765993020521-aorml67bt .fv-inner-wrapper {        color: #1F2937 !important; background-color: #ffffff !important;        padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important;        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;        margin: 1rem 0 !important; display: flex !important; flex-direction: column !important;    }        /* Typography */    #fv-chart-1765993020521-aorml67bt .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: #1F2937 !important; font-size: 1.25rem !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; }    #fv-chart-1765993020521-aorml67bt .fv-chart-subhead { font-size: 1rem !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #6B7280 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; }    #fv-chart-1765993020521-aorml67bt .rv-chart-caption { font-size: 15px !important; color: #6B7280 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; }    #fv-chart-1765993020521-aorml67bt .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }    /* Footer */    #fv-chart-1765993020521-aorml67bt .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; }    #fv-chart-1765993020521-aorml67bt .fv-footer-content { text-align: center !important; width: 100% !important; }    #fv-chart-1765993020521-aorml67bt .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; }    /* Display Mode Controls */    #fv-chart-1765993020521-aorml67bt .fv-dropdown-container { text-align: center !important; margin-bottom: 16px !important; }    #fv-chart-1765993020521-aorml67bt .fv-dropdown {        width: 100% !important; max-width: 350px !important; padding: 8px 12px !important; font-size: 14px !important; line-height: 1.2 !important;        border: 2px solid #d1d5db !important; border-radius: 8px !important; background-color: #ffffff !important; color: #374151 !important;        cursor: pointer !important; appearance: none !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e") !important;        background-position: right 12px center !important; background-repeat: no-repeat !important; background-size: 14px !important; padding-right: 35px !important; font-family: 'Open Sans', sans-serif !important;    }    #fv-chart-1765993020521-aorml67bt .fv-dropdown:hover { border-color: var(--riv-primary) !important; }    #fv-chart-1765993020521-aorml67bt .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; }    #fv-chart-1765993020521-aorml67bt .fv-carousel-nav-btn {        background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important;        cursor: pointer !important; font-size: 13px !important; color: #6b7280 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important;    }    #fv-chart-1765993020521-aorml67bt .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; }    #fv-chart-1765993020521-aorml67bt .fv-carousel-counter { font-size: 14px !important; color: #6b7280 !important; text-align: center !important; margin-top: 1rem !important; }        /* Legend */    #fv-chart-1765993020521-aorml67bt .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; }    #fv-chart-1765993020521-aorml67bt .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #4B5563 !important; }    #fv-chart-1765993020521-aorml67bt .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; }    /* Chart Core Styles */    #fv-chart-1765993020521-aorml67bt .fv-benchmark-group { margin-bottom: 1rem !important; }    #fv-chart-1765993020521-aorml67bt .fv-benchmark-title {         font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important;        text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important;        font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important;        text-transform: none !important;    }    #fv-chart-1765993020521-aorml67bt .fv-bar-row, #fv-chart-1765993020521-aorml67bt .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; }    #fv-chart-1765993020521-aorml67bt .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #4B5563 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; }    #fv-chart-1765993020521-aorml67bt .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; }     #fv-chart-1765993020521-aorml67bt .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; }    #fv-chart-1765993020521-aorml67bt .fv-bar:hover { opacity: 0.8 !important; }    #fv-chart-1765993020521-aorml67bt .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; color: white !important; font-size: 14px !important; font-weight: bold !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; overflow: hidden !important; }    #fv-chart-1765993020521-aorml67bt .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; }    #fv-chart-1765993020521-aorml67bt .fv-bar-inner-value { flex-shrink: 0 !important; }    #fv-chart-1765993020521-aorml67bt .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #4B5563 !important; white-space: nowrap !important; }    #fv-chart-1765993020521-aorml67bt .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; }    /* Stacked Bar */    #fv-chart-1765993020521-aorml67bt .fv-stacked-bar { display: flex !important; overflow: hidden !important; }    #fv-chart-1765993020521-aorml67bt .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; }    #fv-chart-1765993020521-aorml67bt .fv-stacked-segment:last-child { border-right: none !important; }    #fv-chart-1765993020521-aorml67bt .fv-segment-value { font-size: 14px !important; font-weight: bold !important; color: white !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; }    /* Grouped Bar */    #fv-chart-1765993020521-aorml67bt .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; }    #fv-chart-1765993020521-aorml67bt .fv-grouped-product-title-wrapper { padding-left: 150px !important; }    #fv-chart-1765993020521-aorml67bt .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #4B5563 !important; text-transform: none !important; }    #fv-chart-1765993020521-aorml67bt .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; }    #fv-chart-1765993020521-aorml67bt .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; }    #fv-chart-1765993020521-aorml67bt .fv-bar-cluster .fv-bar-container { height: 20px !important; }        /* Line Chart Grid */    #fv-chart-1765993020521-aorml67bt .riv-grid line {        stroke: #D1D5DB !important;        stroke-dasharray: 3 3 !important;    }    /* X-Axis */    #fv-chart-1765993020521-aorml67bt .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; }    #fv-chart-1765993020521-aorml67bt .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; }    #fv-chart-1765993020521-aorml67bt .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; }    #fv-chart-1765993020521-aorml67bt .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; }    #fv-chart-1765993020521-aorml67bt .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; }     #fv-chart-1765993020521-aorml67bt .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #6B7280 !important; }    #fv-chart-1765993020521-aorml67bt .fv-x-axis-ticks span { position: relative !important; }    #fv-chart-1765993020521-aorml67bt .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; }    #fv-chart-1765993020521-aorml67bt .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #6B7280 !important; margin-top: 8px !important; display: block !important; }    #fv-chart-1765993020521-aorml67bt .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #6B7280 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; }    #fv-chart-1765993020521-aorml67bt .fv-y-axis-title {        font-size: 15px !important;        color: #6B7280 !important;        line-height: 1.5 !important;        text-align: left !important;        padding-left: 5.83% !important; /* Aligns with Y-axis line inside SVG (35/600) */        margin-bottom: 4px !important;        display: block !important;        font-weight: bold !important;    }    /* Mobile / Forced Mobile View */    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-pie-container { flex-direction: column !important; gap: 1rem !important; }    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-grouped-product-title-wrapper {        padding-left: 0 !important;    }    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-bar-row,    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-stacked-product,    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-grouped-bar-product {        flex-direction: column !important;        align-items: flex-start !important;        margin-bottom: 1.25rem !important;    }    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-bar-label,    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-grouped-product-title {        width: 100% !important;        text-align: left !important;        padding-right: 0 !important;        margin-bottom: 0.25rem !important;        font-size: 14px !important;        font-weight: 700 !important;    }    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-bar-container,    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-bar-cluster {        width: 100% !important;    }    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-x-axis-wrapper {        margin-left: 0 !important;    }    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-x-axis-label-space {        display: none !important;    }    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-x-axis-chart-space {        padding-right: 0 !important;    }    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-benchmark-title { font-size: 16px !important; }    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-logo { width: 60px !important; max-width: 60px !important; }    #fv-chart-1765993020521-aorml67bt.mobile-view .fv-carousel-nav-btn { padding: 6px 8px !important; font-size: 11px !important; }    @media (max-width: 500px) {         #fv-chart-1765993020521-aorml67bt .fv-pie-container { flex-direction: column !important; gap: 1rem !important; }        #fv-chart-1765993020521-aorml67bt .fv-grouped-product-title-wrapper {            padding-left: 0 !important;        }        #fv-chart-1765993020521-aorml67bt .fv-bar-row,        #fv-chart-1765993020521-aorml67bt .fv-stacked-product {            flex-direction: column !important;            align-items: flex-start !important;            margin-bottom: 1.25rem !important;        }        #fv-chart-1765993020521-aorml67bt .fv-bar-label:not(.fv-grouped-product-title) {             width: 100% !important;            text-align: left !important;            padding-right: 0 !important;            margin-bottom: 0.25rem !important;            font-size: 14px !important;             font-weight: 700 !important;        }        #fv-chart-1765993020521-aorml67bt .fv-bar-container {            width: 100% !important;        }        #fv-chart-1765993020521-aorml67bt .fv-x-axis-wrapper:not(.fv-grouped-x-axis) {            margin-left: 0 !important;        }        #fv-chart-1765993020521-aorml67bt .fv-x-axis-label-space:not(.fv-grouped-x-axis .fv-x-axis-label-space) {            display: none !important;        }        #fv-chart-1765993020521-aorml67bt .fv-x-axis-chart-space {            padding-right: 0 !important;        }        #fv-chart-1765993020521-aorml67bt .fv-benchmark-title { font-size: 16px !important; }        #fv-chart-1765993020521-aorml67bt .fv-logo { width: 60px !important; max-width: 60px !important; }        #fv-chart-1765993020521-aorml67bt .fv-carousel-nav-btn { padding: 6px 8px !important; font-size: 11px !important; }        #fv-chart-1765993020521-aorml67bt .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ }        #fv-chart-1765993020521-aorml67bt.fv-contains-line-chart .fv-footer-content {            margin-left: -1rem !important;            margin-right: -1rem !important;        }    }          </style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Website Accessibility Scores",  "description": "AccessibilityChecker audit of the home pages of each VPN website",  "creator": {    "@type": "Organization",    "name": "TechRadar",    "logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2025-12-17T17:37:00.522Z",  "citation": "NordVPN offers a very easy to navigate website for those with visual accessibility needs. The apps could have better keyboard-only support, though.",  "keywords": [    "NordVPN",    "Surfshark",    "ExpressVPN",    "Proton VPN",    "PureVPN",    "Mullvad",    "IPVanish",    "CyberGhost",    "AdGuard VPN",    "PrivadoVPN",    "Hotspot Shield",    "TunnelBear",    "Accessibility score",    "benchmark",    "comparison",    "performance",    "review",    "TechRadar"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "NordVPN – Accessibility score",      "value": 83,      "unitText": "%"    },    {      "@type": "PropertyValue",      "name": "Surfshark – Accessibility score",      "value": 41,      "unitText": "%"    },    {      "@type": "PropertyValue",      "name": "ExpressVPN – Accessibility score",      "value": 23,      "unitText": "%"    },    {      "@type": "PropertyValue",      "name": "Proton VPN – Accessibility score",      "value": 35,      "unitText": "%"    },    {      "@type": "PropertyValue",      "name": "PureVPN – Accessibility score",      "value": 35,      "unitText": "%"    },    {      "@type": "PropertyValue",      "name": "Mullvad – Accessibility score",      "value": 89,      "unitText": "%"    },    {      "@type": "PropertyValue",      "name": "IPVanish – Accessibility score",      "value": 71,      "unitText": "%"    },    {      "@type": "PropertyValue",      "name": "CyberGhost – Accessibility score",      "value": 17,      "unitText": "%"    },    {      "@type": "PropertyValue",      "name": "AdGuard VPN – Accessibility score",      "value": 17,      "unitText": "%"    },    {      "@type": "PropertyValue",      "name": "PrivadoVPN – Accessibility score",      "value": 10,      "unitText": "%"    },    {      "@type": "PropertyValue",      "name": "Hotspot Shield – Accessibility score",      "value": 23,      "unitText": "%"    },    {      "@type": "PropertyValue",      "name": "TunnelBear – Accessibility score",      "value": 74,      "unitText": "%"    }  ]}</script>        <div id="fv-chart-1765993020521-aorml67bt" class="fv-chart-wrapper ">        <div class="fv-inner-wrapper">            <h3 class="fv-chart-title">Website Accessibility Scores</h3>            <p class="fv-chart-subhead">AccessibilityChecker audit of the home pages of each VPN website</p>                        <div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1765993020521-aorml67bt-bar-Accessibility score" data-chart-type="Bar" style=""><div class="fv-benchmark-group"><h4 class="fv-benchmark-title">Accessibility score</h4><div class="fv-bar-row" title="NordVPN - Accessibility score: 83 Percent">                <div class="fv-bar-label fv-primary-product">NordVPN</div>                <div class="fv-bar-container">                    <div class="fv-bar" style="width: 0%; background-color: #0033A0;" data-target-width="83">                        <div class="fv-bar-inner-content"><span></span><span class="fv-bar-inner-value">83</span></div>                    </div>                                    </div>            </div><div class="fv-bar-row" title="Surfshark - Accessibility score: 41 Percent">                <div class="fv-bar-label ">Surfshark</div>                <div class="fv-bar-container">                    <div class="fv-bar" style="width: 0%; background-color: #1CA9C4;" data-target-width="41">                        <div class="fv-bar-inner-content"><span></span><span class="fv-bar-inner-value">41</span></div>                    </div>                                    </div>            </div><div class="fv-bar-row" title="ExpressVPN - Accessibility score: 23 Percent">                <div class="fv-bar-label ">ExpressVPN</div>                <div class="fv-bar-container">                    <div class="fv-bar" style="width: 0%; background-color: #E33235;" data-target-width="23">                        <div class="fv-bar-inner-content"><span></span><span class="fv-bar-inner-value">23</span></div>                    </div>                                    </div>            </div><div class="fv-bar-row" title="Proton VPN - Accessibility score: 35 Percent">                <div class="fv-bar-label ">Proton VPN</div>                <div class="fv-bar-container">                    <div class="fv-bar" style="width: 0%; background-color: #9333EA;" data-target-width="35">                        <div class="fv-bar-inner-content"><span></span><span class="fv-bar-inner-value">35</span></div>                    </div>                                    </div>            </div><div class="fv-bar-row" title="PureVPN - Accessibility score: 35 Percent">                <div class="fv-bar-label ">PureVPN</div>                <div class="fv-bar-container">                    <div class="fv-bar" style="width: 0%; background-color: #470ca4;" data-target-width="35">                        <div class="fv-bar-inner-content"><span></span><span class="fv-bar-inner-value">35</span></div>                    </div>                                    </div>            </div><div class="fv-bar-row" title="Mullvad - Accessibility score: 89 Percent">                <div class="fv-bar-label ">Mullvad</div>                <div class="fv-bar-container">                    <div class="fv-bar" style="width: 0%; background-color: #f5cd22;" data-target-width="89">                        <div class="fv-bar-inner-content"><span></span><span class="fv-bar-inner-value">89</span></div>                    </div>                                    </div>            </div><div class="fv-bar-row" title="IPVanish - Accessibility score: 71 Percent">                <div class="fv-bar-label ">IPVanish</div>                <div class="fv-bar-container">                    <div class="fv-bar" style="width: 0%; background-color: #6db642;" data-target-width="71">                        <div class="fv-bar-inner-content"><span></span><span class="fv-bar-inner-value">71</span></div>                    </div>                                    </div>            </div><div class="fv-bar-row" title="CyberGhost - Accessibility score: 17 Percent">                <div class="fv-bar-label ">CyberGhost</div>                <div class="fv-bar-container">                    <div class="fv-bar" style="width: 0%; background-color: #f7c603;" data-target-width="17">                        <div class="fv-bar-inner-content"><span></span><span class="fv-bar-inner-value">17</span></div>                    </div>                                    </div>            </div><div class="fv-bar-row" title="AdGuard VPN - Accessibility score: 17 Percent">                <div class="fv-bar-label ">AdGuard VPN</div>                <div class="fv-bar-container">                    <div class="fv-bar" style="width: 0%; background-color: #2E6E93;" data-target-width="17">                        <div class="fv-bar-inner-content"><span></span><span class="fv-bar-inner-value">17</span></div>                    </div>                                    </div>            </div><div class="fv-bar-row" title="PrivadoVPN - Accessibility score: 10 Percent">                <div class="fv-bar-label ">PrivadoVPN</div>                <div class="fv-bar-container">                    <div class="fv-bar" style="width: 0%; background-color: #E8238C;" data-target-width="10">                        <div class="fv-bar-inner-content"><span></span><span class="fv-bar-inner-value">10</span></div>                    </div>                                    </div>            </div><div class="fv-bar-row" title="Hotspot Shield - Accessibility score: 23 Percent">                <div class="fv-bar-label ">Hotspot Shield</div>                <div class="fv-bar-container">                    <div class="fv-bar" style="width: 0%; background-color: #5DA8D4;" data-target-width="23">                        <div class="fv-bar-inner-content"><span></span><span class="fv-bar-inner-value">23</span></div>                    </div>                                    </div>            </div><div class="fv-bar-row" title="TunnelBear - Accessibility score: 74 Percent">                <div class="fv-bar-label ">TunnelBear</div>                <div class="fv-bar-container">                    <div class="fv-bar" style="width: 0%; background-color: #F06EAF;" data-target-width="74">                        <div class="fv-bar-inner-content"><span></span><span class="fv-bar-inner-value">74</span></div>                    </div>                                    </div>            </div>        <table class="sr-only">            <caption>Accessibility score Data</caption>            <thead><tr><th>Product</th><th>Value (Percent)</th></tr></thead>            <tbody><tr>                <td>NordVPN</td>                <td>83</td>            </tr><tr>                <td>Surfshark</td>                <td>41</td>            </tr><tr>                <td>ExpressVPN</td>                <td>23</td>            </tr><tr>                <td>Proton VPN</td>                <td>35</td>            </tr><tr>                <td>PureVPN</td>                <td>35</td>            </tr><tr>                <td>Mullvad</td>                <td>89</td>            </tr><tr>                <td>IPVanish</td>                <td>71</td>            </tr><tr>                <td>CyberGhost</td>                <td>17</td>            </tr><tr>                <td>AdGuard VPN</td>                <td>17</td>            </tr><tr>                <td>PrivadoVPN</td>                <td>10</td>            </tr><tr>                <td>Hotspot Shield</td>                <td>23</td>            </tr><tr>                <td>TunnelBear</td>                <td>74</td>            </tr></tbody>        </table></div></div></div>                                          <div class="fv-bottom-bar" style="display: flex">                        <div class="fv-footer-content" style="display: block;">                    <div class="rv-chart-caption">NordVPN offers a very easy to navigate website for those with visual accessibility needs. The apps could have better keyboard-only support, though.</div>                </div>        <img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo" />      </div>            </div>    </div>            <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async=""></script>    <script>          (function() {      function initialize() {        var chartWrapper = document.getElementById('fv-chart-1765993020521-aorml67bt');        if (!chartWrapper) {          console.error('Chart wrapper with ID fv-chart-1765993020521-aorml67bt not found.');          return;        }                function animateBars(chartElement) {          if (!chartElement) return;          var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');          bars.forEach(function(bar, index) {            var targetWidth = bar.dataset.targetWidth;            if (targetWidth === undefined) return;            // Bars start at width: 0% in HTML, so we just animate them            setTimeout(function() {              bar.style.width = targetWidth + '%';            }, index * 50 + 100);          });        }        function animateLineChart(chartElement) {          if (!chartElement) return;          var lineSvg = chartElement.querySelector('svg');          if (!lineSvg) return;          var paths = lineSvg.querySelectorAll('.riv-line-path');          paths.forEach(function(p, i) {            if (typeof p.getTotalLength === 'function') {              var len = p.getTotalLength();              p.style.transition = 'none';              p.style.strokeDasharray = len;              p.style.strokeDashoffset = len;              p.getBoundingClientRect();              setTimeout(function() {                p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's';                p.style.strokeDashoffset = '0';              }, 100);            }          });          var dots = lineSvg.querySelectorAll('.riv-dot');          dots.forEach(function(dot, i) {            dot.style.opacity = '0';            setTimeout(function() {                dot.style.transition = 'opacity 0.3s ease';                dot.style.opacity = '1';            }, 500 + i * 10);          });        }                        var charts = chartWrapper.querySelectorAll('.fv-chart-item');        // Animate initial view        if ("All Charts" === "All Charts") {          charts.forEach(function(chart) {            var chartType = chart.dataset.chartType;            if (chartType === 'Line') {              animateLineChart(chart);                          } else if (chartType !== 'Pie') {              animateBars(chart);            }          });        } else if (charts.length > 0) {          var firstChart = charts[0];          var firstChartType = firstChart.dataset.chartType;          if (firstChartType === 'Line') {            animateLineChart(firstChart);                      } else if (firstChartType !== 'Pie') {            animateBars(firstChart);          }        }                if (charts.length > 1 && "All Charts" !== "All Charts") {          var currentChartIndex = 0;          var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');          var captionEl = chartWrapper.querySelector('.rv-chart-caption');                    var placeholderSubhead = "Subhead to describe the test and what's being measured and why";          var placeholderCaption = "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized";          var globalSubheadJSON = "AccessibilityChecker audit of the home pages of each VPN website";          var globalCaptionJSON = "NordVPN offers a very easy to navigate website for those with visual accessibility needs. The apps could have better keyboard-only support, though.";          var globalSubhead = globalSubheadJSON === placeholderSubhead ? '' : globalSubheadJSON;          var globalCaption = globalCaptionJSON === placeholderCaption ? '' : globalCaptionJSON;          var subheadOverrides = {};          var captionOverrides = {};          var chartInfo = [{"id":"bar-Accessibility score","title":"Accessibility score"}];          var captionOverrideKeys = Object.keys(captionOverrides);          var singleCaptionOverrideValue = captionOverrideKeys.length === 1 ? captionOverrides[captionOverrideKeys[0]] : null;          if (singleCaptionOverrideValue === placeholderCaption) {            singleCaptionOverrideValue = '';          }          function showChart(index) {            if (index < 0 || index >= charts.length) return;            charts.forEach(function(chart, i) {              chart.style.display = i === index ? 'block' : 'none';            });            currentChartIndex = index;                        var activeChart = charts[index];            var chartType = activeChart.dataset.chartType;            if (chartType === 'Line') {                animateLineChart(activeChart);                            } else if (chartType !== 'Pie') {                animateBars(activeChart);            }                        var activeChartId = chartInfo[index].id;            if (subheadEl) {              var subheadContent = (subheadOverrides[activeChartId] !== undefined)                ? (subheadOverrides[activeChartId] === placeholderSubhead ? '' : subheadOverrides[activeChartId])                : globalSubhead;              subheadEl.innerHTML = subheadContent;            }            if (captionEl) {                var captionContent;                if (captionOverrides[activeChartId] !== undefined) {                    captionContent = captionOverrides[activeChartId] === placeholderCaption ? '' : captionOverrides[activeChartId];                } else if (singleCaptionOverrideValue !== null) {                    captionContent = singleCaptionOverrideValue;                } else {                    captionContent = globalCaption;                }                                captionEl.innerHTML = captionContent;                var captionContainer = captionEl.closest('.fv-footer-content');                if (captionContainer) {                    var hasContent = captionContent && captionContent.trim() !== '';                    var shouldShow = hasContent || (captionContainer.parentElement && captionContainer.parentElement.querySelector('.fv-logo'));                    if (captionContainer.parentElement) captionContainer.parentElement.style.display = shouldShow ? 'flex' : 'none';                    captionContainer.style.display = hasContent ? 'block' : 'none';                }            }                        var dropdown = chartWrapper.querySelector('.fv-dropdown');            if (dropdown) dropdown.value = index;            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            if (carouselTitle) carouselTitle.innerHTML = chartInfo[index].title;                        var counter = chartWrapper.querySelector('.fv-carousel-counter');            if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;          }          var dropdown = chartWrapper.querySelector('.fv-dropdown');          if (dropdown) dropdown.addEventListener('change', function(e) { showChart(parseInt(e.target.value)) });          var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');          if (prevBtn) prevBtn.addEventListener('click', function() { showChart((currentChartIndex - 1 + charts.length) % charts.length) });          var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');          if (nextBtn) nextBtn.addEventListener('click', function() { showChart((currentChartIndex + 1) % charts.length) });        }        chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {            var chartId = legend.dataset.chart;            var chart = document.getElementById(chartId); // Uses page-unique ID            if (!chart) return;            var lines = chart.querySelectorAll('.riv-line-path');            var dots = chart.querySelectorAll('.riv-dot');            legend.querySelectorAll('.riv-legend-item').forEach(function(item) {                var productName = item.dataset.product;                var line = chart.querySelector('.riv-line-path[data-product="' + productName + '"]');                var productDots = chart.querySelectorAll('.riv-dot[data-product="' + productName + '"]');                var highlight = function() {                    if (legend.querySelector('.isolated')) return;                    lines.forEach(function(l) { l.style.opacity = '0.3' });                    dots.forEach(function(d) { d.style.opacity = '0.3' });                    if (line) line.style.opacity = '1';                    productDots.forEach(function(d) { d.style.opacity = '1' });                };                var clearHighlight = function() {                    if (legend.querySelector('.isolated')) return;                    lines.forEach(function(l) { l.style.opacity = '1' });                    dots.forEach(function(d) { d.style.opacity = '1' });                };                                var toggleIsolate = function() {                    var isIsolated = item.classList.contains('isolated');                    legend.querySelectorAll('.riv-legend-item').forEach(function(i) { i.classList.remove('isolated') });                                        if (isIsolated) {                        lines.forEach(function(l) { l.style.opacity = '1' });                        dots.forEach(function(d) { d.style.opacity = '1' });                    } else {                        item.classList.add('isolated');                        lines.forEach(function(l) { l.style.opacity = '0.3' });                        dots.forEach(function(d) { d.style.opacity = '0.3' });                        if (line) line.style.opacity = '1';                        productDots.forEach(function(d) { d.style.opacity = '1' });                    }                };                item.addEventListener('mouseenter', highlight);                item.addEventListener('focus', highlight);                item.addEventListener('mouseleave', clearHighlight);                item.addEventListener('blur', clearHighlight);                item.addEventListener('click', toggleIsolate);                item.addEventListener('keydown', function(e) {                    if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); toggleIsolate(); }                });            });        });      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', initialize);      } else {        initialize();      }      function sendMessageToParentWindow(typeOfMessage, message = null) {          let url = (window.location.ancestorOrigins && window.location.ancestorOrigins.length > 0) ? window.location.ancestorOrigins[0] : '*';          window.parent.postMessage({ analytics: { ...message } }, url);      }      sendMessageToParentWindow('analytics', { type: "fv-loaded", timestamp: new Date().toISOString() });    })();      </script>  </div><p>The site passed all interaction and navigational checks. One element failed a screenreader test due to a prohibited ARIA attribute, and 36 elements failed visual and structural accessibility tests because of poor contrast between foreground and background.</p><div class="collapsible-block-start"></div><div class="collapsible-block-title"read-more-about-nordvpn-s-accessibility"><p>Read more about NordVPN's accessibility ▼</p></div><p>On investigating the contrast issue, it turned out it referred to text that became clearer when scrolled over.</p><p>Looking at NordVPN on desktop, we found it supports 13 languages, including options including English, French, German, Italian, Polish, Portuguese, Japanese, Korean and Chinese (Simplified and Traditional.)</p><p>However, much like Surfshark, it lacked others, including Arabic, Turkish, and Swedish. This seems a simple enough area both NordVPN and Surfshark can improve on, especially since providers such as <a href="https://www.techradar.com/reviews/norton-secure-vpn">Norton VPN</a> and Proton VPN have 26 and 28 languages supported, respectively.</p><p>Keyboard support on NordVPN is also not the best. Disconnecting our mouse for a second, it quickly became apparent that doing anything other than actually connecting to a VPN server wasn't easy enough.</p><p>Unless you’d happened to connect to where you wanted to recently – so it’d appear in your ‘Recent Connections’ list – it was nearly impossible to get a connection going. Using Meshnet, Threat Protection Pro, or anything else, however, was simple.</p><p>An easy comparison to make here is with PIA, whose app allows you to scroll its country list, highlight a country, and connect within a few taps of the keyboard – it really should be this simple.</p><p><strong>Score: 2/5</strong></p><div class="collapsible-block-end"></div><h2 class="article-body__section" id="section-customer-support"><span>Customer support</span></h2><ul><li><strong>24/7 live chat and email support</strong> available alongside a support site</li><li><strong>Easy access to support</strong> via the apps</li><li><strong>Excellent</strong> online user guides.</li></ul><p>NordVPN offers several customer support options, including a support site, 24/7 live chat, and a 24/7 email ticketing system.</p><p>Usefully, the app gives you easy access to raising a ticket or accessing the support site if you need help.</p><p>We found running diagnostic testing from within the app when you encounter a problem helps speed up the support process, as it reduces the number of additional questions agents need to ask. You can even include a list of apps installed on the impacted device in case any of them may be a contributing factor that the support agent can identify.</p><p>Putting its Live Chat service to the test, we found it sufficiently responsive, with an agent responding typically after 2-3 minutes. Its email service wasn’t so hasty. We had to wait around 18 hours before receiving a response to our test question. </p><p>Despite its sluggishness, the email system was effective. Our agent solved our test issue by asking a selection of relevant questions at once, collecting our responses, and using them to diagnose the problems.</p><div class="collapsible-block-start"></div><div class="collapsible-block-title"read-more-about-nordvpn-s-customer-support"><p>Read more about NordVPN's customer support ▼</p></div><p>It was also refreshing to avoid the typical customer support responses of “have you reinstalled the app?” or “have you cleared your cookies?” since the questions we were asked required detailed enough responses that there was no need. This also reduced the amount of back-and-forth required to resolve our test issues. </p><p>NordVPN’s customer support page is also very helpful. It doesn't bombarded the reader with category options to click between straight away, as is expected nowadays. Instead, you’re greeted by five overarching categories, one of which is about exploring other Nord Security products. So, in reality, four categories, and a search bar.</p><p>There is a trade-off for usability, though. For example, entering any of the categories removes the search bar from your screen, forcing you instead to use the breadcrumb trail at the top of the page to return to the main screen and search from there. </p><p>This leaves you doing a lot of unnecessary navigation if you’re merely looking for a quick fix, especially if you’ve clicked through several options in the categories already to try and find your answers that way.</p><p>To NordVPN's credit, once you find the article you need, it's usually extremely helpful.</p><p>For example, Nord’s proxy setup guide for uTorrent not only gives you the super-clear steps you need, but it also tells you how to then check that what you’ve done is working.</p><p>This is great for any kind of VPN user and typically of how strong NordVPN is on customer support.</p><p><strong>Score: 4/5</strong></p><div class="collapsible-block-end"></div><h2 class="article-body__section" id="section-user-reviews"><span>User reviews</span></h2><p>Although all review sites should be approached with a level of skepticism, they do offer a good enough gauge of how trustworthy a VPN is and how well it performs if you’re looking at a quick glance. </p><p>Across Google Play and the App Store, NordVPN has ratings equal to the very top VPNs. Its rating on TrustPilot is lower than most at only 4.2 out of 5, with 12% of the 44,000+ reviews being 1-star too.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Google Play</p></th><th  ><p>App Store</p></th><th  ><p>Trustpilot</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>NordVPN</p></td><td  ><p>4.6</p></td><td  ><p>4.7</p></td><td  ><p>4.2</p></td></tr><tr><td class="firstcol " ><p>Windscribe</p></td><td  ><p>4.6</p></td><td  ><p>4.6</p></td><td  ><p>4.7</p></td></tr><tr><td class="firstcol " ><p>Surfshark</p></td><td  ><p>4.5</p></td><td  ><p>4.7</p></td><td  ><p>4.5</p></td></tr><tr><td class="firstcol " ><p>PIA</p></td><td  ><p>4.6</p></td><td  ><p>4.7</p></td><td  ><p>4.3</p></td></tr><tr><td class="firstcol " ><p>ExpressVPN</p></td><td  ><p>4.4</p></td><td  ><p>4.7</p></td><td  ><p>4.2</p></td></tr></tbody></table></div><p>The majority of negative reviews on Trustpilot surround NordVPN’s auto-renewals, which, should you be worried about it, can be turned off in a matter of clicks. We recommend doing this early on in your subscription to ensure you’re not stung down the line.</p><h2 class="article-body__section" id="section-track-record-can-you-trust-nordvpn"><span>Track record: can you trust NordVPN?</span></h2><ul><li><strong>Reasonably spotless reputation </strong>throughout its history.</li><li><strong>2018 breach is only notable blot</strong> on its record.</li><li><strong>Currently facing some lawsuits</strong> around its auto-renewal practices.</li></ul><p>NordVPN’s history is, for the most part, positive, though 2018 proved to be a tricky year.</p><p>A breach in March 2018 saw NordVPN’s reputation tarnished, in part due to the obvious security concerns, but mainly since it didn’t admit to the breach for another 18 months, with the announcement coming only in October 2019.</p><p>The breach was only to one VPN server in Finland, and NordVPN explained in the belated announcement that none of NordVPN’s own servers were compromised, claiming the breach “was made possible by poor configuration on a third-party data center’s part”.</p><p>NordVPN was supposedly only made aware of the issue in April 2019, prompting a review and the consequent delay in announcing the breach to customers. </p><p>It’s not thought that any identifiable data was stolen in the breach, due to its small scale and the fact that it didn’t breach Nord’s central infrastructure, and all 5,000 servers NordVPN used at the time were audited on the breach’s discovery to remove further vulnerabilities.</p><div class="collapsible-block-start"></div><div class="collapsible-block-title"read-more-about-nordvpn-s-track-record"><p>Read more about NordVPN's track record ▼</p></div><p>NIST’s vulnerability database also has three weaknesses on record from that same year, though thankfully, none in the seven years since, suggesting that there’s little to worry about now. </p><p>In 2019, NordVPN would become one of the founding members of the <a href="https://www.techradar.com/news/expressvpn-nordvpn-back-vpn-alliances-new-vti-principles">VPN Trust Initiative (VTI)</a>, an industry-led consortium focused on “improving digital safety for consumers by building understanding, strengthening trust, and mitigating risk for VPN users”.</p><p>This consortium also consists of ExpressVPN, StrongVPN, Surfshark, and <a href="http://encrypt.me">encrypt.me</a>, and aims to improve public trust in VPNs and help users make informed decisions.</p><p>While this bears no direct impact on its reputation, it’s a clear sign of good intent from NordVPN that has shown little reason to be doubted since.</p><p>NordVPN would go on to experience around five years with its reputation out of the spotlight, but a lawsuit against its auto-renewal practices would abruptly end this.</p><p>Wittels McInturff Palikovic (WMP) filed a $100m lawsuit against the VPN provider, alleging that it "uses deceptive and illegal auto-renewal practices" in August 2024. In May 2025, a second action was filed on similar grounds.  </p><p>While this case remains ongoing, the topic of auto-renewals remains on the lips of almost all VPN users, with many of the <a href="https://www.techradar.com/vpn/best-vpn">best VPNs</a> adopting similar practices.</p><p>This has lead to similar instances across the industry of users facing unexpected payments for subscriptions and getting pretty upset about it.</p><p>If you’re concerned about getting stung, we recommend turning off auto-renewal once you’re logged into NordVPN. You can do that as soon as you've installed it in a matter of a few clicks.</p><p>NordVPN's latest headache came in January 2026, when <a href="https://www.techradar.com/vpn/vpn-services/nordvpn-denies-data-breach-after-hackers-claim-salesforce-leak-heres-everything-we-know-so-far">a hacker claimed to have breached a NordVPN development server</a>. No sensitive user information was compromised in the alleged breach, and NordVPN has continuously denied its success. </p><p><strong>Score: 4/5</strong></p><div class="collapsible-block-end"></div><h2 class="article-body__section" id="section-final-verdict"><span>Final verdict</span></h2><figure class="van-image-figure pull-left inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1024px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="KUA6mAHyebQs5vgkbGjJ9V" name="review-score-90" alt="Review score 90" src="https://cdn.mos.cms.futurecdn.net/KUA6mAHyebQs5vgkbGjJ9V-1920-80.jpg" mos="" align="left" fullscreen="" width="1024" height="1024" attribution="" endorsement="" class="pull-leftinline" /></p></div></div><figcaption itemprop="caption description" class="pull-left inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Gemini)</span></figcaption></figure><p>NordVPN is the <a href="https://www.techradar.com/vpn/best-vpn">best VPN</a> for most people. While it’s more expensive than Surfshark, it has superior streaming performance, comparable speeds, and a suite of features, including the <a href="https://www.techradar.com/best/password-manager">best password manager</a> available, depending on the plan you choose. </p><p>We recommend a NordVPN Plus plan over its other alternatives. It provides tools, including premium password management and ad and tracker protection, as well as malware blocking and data breach alerts, all alongside its full VPN capabilities.</p><h2 id="who-should-use-nordvpn">Who should use NordVPN?</h2><p><strong>✅  Those looking for top streaming performance: </strong>NordVPN performed near-flawlessly across our streaming tests. It had no issue unblocking any provider we threw at it aside YouTube US and Prime Video Australia. It never struggles with buffering or unexpected dropouts. Plus, it has apps for almost any platform you might wish to stream on. </p><p><strong>✅ </strong> <strong>Those wanting a top password manager alongside the VPN: </strong>Included in Plus plans and above, <a href="https://www.techradar.com/reviews/nordpass">NordPass</a> ranks as our top password manager right now. It offers passkey support, features including secure password sharing and strength detection, and is compatible with almost any platform. </p><p><strong>✅  Those wanting effective ad and malware blocking:</strong> NordVPN Threat Protection Pro performed the best in our latest testing for protection against malware and blocking ads.</p><div class="product"><a data-dimension112="d9891db8-c1cb-11f1-907a-370cff521b83" data-action="Deal Block" data-label="Try NordVPN from $3.39 per month" data-dimension48="Try NordVPN from $3.39 per month" href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:200px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="x3Zrr6LPF4qKNzdXj4H4t6" name="NordVPN deal image.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/x3Zrr6LPF4qKNzdXj4H4t6-1920-80.jpg" mos="" align="middle" fullscreen="" width="200" height="200" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p><a href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow" data-dimension112="d9891db8-c1cb-11f1-907a-370cff521b83" data-action="Deal Block" data-label="Try NordVPN from $3.39 per month" data-dimension48="Try NordVPN from $3.39 per month" data-dimension25=""><strong>Try NordVPN from $3.39 per month</strong></a></p><p>If you’re looking for the best value NordVPN plan, you should pick up a Plus plan. Available in every region, you can find NordVPN, the Plus plan, which gives you a strong mix of security features in addition to the VPN. These include NordPass, Threat Protection Pro, and data breach alerts. All NordVPN plans come with a 30-day money-back guarantee in case you don't like it. We've tried the guarantee for ourselves and it works.<a class="view-deal button" href="http://go.nordvpn.net/aff_c?offer_id=564&amp;aff_id=3013&amp;url_id=31010&amp;aff_sub1=TR" target="_blank" rel="nofollow" data-dimension112="d9891db8-c1cb-11f1-907a-370cff521b83" data-action="Deal Block" data-label="Try NordVPN from $3.39 per month" data-dimension48="Try NordVPN from $3.39 per month" data-dimension25="">View Deal</a></p></div><h2 id="who-should-try-a-different-vpn-instead">Who should try a different VPN instead?</h2><p>❌<strong> Those wanting full antivirus protection included: </strong>While Threat Protection Pro offers solid security capabilities, it is by no means a fully-fledged antivirus. Providers such as Surfshark offer true antivirus protection in their more premium plans, alongside features included with NordVPN such as ad and malware protection. </p><div class="product"><a data-dimension112="d9891ed0-c1cb-11f1-8b7b-b3639a1fdc47" data-action="Deal Block" data-label="from $1.99 per month" data-dimension48="from $1.99 per month" href="http://get.surfshark.net/aff_c?offer_id=61&amp;aff_id=1691&amp;url_id=2409&amp;aff_sub2=free" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:200px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="pSwRio45uPDhdN5egHcYF" name="Surfshark deal image.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/pSwRio45uPDhdN5egHcYF-1920-80.jpg" mos="" align="middle" fullscreen="" width="200" height="200" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p><strong>Surfshark</strong>: <a href="http://get.surfshark.net/aff_c?offer_id=61&amp;aff_id=1691&amp;url_id=2409&amp;aff_sub2=free" target="_blank" rel="nofollow" data-dimension112="d9891ed0-c1cb-11f1-8b7b-b3639a1fdc47" data-action="Deal Block" data-label="from $1.99 per month" data-dimension48="from $1.99 per month" data-dimension25="">from $1.99 per month</a><br /><strong>The best cheap VPN</strong><br />Surfshark is the second-best VPN we’ve tested overall, offers P2P optimization on all its servers, and even offers full antivirus protection on its One and One+ plans. What’s more, it’s over $1/month cheaper than NordVPN, and comes with unique features including Alternative ID, which enables you to spoof your name, address, and email – you can even spoof your phone number if you’re located in the US!<a class="view-deal button" href="http://get.surfshark.net/aff_c?offer_id=61&amp;aff_id=1691&amp;url_id=2409&amp;aff_sub2=free" target="_blank" rel="nofollow" data-dimension112="d9891ed0-c1cb-11f1-8b7b-b3639a1fdc47" data-action="Deal Block" data-label="from $1.99 per month" data-dimension48="from $1.99 per month" data-dimension25="">View Deal</a></p></div><h2 id="nordvpn-faqs">NordVPN FAQs</h2><section class="article__schema-question"><h3>Does NordVPN have a free trial?</h3><article class="article__schema-answer"><p>NordVPN does offer a free trial; however, it’s only available on its Android and iOS apps. Signing up to NordVPN from anywhere other than Apple’s App Store or the Google Play Store will only give you access to NordVPN’s 30-day money-back guarantee. </p></article></section><section class="article__schema-question"><h3>Does NordVPN work in China?</h3><article class="article__schema-answer"><p>Yes, our latest testing indicates that NordVPN not only works in China, but is also among the <a href="https://www.techradar.com/news/best-vpn-for-china-our-5-top-choices" target="_blank">best VPNs for China</a>. </p></article></section><section class="article__schema-question"><h3>Is NordVPN blocked by Netflix?</h3><article class="article__schema-answer"><p>No, our testing indicates that NordVPN works perfectly with Netflix. In fact, we rate it among the <a href="https://www.techradar.com/vpn/best-netflix-vpn">best VPNs for Netflix</a></p></article></section><h3 class="article-body__section" id="section-nordvpn-testing-methodology"><span>NordVPN testing methodology</span></h3><p>Throughout this review, I'll refer to things either 'I' or 'we' have seen. Whenever I say 'I' have seen something, this means it is something I, Rob Dunne, and I've seen it in hands-on testing of NordVPN.</p><p>When talking about things that 'we' have seen, this refers to anything uncovered during our technical lab testing. This is performed by <a href="https://www.techradar.com/author/mike-williams">VPN Technical Editor, Mike Williams</a>.</p><p>We test each VPN every six months. These tests cover speed, ad-blocking, anti-phishing and malware, streaming service unblocking, and local <a href="https://www.techradar.com/pro/what-is-an-ip-address">IP address</a> leaks. Plus,  the server networks are spot-checked to confirm that the <a href="https://www.techradar.com/pro/vpn/what-are-vpn-servers">VPN server</a> locations are accurate. We also check through each <a href="https://www.techradar.com/vpn/best-vpn">VPN</a> provider's security credentials, privacy policy, and executable files.</p><p>You can take a look at our <a href="https://www.techradar.com/vpn/latest-vpn-testing-and-results">VPN testing methodology</a> to see the full measures we put each VPN through.</p><p>The TechRadar VPN team fact-checks every VPN review we write, using our own research and knowledge alongside information provided by NordVPN. We update this review regularly to include any new features or information about the product, ensuring that what you’re reading is 100% up to date and as you would find the product if you downloaded and used it today.</p><p>If you notice anything while using NordVPN that doesn't match what you read on this page, please let us know in the comments or by emailing us. We will then do our best to offer product support information or include corrections and warnings to other users, depending on which is appropriate.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Dyson W1 PencilWash review: a terrific lightweight power mop with marathon runtime ]]></title>
                                                                                                <dc:content><![CDATA[ <h2 class="article-body__section" id="section-dyson-w1-pencilwash-30-second-review"><span>Dyson W1 PencilWash: 30-second review</span></h2><p>Dyson has updated its lightweight wet floor cleaner with a redesigned floorhead and extra-long battery life, without increasing the price. The second-generation PencilWash takes the best features of the original — its lightweight build, ease of use, and effective wet cleaning — and adds thoughtful features that add up to make it an even better everyday cleaning tool.</p><p>The cleaning head’s plush-feeling roller is now sprinkled with stiffer bristles to tackle welded-on stains effectively without scuffing your floor. The upgraded clean water tank is larger and fully detachable, and emptying soiled water is less messy too. After mopping, your floors will be dry and ready to walk on almost immediately.</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="sQD2xRELmM9DDgbFfffoQc" name="pwash-2" alt="Dyson W1 PencilWash microfiber roller" src="https://cdn.mos.cms.futurecdn.net/sQD2xRELmM9DDgbFfffoQc-1920-80.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="caption-text">Look closely and you'll see rows of small red bristles embedded in the W1 PencilWash's upgraded microfiber roller </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>It’s an excellent package, but before buying, note that Dyson has now cut the price of the <a href="https://www.techradar.com/home/vacuums/dyson-pencilwash-review">original PencilWash</a> to just $199.99 / £179 in the US and UK respectively. That’s great value, and it could be all you need if you want to spruce up a relatively small home.</p><p>For me, the only real drawback of the W1 PencilWash was that hair tended to get wrapped around one of the wheels underneath the floor head, rather than sticking to the roller and being scraped off by Dyson’s new metal comb.</p><p>Note that the PencilWash isn’t a vacuum cleaner, and has no suction. If you’re looking for a slim and lightweight vacuum, take a look at the <a href="https://www.techradar.com/home/vacuums/dyson-pencilvac-fluffycones-review">Dyson PencilVac</a> instead.</p><h2 class="article-body__section" id="section-dyson-w1-pencilwash-price-and-availability"><span>Dyson W1 PencilWash: price and availability</span></h2><ul><li><strong>Went on sale in October 2026</strong></li><li><strong>List price $349.99 / £299.99 in the US and UK</strong></li><li><strong>Not yet available in Australia, but likely to be AU$549</strong></li></ul><p>Dyson announced the W1 PencilWash at its Dyson Unveiled event in September 2026, and the product launched globally in October the same year — nine months after the original PencilWash.</p><p>It has a list price of $349.99 / £299.99, which is the same as the original PencilWash at launch, though you may also be able to find it cheaper (for example, Dyson is offering a $100 discount in its US store at the time of writing). The W1 PencilWash isn’t yet available in Australia, but I would expect it to be AU$549 when it arrives. </p><p>That's relatively expensive for a wet-only floor cleaner, and there are several excellent wet-and-dry vacuums available for about the same price. For comparison, the <a href="https://www.techradar.com/home/vacuums/bissell-crosswave-hydroscrub-review">Bissell Crosswave HydroScrub</a> wet/dry floor cleaner is $369.99 (about £280 / AU$540), while the <a href="https://www.techradar.com/home/vacuums/shark-hydrovac-cordless-review">Shark HydroVac Cordless WD201 / WD210 </a>is $359.99 / £329.99 / AU$399.99.</p><p>What you're paying for here is the light weight and compact design, which will be better suited to apartments and other small homes than a bulky wet-dry cleaner.</p><ul><li><strong>Value score: 4/5</strong></li></ul><h2 class="article-body__section" id="section-dyson-w1-pencilwash-design"><span>Dyson W1 PencilWash: design</span></h2><ul><li><strong>New stiffer bristles in microfiber roller</strong></li><li><strong>Clean water tank is larger and fully removable</strong></li><li><strong>Emptying waste water is less messy</strong></li></ul><p>At first glance, the W1 PencilWash looks very similar to its predecessor, with a slender handle (this time colored indigo rather than copper), and one of Dyson’s Submarine floor heads. A tank at the back of the floorhead dispenses water onto a microfiber roller, and a squeegee-like blade squeezes dirty water out, and dispenses it into a separate tank inside. </p><p>On closer inspection, however, there are a few significant differences. The most obvious change is the floorhead’s microfiber roller, which is now scattered with stiffer fibers to more effectively scrub away stubborn dirt. There is also a new metal comb designed to detangle and scrape hair off the roller. (Both of these features are borrowed from the bulkier <a href="https://www.techradar.com/home/vacuums/dyson-clean-wash-hygiene-review">Dyson Clean+Wash Hygiene</a> wet cleaner, which launched at the start of 2026.)</p><p>The head disassembles into more parts, as you can see below. Most significantly, the clean water tank is now fully removable, making it easier to fill at the sink, and has a significantly larger capacity so you can keep cleaning for longer. </p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1793794971260-etb6hjh9x *, #fv-chart-1793794971260-etb6hjh9x *:before, #fv-chart-1793794971260-etb6hjh9x *:after, #fv-chart-1793794971260-etb6hjh9x-slideshow *, #fv-chart-1793794971260-etb6hjh9x-slideshow *:before, #fv-chart-1793794971260-etb6hjh9x-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1793794971260-etb6hjh9x, #fv-chart-1793794971260-etb6hjh9x-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793794971260-etb6hjh9x { position: relative !important; overflow: visible !important; --riv-primary: #2E6E93; } #fv-chart-1793794971260-etb6hjh9x .fv-inner-wrapper { color: #1F2937 !important; background-color: #ffffff !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1793794971260-etb6hjh9x .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1793794971260-etb6hjh9x.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1793794971260-etb6hjh9x.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793794971260-etb6hjh9x .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793794971260-etb6hjh9x-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #2E6E93; } #fv-chart-1793794971260-etb6hjh9x-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1793794971260-etb6hjh9x-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1793794971260-etb6hjh9x-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1793794971260-etb6hjh9x-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1793794971260-etb6hjh9x-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1793794971260-etb6hjh9x-slideshow .fv-nav-btn.disabled, #fv-chart-1793794971260-etb6hjh9x-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1793794971260-etb6hjh9x-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1793794971260-etb6hjh9x-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1793794971260-etb6hjh9x-slideshow .fv-slideshow-select:focus { outline: 2px solid #2E6E93 !important; border-color: #2E6E93 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1793794971260-etb6hjh9x .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1793794971260-etb6hjh9x .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1793794971260-etb6hjh9x .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1793794971260-etb6hjh9x .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793794971260-etb6hjh9x .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1793794971260-etb6hjh9x .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1793794971260-etb6hjh9x .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1793794971260-etb6hjh9x .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793794971260-etb6hjh9x .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1793794971260-etb6hjh9x .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1793794971260-etb6hjh9x .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1793794971260-etb6hjh9x .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1793794971260-etb6hjh9x .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-row, #fv-chart-1793794971260-etb6hjh9x .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1793794971260-etb6hjh9x.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793794971260-etb6hjh9x.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1793794971260-etb6hjh9x.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1793794971260-etb6hjh9x .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1793794971260-etb6hjh9x .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1793794971260-etb6hjh9x .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1793794971260-etb6hjh9x .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1793794971260-etb6hjh9x .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1793794971260-etb6hjh9x .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1793794971260-etb6hjh9x .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dials-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important; gap: 1.5rem 1rem !important; width: 100% !important; margin: 0.75rem 0 1.25rem !important; align-items: start !important; justify-items: center !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dial-card { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; width: 100% !important; max-width: 220px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dial-title { font-family: 'Poppins', 'Open Sans', sans-serif !important; font-size: 18px !important; font-weight: 700 !important; color: #2b2b2b !important; line-height: 1.25 !important; margin-bottom: 0.35rem !important; text-align: center !important; width: 100% !important; overflow-wrap: break-word !important; text-transform: none !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dial-svg-wrapper { width: 100% !important; max-width: 200px !important; display: flex !important; justify-content: center !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dial-svg { width: 100% !important; height: auto !important; display: block !important; overflow: visible !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dial-needle { transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dial-commentary { margin-top: 0.35rem !important; font-size: 13px !important; line-height: 1.45 !important; color: #4B5563 !important; text-align: center !important; width: 100% !important; padding: 0 4px !important; font-family: 'Open Sans', sans-serif !important; word-wrap: break-word !important; } #fv-chart-1793794971260-etb6hjh9x.preview-wrapper .fv-dial-commentary-input { min-height: 22px !important; border: 1px dashed transparent !important; border-radius: 4px !important; transition: border-color 0.15s ease, background-color 0.15s ease !important; } #fv-chart-1793794971260-etb6hjh9x.preview-wrapper .fv-dial-card:hover .fv-dial-commentary-input, #fv-chart-1793794971260-etb6hjh9x.preview-wrapper .fv-dial-commentary-input:focus { border-color: #CBD5E1 !important; background-color: rgba(241, 245, 249, 0.6) !important; } #fv-chart-1793794971260-etb6hjh9x .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1793794971260-etb6hjh9x .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1793794971260-etb6hjh9x .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1793794971260-etb6hjh9x .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1793794971260-etb6hjh9x .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1793794971260-etb6hjh9x .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; } #fv-chart-1793794971260-etb6hjh9x.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-label-left { left: 1rem !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-label-right { right: 1rem !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-expand-btn, #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-expand-btn:hover, #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-pie-container, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-bar-row, #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-stacked-product, #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-grouped-bar-product, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-bar-row, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-stacked-product, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-bar-label, #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-grouped-product-title, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-bar-label, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-bar-container, #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-bar-cluster, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-bar-container, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-x-axis-wrapper, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-x-axis-label-space, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-x-axis-chart-space, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-benchmark-title, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-dropdown-title, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-carousel-nav-btn, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-chart-title, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-chart-subhead, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-versus-header, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-versus-select-wrapper, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-versus-vs, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-versus-select-container, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-versus-select, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-stl-shop-all-btn, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-stl-shop-all-logo, #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-stl-shop-all-icon, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-bar-commentary-inline, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-dials-grid, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-dial-title, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-dial-title { font-size: 16px !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1793794971260-etb6hjh9x .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793794971260-etb6hjh9x .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-row, #fv-chart-1793794971260-etb6hjh9x .fv-stacked-product, #fv-chart-1793794971260-etb6hjh9x .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-label, #fv-chart-1793794971260-etb6hjh9x .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-container, #fv-chart-1793794971260-etb6hjh9x .fv-bar-cluster { width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793794971260-etb6hjh9x .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793794971260-etb6hjh9x .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793794971260-etb6hjh9x .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-x-axis-label-space { display: none !important; } #fv-chart-1793794971260-etb6hjh9x .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793794971260-etb6hjh9x .fv-stl-shop-all-logo, #fv-chart-1793794971260-etb6hjh9x .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793794971260-etb6hjh9x .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dial-title { font-size: 16px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793794971260-etb6hjh9x.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Dyson PencilWash floorhead comparison",  "description": "Comparing new Dyson W1 PencilWash and original Dyson PencilWash floorhead components",  "creator": {    "@type": "Organization",    "name": "TechRadar",    "logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-11-04T12:22:51.260Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Image Comparison",    "benchmark",    "comparison",    "performance",    "review",    "TechRadar"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": []}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-11-04T12:22:51.260Z","state":{"data":[],"products":[],"attributes":[],"selectedProducts":[],"selectedPrimaryProduct":null,"selectedAttributes":[],"productColors":[],"initialProductColors":[],"attributeColors":[],"attributeGroups":[],"chartType":"Image Comparison","roundupViewType":"bars","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"TechRadar","logoUrl":"https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/techradar.png","colors":{"primary":"#2E6E93","secondary":"#E8238C","accent":"#FFFFFF","background":"#ffffff","text":"#1F2937","productColors":["#2E6E93","#E8238C","#5DA8D4","#F06EAF","#1A4E6B","#B81C70","#8CC3E0","#F499C9"]}},"textContent":{"title":"Dyson PencilWash floorhead comparison","subhead":"Comparing new Dyson W1 PencilWash and original Dyson PencilWash floorhead components","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false,"imageCompareData":{"image1Url":"https://cdn.mos.cms.futurecdn.net/mc6gH3cLrqtDL6uX4jdcid.jpg","image2Url":"https://cdn.mos.cms.futurecdn.net/Urdmk8UyxWbwtB63ebLtRE.jpg","label1":"Dyson W1 PencilWash","label2":"Original Dyson PencilWash","showTitle":true,"image1Alt":"Dyson W1 PencilWash floorhead disassembled","image2Alt":"Original Dyson PencilWash floorhead disassembled","showSubhead":false}},"slides":[]}</script><div id="fv-chart-1793794971260-etb6hjh9x" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper  fv-is-image-compare  "><h3 class="fv-chart-title">Dyson PencilWash floorhead comparison</h3><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1793794971260-etb6hjh9x-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Comparing new Dyson W1 PencilWash and original Dyson PencilWash floorhead components" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/Urdmk8UyxWbwtB63ebLtRE.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/Urdmk8UyxWbwtB63ebLtRE.jpg" alt="Original Dyson PencilWash floorhead disassembled" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/mc6gH3cLrqtDL6uX4jdcid.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/mc6gH3cLrqtDL6uX4jdcid.jpg" alt="Dyson W1 PencilWash floorhead disassembled" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle "><img src="https://proof.vanilla.tools/media/images/brandLogos/techradar.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">Dyson W1 PencilWash</div><div class="fv-image-compare-label fv-image-compare-label-right">Original Dyson PencilWash</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo" /></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async=""></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }          function animateDials(chartElement) {            if (!chartElement) return;            var needles = chartElement.querySelectorAll('.fv-dial-needle');            needles.forEach(function(needle, index) {              var targetAngle = needle.dataset.targetAngle;              var baseAngle = needle.dataset.baseAngle || '-132';              if (targetAngle === undefined) return;              needle.style.setProperty('transition', 'none', 'important');              needle.style.setProperty('transform', 'rotate(' + baseAngle + 'deg)', 'important');              void needle.getBoundingClientRect();              setTimeout(function() {                needle.style.setProperty('transition', 'transform 0.9s cubic-bezier(0.22, 1, 0.36, 1)', 'important');                needle.style.setProperty('transform', 'rotate(' + targetAngle + 'deg)', 'important');              }, index * 60 + 50);            });          }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                  animateDials(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1793794971260-etb6hjh9x', false); });      } else {        initialize('fv-chart-1793794971260-etb6hjh9x', false);      }    })();      </script></div><p>The dirty water collection tank has also been reworked, and is now much less prone to spills during emptying. It’s still wise to hold the whole floorhead over the sink when removing the cassette, but I found the process much less messy than the original PencilWash. </p><p>Note that the W1 PencilWash has different docks in the US and UK. The UK model, which I tested here, has a charging stand that holds the PencilWash’s handle, and a separate holder for the floorhead.</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="vgAneprjqtkQzQgiH4uGid" name="pwash-5" alt="Dyson W1 PencilWash handle in charging stand, head in drying stand, and bottle of floor cleaner in kitchen" src="https://cdn.mos.cms.futurecdn.net/vgAneprjqtkQzQgiH4uGid-1920-80.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="caption-text">The UK version of the W1 PencilWash has a charging stand for the handle, and a separate holder for the floorhead. The US model has a magnetic charging stand called the Dok that holds both together. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The US model has a magnetic charging stand called the Dok, which holds the whole PencilWash with its floorhead attached. This seems slightly more convenient, and will save a few seconds during cleaning.</p><ul><li><strong>Design score: 5/5</strong></li></ul><h2 class="article-body__section" id="section-dyson-w1-pencilwash-performance"><span>Dyson W1 PencilWash: performance</span></h2><ul><li><strong>Excellent cleaning on dried-on spills</strong></li><li><strong>Much easier to fill and empty than previous model</strong></li><li><strong>Battery lasted over two hours in testing</strong></li><li><strong>Hair wrapped around wheel underneath floorhead</strong></li></ul><p>In use, the W1 PencilWash feels very much like its predecessor. The handle is light in the hand, and its plush microfiber roller propels it forward so you barely need to apply any force when cleaning. </p><p>I tested it with a variety of stains and spills, including dried-on juice, ketchup, dried toothpaste (to simulate spills in a bathroom), flour, and hair.</p><p>You can use the PencilWash with plain water, or a cleaning fluid. I tested it with Dyson 02 Probiotic Hard Floor Cleaning Solution (which is specifically recommended for the company’s wet floor cleaners) diluted according to the instructions on the bottle.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/Hjor9q5RkL5tu94BBdqTnd-1920-80.jpg" alt="Dyson W1 PencilWash head with bottle of Dyson probiotic floor cleaner" /><figcaption>Dyson's probiotic floor cleaning solution is specifically designed for use with its wet floor cleaners, but you can use a different brand, or just plain water instead<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/d9GVNK7pcXhJepAJqA3Sid-1920-80.jpg" alt="Dyson W1 PencilWash navigating under chair" /><figcaption>The handle of the W1 PencilWash can lie almost flat, making it easy to maneuver under low furniture<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/B9FvfmVjwf3cReiiveFy6c-1920-80.jpg" alt="Person removing cassette from Dyson W1 PencilWash" /><figcaption>The reworked floorhead has an easily removable cassette for simple cleanup<small role="credit">Future</small></figcaption></figure></figure><p>The W1 PencilWash fared well in all my cleaning tests, clearing up flour, dried juice, and ketchup on a single pass. Congealed toothpaste proved the toughest challenge, taking about four passes to completely remove, but I was impressed that the roller system removed all the mess and deposited it in the waste tank, leaving no streaks when I continued cleaning the rest of the floor. The new stiffer bristles work well to scrub away dirt that would normally require you to get down on your hands and knees to remove, and I was pleased to note their tougher fibers aren’t rigid enough to damage your flooring.</p><p>The floorhead is fully articulated for easy maneuvering, and the handle can be laid almost flat to clean under low items of furniture. I was able to clean right between the legs of my dining chairs, which have a crossbar just a few inches above the ground. The roller cleans very close to furniture and baseboards as well, leaving a gap only half an inch wide.</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1793794941594-ok0pc5o30 *, #fv-chart-1793794941594-ok0pc5o30 *:before, #fv-chart-1793794941594-ok0pc5o30 *:after, #fv-chart-1793794941594-ok0pc5o30-slideshow *, #fv-chart-1793794941594-ok0pc5o30-slideshow *:before, #fv-chart-1793794941594-ok0pc5o30-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1793794941594-ok0pc5o30, #fv-chart-1793794941594-ok0pc5o30-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793794941594-ok0pc5o30 { position: relative !important; overflow: visible !important; --riv-primary: #2E6E93; } #fv-chart-1793794941594-ok0pc5o30 .fv-inner-wrapper { color: #1F2937 !important; background-color: #ffffff !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1793794941594-ok0pc5o30.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1793794941594-ok0pc5o30.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793794941594-ok0pc5o30-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #2E6E93; } #fv-chart-1793794941594-ok0pc5o30-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1793794941594-ok0pc5o30-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1793794941594-ok0pc5o30-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1793794941594-ok0pc5o30-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1793794941594-ok0pc5o30-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1793794941594-ok0pc5o30-slideshow .fv-nav-btn.disabled, #fv-chart-1793794941594-ok0pc5o30-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1793794941594-ok0pc5o30-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1793794941594-ok0pc5o30-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1793794941594-ok0pc5o30-slideshow .fv-slideshow-select:focus { outline: 2px solid #2E6E93 !important; border-color: #2E6E93 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1793794941594-ok0pc5o30 .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1793794941594-ok0pc5o30 .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1793794941594-ok0pc5o30 .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793794941594-ok0pc5o30 .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1793794941594-ok0pc5o30 .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-row, #fv-chart-1793794941594-ok0pc5o30 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1793794941594-ok0pc5o30.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793794941594-ok0pc5o30.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1793794941594-ok0pc5o30.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dials-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important; gap: 1.5rem 1rem !important; width: 100% !important; margin: 0.75rem 0 1.25rem !important; align-items: start !important; justify-items: center !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dial-card { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; width: 100% !important; max-width: 220px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dial-title { font-family: 'Poppins', 'Open Sans', sans-serif !important; font-size: 18px !important; font-weight: 700 !important; color: #2b2b2b !important; line-height: 1.25 !important; margin-bottom: 0.35rem !important; text-align: center !important; width: 100% !important; overflow-wrap: break-word !important; text-transform: none !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dial-svg-wrapper { width: 100% !important; max-width: 200px !important; display: flex !important; justify-content: center !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dial-svg { width: 100% !important; height: auto !important; display: block !important; overflow: visible !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dial-needle { transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dial-commentary { margin-top: 0.35rem !important; font-size: 13px !important; line-height: 1.45 !important; color: #4B5563 !important; text-align: center !important; width: 100% !important; padding: 0 4px !important; font-family: 'Open Sans', sans-serif !important; word-wrap: break-word !important; } #fv-chart-1793794941594-ok0pc5o30.preview-wrapper .fv-dial-commentary-input { min-height: 22px !important; border: 1px dashed transparent !important; border-radius: 4px !important; transition: border-color 0.15s ease, background-color 0.15s ease !important; } #fv-chart-1793794941594-ok0pc5o30.preview-wrapper .fv-dial-card:hover .fv-dial-commentary-input, #fv-chart-1793794941594-ok0pc5o30.preview-wrapper .fv-dial-commentary-input:focus { border-color: #CBD5E1 !important; background-color: rgba(241, 245, 249, 0.6) !important; } #fv-chart-1793794941594-ok0pc5o30 .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; } #fv-chart-1793794941594-ok0pc5o30.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-label-left { left: 1rem !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-label-right { right: 1rem !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-expand-btn, #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-expand-btn:hover, #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-pie-container, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-bar-row, #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-stacked-product, #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-grouped-bar-product, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-bar-row, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-stacked-product, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-bar-label, #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-grouped-product-title, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-bar-label, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-bar-container, #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-bar-cluster, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-bar-container, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-x-axis-wrapper, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-x-axis-label-space, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-x-axis-chart-space, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-benchmark-title, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-dropdown-title, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-carousel-nav-btn, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-chart-title, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-chart-subhead, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-versus-header, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-versus-select-wrapper, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-versus-vs, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-versus-select-container, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-versus-select, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-stl-shop-all-btn, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-stl-shop-all-logo, #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-stl-shop-all-icon, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-bar-commentary-inline, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-dials-grid, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-dial-title, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-dial-title { font-size: 16px !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1793794941594-ok0pc5o30 .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-row, #fv-chart-1793794941594-ok0pc5o30 .fv-stacked-product, #fv-chart-1793794941594-ok0pc5o30 .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-label, #fv-chart-1793794941594-ok0pc5o30 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-container, #fv-chart-1793794941594-ok0pc5o30 .fv-bar-cluster { width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793794941594-ok0pc5o30 .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793794941594-ok0pc5o30 .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793794941594-ok0pc5o30 .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-x-axis-label-space { display: none !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-stl-shop-all-logo, #fv-chart-1793794941594-ok0pc5o30 .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dial-title { font-size: 16px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793794941594-ok0pc5o30.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Ketchup cleaning test",  "description": "Before and after cleaning up ketchup with Dyson W1 PencilWash floor cleaner",  "creator": {    "@type": "Organization",    "name": "TechRadar",    "logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-11-04T12:22:21.594Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Image Comparison",    "benchmark",    "comparison",    "performance",    "review",    "TechRadar"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": []}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-11-04T12:22:21.594Z","state":{"data":[],"products":[],"attributes":[],"selectedProducts":[],"selectedPrimaryProduct":null,"selectedAttributes":[],"productColors":[],"initialProductColors":[],"attributeColors":[],"attributeGroups":[],"chartType":"Image Comparison","roundupViewType":"bars","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"TechRadar","logoUrl":"https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/techradar.png","colors":{"primary":"#2E6E93","secondary":"#E8238C","accent":"#FFFFFF","background":"#ffffff","text":"#1F2937","productColors":["#2E6E93","#E8238C","#5DA8D4","#F06EAF","#1A4E6B","#B81C70","#8CC3E0","#F499C9"]}},"textContent":{"title":"Ketchup cleaning test","subhead":"Before and after cleaning up ketchup with Dyson W1 PencilWash floor cleaner","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false,"imageCompareData":{"image1Url":"https://cdn.mos.cms.futurecdn.net/W2YWWAD2v2xcnrna7pHRHF.jpg","image2Url":"https://cdn.mos.cms.futurecdn.net/fR4tg8HgCqsy5KK2dZX3kE.jpg","label1":"Before cleaning ketchup","label2":"After cleaning ketchup","image1Alt":"Ketchup on floor before cleaning with Dyson W1 PencilWash","image2Alt":"Clean floor with all ketchup removed by Dyson W1 PencilWash","showTitle":true,"showSubhead":false}},"slides":[]}</script><div id="fv-chart-1793794941594-ok0pc5o30" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper  fv-is-image-compare  "><h3 class="fv-chart-title">Ketchup cleaning test</h3><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1793794941594-ok0pc5o30-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Before and after cleaning up ketchup with Dyson W1 PencilWash floor cleaner" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/fR4tg8HgCqsy5KK2dZX3kE.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/fR4tg8HgCqsy5KK2dZX3kE.jpg" alt="Clean floor with all ketchup removed by Dyson W1 PencilWash" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/W2YWWAD2v2xcnrna7pHRHF.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/W2YWWAD2v2xcnrna7pHRHF.jpg" alt="Ketchup on floor before cleaning with Dyson W1 PencilWash" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle "><img src="https://proof.vanilla.tools/media/images/brandLogos/techradar.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">Before cleaning ketchup</div><div class="fv-image-compare-label fv-image-compare-label-right">After cleaning ketchup</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo" /></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async=""></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }          function animateDials(chartElement) {            if (!chartElement) return;            var needles = chartElement.querySelectorAll('.fv-dial-needle');            needles.forEach(function(needle, index) {              var targetAngle = needle.dataset.targetAngle;              var baseAngle = needle.dataset.baseAngle || '-132';              if (targetAngle === undefined) return;              needle.style.setProperty('transition', 'none', 'important');              needle.style.setProperty('transform', 'rotate(' + baseAngle + 'deg)', 'important');              void needle.getBoundingClientRect();              setTimeout(function() {                needle.style.setProperty('transition', 'transform 0.9s cubic-bezier(0.22, 1, 0.36, 1)', 'important');                needle.style.setProperty('transform', 'rotate(' + targetAngle + 'deg)', 'important');              }, index * 60 + 50);            });          }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                  animateDials(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1793794941594-ok0pc5o30', false); });      } else {        initialize('fv-chart-1793794941594-ok0pc5o30', false);      }    })();      </script></div><p>Your floors will dry exceptionally quickly as well; after a pass on the regular cleaning mode, my laminate flooring was dry within 10 seconds.</p><p>The new metal comb wasn’t quite such a success. It does catch hair, and the roller needs less hand-cleaning after use, but quite a lot of hair became caught in one of the small wheels on the bottom of the floorhead during my tests. This didn’t seem to affect performance, and I didn’t even realize while maneuvering the cleaner, but it was wrapped tightly around the tiny axel and had to be cut free with scissors. </p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1793795199133-m1bqm59zo *, #fv-chart-1793795199133-m1bqm59zo *:before, #fv-chart-1793795199133-m1bqm59zo *:after, #fv-chart-1793795199133-m1bqm59zo-slideshow *, #fv-chart-1793795199133-m1bqm59zo-slideshow *:before, #fv-chart-1793795199133-m1bqm59zo-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1793795199133-m1bqm59zo, #fv-chart-1793795199133-m1bqm59zo-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793795199133-m1bqm59zo { position: relative !important; overflow: visible !important; --riv-primary: #2E6E93; } #fv-chart-1793795199133-m1bqm59zo .fv-inner-wrapper { color: #1F2937 !important; background-color: #ffffff !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1793795199133-m1bqm59zo .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1793795199133-m1bqm59zo.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1793795199133-m1bqm59zo.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793795199133-m1bqm59zo .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793795199133-m1bqm59zo-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #2E6E93; } #fv-chart-1793795199133-m1bqm59zo-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1793795199133-m1bqm59zo-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1793795199133-m1bqm59zo-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1793795199133-m1bqm59zo-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1793795199133-m1bqm59zo-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1793795199133-m1bqm59zo-slideshow .fv-nav-btn.disabled, #fv-chart-1793795199133-m1bqm59zo-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1793795199133-m1bqm59zo-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1793795199133-m1bqm59zo-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1793795199133-m1bqm59zo-slideshow .fv-slideshow-select:focus { outline: 2px solid #2E6E93 !important; border-color: #2E6E93 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1793795199133-m1bqm59zo .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1793795199133-m1bqm59zo .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1793795199133-m1bqm59zo .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1793795199133-m1bqm59zo .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793795199133-m1bqm59zo .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1793795199133-m1bqm59zo .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1793795199133-m1bqm59zo .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1793795199133-m1bqm59zo .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793795199133-m1bqm59zo .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1793795199133-m1bqm59zo .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1793795199133-m1bqm59zo .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1793795199133-m1bqm59zo .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1793795199133-m1bqm59zo .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-row, #fv-chart-1793795199133-m1bqm59zo .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1793795199133-m1bqm59zo.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793795199133-m1bqm59zo.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1793795199133-m1bqm59zo.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1793795199133-m1bqm59zo .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1793795199133-m1bqm59zo .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1793795199133-m1bqm59zo .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1793795199133-m1bqm59zo .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1793795199133-m1bqm59zo .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1793795199133-m1bqm59zo .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1793795199133-m1bqm59zo .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dials-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important; gap: 1.5rem 1rem !important; width: 100% !important; margin: 0.75rem 0 1.25rem !important; align-items: start !important; justify-items: center !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dial-card { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; width: 100% !important; max-width: 220px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dial-title { font-family: 'Poppins', 'Open Sans', sans-serif !important; font-size: 18px !important; font-weight: 700 !important; color: #2b2b2b !important; line-height: 1.25 !important; margin-bottom: 0.35rem !important; text-align: center !important; width: 100% !important; overflow-wrap: break-word !important; text-transform: none !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dial-svg-wrapper { width: 100% !important; max-width: 200px !important; display: flex !important; justify-content: center !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dial-svg { width: 100% !important; height: auto !important; display: block !important; overflow: visible !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dial-needle { transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dial-commentary { margin-top: 0.35rem !important; font-size: 13px !important; line-height: 1.45 !important; color: #4B5563 !important; text-align: center !important; width: 100% !important; padding: 0 4px !important; font-family: 'Open Sans', sans-serif !important; word-wrap: break-word !important; } #fv-chart-1793795199133-m1bqm59zo.preview-wrapper .fv-dial-commentary-input { min-height: 22px !important; border: 1px dashed transparent !important; border-radius: 4px !important; transition: border-color 0.15s ease, background-color 0.15s ease !important; } #fv-chart-1793795199133-m1bqm59zo.preview-wrapper .fv-dial-card:hover .fv-dial-commentary-input, #fv-chart-1793795199133-m1bqm59zo.preview-wrapper .fv-dial-commentary-input:focus { border-color: #CBD5E1 !important; background-color: rgba(241, 245, 249, 0.6) !important; } #fv-chart-1793795199133-m1bqm59zo .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1793795199133-m1bqm59zo .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1793795199133-m1bqm59zo .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1793795199133-m1bqm59zo .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1793795199133-m1bqm59zo .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1793795199133-m1bqm59zo .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; } #fv-chart-1793795199133-m1bqm59zo.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-label-left { left: 1rem !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-label-right { right: 1rem !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-expand-btn, #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-expand-btn:hover, #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-pie-container, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-bar-row, #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-stacked-product, #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-grouped-bar-product, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-bar-row, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-stacked-product, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-bar-label, #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-grouped-product-title, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-bar-label, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-bar-container, #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-bar-cluster, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-bar-container, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-x-axis-wrapper, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-x-axis-label-space, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-x-axis-chart-space, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-benchmark-title, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-dropdown-title, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-carousel-nav-btn, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-chart-title, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-chart-subhead, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-versus-header, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-versus-select-wrapper, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-versus-vs, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-versus-select-container, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-versus-select, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-stl-shop-all-btn, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-stl-shop-all-logo, #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-stl-shop-all-icon, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-bar-commentary-inline, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-dials-grid, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-dial-title, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-dial-title { font-size: 16px !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1793795199133-m1bqm59zo .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793795199133-m1bqm59zo .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-row, #fv-chart-1793795199133-m1bqm59zo .fv-stacked-product, #fv-chart-1793795199133-m1bqm59zo .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-label, #fv-chart-1793795199133-m1bqm59zo .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-container, #fv-chart-1793795199133-m1bqm59zo .fv-bar-cluster { width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793795199133-m1bqm59zo .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793795199133-m1bqm59zo .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793795199133-m1bqm59zo .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-x-axis-label-space { display: none !important; } #fv-chart-1793795199133-m1bqm59zo .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793795199133-m1bqm59zo .fv-stl-shop-all-logo, #fv-chart-1793795199133-m1bqm59zo .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793795199133-m1bqm59zo .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dial-title { font-size: 16px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793795199133-m1bqm59zo.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Toothpaste cleaning test",  "description": "Before and after cleaning toothpaste off floor with Dyson W1 PencilWash",  "creator": {    "@type": "Organization",    "name": "TechRadar",    "logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-11-04T12:26:39.133Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Image Comparison",    "benchmark",    "comparison",    "performance",    "review",    "TechRadar"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": []}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-11-04T12:26:39.133Z","state":{"data":[],"products":[],"attributes":[],"selectedProducts":[],"selectedPrimaryProduct":null,"selectedAttributes":[],"productColors":[],"initialProductColors":[],"attributeColors":[],"attributeGroups":[],"chartType":"Image Comparison","roundupViewType":"bars","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"TechRadar","logoUrl":"https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/techradar.png","colors":{"primary":"#2E6E93","secondary":"#E8238C","accent":"#FFFFFF","background":"#ffffff","text":"#1F2937","productColors":["#2E6E93","#E8238C","#5DA8D4","#F06EAF","#1A4E6B","#B81C70","#8CC3E0","#F499C9"]}},"textContent":{"title":"Toothpaste cleaning test","subhead":"Before and after cleaning toothpaste off floor with Dyson W1 PencilWash","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false,"imageCompareData":{"image1Url":"https://cdn.mos.cms.futurecdn.net/cBadpRCyPpfoxSTQgqu2FF.jpg","image2Url":"https://cdn.mos.cms.futurecdn.net/JJ9SPsCd3iD35VjnYJja8F.jpg","label1":"Before cleaning toothpaste","label2":"During cleaning toothpaste","showTitle":true,"showSubhead":false}},"slides":[]}</script><div id="fv-chart-1793795199133-m1bqm59zo" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper  fv-is-image-compare  "><h3 class="fv-chart-title">Toothpaste cleaning test</h3><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1793795199133-m1bqm59zo-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Before and after cleaning toothpaste off floor with Dyson W1 PencilWash" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/JJ9SPsCd3iD35VjnYJja8F.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/JJ9SPsCd3iD35VjnYJja8F.jpg" alt="After" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/cBadpRCyPpfoxSTQgqu2FF.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/cBadpRCyPpfoxSTQgqu2FF.jpg" alt="Before" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle "><img src="https://proof.vanilla.tools/media/images/brandLogos/techradar.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">Before cleaning toothpaste</div><div class="fv-image-compare-label fv-image-compare-label-right">During cleaning toothpaste</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo" /></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async=""></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }          function animateDials(chartElement) {            if (!chartElement) return;            var needles = chartElement.querySelectorAll('.fv-dial-needle');            needles.forEach(function(needle, index) {              var targetAngle = needle.dataset.targetAngle;              var baseAngle = needle.dataset.baseAngle || '-132';              if (targetAngle === undefined) return;              needle.style.setProperty('transition', 'none', 'important');              needle.style.setProperty('transform', 'rotate(' + baseAngle + 'deg)', 'important');              void needle.getBoundingClientRect();              setTimeout(function() {                needle.style.setProperty('transition', 'transform 0.9s cubic-bezier(0.22, 1, 0.36, 1)', 'important');                needle.style.setProperty('transform', 'rotate(' + targetAngle + 'deg)', 'important');              }, index * 60 + 50);            });          }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                  animateDials(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1793795199133-m1bqm59zo', false); });      } else {        initialize('fv-chart-1793795199133-m1bqm59zo', false);      }    })();      </script></div><p>It’s worth noting that the microfiber roller takes quite a long time to air-dry. I placed it near a dehumidifier to speed up the process, but it still took two days before it was dry enough for me to feel comfortable storing it. </p><p>The big surprise was the battery life. Dyson’s specifications claim that the W1 PencilWash can run for 45 minutes on a single charge (up from 30 minutes for the original PencilWash), but during my tests it ran for an astonishing two hours and 13 minutes — and that was during active mopping, not just running the roller without resistance. I have contacted Dyson’s press office to ask whether that’s expected performance, but it’s safe to say that you shouldn’t have any problems cleaning even large homes.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/cp2xidV3sN6Dfu3ndqiN2b-1920-80.jpg" alt="Hair caught in wheel under Dyson W1 PencilWash" /><figcaption>Hair became caught in one of the wheels on the bottom of the floorhead<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/7xYVZMquCn6wFC2TC2mLid-1920-80.jpg" alt="Dyson W1 PencilWash with bottle of cleaner and bowl of dirty waste water" /><figcaption>The dirty water container is now easier to empty, with less potential for spillage<small role="credit">Future</small></figcaption></figure></figure><p>Overall, I’m impressed with the W1 PencilWash. Dyson has clearly taken on board feedback from the first model (the detachable clean water tank and scrubbing bristles are highlights) while keeping the fundamentals the same. If you have a large home with lots of hard flooring, or live with pets or children, then this new model would be a great choice. If, on the other hand, your home is relatively small and you want something for everyday maintenance, the original PencilWash might be the smarter choice at its newly reduced price.</p><ul><li><strong>Performance score: 4.5/5</strong></li></ul><h2 class="article-body__section" id="section-should-you-buy-the-dyson-w1-pencilwash"><span>Should you buy the Dyson W1 PencilWash?</span></h2><div ><table><caption>Dyson W1 PencilWash score card</caption><thead><tr><th class="firstcol " ><p>Attribute</p></th><th  ><p>Notes</p></th><th  ><p>Score</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Value</p></td><td  ><p>Same price as the original PencilWash at launch. Relatively pricey for a wet floor cleaner; you're paying for light weight and compact design.</p></td><td  ><p>4/5</p></td></tr><tr><td class="firstcol " ><p>Design</p></td><td  ><p>Redesigned floor head is a huge improvement — especially new water tanks.</p></td><td  ><p>5/5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>Great cleaning performance on stubborn stains and remarkable battery life, but hair can get caught in wheels.</p></td><td  ><p>4.5/5</p></td></tr></tbody></table></div><h3 id="buy-it-if-2">Buy it if</h3><div class="product"><p><strong>You have lots of hard floors</strong></p><p>With its incredible battery life, the W1 PencilWash can mop your entire home on a single charge.</p></div><div class="product"><p><strong>You want to clean little and often</strong></p><p>The W1 PencilWash is quick to use and floors dry rapidly after cleaning, so it's very convenient for daily mopping.</p></div><h3 id="don-39-t-buy-it-if">Don't buy it if</h3><div class="product"><p><strong>You have long hair</strong></p><p>Although the metal comb is designed to catch hair, I found it tended to get caught on one of the wheels under the floorhead.</p></div><div class="product"><p><strong>You have unsealed floors</strong></p><p>Neither version of the PencilWash is suitable for unsealed flooring.</p></div><h2 class="article-body__section" id="section-dyson-w1-pencilwash-also-consider"><span>Dyson W1 PencilWash: also consider</span></h2><p>If the Dyson W1 PencilWash isn't the right wet floor cleaner for you, here are two other options to think about.</p><div class="product"><a data-dimension112="7403bc38-d84f-11f1-a9bb-ab1d18b02220" data-action="Deal Block" data-label="Read our full Dyson PencilWash review" data-dimension48="Read our full Dyson PencilWash review" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1152px;"><p class="vanilla-image-block" style="padding-top:150.00%;"><img id="BdvAcWUWhAQjvyf6ScYryG" name="Pencilwash" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/BdvAcWUWhAQjvyf6ScYryG-1920-80.jpg" mos="" align="middle" fullscreen="" width="1152" height="1728" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p><strong>Dyson PencilWash</strong></p><p>The original PencilWash is still a great option, and has received a serious price cut since the launch of the W1. Well worth investigating if you have a small home.</p><p><strong>Read our full </strong><a href="https://www.techradar.com/home/vacuums/dyson-pencilwash-review" data-dimension112="7403bc38-d84f-11f1-a9bb-ab1d18b02220" data-action="Deal Block" data-label="Read our full Dyson PencilWash review" data-dimension48="Read our full Dyson PencilWash review" data-dimension25=""><strong>Dyson PencilWash review</strong></a></p></div><div class="product"><a data-dimension112="7403bc9c-d84f-11f1-a5bb-07341bc72238" data-action="Deal Block" data-label="Read our full Bissell CrossWave HydroScrub review" data-dimension48="Read our full Bissell CrossWave HydroScrub review" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:450px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="CLGDzsfyNfUeHKcYwBXt3c" name="image" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/CLGDzsfyNfUeHKcYwBXt3c-1920-80.png" mos="" align="middle" fullscreen="" width="450" height="450" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p><strong>Bissell CrossWave HydroScrub</strong></p><p>If you want a full wet and dry cleaner, check out Bissell. The CrossWave HydroScrub isn't small, but it's a great all-rounder and about the same price as the W1 PencilWash.</p><p><strong>Read our full </strong><a href="https://www.techradar.com/home/vacuums/bissell-crosswave-hydroscrub-review" data-dimension112="7403bc9c-d84f-11f1-a5bb-07341bc72238" data-action="Deal Block" data-label="Read our full Bissell CrossWave HydroScrub review" data-dimension48="Read our full Bissell CrossWave HydroScrub review" data-dimension25=""><strong>Bissell CrossWave HydroScrub review</strong></a></p></div><h2 class="article-body__section" id="section-how-i-tested-the-dyson-w1-pencilwash"><span>How I tested the Dyson W1 PencilWash</span></h2><p>I tested the Dyson W1 PencilWash on sealed laminate flooring, using Dyson 02 Probiotic Hard Floor Cleaning Solution and tap water. I used it on common household stains including dried juice, dried toothpaste, ketchup, flour, and human hair.</p><p>I emptied the floor head cassette, and cleaned the tank, comb, and microfiber roller using plain water.</p><p>I fully charged the W1, then used it to clean the floors, moving it backwards and forwards as in normal use, and timed how long it took for the battery to run flat.</p><p><em>First reviewed November 2026</em></p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/vacuums/dyson-w1-pencilwash-review</link>
                                                                            <description>
                            <![CDATA[ Dyson has upgraded its super-slender wet floor cleaner with extra scrubbing power, easier emptying, a bigger water tank, and incredible battery life. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">AmDoLsFAuKpra2wqrjyomk</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/6MSRQzJdBDFt43buEr45jd-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 04 Nov 2026 16:03:03 +0000</pubDate>                                                                                                                                <updated>Wed, 04 Nov 2026 22:16:22 +0000</updated>
                                                                                                                                            <category><![CDATA[Vacuums]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                    <category><![CDATA[Small Appliances]]></category>
                                                                                                <author><![CDATA[ catherine.ellis@futurenet.com (Cat Ellis) ]]></author>                    <dc:creator><![CDATA[ Cat Ellis ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/gxZz6rCoNR6sXhqL34MvML-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Cat is TechRadar&amp;#39;s Homes Editor, covering smart home tech, kitchen appliances, vacuums, haircare and more. She&amp;#39;s been a tech journalist for 15 years, having worked on print magazines including PC Plus and PC Format, and is a&lt;a href=&quot;https://sca.coffee/&quot;&gt; &lt;u&gt;Speciality Coffee Association&lt;/u&gt;&lt;/a&gt; (SCA) certified barista, and holds a professional certificate in security awareness for smart homes.. Whether you want to invest in some smart lights, find your ideal hair styler, or pick the espresso machine of your dreams, she&amp;#39;s the right person to help.&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/6MSRQzJdBDFt43buEr45jd-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Dyson W1 PencilWash floor head]]></media:description>                                                            <media:text><![CDATA[Dyson W1 PencilWash floor head]]></media:text>
                                <media:title type="plain"><![CDATA[Dyson W1 PencilWash floor head]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/6MSRQzJdBDFt43buEr45jd-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <h2 class="article-body__section" id="section-dyson-w1-pencilwash-30-second-review"><span>Dyson W1 PencilWash: 30-second review</span></h2><p>Dyson has updated its lightweight wet floor cleaner with a redesigned floorhead and extra-long battery life, without increasing the price. The second-generation PencilWash takes the best features of the original — its lightweight build, ease of use, and effective wet cleaning — and adds thoughtful features that add up to make it an even better everyday cleaning tool.</p><p>The cleaning head’s plush-feeling roller is now sprinkled with stiffer bristles to tackle welded-on stains effectively without scuffing your floor. The upgraded clean water tank is larger and fully detachable, and emptying soiled water is less messy too. After mopping, your floors will be dry and ready to walk on almost immediately.</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="sQD2xRELmM9DDgbFfffoQc" name="pwash-2" alt="Dyson W1 PencilWash microfiber roller" src="https://cdn.mos.cms.futurecdn.net/sQD2xRELmM9DDgbFfffoQc-1920-80.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="caption-text">Look closely and you'll see rows of small red bristles embedded in the W1 PencilWash's upgraded microfiber roller </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>It’s an excellent package, but before buying, note that Dyson has now cut the price of the <a href="https://www.techradar.com/home/vacuums/dyson-pencilwash-review">original PencilWash</a> to just $199.99 / £179 in the US and UK respectively. That’s great value, and it could be all you need if you want to spruce up a relatively small home.</p><p>For me, the only real drawback of the W1 PencilWash was that hair tended to get wrapped around one of the wheels underneath the floor head, rather than sticking to the roller and being scraped off by Dyson’s new metal comb.</p><p>Note that the PencilWash isn’t a vacuum cleaner, and has no suction. If you’re looking for a slim and lightweight vacuum, take a look at the <a href="https://www.techradar.com/home/vacuums/dyson-pencilvac-fluffycones-review">Dyson PencilVac</a> instead.</p><h2 class="article-body__section" id="section-dyson-w1-pencilwash-price-and-availability"><span>Dyson W1 PencilWash: price and availability</span></h2><ul><li><strong>Went on sale in October 2026</strong></li><li><strong>List price $349.99 / £299.99 in the US and UK</strong></li><li><strong>Not yet available in Australia, but likely to be AU$549</strong></li></ul><p>Dyson announced the W1 PencilWash at its Dyson Unveiled event in September 2026, and the product launched globally in October the same year — nine months after the original PencilWash.</p><p>It has a list price of $349.99 / £299.99, which is the same as the original PencilWash at launch, though you may also be able to find it cheaper (for example, Dyson is offering a $100 discount in its US store at the time of writing). The W1 PencilWash isn’t yet available in Australia, but I would expect it to be AU$549 when it arrives. </p><p>That's relatively expensive for a wet-only floor cleaner, and there are several excellent wet-and-dry vacuums available for about the same price. For comparison, the <a href="https://www.techradar.com/home/vacuums/bissell-crosswave-hydroscrub-review">Bissell Crosswave HydroScrub</a> wet/dry floor cleaner is $369.99 (about £280 / AU$540), while the <a href="https://www.techradar.com/home/vacuums/shark-hydrovac-cordless-review">Shark HydroVac Cordless WD201 / WD210 </a>is $359.99 / £329.99 / AU$399.99.</p><p>What you're paying for here is the light weight and compact design, which will be better suited to apartments and other small homes than a bulky wet-dry cleaner.</p><ul><li><strong>Value score: 4/5</strong></li></ul><h2 class="article-body__section" id="section-dyson-w1-pencilwash-design"><span>Dyson W1 PencilWash: design</span></h2><ul><li><strong>New stiffer bristles in microfiber roller</strong></li><li><strong>Clean water tank is larger and fully removable</strong></li><li><strong>Emptying waste water is less messy</strong></li></ul><p>At first glance, the W1 PencilWash looks very similar to its predecessor, with a slender handle (this time colored indigo rather than copper), and one of Dyson’s Submarine floor heads. A tank at the back of the floorhead dispenses water onto a microfiber roller, and a squeegee-like blade squeezes dirty water out, and dispenses it into a separate tank inside. </p><p>On closer inspection, however, there are a few significant differences. The most obvious change is the floorhead’s microfiber roller, which is now scattered with stiffer fibers to more effectively scrub away stubborn dirt. There is also a new metal comb designed to detangle and scrape hair off the roller. (Both of these features are borrowed from the bulkier <a href="https://www.techradar.com/home/vacuums/dyson-clean-wash-hygiene-review">Dyson Clean+Wash Hygiene</a> wet cleaner, which launched at the start of 2026.)</p><p>The head disassembles into more parts, as you can see below. Most significantly, the clean water tank is now fully removable, making it easier to fill at the sink, and has a significantly larger capacity so you can keep cleaning for longer. </p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1793794971260-etb6hjh9x *, #fv-chart-1793794971260-etb6hjh9x *:before, #fv-chart-1793794971260-etb6hjh9x *:after, #fv-chart-1793794971260-etb6hjh9x-slideshow *, #fv-chart-1793794971260-etb6hjh9x-slideshow *:before, #fv-chart-1793794971260-etb6hjh9x-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1793794971260-etb6hjh9x, #fv-chart-1793794971260-etb6hjh9x-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793794971260-etb6hjh9x { position: relative !important; overflow: visible !important; --riv-primary: #2E6E93; } #fv-chart-1793794971260-etb6hjh9x .fv-inner-wrapper { color: #1F2937 !important; background-color: #ffffff !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1793794971260-etb6hjh9x .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1793794971260-etb6hjh9x.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1793794971260-etb6hjh9x.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793794971260-etb6hjh9x .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793794971260-etb6hjh9x-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #2E6E93; } #fv-chart-1793794971260-etb6hjh9x-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1793794971260-etb6hjh9x-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1793794971260-etb6hjh9x-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1793794971260-etb6hjh9x-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1793794971260-etb6hjh9x-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1793794971260-etb6hjh9x-slideshow .fv-nav-btn.disabled, #fv-chart-1793794971260-etb6hjh9x-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1793794971260-etb6hjh9x-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1793794971260-etb6hjh9x-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1793794971260-etb6hjh9x-slideshow .fv-slideshow-select:focus { outline: 2px solid #2E6E93 !important; border-color: #2E6E93 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1793794971260-etb6hjh9x .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1793794971260-etb6hjh9x .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1793794971260-etb6hjh9x .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1793794971260-etb6hjh9x .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793794971260-etb6hjh9x .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1793794971260-etb6hjh9x .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1793794971260-etb6hjh9x .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1793794971260-etb6hjh9x .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793794971260-etb6hjh9x .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1793794971260-etb6hjh9x .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1793794971260-etb6hjh9x .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1793794971260-etb6hjh9x .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1793794971260-etb6hjh9x .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-row, #fv-chart-1793794971260-etb6hjh9x .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1793794971260-etb6hjh9x.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793794971260-etb6hjh9x.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1793794971260-etb6hjh9x.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1793794971260-etb6hjh9x .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1793794971260-etb6hjh9x .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1793794971260-etb6hjh9x .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1793794971260-etb6hjh9x .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1793794971260-etb6hjh9x .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1793794971260-etb6hjh9x .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1793794971260-etb6hjh9x .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dials-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important; gap: 1.5rem 1rem !important; width: 100% !important; margin: 0.75rem 0 1.25rem !important; align-items: start !important; justify-items: center !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dial-card { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; width: 100% !important; max-width: 220px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dial-title { font-family: 'Poppins', 'Open Sans', sans-serif !important; font-size: 18px !important; font-weight: 700 !important; color: #2b2b2b !important; line-height: 1.25 !important; margin-bottom: 0.35rem !important; text-align: center !important; width: 100% !important; overflow-wrap: break-word !important; text-transform: none !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dial-svg-wrapper { width: 100% !important; max-width: 200px !important; display: flex !important; justify-content: center !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dial-svg { width: 100% !important; height: auto !important; display: block !important; overflow: visible !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dial-needle { transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dial-commentary { margin-top: 0.35rem !important; font-size: 13px !important; line-height: 1.45 !important; color: #4B5563 !important; text-align: center !important; width: 100% !important; padding: 0 4px !important; font-family: 'Open Sans', sans-serif !important; word-wrap: break-word !important; } #fv-chart-1793794971260-etb6hjh9x.preview-wrapper .fv-dial-commentary-input { min-height: 22px !important; border: 1px dashed transparent !important; border-radius: 4px !important; transition: border-color 0.15s ease, background-color 0.15s ease !important; } #fv-chart-1793794971260-etb6hjh9x.preview-wrapper .fv-dial-card:hover .fv-dial-commentary-input, #fv-chart-1793794971260-etb6hjh9x.preview-wrapper .fv-dial-commentary-input:focus { border-color: #CBD5E1 !important; background-color: rgba(241, 245, 249, 0.6) !important; } #fv-chart-1793794971260-etb6hjh9x .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1793794971260-etb6hjh9x .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1793794971260-etb6hjh9x .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1793794971260-etb6hjh9x .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1793794971260-etb6hjh9x .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1793794971260-etb6hjh9x .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; } #fv-chart-1793794971260-etb6hjh9x.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-label-left { left: 1rem !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-label-right { right: 1rem !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-expand-btn, #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-expand-btn:hover, #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; } #fv-chart-1793794971260-etb6hjh9x .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-pie-container, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-bar-row, #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-stacked-product, #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-grouped-bar-product, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-bar-row, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-stacked-product, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-bar-label, #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-grouped-product-title, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-bar-label, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-bar-container, #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-bar-cluster, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-bar-container, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-x-axis-wrapper, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-x-axis-label-space, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-x-axis-chart-space, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-benchmark-title, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-dropdown-title, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-carousel-nav-btn, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-chart-title, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-chart-subhead, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-versus-header, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-versus-select-wrapper, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-versus-vs, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-versus-select-container, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-versus-select, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-stl-shop-all-btn, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-stl-shop-all-logo, #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-stl-shop-all-icon, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-bar-commentary-inline, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-dials-grid, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-dial-title, #fv-chart-1793794971260-etb6hjh9x.labels-on-top .fv-dial-title { font-size: 16px !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793794971260-etb6hjh9x.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1793794971260-etb6hjh9x .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793794971260-etb6hjh9x .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-row, #fv-chart-1793794971260-etb6hjh9x .fv-stacked-product, #fv-chart-1793794971260-etb6hjh9x .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-label, #fv-chart-1793794971260-etb6hjh9x .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-container, #fv-chart-1793794971260-etb6hjh9x .fv-bar-cluster { width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793794971260-etb6hjh9x .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793794971260-etb6hjh9x .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793794971260-etb6hjh9x .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-x-axis-label-space { display: none !important; } #fv-chart-1793794971260-etb6hjh9x .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793794971260-etb6hjh9x .fv-stl-shop-all-logo, #fv-chart-1793794971260-etb6hjh9x .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793794971260-etb6hjh9x .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793794971260-etb6hjh9x .fv-dial-title { font-size: 16px !important; } #fv-chart-1793794971260-etb6hjh9x .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793794971260-etb6hjh9x.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Dyson PencilWash floorhead comparison",  "description": "Comparing new Dyson W1 PencilWash and original Dyson PencilWash floorhead components",  "creator": {    "@type": "Organization",    "name": "TechRadar",    "logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-11-04T12:22:51.260Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Image Comparison",    "benchmark",    "comparison",    "performance",    "review",    "TechRadar"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": []}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-11-04T12:22:51.260Z","state":{"data":[],"products":[],"attributes":[],"selectedProducts":[],"selectedPrimaryProduct":null,"selectedAttributes":[],"productColors":[],"initialProductColors":[],"attributeColors":[],"attributeGroups":[],"chartType":"Image Comparison","roundupViewType":"bars","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"TechRadar","logoUrl":"https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/techradar.png","colors":{"primary":"#2E6E93","secondary":"#E8238C","accent":"#FFFFFF","background":"#ffffff","text":"#1F2937","productColors":["#2E6E93","#E8238C","#5DA8D4","#F06EAF","#1A4E6B","#B81C70","#8CC3E0","#F499C9"]}},"textContent":{"title":"Dyson PencilWash floorhead comparison","subhead":"Comparing new Dyson W1 PencilWash and original Dyson PencilWash floorhead components","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false,"imageCompareData":{"image1Url":"https://cdn.mos.cms.futurecdn.net/mc6gH3cLrqtDL6uX4jdcid.jpg","image2Url":"https://cdn.mos.cms.futurecdn.net/Urdmk8UyxWbwtB63ebLtRE.jpg","label1":"Dyson W1 PencilWash","label2":"Original Dyson PencilWash","showTitle":true,"image1Alt":"Dyson W1 PencilWash floorhead disassembled","image2Alt":"Original Dyson PencilWash floorhead disassembled","showSubhead":false}},"slides":[]}</script><div id="fv-chart-1793794971260-etb6hjh9x" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper  fv-is-image-compare  "><h3 class="fv-chart-title">Dyson PencilWash floorhead comparison</h3><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1793794971260-etb6hjh9x-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Comparing new Dyson W1 PencilWash and original Dyson PencilWash floorhead components" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/Urdmk8UyxWbwtB63ebLtRE.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/Urdmk8UyxWbwtB63ebLtRE.jpg" alt="Original Dyson PencilWash floorhead disassembled" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/mc6gH3cLrqtDL6uX4jdcid.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/mc6gH3cLrqtDL6uX4jdcid.jpg" alt="Dyson W1 PencilWash floorhead disassembled" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle "><img src="https://proof.vanilla.tools/media/images/brandLogos/techradar.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">Dyson W1 PencilWash</div><div class="fv-image-compare-label fv-image-compare-label-right">Original Dyson PencilWash</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo" /></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async=""></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }          function animateDials(chartElement) {            if (!chartElement) return;            var needles = chartElement.querySelectorAll('.fv-dial-needle');            needles.forEach(function(needle, index) {              var targetAngle = needle.dataset.targetAngle;              var baseAngle = needle.dataset.baseAngle || '-132';              if (targetAngle === undefined) return;              needle.style.setProperty('transition', 'none', 'important');              needle.style.setProperty('transform', 'rotate(' + baseAngle + 'deg)', 'important');              void needle.getBoundingClientRect();              setTimeout(function() {                needle.style.setProperty('transition', 'transform 0.9s cubic-bezier(0.22, 1, 0.36, 1)', 'important');                needle.style.setProperty('transform', 'rotate(' + targetAngle + 'deg)', 'important');              }, index * 60 + 50);            });          }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                  animateDials(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1793794971260-etb6hjh9x', false); });      } else {        initialize('fv-chart-1793794971260-etb6hjh9x', false);      }    })();      </script></div><p>The dirty water collection tank has also been reworked, and is now much less prone to spills during emptying. It’s still wise to hold the whole floorhead over the sink when removing the cassette, but I found the process much less messy than the original PencilWash. </p><p>Note that the W1 PencilWash has different docks in the US and UK. The UK model, which I tested here, has a charging stand that holds the PencilWash’s handle, and a separate holder for the floorhead.</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="vgAneprjqtkQzQgiH4uGid" name="pwash-5" alt="Dyson W1 PencilWash handle in charging stand, head in drying stand, and bottle of floor cleaner in kitchen" src="https://cdn.mos.cms.futurecdn.net/vgAneprjqtkQzQgiH4uGid-1920-80.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="caption-text">The UK version of the W1 PencilWash has a charging stand for the handle, and a separate holder for the floorhead. The US model has a magnetic charging stand called the Dok that holds both together. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The US model has a magnetic charging stand called the Dok, which holds the whole PencilWash with its floorhead attached. This seems slightly more convenient, and will save a few seconds during cleaning.</p><ul><li><strong>Design score: 5/5</strong></li></ul><h2 class="article-body__section" id="section-dyson-w1-pencilwash-performance"><span>Dyson W1 PencilWash: performance</span></h2><ul><li><strong>Excellent cleaning on dried-on spills</strong></li><li><strong>Much easier to fill and empty than previous model</strong></li><li><strong>Battery lasted over two hours in testing</strong></li><li><strong>Hair wrapped around wheel underneath floorhead</strong></li></ul><p>In use, the W1 PencilWash feels very much like its predecessor. The handle is light in the hand, and its plush microfiber roller propels it forward so you barely need to apply any force when cleaning. </p><p>I tested it with a variety of stains and spills, including dried-on juice, ketchup, dried toothpaste (to simulate spills in a bathroom), flour, and hair.</p><p>You can use the PencilWash with plain water, or a cleaning fluid. I tested it with Dyson 02 Probiotic Hard Floor Cleaning Solution (which is specifically recommended for the company’s wet floor cleaners) diluted according to the instructions on the bottle.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/Hjor9q5RkL5tu94BBdqTnd-1920-80.jpg" alt="Dyson W1 PencilWash head with bottle of Dyson probiotic floor cleaner" /><figcaption>Dyson's probiotic floor cleaning solution is specifically designed for use with its wet floor cleaners, but you can use a different brand, or just plain water instead<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/d9GVNK7pcXhJepAJqA3Sid-1920-80.jpg" alt="Dyson W1 PencilWash navigating under chair" /><figcaption>The handle of the W1 PencilWash can lie almost flat, making it easy to maneuver under low furniture<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/B9FvfmVjwf3cReiiveFy6c-1920-80.jpg" alt="Person removing cassette from Dyson W1 PencilWash" /><figcaption>The reworked floorhead has an easily removable cassette for simple cleanup<small role="credit">Future</small></figcaption></figure></figure><p>The W1 PencilWash fared well in all my cleaning tests, clearing up flour, dried juice, and ketchup on a single pass. Congealed toothpaste proved the toughest challenge, taking about four passes to completely remove, but I was impressed that the roller system removed all the mess and deposited it in the waste tank, leaving no streaks when I continued cleaning the rest of the floor. The new stiffer bristles work well to scrub away dirt that would normally require you to get down on your hands and knees to remove, and I was pleased to note their tougher fibers aren’t rigid enough to damage your flooring.</p><p>The floorhead is fully articulated for easy maneuvering, and the handle can be laid almost flat to clean under low items of furniture. I was able to clean right between the legs of my dining chairs, which have a crossbar just a few inches above the ground. The roller cleans very close to furniture and baseboards as well, leaving a gap only half an inch wide.</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1793794941594-ok0pc5o30 *, #fv-chart-1793794941594-ok0pc5o30 *:before, #fv-chart-1793794941594-ok0pc5o30 *:after, #fv-chart-1793794941594-ok0pc5o30-slideshow *, #fv-chart-1793794941594-ok0pc5o30-slideshow *:before, #fv-chart-1793794941594-ok0pc5o30-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1793794941594-ok0pc5o30, #fv-chart-1793794941594-ok0pc5o30-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793794941594-ok0pc5o30 { position: relative !important; overflow: visible !important; --riv-primary: #2E6E93; } #fv-chart-1793794941594-ok0pc5o30 .fv-inner-wrapper { color: #1F2937 !important; background-color: #ffffff !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1793794941594-ok0pc5o30.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1793794941594-ok0pc5o30.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793794941594-ok0pc5o30-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #2E6E93; } #fv-chart-1793794941594-ok0pc5o30-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1793794941594-ok0pc5o30-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1793794941594-ok0pc5o30-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1793794941594-ok0pc5o30-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1793794941594-ok0pc5o30-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1793794941594-ok0pc5o30-slideshow .fv-nav-btn.disabled, #fv-chart-1793794941594-ok0pc5o30-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1793794941594-ok0pc5o30-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1793794941594-ok0pc5o30-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1793794941594-ok0pc5o30-slideshow .fv-slideshow-select:focus { outline: 2px solid #2E6E93 !important; border-color: #2E6E93 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1793794941594-ok0pc5o30 .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1793794941594-ok0pc5o30 .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1793794941594-ok0pc5o30 .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793794941594-ok0pc5o30 .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1793794941594-ok0pc5o30 .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-row, #fv-chart-1793794941594-ok0pc5o30 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1793794941594-ok0pc5o30.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793794941594-ok0pc5o30.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1793794941594-ok0pc5o30.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dials-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important; gap: 1.5rem 1rem !important; width: 100% !important; margin: 0.75rem 0 1.25rem !important; align-items: start !important; justify-items: center !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dial-card { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; width: 100% !important; max-width: 220px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dial-title { font-family: 'Poppins', 'Open Sans', sans-serif !important; font-size: 18px !important; font-weight: 700 !important; color: #2b2b2b !important; line-height: 1.25 !important; margin-bottom: 0.35rem !important; text-align: center !important; width: 100% !important; overflow-wrap: break-word !important; text-transform: none !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dial-svg-wrapper { width: 100% !important; max-width: 200px !important; display: flex !important; justify-content: center !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dial-svg { width: 100% !important; height: auto !important; display: block !important; overflow: visible !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dial-needle { transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dial-commentary { margin-top: 0.35rem !important; font-size: 13px !important; line-height: 1.45 !important; color: #4B5563 !important; text-align: center !important; width: 100% !important; padding: 0 4px !important; font-family: 'Open Sans', sans-serif !important; word-wrap: break-word !important; } #fv-chart-1793794941594-ok0pc5o30.preview-wrapper .fv-dial-commentary-input { min-height: 22px !important; border: 1px dashed transparent !important; border-radius: 4px !important; transition: border-color 0.15s ease, background-color 0.15s ease !important; } #fv-chart-1793794941594-ok0pc5o30.preview-wrapper .fv-dial-card:hover .fv-dial-commentary-input, #fv-chart-1793794941594-ok0pc5o30.preview-wrapper .fv-dial-commentary-input:focus { border-color: #CBD5E1 !important; background-color: rgba(241, 245, 249, 0.6) !important; } #fv-chart-1793794941594-ok0pc5o30 .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; } #fv-chart-1793794941594-ok0pc5o30.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-label-left { left: 1rem !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-label-right { right: 1rem !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-expand-btn, #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-expand-btn:hover, #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-pie-container, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-bar-row, #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-stacked-product, #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-grouped-bar-product, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-bar-row, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-stacked-product, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-bar-label, #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-grouped-product-title, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-bar-label, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-bar-container, #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-bar-cluster, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-bar-container, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-x-axis-wrapper, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-x-axis-label-space, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-x-axis-chart-space, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-benchmark-title, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-dropdown-title, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-carousel-nav-btn, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-chart-title, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-chart-subhead, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-versus-header, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-versus-select-wrapper, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-versus-vs, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-versus-select-container, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-versus-select, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-stl-shop-all-btn, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-stl-shop-all-logo, #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-stl-shop-all-icon, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-bar-commentary-inline, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-dials-grid, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-dial-title, #fv-chart-1793794941594-ok0pc5o30.labels-on-top .fv-dial-title { font-size: 16px !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793794941594-ok0pc5o30.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1793794941594-ok0pc5o30 .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-row, #fv-chart-1793794941594-ok0pc5o30 .fv-stacked-product, #fv-chart-1793794941594-ok0pc5o30 .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-label, #fv-chart-1793794941594-ok0pc5o30 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-container, #fv-chart-1793794941594-ok0pc5o30 .fv-bar-cluster { width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793794941594-ok0pc5o30 .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793794941594-ok0pc5o30 .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793794941594-ok0pc5o30 .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-x-axis-label-space { display: none !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-stl-shop-all-logo, #fv-chart-1793794941594-ok0pc5o30 .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-dial-title { font-size: 16px !important; } #fv-chart-1793794941594-ok0pc5o30 .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793794941594-ok0pc5o30.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Ketchup cleaning test",  "description": "Before and after cleaning up ketchup with Dyson W1 PencilWash floor cleaner",  "creator": {    "@type": "Organization",    "name": "TechRadar",    "logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-11-04T12:22:21.594Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Image Comparison",    "benchmark",    "comparison",    "performance",    "review",    "TechRadar"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": []}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-11-04T12:22:21.594Z","state":{"data":[],"products":[],"attributes":[],"selectedProducts":[],"selectedPrimaryProduct":null,"selectedAttributes":[],"productColors":[],"initialProductColors":[],"attributeColors":[],"attributeGroups":[],"chartType":"Image Comparison","roundupViewType":"bars","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"TechRadar","logoUrl":"https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/techradar.png","colors":{"primary":"#2E6E93","secondary":"#E8238C","accent":"#FFFFFF","background":"#ffffff","text":"#1F2937","productColors":["#2E6E93","#E8238C","#5DA8D4","#F06EAF","#1A4E6B","#B81C70","#8CC3E0","#F499C9"]}},"textContent":{"title":"Ketchup cleaning test","subhead":"Before and after cleaning up ketchup with Dyson W1 PencilWash floor cleaner","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false,"imageCompareData":{"image1Url":"https://cdn.mos.cms.futurecdn.net/W2YWWAD2v2xcnrna7pHRHF.jpg","image2Url":"https://cdn.mos.cms.futurecdn.net/fR4tg8HgCqsy5KK2dZX3kE.jpg","label1":"Before cleaning ketchup","label2":"After cleaning ketchup","image1Alt":"Ketchup on floor before cleaning with Dyson W1 PencilWash","image2Alt":"Clean floor with all ketchup removed by Dyson W1 PencilWash","showTitle":true,"showSubhead":false}},"slides":[]}</script><div id="fv-chart-1793794941594-ok0pc5o30" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper  fv-is-image-compare  "><h3 class="fv-chart-title">Ketchup cleaning test</h3><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1793794941594-ok0pc5o30-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Before and after cleaning up ketchup with Dyson W1 PencilWash floor cleaner" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/fR4tg8HgCqsy5KK2dZX3kE.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/fR4tg8HgCqsy5KK2dZX3kE.jpg" alt="Clean floor with all ketchup removed by Dyson W1 PencilWash" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/W2YWWAD2v2xcnrna7pHRHF.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/W2YWWAD2v2xcnrna7pHRHF.jpg" alt="Ketchup on floor before cleaning with Dyson W1 PencilWash" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle "><img src="https://proof.vanilla.tools/media/images/brandLogos/techradar.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">Before cleaning ketchup</div><div class="fv-image-compare-label fv-image-compare-label-right">After cleaning ketchup</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo" /></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async=""></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }          function animateDials(chartElement) {            if (!chartElement) return;            var needles = chartElement.querySelectorAll('.fv-dial-needle');            needles.forEach(function(needle, index) {              var targetAngle = needle.dataset.targetAngle;              var baseAngle = needle.dataset.baseAngle || '-132';              if (targetAngle === undefined) return;              needle.style.setProperty('transition', 'none', 'important');              needle.style.setProperty('transform', 'rotate(' + baseAngle + 'deg)', 'important');              void needle.getBoundingClientRect();              setTimeout(function() {                needle.style.setProperty('transition', 'transform 0.9s cubic-bezier(0.22, 1, 0.36, 1)', 'important');                needle.style.setProperty('transform', 'rotate(' + targetAngle + 'deg)', 'important');              }, index * 60 + 50);            });          }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                  animateDials(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1793794941594-ok0pc5o30', false); });      } else {        initialize('fv-chart-1793794941594-ok0pc5o30', false);      }    })();      </script></div><p>Your floors will dry exceptionally quickly as well; after a pass on the regular cleaning mode, my laminate flooring was dry within 10 seconds.</p><p>The new metal comb wasn’t quite such a success. It does catch hair, and the roller needs less hand-cleaning after use, but quite a lot of hair became caught in one of the small wheels on the bottom of the floorhead during my tests. This didn’t seem to affect performance, and I didn’t even realize while maneuvering the cleaner, but it was wrapped tightly around the tiny axel and had to be cut free with scissors. </p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1793795199133-m1bqm59zo *, #fv-chart-1793795199133-m1bqm59zo *:before, #fv-chart-1793795199133-m1bqm59zo *:after, #fv-chart-1793795199133-m1bqm59zo-slideshow *, #fv-chart-1793795199133-m1bqm59zo-slideshow *:before, #fv-chart-1793795199133-m1bqm59zo-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1793795199133-m1bqm59zo, #fv-chart-1793795199133-m1bqm59zo-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793795199133-m1bqm59zo { position: relative !important; overflow: visible !important; --riv-primary: #2E6E93; } #fv-chart-1793795199133-m1bqm59zo .fv-inner-wrapper { color: #1F2937 !important; background-color: #ffffff !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1793795199133-m1bqm59zo .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1793795199133-m1bqm59zo.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1793795199133-m1bqm59zo.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793795199133-m1bqm59zo .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793795199133-m1bqm59zo-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #2E6E93; } #fv-chart-1793795199133-m1bqm59zo-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1793795199133-m1bqm59zo-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1793795199133-m1bqm59zo-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1793795199133-m1bqm59zo-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1793795199133-m1bqm59zo-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1793795199133-m1bqm59zo-slideshow .fv-nav-btn.disabled, #fv-chart-1793795199133-m1bqm59zo-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1793795199133-m1bqm59zo-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1793795199133-m1bqm59zo-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1793795199133-m1bqm59zo-slideshow .fv-slideshow-select:focus { outline: 2px solid #2E6E93 !important; border-color: #2E6E93 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1793795199133-m1bqm59zo .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1793795199133-m1bqm59zo .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1793795199133-m1bqm59zo .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1793795199133-m1bqm59zo .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793795199133-m1bqm59zo .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1793795199133-m1bqm59zo .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1793795199133-m1bqm59zo .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1793795199133-m1bqm59zo .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793795199133-m1bqm59zo .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1793795199133-m1bqm59zo .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1793795199133-m1bqm59zo .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1793795199133-m1bqm59zo .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1793795199133-m1bqm59zo .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-row, #fv-chart-1793795199133-m1bqm59zo .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1793795199133-m1bqm59zo.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793795199133-m1bqm59zo.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1793795199133-m1bqm59zo.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1793795199133-m1bqm59zo .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1793795199133-m1bqm59zo .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1793795199133-m1bqm59zo .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1793795199133-m1bqm59zo .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1793795199133-m1bqm59zo .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1793795199133-m1bqm59zo .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1793795199133-m1bqm59zo .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dials-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important; gap: 1.5rem 1rem !important; width: 100% !important; margin: 0.75rem 0 1.25rem !important; align-items: start !important; justify-items: center !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dial-card { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; width: 100% !important; max-width: 220px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dial-title { font-family: 'Poppins', 'Open Sans', sans-serif !important; font-size: 18px !important; font-weight: 700 !important; color: #2b2b2b !important; line-height: 1.25 !important; margin-bottom: 0.35rem !important; text-align: center !important; width: 100% !important; overflow-wrap: break-word !important; text-transform: none !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dial-svg-wrapper { width: 100% !important; max-width: 200px !important; display: flex !important; justify-content: center !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dial-svg { width: 100% !important; height: auto !important; display: block !important; overflow: visible !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dial-needle { transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dial-commentary { margin-top: 0.35rem !important; font-size: 13px !important; line-height: 1.45 !important; color: #4B5563 !important; text-align: center !important; width: 100% !important; padding: 0 4px !important; font-family: 'Open Sans', sans-serif !important; word-wrap: break-word !important; } #fv-chart-1793795199133-m1bqm59zo.preview-wrapper .fv-dial-commentary-input { min-height: 22px !important; border: 1px dashed transparent !important; border-radius: 4px !important; transition: border-color 0.15s ease, background-color 0.15s ease !important; } #fv-chart-1793795199133-m1bqm59zo.preview-wrapper .fv-dial-card:hover .fv-dial-commentary-input, #fv-chart-1793795199133-m1bqm59zo.preview-wrapper .fv-dial-commentary-input:focus { border-color: #CBD5E1 !important; background-color: rgba(241, 245, 249, 0.6) !important; } #fv-chart-1793795199133-m1bqm59zo .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1793795199133-m1bqm59zo .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1793795199133-m1bqm59zo .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1793795199133-m1bqm59zo .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1793795199133-m1bqm59zo .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1793795199133-m1bqm59zo .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-container { width: auto !important; margin-left: -1.5rem !important; margin-right: -1.5rem !important; margin-bottom: 2rem !important; } #fv-chart-1793795199133-m1bqm59zo.fv-full-bleed .fv-image-compare-container { width: 100% !important; max-width: none !important; margin: 0 auto !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-wrapper { position: relative !important; width: 100% !important; overflow: hidden !important; border-radius: 0 !important; background-color: #000 !important; touch-action: pan-y !important; user-select: none !important; -webkit-user-select: none !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-inner { position: relative !important; width: 100% !important; height: 100% !important; display: block !important; transform-origin: center center !important; transition: transform 0.1s ease-out !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-bg { display: block !important; width: 100% !important; height: auto !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-fg { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%) !important; pointer-events: none !important; user-select: none !important; -webkit-user-select: none !important; -webkit-user-drag: none !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-slider { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 32px !important; transform: translateX(-50%) !important; cursor: ew-resize !important; z-index: 10 !important; user-select: none !important; -webkit-user-select: none !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-slider-line { position: absolute !important; top: 0 !important; bottom: 0 !important; left: 50% !important; width: 4px !important; background-color: white !important; transform: translateX(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.5) !important; pointer-events: none !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-handle { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; width: 32px !important; height: 32px !important; background-color: white !important; border-radius: 50% !important; box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; pointer-events: none !important; z-index: 11 !important; overflow: hidden !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-handle.fv-image-compare-handle-square { border-radius: 6px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-arrow-left { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-right: 4px solid #4b5563 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-arrow-right { width: 0 !important; height: 0 !important; border-top: 4px solid transparent !important; border-bottom: 4px solid transparent !important; border-left: 4px solid #4b5563 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-label { position: absolute !important; top: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; padding: 0.25rem 0.75rem !important; border-radius: 0.25rem !important; font-size: 0.875rem !important; font-weight: 500 !important; pointer-events: none !important; backdrop-filter: blur(4px) !important; z-index: 5 !important; transition: right 0.3s ease, opacity 0.2s ease !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-label-left { left: 1rem !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-label-right { right: 1rem !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-expand-btn, #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-close-btn { position: absolute !important; bottom: 1rem !important; right: 1rem !important; background-color: rgba(0, 0, 0, 0.5) !important; color: white !important; border: none !important; border-radius: 0.25rem !important; padding: 0.5rem !important; cursor: pointer !important; z-index: 20 !important; display: flex !important; align-items: center !important; justify-content: center !important; backdrop-filter: blur(4px) !important; transition: background-color 0.2s !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-expand-btn:hover, #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-close-btn:hover { background-color: rgba(0, 0, 0, 0.7) !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-close-btn { display: none !important; top: 1rem !important; bottom: auto !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-wrapper.fv-image-compare-fullscreen { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; z-index: 999999 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: rgba(0, 0, 0, 0.9) !important; margin: 0 !important; touch-action: none !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: grab !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-inner:active { cursor: grabbing !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-bg { position: absolute !important; top: 0 !important; left: 0 !important; max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-fg { max-width: 100% !important; max-height: 100% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-expand-btn { display: none !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-close-btn { display: flex !important; } #fv-chart-1793795199133-m1bqm59zo .fv-image-compare-wrapper.fv-image-compare-fullscreen .fv-image-compare-label-right { right: 4rem !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-pie-container, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-bar-row, #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-stacked-product, #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-grouped-bar-product, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-bar-row, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-stacked-product, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-bar-label, #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-grouped-product-title, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-bar-label, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-bar-container, #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-bar-cluster, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-bar-container, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-x-axis-wrapper, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-x-axis-label-space, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-x-axis-chart-space, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-benchmark-title, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-dropdown-title, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-carousel-nav-btn, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-chart-title, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-chart-subhead, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-versus-header, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-versus-select-wrapper, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-versus-vs, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-versus-select-container, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-versus-select, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-stl-shop-all-btn, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-stl-shop-all-logo, #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-stl-shop-all-icon, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-bar-commentary-inline, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-dials-grid, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-dial-title, #fv-chart-1793795199133-m1bqm59zo.labels-on-top .fv-dial-title { font-size: 16px !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793795199133-m1bqm59zo.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1793795199133-m1bqm59zo .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793795199133-m1bqm59zo .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-row, #fv-chart-1793795199133-m1bqm59zo .fv-stacked-product, #fv-chart-1793795199133-m1bqm59zo .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-label, #fv-chart-1793795199133-m1bqm59zo .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-container, #fv-chart-1793795199133-m1bqm59zo .fv-bar-cluster { width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793795199133-m1bqm59zo .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793795199133-m1bqm59zo .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793795199133-m1bqm59zo .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-x-axis-label-space { display: none !important; } #fv-chart-1793795199133-m1bqm59zo .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793795199133-m1bqm59zo .fv-stl-shop-all-logo, #fv-chart-1793795199133-m1bqm59zo .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793795199133-m1bqm59zo .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793795199133-m1bqm59zo .fv-dial-title { font-size: 16px !important; } #fv-chart-1793795199133-m1bqm59zo .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793795199133-m1bqm59zo.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Toothpaste cleaning test",  "description": "Before and after cleaning toothpaste off floor with Dyson W1 PencilWash",  "creator": {    "@type": "Organization",    "name": "TechRadar",    "logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-11-04T12:26:39.133Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Image Comparison",    "benchmark",    "comparison",    "performance",    "review",    "TechRadar"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": []}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-11-04T12:26:39.133Z","state":{"data":[],"products":[],"attributes":[],"selectedProducts":[],"selectedPrimaryProduct":null,"selectedAttributes":[],"productColors":[],"initialProductColors":[],"attributeColors":[],"attributeGroups":[],"chartType":"Image Comparison","roundupViewType":"bars","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"TechRadar","logoUrl":"https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/techradar.png","colors":{"primary":"#2E6E93","secondary":"#E8238C","accent":"#FFFFFF","background":"#ffffff","text":"#1F2937","productColors":["#2E6E93","#E8238C","#5DA8D4","#F06EAF","#1A4E6B","#B81C70","#8CC3E0","#F499C9"]}},"textContent":{"title":"Toothpaste cleaning test","subhead":"Before and after cleaning toothpaste off floor with Dyson W1 PencilWash","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false,"imageCompareData":{"image1Url":"https://cdn.mos.cms.futurecdn.net/cBadpRCyPpfoxSTQgqu2FF.jpg","image2Url":"https://cdn.mos.cms.futurecdn.net/JJ9SPsCd3iD35VjnYJja8F.jpg","label1":"Before cleaning toothpaste","label2":"During cleaning toothpaste","showTitle":true,"showSubhead":false}},"slides":[]}</script><div id="fv-chart-1793795199133-m1bqm59zo" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper  fv-is-image-compare  "><h3 class="fv-chart-title">Toothpaste cleaning test</h3><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1793795199133-m1bqm59zo-image-compare-1" data-chart-type="Image Comparison" data-title="Image Comparison" data-subhead="Before and after cleaning toothpaste off floor with Dyson W1 PencilWash" data-caption="" style=""><div class="fv-benchmark-group"><div class="fv-image-compare-container"><div class="fv-image-compare-wrapper" data-image-compare="true"><div class="fv-image-compare-inner"><img src="https://cdn.mos.cms.futurecdn.net/JJ9SPsCd3iD35VjnYJja8F.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/JJ9SPsCd3iD35VjnYJja8F.jpg" alt="After" class="fv-image-compare-bg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><img src="https://cdn.mos.cms.futurecdn.net/cBadpRCyPpfoxSTQgqu2FF.jpg" data-highres-src="https://cdn.mos.cms.futurecdn.net/cBadpRCyPpfoxSTQgqu2FF.jpg" alt="Before" class="fv-image-compare-fg" loading="lazy" referrerpolicy="no-referrer" draggable="false" /><div class="fv-image-compare-slider"><div class="fv-image-compare-slider-line"></div><div class="fv-image-compare-handle "><img src="https://proof.vanilla.tools/media/images/brandLogos/techradar.png" alt="Brand Logo" style="width: 100%; height: 100%; object-fit: cover;" /></div></div></div><div class="fv-image-compare-label fv-image-compare-label-left">Before cleaning toothpaste</div><div class="fv-image-compare-label fv-image-compare-label-right">During cleaning toothpaste</div><button class="fv-image-compare-expand-btn" aria-label="Expand Image"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 8V4h4"/><path d="M20 8V4h-4"/><path d="M4 16v4h4"/><path d="M20 16v4h-4"/><circle cx="11.5" cy="11.5" r="3.5"/><path d="m14 14 3 3"/></svg></button><button class="fv-image-compare-close-btn" aria-label="Close Fullscreen"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo" /></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async=""></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }          function animateDials(chartElement) {            if (!chartElement) return;            var needles = chartElement.querySelectorAll('.fv-dial-needle');            needles.forEach(function(needle, index) {              var targetAngle = needle.dataset.targetAngle;              var baseAngle = needle.dataset.baseAngle || '-132';              if (targetAngle === undefined) return;              needle.style.setProperty('transition', 'none', 'important');              needle.style.setProperty('transform', 'rotate(' + baseAngle + 'deg)', 'important');              void needle.getBoundingClientRect();              setTimeout(function() {                needle.style.setProperty('transition', 'transform 0.9s cubic-bezier(0.22, 1, 0.36, 1)', 'important');                needle.style.setProperty('transform', 'rotate(' + targetAngle + 'deg)', 'important');              }, index * 60 + 50);            });          }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                  animateDials(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1793795199133-m1bqm59zo', false); });      } else {        initialize('fv-chart-1793795199133-m1bqm59zo', false);      }    })();      </script></div><p>It’s worth noting that the microfiber roller takes quite a long time to air-dry. I placed it near a dehumidifier to speed up the process, but it still took two days before it was dry enough for me to feel comfortable storing it. </p><p>The big surprise was the battery life. Dyson’s specifications claim that the W1 PencilWash can run for 45 minutes on a single charge (up from 30 minutes for the original PencilWash), but during my tests it ran for an astonishing two hours and 13 minutes — and that was during active mopping, not just running the roller without resistance. I have contacted Dyson’s press office to ask whether that’s expected performance, but it’s safe to say that you shouldn’t have any problems cleaning even large homes.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/cp2xidV3sN6Dfu3ndqiN2b-1920-80.jpg" alt="Hair caught in wheel under Dyson W1 PencilWash" /><figcaption>Hair became caught in one of the wheels on the bottom of the floorhead<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/7xYVZMquCn6wFC2TC2mLid-1920-80.jpg" alt="Dyson W1 PencilWash with bottle of cleaner and bowl of dirty waste water" /><figcaption>The dirty water container is now easier to empty, with less potential for spillage<small role="credit">Future</small></figcaption></figure></figure><p>Overall, I’m impressed with the W1 PencilWash. Dyson has clearly taken on board feedback from the first model (the detachable clean water tank and scrubbing bristles are highlights) while keeping the fundamentals the same. If you have a large home with lots of hard flooring, or live with pets or children, then this new model would be a great choice. If, on the other hand, your home is relatively small and you want something for everyday maintenance, the original PencilWash might be the smarter choice at its newly reduced price.</p><ul><li><strong>Performance score: 4.5/5</strong></li></ul><h2 class="article-body__section" id="section-should-you-buy-the-dyson-w1-pencilwash"><span>Should you buy the Dyson W1 PencilWash?</span></h2><div ><table><caption>Dyson W1 PencilWash score card</caption><thead><tr><th class="firstcol " ><p>Attribute</p></th><th  ><p>Notes</p></th><th  ><p>Score</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Value</p></td><td  ><p>Same price as the original PencilWash at launch. Relatively pricey for a wet floor cleaner; you're paying for light weight and compact design.</p></td><td  ><p>4/5</p></td></tr><tr><td class="firstcol " ><p>Design</p></td><td  ><p>Redesigned floor head is a huge improvement — especially new water tanks.</p></td><td  ><p>5/5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>Great cleaning performance on stubborn stains and remarkable battery life, but hair can get caught in wheels.</p></td><td  ><p>4.5/5</p></td></tr></tbody></table></div><h3 id="buy-it-if-2">Buy it if</h3><div class="product"><p><strong>You have lots of hard floors</strong></p><p>With its incredible battery life, the W1 PencilWash can mop your entire home on a single charge.</p></div><div class="product"><p><strong>You want to clean little and often</strong></p><p>The W1 PencilWash is quick to use and floors dry rapidly after cleaning, so it's very convenient for daily mopping.</p></div><h3 id="don-39-t-buy-it-if">Don't buy it if</h3><div class="product"><p><strong>You have long hair</strong></p><p>Although the metal comb is designed to catch hair, I found it tended to get caught on one of the wheels under the floorhead.</p></div><div class="product"><p><strong>You have unsealed floors</strong></p><p>Neither version of the PencilWash is suitable for unsealed flooring.</p></div><h2 class="article-body__section" id="section-dyson-w1-pencilwash-also-consider"><span>Dyson W1 PencilWash: also consider</span></h2><p>If the Dyson W1 PencilWash isn't the right wet floor cleaner for you, here are two other options to think about.</p><div class="product"><a data-dimension112="7403bc38-d84f-11f1-a9bb-ab1d18b02220" data-action="Deal Block" data-label="Read our full Dyson PencilWash review" data-dimension48="Read our full Dyson PencilWash review" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1152px;"><p class="vanilla-image-block" style="padding-top:150.00%;"><img id="BdvAcWUWhAQjvyf6ScYryG" name="Pencilwash" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/BdvAcWUWhAQjvyf6ScYryG-1920-80.jpg" mos="" align="middle" fullscreen="" width="1152" height="1728" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p><strong>Dyson PencilWash</strong></p><p>The original PencilWash is still a great option, and has received a serious price cut since the launch of the W1. Well worth investigating if you have a small home.</p><p><strong>Read our full </strong><a href="https://www.techradar.com/home/vacuums/dyson-pencilwash-review" data-dimension112="7403bc38-d84f-11f1-a9bb-ab1d18b02220" data-action="Deal Block" data-label="Read our full Dyson PencilWash review" data-dimension48="Read our full Dyson PencilWash review" data-dimension25=""><strong>Dyson PencilWash review</strong></a></p></div><div class="product"><a data-dimension112="7403bc9c-d84f-11f1-a5bb-07341bc72238" data-action="Deal Block" data-label="Read our full Bissell CrossWave HydroScrub review" data-dimension48="Read our full Bissell CrossWave HydroScrub review" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:450px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="CLGDzsfyNfUeHKcYwBXt3c" name="image" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/CLGDzsfyNfUeHKcYwBXt3c-1920-80.png" mos="" align="middle" fullscreen="" width="450" height="450" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p><strong>Bissell CrossWave HydroScrub</strong></p><p>If you want a full wet and dry cleaner, check out Bissell. The CrossWave HydroScrub isn't small, but it's a great all-rounder and about the same price as the W1 PencilWash.</p><p><strong>Read our full </strong><a href="https://www.techradar.com/home/vacuums/bissell-crosswave-hydroscrub-review" data-dimension112="7403bc9c-d84f-11f1-a5bb-07341bc72238" data-action="Deal Block" data-label="Read our full Bissell CrossWave HydroScrub review" data-dimension48="Read our full Bissell CrossWave HydroScrub review" data-dimension25=""><strong>Bissell CrossWave HydroScrub review</strong></a></p></div><h2 class="article-body__section" id="section-how-i-tested-the-dyson-w1-pencilwash"><span>How I tested the Dyson W1 PencilWash</span></h2><p>I tested the Dyson W1 PencilWash on sealed laminate flooring, using Dyson 02 Probiotic Hard Floor Cleaning Solution and tap water. I used it on common household stains including dried juice, dried toothpaste, ketchup, flour, and human hair.</p><p>I emptied the floor head cassette, and cleaned the tank, comb, and microfiber roller using plain water.</p><p>I fully charged the W1, then used it to clean the floors, moving it backwards and forwards as in normal use, and timed how long it took for the battery to run flat.</p><p><em>First reviewed November 2026</em></p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The Legend of Zelda: Ocarina of Time Switch 2 review: the Hero of Time gets a new lease of life ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Nintendo’s decision to remake <em>The Legend of Zelda: Ocarina of Time </em>for the Switch 2 in celebration of the franchise's 40th anniversary was hotly anticipated, if not a little anxiety-inducing. Like legions of fans, I share fond memories of inventive puzzles that turned hardware limitations into creative opportunities, revolutionary mechanics that defined 3D action-adventure for years to come, and, of course, one of the most beautiful and well-written storylines in the video game hall of fame. </p><div  class="fancy-box"><div class="fancy_box-title">Review info</div><div class="fancy_box_body"><p class="fancy-box__body-text"><strong>Platform reviewed: </strong>Nintendo Switch 2<br /><strong>Available on: </strong>Nintendo Switch 2 <br /><strong>Release date: </strong>November 5, 2026</p></div></div><p>28 years on from the release of the original <em>Ocarina of Time</em>, a lot has changed in the world of gaming. Hardware limitations, even on the Switch 2, are far fewer than ever before, and there’s a game for everyone.</p><p>So in a world that now includes everything from niche interests in <em>PowerWash Simulator</em> to AAA giants like <em>GTA 6</em> to Fortnite’s bizarre multiverse of pop stars and anime icons, can a remake of a decades-old game that now feels relatively simplistic find its footing, or even be one of the <a href="https://www.techradar.com/gaming/nintendo/best-nintendo-switch-2-games">best Nintendo Switch 2 games</a> going?</p><h2 id="do-you-see-that-man-with-the-evil-eyes">Do you see that man with the evil eyes?</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="Qs9BD49oSTYEDZvgvVvcjN" name="The Legend of Zelda: Ocarina of Time remake" alt="The Legend of Zelda: Ocarina of Time remake" src="https://cdn.mos.cms.futurecdn.net/Qs9BD49oSTYEDZvgvVvcjN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nintendo)</span></figcaption></figure><p>It’s natural that the phrase ‘don’t mess with perfection’ springs to mind when thinking about Metacritic’s best-ever-scoring video game, but a remake without meaningful changes is always going to feel like a nostalgia-baiting cash grab. </p><p>Flying in the face of that narrative, <em>Ocarina of Time</em>’s remake proves classic Zelda still has a place in current gaming, bringing meaningful additions and alterations across the board from level design to voice acting and even some juicy new lore while still staying faithful to the source material.</p><p>All areas of Hyrule have been revisited and retouched, with few drastic changes but plenty of improvements. A rich tapestry of flora and fauna, thick fog swirling at Link’s feet, organic terrain, and detailed furnishings bring every location to life. </p><p>The storybook visual direction of the remake comes together beautifully with this new detailed world, making its own mark on the Zelda franchise. Its vivid style might not be to everyone’s taste, but it’s certainly immersive, as is the rich, re-orchestrated soundtrack. </p><div  class="fancy-box"><div class="fancy_box-title">Best bit</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="6ppBLNFpZkEhsGNcZ2VXwN" name="The Legend of Zelda: Ocarina of Time remake" caption="" alt="The Legend of Zelda: Ocarina of Time remake" src="https://cdn.mos.cms.futurecdn.net/6ppBLNFpZkEhsGNcZ2VXwN-1920-80.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: Nintendo)</span></figcaption></figure><p class="fancy-box__body-text"><strong>Walking into Zora’s Domain post-Water Temple and seeing it restored to its original glory felt like such a full-circle moment, but my favorite interaction I don’t remember from the original game was approaching King Zora from the side repeatedly and being granted special ‘standing close to the King’ privileges. </strong></p></div></div><p>It runs beautifully too, with its buttery-smooth locked 60fps and no visible lag in my experience. While loading screens are still in place these barely create any friction, controls are snappy and it’s bug-free barring one occasion where I noticed a texture glitch in a waterfall. </p><p>The world is more alive in more ways than one. I do miss the mad panic of racing to Hyrule Castle gates before night falls in the original, but thanks to the constant day-night cycles within towns, you now see a lot more of the lives of non-player characters (NPCs).</p><p>While still fairly two-dimensional, the supporting cast are full of character, especially so thanks to a new feature of the Mask of Truth you earn through the Happy Mask Salesman quest line. Now, when wearing the mask, you can find the hidden truths behind folks around Hyrule; the Dancing Couple dropped a bombshell I won’t spoil for you, but it adds whole new dimensions to some of the people Link encounters on his quest. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/5d2VJG5GW7g89kH6dUSTAQ-1920-80.jpg" alt="The Legend of Zelda: Ocarina of Time remake" /><figcaption><small role="credit">Nintendo</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/WqumNYiYTGqQfDeyeMUf9Q-1920-80.jpg" alt="The Legend of Zelda: Ocarina of Time remake" /><figcaption><small role="credit">Nintendo</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Da53KHHnKARKeydbUEGZAQ-1920-80.jpg" alt="The Legend of Zelda: Ocarina of Time remake" /><figcaption><small role="credit">Nintendo</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/i6se467bTjBSEJZCUkEAAQ-1920-80.jpg" alt="The Legend of Zelda: Ocarina of Time remake" /><figcaption><small role="credit">Nintendo</small></figcaption></figure></figure><p>You’re encouraged to explore the world and its secrets with new mechanics like Fairy Messages (which replace some of Navi’s hints and reward you with Rupees, Mana, or Hearts, generally) as well as old favorites like Golden Skulltulas and Fairy Fountains, but most of all I found myself frequently looking for viewpoints from which to take in the world just for the sake of it. Quite a lot of the collectibles, grottos, and boulders are in the same or very similar places, but if you don’t have a photographic memory from the original, there’s plenty of fun to be had in rediscovering Hyrule. </p><p>As I expected from my preview, some of the vocal performances did win me over by the end of the game, and Matt Mercer reprising his role as Ganondorf absolutely nailed it (of course). Others, unfortunately, missed the mark; Navi’s original sound bites were so iconic and plucky, but it’s a fairly flat performance here, by comparison. </p><p>Even then, every cutscene was a delight. I loved some of the extended dialogue and how it adds depth and personality to the world, with more beautiful cinematography than ever. I laughed, I cried, I paused and googled if some small line was a reference to a deep lore video I watched the other weekend; the narrative is richer than ever, and it celebrates the original game in all the right ways. </p><h2 id="can-hyrule-39-s-destiny-really-depend-on-such-a-lazy-boy">Can Hyrule's destiny really depend on such a lazy boy?!</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="s847VMmA8RZtwVtykmzeAQ" name="The Legend of Zelda: Ocarina of Time remake" alt="The Legend of Zelda: Ocarina of Time remake" src="https://cdn.mos.cms.futurecdn.net/s847VMmA8RZtwVtykmzeAQ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nintendo)</span></figcaption></figure><p>Especially if you’ve played the original any time recently, there’s an immediate sense of liberation when you load into Kokiri Forest for the first time; even having played the same area at a preview event several weeks before receiving my review code, I couldn’t resist the urge to jump, dash, and swing around the camera like a lunatic in celebration of unhindered freedom to move. </p><p>Combat also feels more fluid and fun. While there’s still a fair amount of waiting around for an opening, gone are Link’s sluggish movements, painstaking in-menu item swapping, and cumbersome crowd control. I love small details like how the camera focus shifts to blur the background when you target enemies, which also means other baddies politely waiting their turn to attack you don’t stick out as much. </p><p>Overall, it’s great; jumping and dodging around, quickly switching between weapons with the right trigger, and aiming projectiles with the gyroscope improve pacing massively.</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="foY7HDFATkVinQXv3YFydN" name="The Legend of Zelda: Ocarina of Time remake" alt="The Legend of Zelda: Ocarina of Time remake" src="https://cdn.mos.cms.futurecdn.net/foY7HDFATkVinQXv3YFydN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nintendo)</span></figcaption></figure><p>That pacing improvement carries over to Temple design too, none more so than the dreaded Water Temple now that you can quick-equip Iron Boots with the D-pad. Some temples see more significant overhauls than others, but overall rooms and puzzles have been shrewdly redesigned, with a few new additions or expanded segments like in Hyrule Castle’s garden maze, which now also leads Link through the castle kitchens.</p><p>It’s often in the smallest adjustments that <em>Ocarina of Time’s</em> remake is at its best; for instance, changes to the environment around you in combat that make more narrative or gameplay sense. Some are subtle; I noticed one room in the Fire Temple especially with more dynamic platform design for Lizalfos to hop around, and in locations like the Forest Temple where new obstacles like acid pits replace empty pits in the floor. </p><p>I didn’t clock any fundamental changes to enemies, but the scale and range have been adapted for enemies like Iron Knuckles as well as some bosses like Volvagia. This, paired with tweaks to the attack strings, a few new moves, and some with higher stakes, ensures Link’s lighter feet are still challenged in combat. </p><h2 id="when-you-fight-the-real-me-it-won-39-t-be-so-easy">When you fight the real me, it won't be so easy!</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="JUxoSBSMQrExN9xyGLtCnN" name="The Legend of Zelda: Ocarina of Time remake" alt="The Legend of Zelda: Ocarina of Time remake" src="https://cdn.mos.cms.futurecdn.net/JUxoSBSMQrExN9xyGLtCnN-1920-80.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: Nintendo)</span></figcaption></figure><p>That being said, I wouldn’t say difficulty is the <em>Ocarina of Time</em> remake’s strength. I’ll caveat heavily with the reminder that this game is as much for kids as it is for us aging nostalgia-chasers, but given I only ran out of health a handful of times, mostly by making silly mistakes or getting distracted, it does feel like <em>Ocarina of Time</em> has moved one step closer to being nerfed. </p><p>It’s a similar story with items — I didn’t have to refill any supplies more than three, maybe four times in my entire save. A new item in the game, the Business Deku Seed, summons a shopkeeper with his stock of supplies, including potions. It’s one of the only new features I find to be a bit of a headscratcher, making the game easier still.</p><p>Add to that the golden webs that hint at the location of overworld Golden Skulltulas, more obvious traps and visual cues for important locations, doors, and boulders, and there were few times I was particularly mentally challenged, either.</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="SgvMhnYijtoTCYCHR6QGAQ" name="The Legend of Zelda: Ocarina of Time remake" alt="The Legend of Zelda: Ocarina of Time remake" src="https://cdn.mos.cms.futurecdn.net/SgvMhnYijtoTCYCHR6QGAQ-1920-80.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="caption-text">Golden spiderwebs now indicate the locations of Golden Skulltulas, which removes some of the challenge in finding them. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Nintendo)</span></figcaption></figure><p>Having rolled credits, I was therefore doubly disappointed to learn Master Quest isn’t offered to up the ante a little. I’m hoping this comes at a later date, and I’m <em>really</em> hoping it’s not DLC, because with a little more challenge, my only real complaint about the game would be quickly remedied.</p><p>It’s not enough to score the game down; it’s ticking all of the obligatory boxes for a good remake, and I loved every second of it. Still, I can’t help but feel just a tinge of disappointment that most changes to the game are limited to optimisations and err on the side of “safe”. The original <em>Ocarina of Time </em>was great, in part, for how it took the limitations of contemporary game design and created some of its best mechanics to work around them in a creative way; without that challenge, the remake at times feels just a little unremarkable. </p><p>Still, this one niggle didn’t impact my personal enjoyment of the game nor negate the many, many strengths it brings to the table, and <em>The Legend of Zelda: Ocarina of Time</em> remake feels like exactly the game that the developers would have made in the late 90s were it possible on contemporary hardware. </p><p>From the first time I played the game at my dad’s knee, I fell in love with the world of Hyrule, and it was just as impactful for me in its third iteration as it was in its first. Whether you’re an adult or a child, when you boot up the remake, it’s not a game you’ll forget in a hurry. </p><h2 id="should-you-play-the-legend-of-zelda-ocarina-of-time-remake">Should you play The Legend of Zelda: Ocarina of Time remake?</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="V5LbZuaLtMQ4ooxzZ8zECQ" name="The Legend of Zelda: Ocarina of Time remake" alt="The Legend of Zelda: Ocarina of Time remake" src="https://cdn.mos.cms.futurecdn.net/V5LbZuaLtMQ4ooxzZ8zECQ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nintendo)</span></figcaption></figure><h2 id="play-it-if">Play it if...</h2><div class="product"><p><strong>You’re a big fan of the original</strong></p><p>At its core, this is a faithful and loving remake of the original <em>Ocarina of Time</em>, and as such, a vast majority of Zelda fans will appreciate the efforts to reinvigorate the game for Zelda’s 40th Anniversary. </p></div><div class="product"><p><strong>You’ve never played a classic Zelda game</strong></p><p>A lot of newer fans to the series may have only played the more recent open-world titles or dabbled in ports of older games; this remake offers new fans the chance to experience a huge part of <em>The Legend of Zelda</em>’s history without sacrificing the comforts of modern gaming.</p></div><div class="product"><p><strong>You love games with a story</strong></p><p>One of <em>Ocarina of Time</em>’s strengths has always been in the beautiful story it weaves, and it’s never stronger than in the remake. With tighter translations, expanded dialogue and new cutscenes, it keeps the heart of what made the original great but adds plenty. </p></div><div class="product"><p><strong>You love puzzle games</strong></p><p><em>Ocarina of Time </em>has some great head scratchers and inventive mechanics, and keeps adding new solutions into the mix right up until the endgame. </p></div><h2 id="don-39-t-play-it-if">Don't play it if...</h2><div class="product"><p><strong>You want a challenge</strong></p><p>Zelda games are never incredibly difficult beyond some of the puzzle mechanics, but <em>Ocarina of Time</em>’s remake feels fun-for-all-ages. That’s no bad thing; I first enjoyed the game as a pre-schooler, but you might want to manage expectations as an adult. </p></div><h2 id="accessibility-features">Accessibility features</h2><p>Within the game’s settings, you can change the camera controls, speed, toggle motion-control aiming, and choose between one-click or press-and-hold targeting. </p><p>You can swap the jump controls, use one-handed ocarina-playing controls, toggle subtitles, and add speaker-name display. Accessibility is, as I’ve come to expect from Nintendo, a weak point, but there are a few more customization options here than I’ve seen in other titles.</p><h2 id="how-i-reviewed-the-legend-of-zelda-ocarina-of-time-remake">How I reviewed The Legend of Zelda: Ocarina of Time remake</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="sciJ8xaDPFgzpm2KJpiRUQ" name="The Legend of Zelda: Ocarina of Time remake" alt="The Legend of Zelda: Ocarina of Time remake" src="https://cdn.mos.cms.futurecdn.net/sciJ8xaDPFgzpm2KJpiRUQ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nintendo)</span></figcaption></figure><p>I’ve completed the main storyline in my 25-hour save, as well as a vast majority of side quests and secret content. I played mostly docked to enjoy the sprawling scenery, but I did try handheld too, comparing my overall experience with the original as well as more modern action-adventure games, including Zelda titles like the original <em>Ocarina of Time</em> and modern entries like <a href="https://www.techradar.com/reviews/the-legend-of-zelda-tears-of-the-kingdom-review"><em>Tears of the Kingdom</em></a><em>,</em> as well as titles like <em>Outer Wilds, Tunic,</em> and more.</p><p>I played on the standard <a href="https://www.techradar.com/gaming/nintendo/nintendo-switch-2-review">Nintendo Switch 2</a>, listening to the gorgeously re-orchestrated soundtrack through my <a href="https://www.techradar.com/gaming/corsair-void-v2-max-wireless-headset-review">Corsair Void Max Wireless v2</a> headset and through the Switch 2’s speakers.</p><p>More generally, I’ve covered a huge array of games here at TechRadar, where I serve as Head of Video and previously as Managing Editor. I’ve reviewed a number of action-adventure and Switch 2 titles.</p><p><em>First reviewed November 2026</em></p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/gaming/the-legend-of-zelda-ocarina-of-time-review</link>
                                                                            <description>
                            <![CDATA[ The Legend of Zelda: Ocarina of Time remake is the ultimate celebration of Nintendo’s 40-year franchise milestone, and ticks almost every box as a remake. It’s light-touch, but some of these subtle changes beautifully render Link’s adventure anew. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">QKikrEjR2LTWyHoAiJtw2A</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/aGNVZAGqBLZbo6gtLUdBAQ-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 04 Nov 2026 11:00:00 +0000</pubDate>                                                                                                                                <updated>Wed, 04 Nov 2026 22:16:22 +0000</updated>
                                                                                                                                            <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ josephine.watson@futurenet.com (Josephine Watson) ]]></author>                    <dc:creator><![CDATA[ Josephine Watson ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/HvpGKcNNvrNZunUL6mqd8c-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Josephine Watson is TechRadar&amp;#39;s Head of Video, and an award-winning (PPA 30 under 30 2024), NCTJ-trained journalist. Having previously written on a variety of topics, from lifestyle to pop culture to gaming and even the energy industry, she joined TechRadar in 2021 to support general site management. Now, she leads the video and social team. She is based in London.&lt;/p&gt;&lt;p&gt;Growing up living and breathing technology, Josephine was part of the first wave of internet-literate young people and developed a love of all things online content, especially when it comes to gaming, pop culture, or science. She is a huge advocate for internet safety and education, appearing on Channel 4 News in her teenage years to challenge reports of rampant online dangers and encourage wider education on internet safety and protocols. Throughout her career, she has also made a point of using her position to fight for progression in the treatment of diversity and inclusion, mental health, and neurodiversity in corporate settings. Josephine is responsible for TechRadar&amp;#39;s recent push into sustainability-related content, as well as starring in the &lt;a href=&quot;https://www.youtube.com/@techradar&quot;&gt;TechRadar podcast&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Josephine received her Bachelor of Arts in English Literature from Queen Mary, University of London, having spent a year abroad studying at Hunter College in New York. She has also completed a L3 People Leadership qualification as well as a L7 Senior Journalism apprenticeship through the University of Sunderland. &lt;/p&gt;&lt;p&gt;In her spare time, you&amp;#39;ll find Josephine fiddling with smart home devices, playing whichever Nintendo game she&amp;#39;s recently acquired, developing an obsession over some new creative hobby she&amp;#39;ll drop in a few months or watching Disney movies. &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/aGNVZAGqBLZbo6gtLUdBAQ-1920-80.jpg">
                                                            <media:credit><![CDATA[Nintendo]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Legend of Zelda: Ocarina of Time remake]]></media:description>                                                            <media:text><![CDATA[The Legend of Zelda: Ocarina of Time remake]]></media:text>
                                <media:title type="plain"><![CDATA[The Legend of Zelda: Ocarina of Time remake]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/aGNVZAGqBLZbo6gtLUdBAQ-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Nintendo’s decision to remake <em>The Legend of Zelda: Ocarina of Time </em>for the Switch 2 in celebration of the franchise's 40th anniversary was hotly anticipated, if not a little anxiety-inducing. Like legions of fans, I share fond memories of inventive puzzles that turned hardware limitations into creative opportunities, revolutionary mechanics that defined 3D action-adventure for years to come, and, of course, one of the most beautiful and well-written storylines in the video game hall of fame. </p><div  class="fancy-box"><div class="fancy_box-title">Review info</div><div class="fancy_box_body"><p class="fancy-box__body-text"><strong>Platform reviewed: </strong>Nintendo Switch 2<br /><strong>Available on: </strong>Nintendo Switch 2 <br /><strong>Release date: </strong>November 5, 2026</p></div></div><p>28 years on from the release of the original <em>Ocarina of Time</em>, a lot has changed in the world of gaming. Hardware limitations, even on the Switch 2, are far fewer than ever before, and there’s a game for everyone.</p><p>So in a world that now includes everything from niche interests in <em>PowerWash Simulator</em> to AAA giants like <em>GTA 6</em> to Fortnite’s bizarre multiverse of pop stars and anime icons, can a remake of a decades-old game that now feels relatively simplistic find its footing, or even be one of the <a href="https://www.techradar.com/gaming/nintendo/best-nintendo-switch-2-games">best Nintendo Switch 2 games</a> going?</p><h2 id="do-you-see-that-man-with-the-evil-eyes">Do you see that man with the evil eyes?</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="Qs9BD49oSTYEDZvgvVvcjN" name="The Legend of Zelda: Ocarina of Time remake" alt="The Legend of Zelda: Ocarina of Time remake" src="https://cdn.mos.cms.futurecdn.net/Qs9BD49oSTYEDZvgvVvcjN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nintendo)</span></figcaption></figure><p>It’s natural that the phrase ‘don’t mess with perfection’ springs to mind when thinking about Metacritic’s best-ever-scoring video game, but a remake without meaningful changes is always going to feel like a nostalgia-baiting cash grab. </p><p>Flying in the face of that narrative, <em>Ocarina of Time</em>’s remake proves classic Zelda still has a place in current gaming, bringing meaningful additions and alterations across the board from level design to voice acting and even some juicy new lore while still staying faithful to the source material.</p><p>All areas of Hyrule have been revisited and retouched, with few drastic changes but plenty of improvements. A rich tapestry of flora and fauna, thick fog swirling at Link’s feet, organic terrain, and detailed furnishings bring every location to life. </p><p>The storybook visual direction of the remake comes together beautifully with this new detailed world, making its own mark on the Zelda franchise. Its vivid style might not be to everyone’s taste, but it’s certainly immersive, as is the rich, re-orchestrated soundtrack. </p><div  class="fancy-box"><div class="fancy_box-title">Best bit</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="6ppBLNFpZkEhsGNcZ2VXwN" name="The Legend of Zelda: Ocarina of Time remake" caption="" alt="The Legend of Zelda: Ocarina of Time remake" src="https://cdn.mos.cms.futurecdn.net/6ppBLNFpZkEhsGNcZ2VXwN-1920-80.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: Nintendo)</span></figcaption></figure><p class="fancy-box__body-text"><strong>Walking into Zora’s Domain post-Water Temple and seeing it restored to its original glory felt like such a full-circle moment, but my favorite interaction I don’t remember from the original game was approaching King Zora from the side repeatedly and being granted special ‘standing close to the King’ privileges. </strong></p></div></div><p>It runs beautifully too, with its buttery-smooth locked 60fps and no visible lag in my experience. While loading screens are still in place these barely create any friction, controls are snappy and it’s bug-free barring one occasion where I noticed a texture glitch in a waterfall. </p><p>The world is more alive in more ways than one. I do miss the mad panic of racing to Hyrule Castle gates before night falls in the original, but thanks to the constant day-night cycles within towns, you now see a lot more of the lives of non-player characters (NPCs).</p><p>While still fairly two-dimensional, the supporting cast are full of character, especially so thanks to a new feature of the Mask of Truth you earn through the Happy Mask Salesman quest line. Now, when wearing the mask, you can find the hidden truths behind folks around Hyrule; the Dancing Couple dropped a bombshell I won’t spoil for you, but it adds whole new dimensions to some of the people Link encounters on his quest. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/5d2VJG5GW7g89kH6dUSTAQ-1920-80.jpg" alt="The Legend of Zelda: Ocarina of Time remake" /><figcaption><small role="credit">Nintendo</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/WqumNYiYTGqQfDeyeMUf9Q-1920-80.jpg" alt="The Legend of Zelda: Ocarina of Time remake" /><figcaption><small role="credit">Nintendo</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Da53KHHnKARKeydbUEGZAQ-1920-80.jpg" alt="The Legend of Zelda: Ocarina of Time remake" /><figcaption><small role="credit">Nintendo</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/i6se467bTjBSEJZCUkEAAQ-1920-80.jpg" alt="The Legend of Zelda: Ocarina of Time remake" /><figcaption><small role="credit">Nintendo</small></figcaption></figure></figure><p>You’re encouraged to explore the world and its secrets with new mechanics like Fairy Messages (which replace some of Navi’s hints and reward you with Rupees, Mana, or Hearts, generally) as well as old favorites like Golden Skulltulas and Fairy Fountains, but most of all I found myself frequently looking for viewpoints from which to take in the world just for the sake of it. Quite a lot of the collectibles, grottos, and boulders are in the same or very similar places, but if you don’t have a photographic memory from the original, there’s plenty of fun to be had in rediscovering Hyrule. </p><p>As I expected from my preview, some of the vocal performances did win me over by the end of the game, and Matt Mercer reprising his role as Ganondorf absolutely nailed it (of course). Others, unfortunately, missed the mark; Navi’s original sound bites were so iconic and plucky, but it’s a fairly flat performance here, by comparison. </p><p>Even then, every cutscene was a delight. I loved some of the extended dialogue and how it adds depth and personality to the world, with more beautiful cinematography than ever. I laughed, I cried, I paused and googled if some small line was a reference to a deep lore video I watched the other weekend; the narrative is richer than ever, and it celebrates the original game in all the right ways. </p><h2 id="can-hyrule-39-s-destiny-really-depend-on-such-a-lazy-boy">Can Hyrule's destiny really depend on such a lazy boy?!</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="s847VMmA8RZtwVtykmzeAQ" name="The Legend of Zelda: Ocarina of Time remake" alt="The Legend of Zelda: Ocarina of Time remake" src="https://cdn.mos.cms.futurecdn.net/s847VMmA8RZtwVtykmzeAQ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nintendo)</span></figcaption></figure><p>Especially if you’ve played the original any time recently, there’s an immediate sense of liberation when you load into Kokiri Forest for the first time; even having played the same area at a preview event several weeks before receiving my review code, I couldn’t resist the urge to jump, dash, and swing around the camera like a lunatic in celebration of unhindered freedom to move. </p><p>Combat also feels more fluid and fun. While there’s still a fair amount of waiting around for an opening, gone are Link’s sluggish movements, painstaking in-menu item swapping, and cumbersome crowd control. I love small details like how the camera focus shifts to blur the background when you target enemies, which also means other baddies politely waiting their turn to attack you don’t stick out as much. </p><p>Overall, it’s great; jumping and dodging around, quickly switching between weapons with the right trigger, and aiming projectiles with the gyroscope improve pacing massively.</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="foY7HDFATkVinQXv3YFydN" name="The Legend of Zelda: Ocarina of Time remake" alt="The Legend of Zelda: Ocarina of Time remake" src="https://cdn.mos.cms.futurecdn.net/foY7HDFATkVinQXv3YFydN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nintendo)</span></figcaption></figure><p>That pacing improvement carries over to Temple design too, none more so than the dreaded Water Temple now that you can quick-equip Iron Boots with the D-pad. Some temples see more significant overhauls than others, but overall rooms and puzzles have been shrewdly redesigned, with a few new additions or expanded segments like in Hyrule Castle’s garden maze, which now also leads Link through the castle kitchens.</p><p>It’s often in the smallest adjustments that <em>Ocarina of Time’s</em> remake is at its best; for instance, changes to the environment around you in combat that make more narrative or gameplay sense. Some are subtle; I noticed one room in the Fire Temple especially with more dynamic platform design for Lizalfos to hop around, and in locations like the Forest Temple where new obstacles like acid pits replace empty pits in the floor. </p><p>I didn’t clock any fundamental changes to enemies, but the scale and range have been adapted for enemies like Iron Knuckles as well as some bosses like Volvagia. This, paired with tweaks to the attack strings, a few new moves, and some with higher stakes, ensures Link’s lighter feet are still challenged in combat. </p><h2 id="when-you-fight-the-real-me-it-won-39-t-be-so-easy">When you fight the real me, it won't be so easy!</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="JUxoSBSMQrExN9xyGLtCnN" name="The Legend of Zelda: Ocarina of Time remake" alt="The Legend of Zelda: Ocarina of Time remake" src="https://cdn.mos.cms.futurecdn.net/JUxoSBSMQrExN9xyGLtCnN-1920-80.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: Nintendo)</span></figcaption></figure><p>That being said, I wouldn’t say difficulty is the <em>Ocarina of Time</em> remake’s strength. I’ll caveat heavily with the reminder that this game is as much for kids as it is for us aging nostalgia-chasers, but given I only ran out of health a handful of times, mostly by making silly mistakes or getting distracted, it does feel like <em>Ocarina of Time</em> has moved one step closer to being nerfed. </p><p>It’s a similar story with items — I didn’t have to refill any supplies more than three, maybe four times in my entire save. A new item in the game, the Business Deku Seed, summons a shopkeeper with his stock of supplies, including potions. It’s one of the only new features I find to be a bit of a headscratcher, making the game easier still.</p><p>Add to that the golden webs that hint at the location of overworld Golden Skulltulas, more obvious traps and visual cues for important locations, doors, and boulders, and there were few times I was particularly mentally challenged, either.</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="SgvMhnYijtoTCYCHR6QGAQ" name="The Legend of Zelda: Ocarina of Time remake" alt="The Legend of Zelda: Ocarina of Time remake" src="https://cdn.mos.cms.futurecdn.net/SgvMhnYijtoTCYCHR6QGAQ-1920-80.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="caption-text">Golden spiderwebs now indicate the locations of Golden Skulltulas, which removes some of the challenge in finding them. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Nintendo)</span></figcaption></figure><p>Having rolled credits, I was therefore doubly disappointed to learn Master Quest isn’t offered to up the ante a little. I’m hoping this comes at a later date, and I’m <em>really</em> hoping it’s not DLC, because with a little more challenge, my only real complaint about the game would be quickly remedied.</p><p>It’s not enough to score the game down; it’s ticking all of the obligatory boxes for a good remake, and I loved every second of it. Still, I can’t help but feel just a tinge of disappointment that most changes to the game are limited to optimisations and err on the side of “safe”. The original <em>Ocarina of Time </em>was great, in part, for how it took the limitations of contemporary game design and created some of its best mechanics to work around them in a creative way; without that challenge, the remake at times feels just a little unremarkable. </p><p>Still, this one niggle didn’t impact my personal enjoyment of the game nor negate the many, many strengths it brings to the table, and <em>The Legend of Zelda: Ocarina of Time</em> remake feels like exactly the game that the developers would have made in the late 90s were it possible on contemporary hardware. </p><p>From the first time I played the game at my dad’s knee, I fell in love with the world of Hyrule, and it was just as impactful for me in its third iteration as it was in its first. Whether you’re an adult or a child, when you boot up the remake, it’s not a game you’ll forget in a hurry. </p><h2 id="should-you-play-the-legend-of-zelda-ocarina-of-time-remake">Should you play The Legend of Zelda: Ocarina of Time remake?</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="V5LbZuaLtMQ4ooxzZ8zECQ" name="The Legend of Zelda: Ocarina of Time remake" alt="The Legend of Zelda: Ocarina of Time remake" src="https://cdn.mos.cms.futurecdn.net/V5LbZuaLtMQ4ooxzZ8zECQ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nintendo)</span></figcaption></figure><h2 id="play-it-if">Play it if...</h2><div class="product"><p><strong>You’re a big fan of the original</strong></p><p>At its core, this is a faithful and loving remake of the original <em>Ocarina of Time</em>, and as such, a vast majority of Zelda fans will appreciate the efforts to reinvigorate the game for Zelda’s 40th Anniversary. </p></div><div class="product"><p><strong>You’ve never played a classic Zelda game</strong></p><p>A lot of newer fans to the series may have only played the more recent open-world titles or dabbled in ports of older games; this remake offers new fans the chance to experience a huge part of <em>The Legend of Zelda</em>’s history without sacrificing the comforts of modern gaming.</p></div><div class="product"><p><strong>You love games with a story</strong></p><p>One of <em>Ocarina of Time</em>’s strengths has always been in the beautiful story it weaves, and it’s never stronger than in the remake. With tighter translations, expanded dialogue and new cutscenes, it keeps the heart of what made the original great but adds plenty. </p></div><div class="product"><p><strong>You love puzzle games</strong></p><p><em>Ocarina of Time </em>has some great head scratchers and inventive mechanics, and keeps adding new solutions into the mix right up until the endgame. </p></div><h2 id="don-39-t-play-it-if">Don't play it if...</h2><div class="product"><p><strong>You want a challenge</strong></p><p>Zelda games are never incredibly difficult beyond some of the puzzle mechanics, but <em>Ocarina of Time</em>’s remake feels fun-for-all-ages. That’s no bad thing; I first enjoyed the game as a pre-schooler, but you might want to manage expectations as an adult. </p></div><h2 id="accessibility-features">Accessibility features</h2><p>Within the game’s settings, you can change the camera controls, speed, toggle motion-control aiming, and choose between one-click or press-and-hold targeting. </p><p>You can swap the jump controls, use one-handed ocarina-playing controls, toggle subtitles, and add speaker-name display. Accessibility is, as I’ve come to expect from Nintendo, a weak point, but there are a few more customization options here than I’ve seen in other titles.</p><h2 id="how-i-reviewed-the-legend-of-zelda-ocarina-of-time-remake">How I reviewed The Legend of Zelda: Ocarina of Time remake</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="sciJ8xaDPFgzpm2KJpiRUQ" name="The Legend of Zelda: Ocarina of Time remake" alt="The Legend of Zelda: Ocarina of Time remake" src="https://cdn.mos.cms.futurecdn.net/sciJ8xaDPFgzpm2KJpiRUQ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nintendo)</span></figcaption></figure><p>I’ve completed the main storyline in my 25-hour save, as well as a vast majority of side quests and secret content. I played mostly docked to enjoy the sprawling scenery, but I did try handheld too, comparing my overall experience with the original as well as more modern action-adventure games, including Zelda titles like the original <em>Ocarina of Time</em> and modern entries like <a href="https://www.techradar.com/reviews/the-legend-of-zelda-tears-of-the-kingdom-review"><em>Tears of the Kingdom</em></a><em>,</em> as well as titles like <em>Outer Wilds, Tunic,</em> and more.</p><p>I played on the standard <a href="https://www.techradar.com/gaming/nintendo/nintendo-switch-2-review">Nintendo Switch 2</a>, listening to the gorgeously re-orchestrated soundtrack through my <a href="https://www.techradar.com/gaming/corsair-void-v2-max-wireless-headset-review">Corsair Void Max Wireless v2</a> headset and through the Switch 2’s speakers.</p><p>More generally, I’ve covered a huge array of games here at TechRadar, where I serve as Head of Video and previously as Managing Editor. I’ve reviewed a number of action-adventure and Switch 2 titles.</p><p><em>First reviewed November 2026</em></p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ GMKtec EVO-X5 Pro mini PC review: I tested large LLMs on this machine and the results and speed were impressive ]]></title>
                                                                                                <dc:content><![CDATA[ <h2 class="article-body__section" id="section-gmktec-evo-x5-pro-30-second-review"><span>GMKtec EVO-X5 Pro: 30-second review</span></h2><p>The EVO-X5 packs in the latest Strix Halo CPU, and while the updates to the specifications of the Ryzen AI Max+ PRO 495 processor over the Ryzen AI Max+ 395 may look modest, when you give it the additional boost of 196GB of unified memory and the internal space for up to 24TB of storage, you suddenly have a machine whose abilities far exceed the superb EVO-X3 I reviewed recently.</p><p>Like so many of these small machines, it’s hard to believe the power it contains when it arrives. The box is small and relatively discreet, a departure from the large, powerful gaming and AI workstations I usually associate with its computing power. Part of the reason for that size reduction is that this is the processing hub, and while the AMD Radeon 8065S graphics will see you through a decent bit of gaming, if you want that full GPU power alongside what’s on offer with the CPU, you’ll need to break out to an external GPU option.</p><p>This distinction makes the machine's intended use clear. You can use it on its own as a powerful workstation, handling everything from office day tasks to video and image editing, and even 3D work. You can also rack it alongside additional EVO-X5 Pros to build an almighty AI personal data centre, with features such as the OOB, which lets you access and control the machine even if it’s mid-blue-screen or terminal crash. However, professional IT skills will inevitably also be needed.</p><p>On a smaller scale, and in the way that I’ve checked this machine out in this review, is to check the day-to-day function first. Is this $5000 machine good enough to run Microsoft Windows, Office, Adobe Creative Suite, edit images, video, and audio, and all the base functions a powerful machine in the office or studio needs to do, especially at that price?</p><p>But to go deeper: if this machine is going to cost almost double today’s pretty decent workstations, why should I pay all that extra money for a machine like this? Am I just paying for the latest AI-enhanced CPUs, or is there more to it? Can the machine's capabilities offset that cost?</p><p>To put it to the test, I’ve run through all the usual benchmarks and real-world tests, but after testing a good volume of AI headline-leading mini PCs, I want to see if it can take on a little more. </p><p>For instance, can it not only code a straight site, but also build a site from designs? What is the image-generation capability, and can it really run a 300B LLM without stalling? What I’ve noticed with some smaller mini PCs recently is that while they meet the specs and perform impressively, most hit their limits pretty quickly. However, with far more unified RAM than most, this machine has plenty of headroom.</p><p>The main test for me here is: can it effectively edit video in DaVinci Resolve? While my workstation can do this, it takes time, and a couple of the machines I’ve looked at recently have hit their limits with that kind of processing.</p><p>This looks to be a formidable machine among the <a href="https://www.techradar.com/best/mini-pcs" target="_blank">best mini PCs</a> I've reviewed, and one that will suit many looking into the use of AI in their day-to-day workflows. But all this power comes at a huge cost, and in balance, is this machine worth that price?</p><h2 class="article-body__section" id="section-gmktec-evo-x5-pro-price-and-availability"><span>GMKtec EVO-X5 Pro: Price and availability</span></h2><ul><li><strong>How much does it cost?  </strong>From £5,299 / $6,799</li><li><strong>When is it out? </strong>Available now</li><li><strong>Where can you get it? </strong>Directly from <a href="https://www.gmktec.com/products/gmktec-evo-x5-pro-amd-ryzen-ai-max-pro-495-ai-mini-pc" target="_blank">GMKtec</a> or <a href="" target="_blank">Amazon</a></li></ul><p>At present, the machine has just gone on sale and is <a href="https://www.gmktec.com/products/gmktec-evo-x5-pro-amd-ryzen-ai-max-pro-495-ai-mini-pc" target="_blank">available for $6799 from GMKtec in the US</a>, and <a href="https://www.gmktec.uk/products/gmktec-evo-x5-pro-ai-max-pro-495-mini-pc" target="_blank">£5,299 from the UK website</a>.</p><p>The machine is available in either a 2TB or 4TB version, with a $400 /  £300 increase for the extra storage.</p><ul><li><strong>Value:</strong> 4 / 5</li></ul><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="t79NxP2W4A8xamqUK5PMUN" name="GMKtec EVO-X5 Pro" alt="GMKtec EVO-X5 Pro" src="https://cdn.mos.cms.futurecdn.net/t79NxP2W4A8xamqUK5PMUN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><h2 class="article-body__section" id="section-gmktec-evo-x5-pro-specs"><span>GMKtec EVO-X5 Pro: Specs</span></h2><p><strong>CPU:</strong> AMD Ryzen AI Max+ PRO 495, 16 cores/32 threads</p><p><strong>GPU:</strong> AMD Radeon 8065S, 40 RDNA 3.5 compute units</p><p><strong>NPU:</strong> AMD XDNA 2, 55 TOPS</p><p><strong>RAM:</strong> 192GB LPDDR5X-8533 unified memory, non-upgradeable</p><p><strong>Storage:</strong> 2TB or 4TB PCIe 4.0 M.2 2280 SSD, three slots, up to 24TB total</p><p><strong>Front Ports:</strong> 2 x USB 3.2 Gen 2, 2 x USB4, 3.5mm audio, P-Mode button, CMOS reset</p><p><strong>Rear Ports:</strong> HDMI 2.1, 2 x USB4 v2 80Gbps, 2 x USB 2.0, 2 x 10GbE RJ-45 DASH, 3.5mm audio</p><p><strong>Wireless:</strong> Wi-Fi 7</p><p><strong>VESA Mount:</strong> No</p><p><strong>Dimensions:</strong> 221 x 80 x 195mm</p><p><strong>Weight:</strong> 2.5kg</p><p><strong>Power:</strong> 54W–120W selectable power modes, external power adapter</p><p><strong>Operating System:</strong> Windows 11 Pro</p><h2 class="article-body__section" id="section-gmktec-evo-x5-pro-design"><span>GMKtec EVO-X5 Pro: Design</span></h2><p>The mini PC is getting bigger; although still compact, it sits somewhere between a small tower desktop and the more traditional mini PC size. The styling is also spot on, with the ability to lay the machine flat or upright depending on your desk space. It’s also nicely designed with an understated all-metal black finish, though GMKtec has included its usual feature: a green power button. This button features fingerprint recognition.</p><p>The size, while not large, comes in at 221 × 80 × 195 mm, and in this review it sat neatly beside the monitor in a vertical position, taking up little desktop space. The weight at 2.5kg is substantial for a mini PC, but still far less than most workstations, so in a studio space or if you do need to take a machine out on site, this is a great option.</p><p>The build quality is what you would expect at this price, with the all-metal black finish giving it a high-quality look and feel. Aesthetically, this is one of the best-looking mini PCs I’ve seen, while remaining quite understated. Another design point: while this machine can be used on its own, it's also designed to work alongside others, so its size and weight make it easy to connect to additional EVO-X5s if that’s what you or your business needs.</p><p>The front layout is minimalistic, with a few essentials across the front. These include the P-Mode button, CMOS reset, two USB 3.2 Gen 2 ports, two USB4 ports, a 3.5mm headphone jack, and the power button. The P-Mode button is a physical button for switching between the power modes, which include silent, balanced and performance, with each adjusting the amount of power that the machine draws from 54W up to 120W, and as I went through the benchmark tests, I realised just how much difference this P-Mode button can make.</p><p>That power draw helps explain the power brick that comes with the mini PC, which isn't much smaller than those of many standard mini PCs, but, as ever, can be tucked out of sight behind the machine.</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:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wu7LXYaPT75LQGYdx8d8KN" name="GMKtec EVO-X5 Pro" alt="GMKtec EVO-X5 Pro" src="https://cdn.mos.cms.futurecdn.net/wu7LXYaPT75LQGYdx8d8KN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><p>On the rear of the machine, there are plenty of ports, although again, as I’ve seen with these premium machines, the volume of connections is well balanced, with plenty of space given. Options include a 3.5mm audio out, HDMI 2.1, two USB4 v2, two USB 2.0, two 10GbE RJ45 DASH ports, power in and a Kensington lock slot. What interests me is that both RJ45 ports are 10GbE, enabling ultra-fast network speeds if your network can support them.</p><p>One of the major issues with these smaller machines is keeping everything cool, and inside there is a network of cooling technologies and systems, with the vent structure visible across the back and top of the machine. As the workload increases, this machine does make some noise, but compared with workstations and servers, that noise is well controlled.</p><p>Opening the box, the insides are neatly packed and much more complex in design than I would usually expect in a mini PC. However, the slots for the two additional M.2 sticks are relatively easy to access, with one being a standard M.2 2280 Key-M PCIe 4.0 x4 and the other being M.2 Key-M PCIe 4.0 x1. The RAM is unified, soldered to the motherboard, and not upgradable.</p><ul><li><strong>Design:</strong> 4.5 / 5</li></ul><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="3yLLY8zHJsgV2AiUU5QUKN" name="GMKtec EVO-X5 Pro" alt="GMKtec EVO-X5 Pro" src="https://cdn.mos.cms.futurecdn.net/3yLLY8zHJsgV2AiUU5QUKN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><h2 class="article-body__section" id="section-gmktec-evo-x5-pro-features"><span>GMKtec EVO-X5 Pro: Features</span></h2><p>The big news on the feature front for the EVO-X5 is the new Ryzen AI Max+ PRO 495. While this only offers a slight uplift when it comes to the clock speed, the AI processing is where the real changes have been introduced, with the two headline points being the boost in the power of the integrated GPU and support for up to 196GB of RAM.</p><p>There are, of course, other updates and speed boosts, but for AI processing, the 196GB is the headline, letting the machine hold larger language models in memory. GMKtec claims the 55 TOPS NPU, backed by the RAM boost, should let you run 320B LLMs locally.</p><p>The integrated GPU also gets an upgrade to the Radeon 8065S, which retains the 40 RDNA 3.5 compute units but should boost gaming performance slightly. Likewise, the 196GB of RAM is a significant upgrade, especially since both the CPU and GPU share the memory. Again, as with the EVO-X3, the onboard memory is LPDDR5X but increases from 8000MT/s to 8533MT/s, boosting the bandwidth slightly for all that AI processing.</p><p>In the creative field, connectivity is always important, and two features that instantly piqued my interest were the dual USB4 v2 80Gbps ports and 10GbE network ports. USB4 v2 is also 80Gbps, but it differs from Thunderbolt 5, which is stricter on some parameters. However, the documentation says you can connect an eGPU if needed.</p><p>USB4 v2 also offers broad compatibility with external hard drives and SSDs, which are essential for storage, and it can even add two additional M.2 SSDs, boosting internal storage to 24TB. There are three M.2 2280 slots: two PCIe 4.0 x4 and one PCIe 4.0 x1.</p><p>The 10GbE networking meant that, during the test, I could simply link the machine into the wired 10GbE network to access the <a href="https://www.techradar.com/computing/ugreen-nasync-idx6011-pro-nas-review" target="_blank">UGreen INX6100</a>. The transfer rates over the 10GbE network are fast enough for network video editing, and you can access and download all files stored on the NAS locally. The other point here is that while one system is AMD and the other is Intel, with the right LLM commands and setup, you can get the two working together, making it an ideal workflow option for sorting and tagging images, for instance.</p><p>Alongside the impressive array of connection ports, there’s also Wi-Fi 7 to ensure fast internet connections. In testing, this also meant that when transferring files to the 3D printers, transfer rates for some of the larger files were exceptionally fast. When this speed was combined with the slicing speed within applications such as Bambu Studio, you can really start to see the machine’s potential.</p><p>Two features that are interesting but are beyond the scope of this review are AMD DASH and TPM. AMD DASH stands for Desktop and Mobile Architecture for System Hardware and enables remote access and management. TPM stands for Trusted Platform Module and handles security. These are both aimed at enterprise users.</p><p>GMKtec Claw and Herdsman come pre-installed and are both pretty decent. Herdsman is essentially along the same lines as LM Studio or Ollama, while GMKtec Claw features chat and the ability to set up automation tasks. They’re actually a great starting point, and both are evolving quickly, becoming more stable and making greater use of the full power of the machine, something that I noted with the EVO-X3 and the lack of connectivity to the NPU.</p><p>Many applications, including those from Adobe, still use the GPU heavily for AI processing, although other applications are starting to use the dedicated AI processor.</p><ul><li><strong>Features:</strong> 4.5 / 5</li></ul><h2 class="article-body__section" id="section-gmktec-evo-x5-pro-performance"><span>GMKtec EVO-X5 Pro: 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:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="onNrJ2rkeFoWZebzU9qErM" name="GMKtec EVO-X5 Pro" alt="GMKtec EVO-X5 Pro" src="https://cdn.mos.cms.futurecdn.net/onNrJ2rkeFoWZebzU9qErM-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><div  class="fancy-box"><div class="fancy_box-title">Benchmark scores</div><div class="fancy_box_body"><p class="fancy-box__body-text">Crystal Disk Mark Read: 6961.34<br />Crystal Disk Mark Write: 6275.46<br />Geekbench 6 CPU Multi: 20011<br />Geekbench 6 CPU Single: 2919<br />Geekbench 6 GPU: 96397<br />Geekbench 7 CPU Multi: 25091<br />Geekbench 7 CPU Single: 2700<br />Geekbench 7 GPU: 96751<br />PC Mark Overall: 10773<br />Cinebench R23 CPU Multi (Threads): 37055<br />Cinebench R23 CPU Single (Threads): 2082<br />Cinebench 2026 CPU Multi (Threads): 7666<br />Cinebench 2026 CPU Single (Threads): 465<br />Fire Strike Overall: 27434<br />Fire Strike Graphics: 31522<br />Fire Strike Physics: 34151<br />Fire Strike Combined: 12099<br />Time Spy Overall: 10605<br />Time Spy Graphics: 10703<br />Time Spy CPU: 10087<br />Wild Life Overall: 72304<br />Steel Nomad Overall: 2109<br />Sky Diver:<br />Windows Experience Overall: 9.5<br />Procyon: 1204</p></div></div><p>The EVO-X5 comes with Windows 11 Pro installed, and as ever, the final steps of the installation were needed before I could get started with installing the benchmark and real-world software applications. What was interesting here, and in common with the EVO-X3, was that GMKClaw and Herdsman were both pre-installed.</p><p>Herdsman is essentially the local AI model management and inference platform. Essentially, it’s GMKtec’s option over LM Studio or Ollama, and offers plenty of options to download and manage LLMs locally. For most of the tests, I started with this option. Still, I switched to Lemonade, since I’m more familiar with the server and its ability to monitor token generation and use it for the local AI tests I wanted to run.</p><p>Starting the tests, I ran through the usual array of Windows applications, including Microsoft Office, with a focus as ever on Word, to write this review, Excel, to store and query the results from the benchmark tests, and PowerPoint, to put together a series of photography lectures that I have running in the next week. Testing these applications on a machine at this level produced the real-world results I expected. All applications ran at speed with no lag, and switching quickly between them and online formatting tools was fast, keeping up with my editing speed without me ever having to wait for the applications to speed up.</p><p>These real-world tests reflected the WEI score of 9.5, and again, that’s backed up by the PCMark score of 10,773, the highest score I’ve seen with any mini PC.</p><p>Lightroom and Photoshop, like the Microsoft Office apps, just ran without issue. They were fast and responsive, and with well over 100 images, batch processing in Lightroom ran surprisingly through without issue or pause. Likewise, opening a selection of RAW files from Bridge into ACR, making amendments, and saving was equally quick.</p><p>As I pushed the system with 4K video editing, it was clear that even without discrete graphics, performance was excellent. With the 2TB SSD, there was plenty of room to store and edit the footage locally, with the option to offload to the NAS once the edit was complete. </p><p>What impressed me here was not only the ability to edit 4K footage from the Canon EOS R5C without slowdown, but also the ability to store that footage on the IDX6011 NAS and utilise the 10GbE network for editing. This meant that there was no need for a desktop SSD, as the speed over the network and with a local cache file was more than fast enough for all the work that I do.</p><p>As the complexity of the edits increased, I noticed notable slowdowns when scrolling through the timeline and waiting for colour grade changes to render. However, it was still as fast as my workstation with discrete graphics. However, with the option to link in an eGPU, this would further boost video-editing potential, especially as you start to look at AI integrations with programs such as DaVinci Resolve.</p><p>I started using Herdsman and located the largest model I could download and test. This was the DeepSeek-V4-Flash-0731 at 155.7GB. This left little actual headroom for the machine. However, the model worked, though progress was slow; when results came through chat questions, the answers were impressive. Still, even on this machine, the speed was too slow to be truly useful. Switching to Qwen3 30B-A3B at 17.2GB, the difference was instantly noticeable, with swift answers and useful abilities.</p><p>However, I wanted to run a series of tests; first, I returned to Lemonade and the SDXL-Turbo model to create a 512 x 512 image of a dog on a beach. The image appeared almost instantly in just 2.5 seconds and was pretty decent. After experimenting a little more, I found the image generation speed and capability were the fastest I have seen so far. Although some images had slightly strange dog eyes, I switched models again and went with Z-Iage-Turbo. This larger 20GB model produced notably better results, though it took longer to render.</p><p>The next test, and one that produces all sorts of results, was the website creation task. Here, Qwen3-Coder-Next-GGUF produced the site in 92 seconds, generating 4063 tokens at 45 tokens per second. This was just to generate the code, not to save and organise the files. Still, this was far faster than the EVO-X3 running the same task with the same source files. What was markedly different here was the quality of the site generated. This actually looked like a site, albeit slightly simple, that you could actually use as a point to develop or rework with AI.</p><p>Looking through the results, the EVO-X5 clearly outperforms the EVO-X3. It’s not as large a step as I would have thought, but having that additional RAM does mean that larger and more complex models can be loaded, and their abilities are that much greater. However, many language models are designed to adapt to the hardware they’re running on. Still, running those same models on the EVO-X3 and EVO-X5 side by side shows that while everything but the RAM sees a small uplift, the EVO-X5 easily takes the edge in processing and result quality.</p><p>Once again, model selection and the LLM Manager are all-important, as is the default token limit your machine can produce. Once you’ve found the model and increased the tokens through the command prompt for that model, things become more impressive. As ever, you also need to look for models that make full use of the NPU, rather than just falling back on the CPU and GPU.</p><p>However, across the board, running local LLMs is more than possible, and while many of the speed differences between this and the older EVO-X3 seem small on paper, the real-world realisation of those speeds is marked in use. I found response times were generally faster, with slightly better responses, most notably in website creation. However, as ever, this partly comes down to the AI model's response at the time, and you will always get a different response from the same model on different systems.</p><p>That said, the extra RAM does seem to make a difference, letting you run more models in memory and reducing loading and unloading. It also means that you can comfortably run other applications and AI models together, such as Visual Studio or DaVinci Resolve, with some impressive results. This use of running an AI Model alongside Visual Studio or DaVinci Resolve is where the real power comes into play, and from this angle the step up from the EVO-X3 to the EVO-X5 is greater. </p><p>While this machine has AI potential, you can still use AI Managers and models to balance what you want the system to do.</p><p>The final part of the test was to run a few games, and here again, the power of that CPU and integrated GPU was impressive, with <em>Indiana Jones and the Great Circle</em> running at 1080p extremely well. Likewise, <em>Cyberpunk 2077</em>. If you do want to increase the resolution and effects, then a dedicated eGPU would be a good idea, but out of the box, the performance is still impressive.</p><p>At the end of this test, the machine more than proved its abilities and also enabled me to push testing and experimenting with local AI to a greater degree than I have been able to before. The main point for me that helps to balance the cost is the creative and admin potential. This machine rips through video, transcoding quickly when needed, and the auto video editing in DaVinci Resolve is incredibly impressive; however, as ever, there is a learning curve, as these features take time to set up. </p><ul><li><strong>Performance:</strong> 4.5 / 5</li></ul><h2 class="article-body__section" id="section-gmktec-evo-x5-pro-final-verdict"><span>GMKtec EVO-X5 Pro: Final verdict</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:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cERYNYn3xTp22bH7f64ZiM" name="GMKtec EVO-X5 Pro" alt="GMKtec EVO-X5 Pro" src="https://cdn.mos.cms.futurecdn.net/cERYNYn3xTp22bH7f64ZiM-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><p>The EVO-X5 is an interesting machine and, without doubt, the most powerful AI-enhanced mini PC I have looked at so far. What surprises me is that the performance, while better in many respects than the EVO-X3, doesn’t feel much better to justify the current price difference. However, once you look at the current cost of RAM, that increase becomes apparent.</p><p>If you are running the EVO-X3, it's a powerful AI machine and will do pretty much everything the EVO-X5 will do, though the process will be slightly different because it doesn’t have as much headroom in RAM capacity.</p><p>I have also noted that newer local language models allocate resources better, so while many models thrive in this machine with that extra RAM, plenty of new-generation models are better adapted to memory allocation and seem to run as well on the EVO-X3 with its 128GB of RAM.</p><p>However, in use, there’s no doubting this compact machine's speed and abilities. For standard office work, it’s exceptional, and for creative work, it’s surprisingly agile; with a dedicated eGPU to boost graphics processing, it will be a formidable option for video and photo editing.</p><p>While this machine is decent for gaming, it’s not designed for it, so a quick dip into the gaming world after work is possible, and the gameplay quality is exceptional. However, if that is what you want the machine for, a dedicated gaming machine will be cheaper.</p><p>The new CPU and enhanced RAM deliver the headline performance upgrades, and you can run larger models, making it what it is supposed to be; at present, most of that cost comes from the RAM. So if you want to run larger language models, you will need to stretch to this latest model. However, the EVO-X3 is still an excellent, cheaper option, and at present is equally impressive if slightly less powerful.</p><h3 class="article-body__section" id="section-should-i-buy-the-gmktec-evo-x5-pro"><span>Should I buy the GMKtec EVO-X5 Pro?</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:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="3MYeKMJqXSKDATFigCmWvM" name="GMKtec EVO-X5 Pro" alt="GMKtec EVO-X5 Pro" src="https://cdn.mos.cms.futurecdn.net/3MYeKMJqXSKDATFigCmWvM-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><div ><table><tbody><tr><td class="firstcol " ><p>Value</p></td><td  ><p>Excellent performance, but the high price limits its appeal.</p></td><td  ><p>3.5</p></td></tr><tr><td class="firstcol " ><p>Design</p></td><td  ><p>Compact, well-built and understated, with excellent connectivity.</p></td><td  ><p>4.5</p></td></tr><tr><td class="firstcol " ><p>Features</p></td><td  ><p>Extensive connectivity, huge memory capacity and impressive expandability.</p></td><td  ><p>5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>Exceptional AI processing and strong creative workstation performance.</p></td><td  ><p>4.5</p></td></tr><tr><td class="firstcol " ><p>Overall</p></td><td  ><p>A powerful, versatile mini PC with a premium price.</p></td><td  ><p>4.5</p></td></tr></tbody></table></div><h2 id="buy-it-if-3">Buy it if...</h2><div class="product"><p><strong>You want to run large AI models locally.</strong></p><p>With its huge unified memory capacity and powerful processor, the EVO-X5 Pro can handle large language models locally that would push most conventional mini PCs beyond their limits.</p><p><strong>You need a powerful compact creative workstation.</strong></p><p>For large image libraries, 4K video editing, and AI-enhanced creative applications, the EVO-X5 Pro delivers excellent performance, fast networking, and extensive storage options in a compact design.</p></div><h2 id="don-39-t-buy-it-if-2">Don't buy it if...</h2><div class="product"><p><strong>You only need a mini PC for everyday work.</strong></p><p>For office applications, web browsing, and general creative work, the EVO-X5 Pro offers far more power than you need. Cheaper mini PCs, including the EVO-X3, provide better value.</p><p><strong>You need a workstation with powerful dedicated graphics.</strong></p><p>While the integrated graphics perform well, demanding 3D work and complex video editing benefit from a dedicated GPU. A conventional desktop workstation may offer better value.</p></div><p><em>For more professional-grade desktops, we've tested the </em><a href="https://www.techradar.com/news/best-business-desktop-pcs" target="_blank"><em>best business computers</em></a><em>.</em></p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/pro/gmktec-evo-x5-pro-mini-pc-review</link>
                                                                            <description>
                            <![CDATA[ The GMKtec EVO-X5 Pro is a mini PC ideal for pro workloads and running 300B LLMs locally with a Ryzen AI Max+ PRO 495, Radeon 8065S graphics and 192GB memory. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">UHbrqnXWJuHWJ9TTsvUGHG</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/n4ZQhhQEfXnRauzjEwYYKN-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 04 Nov 2026 10:08:16 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Pro]]></category>
                                                                                                                    <dc:creator><![CDATA[ Alastair Jennings ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ &lt;p&gt;Alastair is a photographer, filmmaker and tech writer who has been working in the publishing industry since the late 1990s. For more than 25 years he has covered photography, video and technology across Future&#039;s photography, technology and gaming brands, and worked on many of the company&#039;s launch titles. Based in the south of England, Alastair now runs a photography and video production company and lectures in TV and film. When not on set or in the classroom, Alastair can usually be found prototyping and prop building with the aid of 3D printing as well as advising companies on social video strategy and creative workflows which gives him the tech insight behind the reviews.&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/n4ZQhhQEfXnRauzjEwYYKN-1920-80.jpg">
                                                            <media:credit><![CDATA[Alastair Jennings]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[GMKtec EVO-X5 Pro]]></media:description>                                                            <media:text><![CDATA[GMKtec EVO-X5 Pro]]></media:text>
                                <media:title type="plain"><![CDATA[GMKtec EVO-X5 Pro]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/n4ZQhhQEfXnRauzjEwYYKN-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <h2 class="article-body__section" id="section-gmktec-evo-x5-pro-30-second-review"><span>GMKtec EVO-X5 Pro: 30-second review</span></h2><p>The EVO-X5 packs in the latest Strix Halo CPU, and while the updates to the specifications of the Ryzen AI Max+ PRO 495 processor over the Ryzen AI Max+ 395 may look modest, when you give it the additional boost of 196GB of unified memory and the internal space for up to 24TB of storage, you suddenly have a machine whose abilities far exceed the superb EVO-X3 I reviewed recently.</p><p>Like so many of these small machines, it’s hard to believe the power it contains when it arrives. The box is small and relatively discreet, a departure from the large, powerful gaming and AI workstations I usually associate with its computing power. Part of the reason for that size reduction is that this is the processing hub, and while the AMD Radeon 8065S graphics will see you through a decent bit of gaming, if you want that full GPU power alongside what’s on offer with the CPU, you’ll need to break out to an external GPU option.</p><p>This distinction makes the machine's intended use clear. You can use it on its own as a powerful workstation, handling everything from office day tasks to video and image editing, and even 3D work. You can also rack it alongside additional EVO-X5 Pros to build an almighty AI personal data centre, with features such as the OOB, which lets you access and control the machine even if it’s mid-blue-screen or terminal crash. However, professional IT skills will inevitably also be needed.</p><p>On a smaller scale, and in the way that I’ve checked this machine out in this review, is to check the day-to-day function first. Is this $5000 machine good enough to run Microsoft Windows, Office, Adobe Creative Suite, edit images, video, and audio, and all the base functions a powerful machine in the office or studio needs to do, especially at that price?</p><p>But to go deeper: if this machine is going to cost almost double today’s pretty decent workstations, why should I pay all that extra money for a machine like this? Am I just paying for the latest AI-enhanced CPUs, or is there more to it? Can the machine's capabilities offset that cost?</p><p>To put it to the test, I’ve run through all the usual benchmarks and real-world tests, but after testing a good volume of AI headline-leading mini PCs, I want to see if it can take on a little more. </p><p>For instance, can it not only code a straight site, but also build a site from designs? What is the image-generation capability, and can it really run a 300B LLM without stalling? What I’ve noticed with some smaller mini PCs recently is that while they meet the specs and perform impressively, most hit their limits pretty quickly. However, with far more unified RAM than most, this machine has plenty of headroom.</p><p>The main test for me here is: can it effectively edit video in DaVinci Resolve? While my workstation can do this, it takes time, and a couple of the machines I’ve looked at recently have hit their limits with that kind of processing.</p><p>This looks to be a formidable machine among the <a href="https://www.techradar.com/best/mini-pcs" target="_blank">best mini PCs</a> I've reviewed, and one that will suit many looking into the use of AI in their day-to-day workflows. But all this power comes at a huge cost, and in balance, is this machine worth that price?</p><h2 class="article-body__section" id="section-gmktec-evo-x5-pro-price-and-availability"><span>GMKtec EVO-X5 Pro: Price and availability</span></h2><ul><li><strong>How much does it cost?  </strong>From £5,299 / $6,799</li><li><strong>When is it out? </strong>Available now</li><li><strong>Where can you get it? </strong>Directly from <a href="https://www.gmktec.com/products/gmktec-evo-x5-pro-amd-ryzen-ai-max-pro-495-ai-mini-pc" target="_blank">GMKtec</a> or <a href="" target="_blank">Amazon</a></li></ul><p>At present, the machine has just gone on sale and is <a href="https://www.gmktec.com/products/gmktec-evo-x5-pro-amd-ryzen-ai-max-pro-495-ai-mini-pc" target="_blank">available for $6799 from GMKtec in the US</a>, and <a href="https://www.gmktec.uk/products/gmktec-evo-x5-pro-ai-max-pro-495-mini-pc" target="_blank">£5,299 from the UK website</a>.</p><p>The machine is available in either a 2TB or 4TB version, with a $400 /  £300 increase for the extra storage.</p><ul><li><strong>Value:</strong> 4 / 5</li></ul><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="t79NxP2W4A8xamqUK5PMUN" name="GMKtec EVO-X5 Pro" alt="GMKtec EVO-X5 Pro" src="https://cdn.mos.cms.futurecdn.net/t79NxP2W4A8xamqUK5PMUN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><h2 class="article-body__section" id="section-gmktec-evo-x5-pro-specs"><span>GMKtec EVO-X5 Pro: Specs</span></h2><p><strong>CPU:</strong> AMD Ryzen AI Max+ PRO 495, 16 cores/32 threads</p><p><strong>GPU:</strong> AMD Radeon 8065S, 40 RDNA 3.5 compute units</p><p><strong>NPU:</strong> AMD XDNA 2, 55 TOPS</p><p><strong>RAM:</strong> 192GB LPDDR5X-8533 unified memory, non-upgradeable</p><p><strong>Storage:</strong> 2TB or 4TB PCIe 4.0 M.2 2280 SSD, three slots, up to 24TB total</p><p><strong>Front Ports:</strong> 2 x USB 3.2 Gen 2, 2 x USB4, 3.5mm audio, P-Mode button, CMOS reset</p><p><strong>Rear Ports:</strong> HDMI 2.1, 2 x USB4 v2 80Gbps, 2 x USB 2.0, 2 x 10GbE RJ-45 DASH, 3.5mm audio</p><p><strong>Wireless:</strong> Wi-Fi 7</p><p><strong>VESA Mount:</strong> No</p><p><strong>Dimensions:</strong> 221 x 80 x 195mm</p><p><strong>Weight:</strong> 2.5kg</p><p><strong>Power:</strong> 54W–120W selectable power modes, external power adapter</p><p><strong>Operating System:</strong> Windows 11 Pro</p><h2 class="article-body__section" id="section-gmktec-evo-x5-pro-design"><span>GMKtec EVO-X5 Pro: Design</span></h2><p>The mini PC is getting bigger; although still compact, it sits somewhere between a small tower desktop and the more traditional mini PC size. The styling is also spot on, with the ability to lay the machine flat or upright depending on your desk space. It’s also nicely designed with an understated all-metal black finish, though GMKtec has included its usual feature: a green power button. This button features fingerprint recognition.</p><p>The size, while not large, comes in at 221 × 80 × 195 mm, and in this review it sat neatly beside the monitor in a vertical position, taking up little desktop space. The weight at 2.5kg is substantial for a mini PC, but still far less than most workstations, so in a studio space or if you do need to take a machine out on site, this is a great option.</p><p>The build quality is what you would expect at this price, with the all-metal black finish giving it a high-quality look and feel. Aesthetically, this is one of the best-looking mini PCs I’ve seen, while remaining quite understated. Another design point: while this machine can be used on its own, it's also designed to work alongside others, so its size and weight make it easy to connect to additional EVO-X5s if that’s what you or your business needs.</p><p>The front layout is minimalistic, with a few essentials across the front. These include the P-Mode button, CMOS reset, two USB 3.2 Gen 2 ports, two USB4 ports, a 3.5mm headphone jack, and the power button. The P-Mode button is a physical button for switching between the power modes, which include silent, balanced and performance, with each adjusting the amount of power that the machine draws from 54W up to 120W, and as I went through the benchmark tests, I realised just how much difference this P-Mode button can make.</p><p>That power draw helps explain the power brick that comes with the mini PC, which isn't much smaller than those of many standard mini PCs, but, as ever, can be tucked out of sight behind the machine.</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:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wu7LXYaPT75LQGYdx8d8KN" name="GMKtec EVO-X5 Pro" alt="GMKtec EVO-X5 Pro" src="https://cdn.mos.cms.futurecdn.net/wu7LXYaPT75LQGYdx8d8KN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><p>On the rear of the machine, there are plenty of ports, although again, as I’ve seen with these premium machines, the volume of connections is well balanced, with plenty of space given. Options include a 3.5mm audio out, HDMI 2.1, two USB4 v2, two USB 2.0, two 10GbE RJ45 DASH ports, power in and a Kensington lock slot. What interests me is that both RJ45 ports are 10GbE, enabling ultra-fast network speeds if your network can support them.</p><p>One of the major issues with these smaller machines is keeping everything cool, and inside there is a network of cooling technologies and systems, with the vent structure visible across the back and top of the machine. As the workload increases, this machine does make some noise, but compared with workstations and servers, that noise is well controlled.</p><p>Opening the box, the insides are neatly packed and much more complex in design than I would usually expect in a mini PC. However, the slots for the two additional M.2 sticks are relatively easy to access, with one being a standard M.2 2280 Key-M PCIe 4.0 x4 and the other being M.2 Key-M PCIe 4.0 x1. The RAM is unified, soldered to the motherboard, and not upgradable.</p><ul><li><strong>Design:</strong> 4.5 / 5</li></ul><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="3yLLY8zHJsgV2AiUU5QUKN" name="GMKtec EVO-X5 Pro" alt="GMKtec EVO-X5 Pro" src="https://cdn.mos.cms.futurecdn.net/3yLLY8zHJsgV2AiUU5QUKN-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><h2 class="article-body__section" id="section-gmktec-evo-x5-pro-features"><span>GMKtec EVO-X5 Pro: Features</span></h2><p>The big news on the feature front for the EVO-X5 is the new Ryzen AI Max+ PRO 495. While this only offers a slight uplift when it comes to the clock speed, the AI processing is where the real changes have been introduced, with the two headline points being the boost in the power of the integrated GPU and support for up to 196GB of RAM.</p><p>There are, of course, other updates and speed boosts, but for AI processing, the 196GB is the headline, letting the machine hold larger language models in memory. GMKtec claims the 55 TOPS NPU, backed by the RAM boost, should let you run 320B LLMs locally.</p><p>The integrated GPU also gets an upgrade to the Radeon 8065S, which retains the 40 RDNA 3.5 compute units but should boost gaming performance slightly. Likewise, the 196GB of RAM is a significant upgrade, especially since both the CPU and GPU share the memory. Again, as with the EVO-X3, the onboard memory is LPDDR5X but increases from 8000MT/s to 8533MT/s, boosting the bandwidth slightly for all that AI processing.</p><p>In the creative field, connectivity is always important, and two features that instantly piqued my interest were the dual USB4 v2 80Gbps ports and 10GbE network ports. USB4 v2 is also 80Gbps, but it differs from Thunderbolt 5, which is stricter on some parameters. However, the documentation says you can connect an eGPU if needed.</p><p>USB4 v2 also offers broad compatibility with external hard drives and SSDs, which are essential for storage, and it can even add two additional M.2 SSDs, boosting internal storage to 24TB. There are three M.2 2280 slots: two PCIe 4.0 x4 and one PCIe 4.0 x1.</p><p>The 10GbE networking meant that, during the test, I could simply link the machine into the wired 10GbE network to access the <a href="https://www.techradar.com/computing/ugreen-nasync-idx6011-pro-nas-review" target="_blank">UGreen INX6100</a>. The transfer rates over the 10GbE network are fast enough for network video editing, and you can access and download all files stored on the NAS locally. The other point here is that while one system is AMD and the other is Intel, with the right LLM commands and setup, you can get the two working together, making it an ideal workflow option for sorting and tagging images, for instance.</p><p>Alongside the impressive array of connection ports, there’s also Wi-Fi 7 to ensure fast internet connections. In testing, this also meant that when transferring files to the 3D printers, transfer rates for some of the larger files were exceptionally fast. When this speed was combined with the slicing speed within applications such as Bambu Studio, you can really start to see the machine’s potential.</p><p>Two features that are interesting but are beyond the scope of this review are AMD DASH and TPM. AMD DASH stands for Desktop and Mobile Architecture for System Hardware and enables remote access and management. TPM stands for Trusted Platform Module and handles security. These are both aimed at enterprise users.</p><p>GMKtec Claw and Herdsman come pre-installed and are both pretty decent. Herdsman is essentially along the same lines as LM Studio or Ollama, while GMKtec Claw features chat and the ability to set up automation tasks. They’re actually a great starting point, and both are evolving quickly, becoming more stable and making greater use of the full power of the machine, something that I noted with the EVO-X3 and the lack of connectivity to the NPU.</p><p>Many applications, including those from Adobe, still use the GPU heavily for AI processing, although other applications are starting to use the dedicated AI processor.</p><ul><li><strong>Features:</strong> 4.5 / 5</li></ul><h2 class="article-body__section" id="section-gmktec-evo-x5-pro-performance"><span>GMKtec EVO-X5 Pro: 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:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="onNrJ2rkeFoWZebzU9qErM" name="GMKtec EVO-X5 Pro" alt="GMKtec EVO-X5 Pro" src="https://cdn.mos.cms.futurecdn.net/onNrJ2rkeFoWZebzU9qErM-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><div  class="fancy-box"><div class="fancy_box-title">Benchmark scores</div><div class="fancy_box_body"><p class="fancy-box__body-text">Crystal Disk Mark Read: 6961.34<br />Crystal Disk Mark Write: 6275.46<br />Geekbench 6 CPU Multi: 20011<br />Geekbench 6 CPU Single: 2919<br />Geekbench 6 GPU: 96397<br />Geekbench 7 CPU Multi: 25091<br />Geekbench 7 CPU Single: 2700<br />Geekbench 7 GPU: 96751<br />PC Mark Overall: 10773<br />Cinebench R23 CPU Multi (Threads): 37055<br />Cinebench R23 CPU Single (Threads): 2082<br />Cinebench 2026 CPU Multi (Threads): 7666<br />Cinebench 2026 CPU Single (Threads): 465<br />Fire Strike Overall: 27434<br />Fire Strike Graphics: 31522<br />Fire Strike Physics: 34151<br />Fire Strike Combined: 12099<br />Time Spy Overall: 10605<br />Time Spy Graphics: 10703<br />Time Spy CPU: 10087<br />Wild Life Overall: 72304<br />Steel Nomad Overall: 2109<br />Sky Diver:<br />Windows Experience Overall: 9.5<br />Procyon: 1204</p></div></div><p>The EVO-X5 comes with Windows 11 Pro installed, and as ever, the final steps of the installation were needed before I could get started with installing the benchmark and real-world software applications. What was interesting here, and in common with the EVO-X3, was that GMKClaw and Herdsman were both pre-installed.</p><p>Herdsman is essentially the local AI model management and inference platform. Essentially, it’s GMKtec’s option over LM Studio or Ollama, and offers plenty of options to download and manage LLMs locally. For most of the tests, I started with this option. Still, I switched to Lemonade, since I’m more familiar with the server and its ability to monitor token generation and use it for the local AI tests I wanted to run.</p><p>Starting the tests, I ran through the usual array of Windows applications, including Microsoft Office, with a focus as ever on Word, to write this review, Excel, to store and query the results from the benchmark tests, and PowerPoint, to put together a series of photography lectures that I have running in the next week. Testing these applications on a machine at this level produced the real-world results I expected. All applications ran at speed with no lag, and switching quickly between them and online formatting tools was fast, keeping up with my editing speed without me ever having to wait for the applications to speed up.</p><p>These real-world tests reflected the WEI score of 9.5, and again, that’s backed up by the PCMark score of 10,773, the highest score I’ve seen with any mini PC.</p><p>Lightroom and Photoshop, like the Microsoft Office apps, just ran without issue. They were fast and responsive, and with well over 100 images, batch processing in Lightroom ran surprisingly through without issue or pause. Likewise, opening a selection of RAW files from Bridge into ACR, making amendments, and saving was equally quick.</p><p>As I pushed the system with 4K video editing, it was clear that even without discrete graphics, performance was excellent. With the 2TB SSD, there was plenty of room to store and edit the footage locally, with the option to offload to the NAS once the edit was complete. </p><p>What impressed me here was not only the ability to edit 4K footage from the Canon EOS R5C without slowdown, but also the ability to store that footage on the IDX6011 NAS and utilise the 10GbE network for editing. This meant that there was no need for a desktop SSD, as the speed over the network and with a local cache file was more than fast enough for all the work that I do.</p><p>As the complexity of the edits increased, I noticed notable slowdowns when scrolling through the timeline and waiting for colour grade changes to render. However, it was still as fast as my workstation with discrete graphics. However, with the option to link in an eGPU, this would further boost video-editing potential, especially as you start to look at AI integrations with programs such as DaVinci Resolve.</p><p>I started using Herdsman and located the largest model I could download and test. This was the DeepSeek-V4-Flash-0731 at 155.7GB. This left little actual headroom for the machine. However, the model worked, though progress was slow; when results came through chat questions, the answers were impressive. Still, even on this machine, the speed was too slow to be truly useful. Switching to Qwen3 30B-A3B at 17.2GB, the difference was instantly noticeable, with swift answers and useful abilities.</p><p>However, I wanted to run a series of tests; first, I returned to Lemonade and the SDXL-Turbo model to create a 512 x 512 image of a dog on a beach. The image appeared almost instantly in just 2.5 seconds and was pretty decent. After experimenting a little more, I found the image generation speed and capability were the fastest I have seen so far. Although some images had slightly strange dog eyes, I switched models again and went with Z-Iage-Turbo. This larger 20GB model produced notably better results, though it took longer to render.</p><p>The next test, and one that produces all sorts of results, was the website creation task. Here, Qwen3-Coder-Next-GGUF produced the site in 92 seconds, generating 4063 tokens at 45 tokens per second. This was just to generate the code, not to save and organise the files. Still, this was far faster than the EVO-X3 running the same task with the same source files. What was markedly different here was the quality of the site generated. This actually looked like a site, albeit slightly simple, that you could actually use as a point to develop or rework with AI.</p><p>Looking through the results, the EVO-X5 clearly outperforms the EVO-X3. It’s not as large a step as I would have thought, but having that additional RAM does mean that larger and more complex models can be loaded, and their abilities are that much greater. However, many language models are designed to adapt to the hardware they’re running on. Still, running those same models on the EVO-X3 and EVO-X5 side by side shows that while everything but the RAM sees a small uplift, the EVO-X5 easily takes the edge in processing and result quality.</p><p>Once again, model selection and the LLM Manager are all-important, as is the default token limit your machine can produce. Once you’ve found the model and increased the tokens through the command prompt for that model, things become more impressive. As ever, you also need to look for models that make full use of the NPU, rather than just falling back on the CPU and GPU.</p><p>However, across the board, running local LLMs is more than possible, and while many of the speed differences between this and the older EVO-X3 seem small on paper, the real-world realisation of those speeds is marked in use. I found response times were generally faster, with slightly better responses, most notably in website creation. However, as ever, this partly comes down to the AI model's response at the time, and you will always get a different response from the same model on different systems.</p><p>That said, the extra RAM does seem to make a difference, letting you run more models in memory and reducing loading and unloading. It also means that you can comfortably run other applications and AI models together, such as Visual Studio or DaVinci Resolve, with some impressive results. This use of running an AI Model alongside Visual Studio or DaVinci Resolve is where the real power comes into play, and from this angle the step up from the EVO-X3 to the EVO-X5 is greater. </p><p>While this machine has AI potential, you can still use AI Managers and models to balance what you want the system to do.</p><p>The final part of the test was to run a few games, and here again, the power of that CPU and integrated GPU was impressive, with <em>Indiana Jones and the Great Circle</em> running at 1080p extremely well. Likewise, <em>Cyberpunk 2077</em>. If you do want to increase the resolution and effects, then a dedicated eGPU would be a good idea, but out of the box, the performance is still impressive.</p><p>At the end of this test, the machine more than proved its abilities and also enabled me to push testing and experimenting with local AI to a greater degree than I have been able to before. The main point for me that helps to balance the cost is the creative and admin potential. This machine rips through video, transcoding quickly when needed, and the auto video editing in DaVinci Resolve is incredibly impressive; however, as ever, there is a learning curve, as these features take time to set up. </p><ul><li><strong>Performance:</strong> 4.5 / 5</li></ul><h2 class="article-body__section" id="section-gmktec-evo-x5-pro-final-verdict"><span>GMKtec EVO-X5 Pro: Final verdict</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:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cERYNYn3xTp22bH7f64ZiM" name="GMKtec EVO-X5 Pro" alt="GMKtec EVO-X5 Pro" src="https://cdn.mos.cms.futurecdn.net/cERYNYn3xTp22bH7f64ZiM-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><p>The EVO-X5 is an interesting machine and, without doubt, the most powerful AI-enhanced mini PC I have looked at so far. What surprises me is that the performance, while better in many respects than the EVO-X3, doesn’t feel much better to justify the current price difference. However, once you look at the current cost of RAM, that increase becomes apparent.</p><p>If you are running the EVO-X3, it's a powerful AI machine and will do pretty much everything the EVO-X5 will do, though the process will be slightly different because it doesn’t have as much headroom in RAM capacity.</p><p>I have also noted that newer local language models allocate resources better, so while many models thrive in this machine with that extra RAM, plenty of new-generation models are better adapted to memory allocation and seem to run as well on the EVO-X3 with its 128GB of RAM.</p><p>However, in use, there’s no doubting this compact machine's speed and abilities. For standard office work, it’s exceptional, and for creative work, it’s surprisingly agile; with a dedicated eGPU to boost graphics processing, it will be a formidable option for video and photo editing.</p><p>While this machine is decent for gaming, it’s not designed for it, so a quick dip into the gaming world after work is possible, and the gameplay quality is exceptional. However, if that is what you want the machine for, a dedicated gaming machine will be cheaper.</p><p>The new CPU and enhanced RAM deliver the headline performance upgrades, and you can run larger models, making it what it is supposed to be; at present, most of that cost comes from the RAM. So if you want to run larger language models, you will need to stretch to this latest model. However, the EVO-X3 is still an excellent, cheaper option, and at present is equally impressive if slightly less powerful.</p><h3 class="article-body__section" id="section-should-i-buy-the-gmktec-evo-x5-pro"><span>Should I buy the GMKtec EVO-X5 Pro?</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:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="3MYeKMJqXSKDATFigCmWvM" name="GMKtec EVO-X5 Pro" alt="GMKtec EVO-X5 Pro" src="https://cdn.mos.cms.futurecdn.net/3MYeKMJqXSKDATFigCmWvM-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><div ><table><tbody><tr><td class="firstcol " ><p>Value</p></td><td  ><p>Excellent performance, but the high price limits its appeal.</p></td><td  ><p>3.5</p></td></tr><tr><td class="firstcol " ><p>Design</p></td><td  ><p>Compact, well-built and understated, with excellent connectivity.</p></td><td  ><p>4.5</p></td></tr><tr><td class="firstcol " ><p>Features</p></td><td  ><p>Extensive connectivity, huge memory capacity and impressive expandability.</p></td><td  ><p>5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>Exceptional AI processing and strong creative workstation performance.</p></td><td  ><p>4.5</p></td></tr><tr><td class="firstcol " ><p>Overall</p></td><td  ><p>A powerful, versatile mini PC with a premium price.</p></td><td  ><p>4.5</p></td></tr></tbody></table></div><h2 id="buy-it-if-3">Buy it if...</h2><div class="product"><p><strong>You want to run large AI models locally.</strong></p><p>With its huge unified memory capacity and powerful processor, the EVO-X5 Pro can handle large language models locally that would push most conventional mini PCs beyond their limits.</p><p><strong>You need a powerful compact creative workstation.</strong></p><p>For large image libraries, 4K video editing, and AI-enhanced creative applications, the EVO-X5 Pro delivers excellent performance, fast networking, and extensive storage options in a compact design.</p></div><h2 id="don-39-t-buy-it-if-2">Don't buy it if...</h2><div class="product"><p><strong>You only need a mini PC for everyday work.</strong></p><p>For office applications, web browsing, and general creative work, the EVO-X5 Pro offers far more power than you need. Cheaper mini PCs, including the EVO-X3, provide better value.</p><p><strong>You need a workstation with powerful dedicated graphics.</strong></p><p>While the integrated graphics perform well, demanding 3D work and complex video editing benefit from a dedicated GPU. A conventional desktop workstation may offer better value.</p></div><p><em>For more professional-grade desktops, we've tested the </em><a href="https://www.techradar.com/news/best-business-desktop-pcs" target="_blank"><em>best business computers</em></a><em>.</em></p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ GreenGeeks web hosting review ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Founded in 2008, GreenGeeks offers shared, WordPress, WooCommerce, reseller, VPS, and dedicated hosting. Its defining feature is not a proprietary control panel or unusual hosting architecture, but a 300% renewable-energy certificate match and tree planting alongside conventional hosting tools. It's an interesting pitch, so we tested it out to see how it fares among the <a href="https://www.techradar.com/web-hosting/best-web-hosting-service-websites" target="_blank">best web hosting services</a>.</p><h2 class="article-body__section" id="section-greengeeks-pricing-plans"><span>GreenGeeks: Pricing &amp; plans</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:1452px;"><p class="vanilla-image-block" style="padding-top:55.44%;"><img id="YsiZcNHsepVt2mUq9atSgY" name="greengeeks-hosting-types" alt="GreenGeeks web hosting options" src="https://cdn.mos.cms.futurecdn.net/YsiZcNHsepVt2mUq9atSgY-1920-80.jpg" mos="" align="middle" fullscreen="" width="1452" height="805" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Shared hosting is the main attraction, with WordPress and WooCommerce packages built on the same platform. Reseller hosting targets agencies, while VPS customers can choose four self-managed or three managed tiers. Dedicated servers start at $169 a month and are ordered through sales.</p><h2 id="greengeeks-shared-hosting">GreenGeeks shared hosting</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:970px;"><p class="vanilla-image-block" style="padding-top:56.60%;"><img id="bTCHAcGncNDyN6w2ZAGGAj" name="GreenGeeks_shared_hosting_pricing" alt="Testing out green web hosting platform GreenGeeks" src="https://cdn.mos.cms.futurecdn.net/bTCHAcGncNDyN6w2ZAGGAj-1920-80.png" mos="" align="middle" fullscreen="" width="970" height="549" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: GreenGeeks // Future)</span></figcaption></figure><p>Lite costs $2.95 a month for the first 12-month term, paid as $35.40 upfront, and renews at $13.95. It includes 25GB of storage, unmetered traffic, email, SSL, CDN, a first-year domain, migration, cPanel, Git, SSH, staging, and the AI builder. There is one unresolved problem: GreenGeeks' main pricing page currently advertises five websites, while its dedicated shared-hosting page and support table still say one. Buyers needing more than one site should confirm the limit before ordering.</p><p>Pro costs $4.95 a month initially and $18.95 on renewal, with unlimited websites, 50GB of storage, on-demand restores, priority support, and a WordPress repair tool. Premium rises from $8.95 to $30.95, increases storage to 100GB, and adds a dedicated IP, AlphaSSL, and Redis object caching. Renewal prices are around 3.5 to 4.7 times the introductory rates, making Pro the most balanced option but long-term value less convincing.</p><p>The 30-day money-back guarantee covers initial shared, reseller, and VPS hosting charges, but not domains, setup fees, add-ons, or renewals. In my sales chat, the agent twice confirmed that a $35.40 Lite purchase using an existing domain and no paid extras would be fully refundable if canceled within 30 days.</p><h2 id="greengeeks-wordpress-hosting">GreenGeeks WordPress hosting </h2><p>GreenGeeks' <a href="https://www.techradar.com/news/best-wordpress-hosting-providers" target="_blank">WordPress hosting</a> uses the same Lite, Pro, and Premium prices and resources as shared hosting. All tiers include installation, migration, automatic updates, LiteSpeed Cache, WP-CLI, SSH, staging, and Git; Pro and Premium add priority support and the repair tool. These are useful conveniences, but this remains optimized shared hosting rather than a specialist managed WordPress platform with isolated resources or dedicated WordPress support.</p><h2 id="greengeeks-vps-hosting">GreenGeeks VPS hosting </h2><p>The four self-managed VPS plans start at $9.99 a month for 4GB of RAM, two vCPUs, 80GB of NVMe storage, and unmetered transfer, renewing at $19.99. The 8GB, 16GB, and 32GB tiers initially cost $19.99, $39.99, and $59.99, then renew at $39.99, $79.99, and $109.99. Customers handle the operating system, patches, software, and backups.</p><p>Managed VPS starts at $69.95 a month for four vCPUs, 4GB of RAM, and 75GB of SSD storage. The 8GB and 16GB plans cost $129.95 and $179.95. They include cPanel Solo, a dedicated IP, migration, DDoS protection, monitoring, operating-system updates, and security patching. GreenGeeks does not automatically back up VPS servers: self-managed customers arrange their own solution, while managed customers can configure cPanel backups if they have sufficient storage.</p><p>For more alternatives, see our guide to the<a href="https://www.techradar.com/news/best-vps-hosting" target="_blank"> best VPS hosting services</a>.</p><h2 id="greengeeks-green-hosting">GreenGeeks green hosting</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:970px;"><p class="vanilla-image-block" style="padding-top:57.42%;"><img id="sxeecVUHTGR6vQG2p53y9j" name="GreenGeeks_green_energy_commitment" alt="Testing out green web hosting platform GreenGeeks" src="https://cdn.mos.cms.futurecdn.net/sxeecVUHTGR6vQG2p53y9j-1920-80.png" mos="" align="middle" fullscreen="" width="970" height="557" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: GreenGeeks // Future)</span></figcaption></figure><p>GreenGeeks' environmental program is its best-in-class feature. It works with the Bonneville Environmental Foundation to purchase renewable energy certificates equal to three times the electricity included in its annual calculation. Electricity still comes from each data center's local grid, so this is an energy-matching program rather than a claim that every facility runs directly on renewables.</p><p>The company has been an EPA Green Power Partner since 2009 and works with One Tree Planted to plant a tree for each new hosting account; it reports more than 50,000 trees planted. Renewable certificates do not eliminate emissions, but the 300% match, long-running partnerships, and explanation of the local-grid limitation make this commitment more transparent than most green-hosting claims. See our guide to the<a href="https://www.techradar.com/web-hosting/best-green-web-hosting" target="_blank"> best green web hosting</a>.</p><h2 class="article-body__section" id="section-greengeeks-website-builder"><span>GreenGeeks: Website builder</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:1155px;"><p class="vanilla-image-block" style="padding-top:57.32%;"><img id="eVGs4USWAQyXF5Hw3J9qqd" name="greengeeks-ai-website-builder" alt="Screenshot of a demo of GreenGeeks AI website builder" src="https://cdn.mos.cms.futurecdn.net/eVGs4USWAQyXF5Hw3J9qqd-1920-80.jpg" mos="" align="middle" fullscreen="" width="1155" height="662" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">GreenGeeks has followed the trend with its newly introduced AI-driven website builder. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The AI WordPress builder is included at no extra cost. It asks about the site, goals, tone, and preferred structure, then generates pages, text, imagery, and design options that can be customized in WordPress. </p><p>In our hands-on testing it offered a quick, approachable starting point. It is not a standalone service: users select WordPress + AI during WordPress installation. It may not be the <a href="https://www.techradar.com/news/the-best-website-builder" target="_blank">best website builder</a> for a lot of sites, but it gets the job done easily enough. </p><h2 class="article-body__section" id="section-greengeeks-ecommerce-store"><span>GreenGeeks: eCommerce store</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:1255px;"><p class="vanilla-image-block" style="padding-top:63.82%;"><img id="RmgteWju8r5S7EW374EQih" name="woocommerce" alt="Web store WooCommerce" src="https://cdn.mos.cms.futurecdn.net/RmgteWju8r5S7EW374EQih-1920-80.jpg" mos="" align="middle" fullscreen="" width="1255" height="801" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>GreenGeeks has a <a href="https://www.techradar.com/best/woocommerce-hosting" target="_blank">WooCommerce hosting</a> range which is very capable of building a top-quality web store (WooCommerce is one of the best ecommerce platforms around). </p><p>WooCommerce is available on every shared tier, but these packages use the same underlying platform and prices as regular shared hosting. Premium is the strongest store option because it adds a dedicated IP, AlphaSSL, 100GB of storage, and Redis. </p><p>GreenGeeks can install WooCommerce, but its support policy does not extend to developing or deeply debugging third-party applications, so the plans suit users comfortable managing the store itself.</p><h2 class="article-body__section" id="section-greengeeks-ease-of-use"><span>GreenGeeks: Ease of use</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:1850px;"><p class="vanilla-image-block" style="padding-top:44.43%;"><img id="WoVRAHCyPYxFXpJEsjXSMk" name="greengeeks-customer-dashboard" alt="screenshot of GreenGeeks customer dashboard" src="https://cdn.mos.cms.futurecdn.net/WoVRAHCyPYxFXpJEsjXSMk-1920-80.jpg" mos="" align="middle" fullscreen="" width="1850" height="822" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Our hands-on testing found GreenGeeks straightforward to navigate. The custom dashboard keeps websites, plans, domains, billing, and support in a simple sidebar, while cPanel handles email, domains, databases, files, and advanced settings. </p><p>WordPress can be installed from the dashboard, and app installers handle more than 150 other applications. Beginners get a cleaner front end without depriving experienced users of cPanel.</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:1506px;"><p class="vanilla-image-block" style="padding-top:47.88%;"><img id="us6kKtWb6tnkeTBmYYnDMJ" name="greengeeks-app-installer" alt="screenshot of the App installer at GreenGeeks" src="https://cdn.mos.cms.futurecdn.net/us6kKtWb6tnkeTBmYYnDMJ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1506" height="721" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h2 class="article-body__section" id="section-greengeeks-speed"><span>GreenGeeks: Speed</span></h2><p>Performance was the biggest weakness in our shared-hosting test. The WordPress benchmark returned an overall score of 4.7; database and several text operations were respectable, but file handling, persistent object caching, and some WordPress operations pulled the result down. These findings apply to the tested shared-hosting setup, not the VPS range.</p><div ><table><caption>WordPress benchmark testing</caption><tbody><tr><td class="firstcol " ><p><strong>CPU &amp; Memory</strong></p></td><td  ><p>Operations with large text data</p></td><td  ><p>8.08</p></td></tr><tr><td class="firstcol empty" ></td><td  ><p>Random binary data operations</p></td><td  ><p>6.33</p></td></tr><tr><td class="firstcol empty" ></td><td  ><p>Recursive mathematical calculations</p></td><td  ><p>3.86</p></td></tr><tr><td class="firstcol empty" ></td><td  ><p>Iterative mathematical calculations</p></td><td  ><p>7.32</p></td></tr><tr><td class="firstcol " ><p><strong></strong></p></td><td  ><p>Floating point operations</p></td><td  ><p>1.99</p></td></tr><tr><td class="firstcol " ><p><strong>Filesystem</strong></p></td><td  ><p>Filesystem write ability</p></td><td  ><p>0</p></td></tr><tr><td class="firstcol empty" ></td><td  ><p>Small file IO test</p></td><td  ><p>0</p></td></tr><tr><td class="firstcol " ><p><strong></strong></p></td><td  ><p>Small file IO test</p></td><td  ><p>2.53</p></td></tr><tr><td class="firstcol " ><p><strong>Database</strong></p></td><td  ><p>Importing large amount of data to database</p></td><td  ><p>5.09</p></td></tr><tr><td class="firstcol empty" ></td><td  ><p>Simple queries on single table</p></td><td  ><p>8.05</p></td></tr><tr><td class="firstcol " ><p><strong></strong></p></td><td  ><p>Complex database queries on multiple tables</p></td><td  ><p>4.58</p></td></tr><tr><td class="firstcol " ><p><strong>Object Cache</strong></p></td><td  ><p>Persistent object cache enabled</p></td><td  ><p>0</p></td></tr><tr><td class="firstcol " ><p><strong>WordPress Core</strong></p></td><td  ><p>Shortcode processing</p></td><td  ><p>3.84</p></td></tr><tr><td class="firstcol " ><p><strong></strong></p></td><td  ><p>WordPress Hooks</p></td><td  ><p>6.02</p></td></tr><tr><td class="firstcol empty" ></td><td  ><p>WordPress option manipulation</p></td><td  ><p>8.08</p></td></tr><tr><td class="firstcol empty" ></td><td  ><p>REGEX string processing</p></td><td  ><p>0</p></td></tr><tr><td class="firstcol empty" ></td><td  ><p>Taxonomy benchmark</p></td><td  ><p>6.01</p></td></tr><tr><td class="firstcol empty" ></td><td  ><p>Object capability benchmark</p></td><td  ><p>5.2</p></td></tr><tr><td class="firstcol empty" ></td><td  ><p>Content filtering</p></td><td  ><p>7.23</p></td></tr><tr><td class="firstcol " ><p><strong></strong></p></td><td  ><p>JSON manipulations</p></td><td  ><p>5.47</p></td></tr><tr><td class="firstcol " ><p><strong>Network</strong></p></td><td  ><p>Network download speed test</p></td><td  ><p>6.86</p></td></tr><tr><td class="firstcol " ><p><strong>Overall</strong></p></td><td  ><p>Your server score</p></td><td  ><p>4.7</p></td></tr></tbody></table></div><p>The Siege test was more troubling. At five concurrent users, availability was 55.42%, average response time was 6.96 seconds, and 37 transactions failed. Availability fell to 31.48% at nine users and 12.31% at 15, with 74 and 114 failures respectively. That result remains a serious warning for traffic-sensitive shared-hosting projects, even though it should not be generalized to every GreenGeeks product.</p><div ><table><caption>Siege test</caption><tbody><tr><td class="firstcol " ><p>Concurrent Users</p></td><td  ><p>5</p></td><td  ><p>9</p></td><td  ><p>15</p></td></tr><tr><td class="firstcol " ><p>Transactions</p></td><td  ><p>46</p></td><td  ><p>34</p></td><td  ><p>16</p></td></tr><tr><td class="firstcol " ><p>Availability</p></td><td  ><p>55.42</p></td><td  ><p>31.48</p></td><td  ><p>12.31</p></td></tr><tr><td class="firstcol " ><p>Elapsed time</p></td><td  ><p>299.63</p></td><td  ><p>299.24</p></td><td  ><p>299.21</p></td></tr><tr><td class="firstcol " ><p>Data transactions</p></td><td  ><p>0.31</p></td><td  ><p>0.3</p></td><td  ><p>0.15</p></td></tr><tr><td class="firstcol " ><p>Response time</p></td><td  ><p>6.96</p></td><td  ><p>8.57</p></td><td  ><p>48.41</p></td></tr><tr><td class="firstcol " ><p>Transaction rate</p></td><td  ><p>0.15</p></td><td  ><p>0.11</p></td><td  ><p>0.05</p></td></tr><tr><td class="firstcol " ><p>Throughput</p></td><td  ><p>0</p></td><td  ><p>0</p></td><td  ><p>0</p></td></tr><tr><td class="firstcol " ><p>Concurrency</p></td><td  ><p>1.07</p></td><td  ><p>0.97</p></td><td  ><p>2.59</p></td></tr><tr><td class="firstcol " ><p>Successful transactions</p></td><td  ><p>55</p></td><td  ><p>46</p></td><td  ><p>106</p></td></tr><tr><td class="firstcol " ><p>Failed transactions</p></td><td  ><p>37</p></td><td  ><p>74</p></td><td  ><p>114</p></td></tr><tr><td class="firstcol " ><p>Longest transaction</p></td><td  ><p>37.2</p></td><td  ><p>22.27</p></td><td  ><p>49.97</p></td></tr><tr><td class="firstcol " ><p>Shortest transaction</p></td><td  ><p>0.04</p></td><td  ><p>0.04</p></td><td  ><p>0.04</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-greengeeks-support"><span>GreenGeeks: Support</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:1543px;"><p class="vanilla-image-block" style="padding-top:62.02%;"><img id="okrc4DozBbKYUeHwfY4m9d" name="greengeeks-contact" alt="GreenGeeks support page" src="https://cdn.mos.cms.futurecdn.net/okrc4DozBbKYUeHwfY4m9d-1920-80.jpg" mos="" align="middle" fullscreen="" width="1543" height="957" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>GreenGeeks offers 24/7 live chat, telephone, and support tickets, although VPS help and billing issues require tickets. </p><p>My pre-sales chat received a substantive human response in about a minute. The agent clearly confirmed the refund conditions, included AI builder, data center selection, and dashboard cancellation process. In this interaction, support was fast and specific.</p><p>The agent initially said backups were available for up to 48 hours, then corrected the answer and linked the policy. GreenGeeks aims to keep around 30 disaster-recovery sets for shared and reseller hosting, but does not guarantee a particular restore date. Pro and Premium customers have direct restore access; Lite users can request one free manual restore per month, with additional restores at $25. </p><p>User-generated cPanel and large Softaculous backups are normally removed after 48 hours, so important sites still need an independent copy.</p><h2 class="article-body__section" id="section-greengeeks-final-verdict"><span>GreenGeeks: Final verdict</span></h2><p>GreenGeeks remains the clearest mainstream choice for buyers who put environmental commitments first. The 300% renewable-energy certificate match is unusually well explained, while cPanel, email, app installers, the AI builder, four data centers, and responsive support make the shared plans practical as well as green. </p><p>Steep renewals, inconsistent Lite information, and our poor load-test result prevent a stronger score. 3.5 stars remains appropriate: best-in-class environmental credentials, but an average overall hosting proposition.</p><h2 class="article-body__section" id="section-greengeeks-faqs"><span>GreenGeeks FAQs</span></h2><section class="article__schema-question"><h3>What payment types does GreenGeeks support?</h3><article class="article__schema-answer"><p>The initial purchase can be paid by major credit or debit card. PayPal becomes available as a payment method after the initial purchase.</p></article></section><section class="article__schema-question"><h3>Does GreenGeeks offer refunds?</h3><article class="article__schema-answer"><p>Initial shared, reseller, and VPS hosting charges are covered by a 30-day guarantee. Domains, setup fees, add-ons, dedicated servers, and renewals are excluded. A free-domain registration fee may be deducted from the refund.</p></article></section><section class="article__schema-question"><h3>Does GreenGeeks have an uptime guarantee? </h3><article class="article__schema-answer"><p>Yes. GreenGeeks advertises 99.9% network uptime and has an SLA credit policy. Confirmed scheduled downtime is credited at the hosting rate; unscheduled or emergency downtime is credited at three times that rate. Claims must be requested within seven days, and several exclusions apply.</p></article></section><section class="article__schema-question"><h3>Where are GreenGeeks’ data centers?</h3><article class="article__schema-answer"><p>GreenGeeks lists Chicago, Montreal, Amsterdam, and Singapore, with all four shown as available for hosting. Customers can choose the location nearest their main audience.</p></article></section><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:839px;"><p class="vanilla-image-block" style="padding-top:67.82%;"><img id="G5heWtGJHAEwQ3KYpEWtfL" name="greengeeks-data-center-locations" alt="GreenGeeks data centers" src="https://cdn.mos.cms.futurecdn.net/G5heWtGJHAEwQ3KYpEWtfL-1920-80.jpg" mos="" align="middle" fullscreen="" width="839" height="569" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><section class="article__schema-question"><h3>What is my GreenGeeks IP address?</h3><article class="article__schema-answer"><p>Open the GreenGeeks Dashboard, select the hosting account, and choose Manage. The server IP appears in the account's server information.</p></article></section><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:970px;"><p class="vanilla-image-block" style="padding-top:56.19%;"><img id="aEx5nJ2qb9eYNDSHZpHSnB" name="FAQ-IPAddress.jpg" alt="GreenGeeks IP address" src="https://cdn.mos.cms.futurecdn.net/aEx5nJ2qb9eYNDSHZpHSnB-1920-80.jpg" mos="" align="middle" fullscreen="" width="970" height="545" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: GreenGeeks)</span></figcaption></figure><section class="article__schema-question"><h3>What are GreenGeeks' nameservers?</h3><article class="article__schema-answer"><p>GreenGeeks currently recommends NS1.GREENGEEKS.NET and NS2.GREENGEEKS.NET. Enter them at the registrar that manages the domain.</p></article></section><section class="article__schema-question"><h3>How do I cancel a GreenGeeks product?</h3><article class="article__schema-answer"><p>In the Dashboard, open the relevant service and disable auto-renewal to generate a cancellation request. GreenGeeks says this should be done at least five business days before renewal; billing can occur 24 hours before the renewal date. Cancel Now terminates service immediately, so download the site and backups first.</p></article></section> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/reviews/greengeeks</link>
                                                                            <description>
                            <![CDATA[ We tested out GreenGeeks and found a feature-rich shared host with best-in-class green credentials, but steep renewals and troubling results in our load test. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Xuns7ACCL5pq7cps9zPDcM</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/G3eNc8vtPdyRhzy9LbpUaJ-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 04 Nov 2026 09:48:52 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Website Hosting]]></category>
                                                    <category><![CDATA[Pro]]></category>
                                                                                                                    <dc:creator><![CDATA[ Mirza Bahic ]]></dc:creator>                                                                                                        <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/G3eNc8vtPdyRhzy9LbpUaJ-1920-80.jpg">
                                                            <media:credit><![CDATA[GreenGeeks]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[GreenGeeks web hosting homepage screenshot]]></media:description>                                                            <media:text><![CDATA[GreenGeeks web hosting homepage screenshot]]></media:text>
                                <media:title type="plain"><![CDATA[GreenGeeks web hosting homepage screenshot]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/G3eNc8vtPdyRhzy9LbpUaJ-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Founded in 2008, GreenGeeks offers shared, WordPress, WooCommerce, reseller, VPS, and dedicated hosting. Its defining feature is not a proprietary control panel or unusual hosting architecture, but a 300% renewable-energy certificate match and tree planting alongside conventional hosting tools. It's an interesting pitch, so we tested it out to see how it fares among the <a href="https://www.techradar.com/web-hosting/best-web-hosting-service-websites" target="_blank">best web hosting services</a>.</p><h2 class="article-body__section" id="section-greengeeks-pricing-plans"><span>GreenGeeks: Pricing &amp; plans</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:1452px;"><p class="vanilla-image-block" style="padding-top:55.44%;"><img id="YsiZcNHsepVt2mUq9atSgY" name="greengeeks-hosting-types" alt="GreenGeeks web hosting options" src="https://cdn.mos.cms.futurecdn.net/YsiZcNHsepVt2mUq9atSgY-1920-80.jpg" mos="" align="middle" fullscreen="" width="1452" height="805" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Shared hosting is the main attraction, with WordPress and WooCommerce packages built on the same platform. Reseller hosting targets agencies, while VPS customers can choose four self-managed or three managed tiers. Dedicated servers start at $169 a month and are ordered through sales.</p><h2 id="greengeeks-shared-hosting">GreenGeeks shared hosting</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:970px;"><p class="vanilla-image-block" style="padding-top:56.60%;"><img id="bTCHAcGncNDyN6w2ZAGGAj" name="GreenGeeks_shared_hosting_pricing" alt="Testing out green web hosting platform GreenGeeks" src="https://cdn.mos.cms.futurecdn.net/bTCHAcGncNDyN6w2ZAGGAj-1920-80.png" mos="" align="middle" fullscreen="" width="970" height="549" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: GreenGeeks // Future)</span></figcaption></figure><p>Lite costs $2.95 a month for the first 12-month term, paid as $35.40 upfront, and renews at $13.95. It includes 25GB of storage, unmetered traffic, email, SSL, CDN, a first-year domain, migration, cPanel, Git, SSH, staging, and the AI builder. There is one unresolved problem: GreenGeeks' main pricing page currently advertises five websites, while its dedicated shared-hosting page and support table still say one. Buyers needing more than one site should confirm the limit before ordering.</p><p>Pro costs $4.95 a month initially and $18.95 on renewal, with unlimited websites, 50GB of storage, on-demand restores, priority support, and a WordPress repair tool. Premium rises from $8.95 to $30.95, increases storage to 100GB, and adds a dedicated IP, AlphaSSL, and Redis object caching. Renewal prices are around 3.5 to 4.7 times the introductory rates, making Pro the most balanced option but long-term value less convincing.</p><p>The 30-day money-back guarantee covers initial shared, reseller, and VPS hosting charges, but not domains, setup fees, add-ons, or renewals. In my sales chat, the agent twice confirmed that a $35.40 Lite purchase using an existing domain and no paid extras would be fully refundable if canceled within 30 days.</p><h2 id="greengeeks-wordpress-hosting">GreenGeeks WordPress hosting </h2><p>GreenGeeks' <a href="https://www.techradar.com/news/best-wordpress-hosting-providers" target="_blank">WordPress hosting</a> uses the same Lite, Pro, and Premium prices and resources as shared hosting. All tiers include installation, migration, automatic updates, LiteSpeed Cache, WP-CLI, SSH, staging, and Git; Pro and Premium add priority support and the repair tool. These are useful conveniences, but this remains optimized shared hosting rather than a specialist managed WordPress platform with isolated resources or dedicated WordPress support.</p><h2 id="greengeeks-vps-hosting">GreenGeeks VPS hosting </h2><p>The four self-managed VPS plans start at $9.99 a month for 4GB of RAM, two vCPUs, 80GB of NVMe storage, and unmetered transfer, renewing at $19.99. The 8GB, 16GB, and 32GB tiers initially cost $19.99, $39.99, and $59.99, then renew at $39.99, $79.99, and $109.99. Customers handle the operating system, patches, software, and backups.</p><p>Managed VPS starts at $69.95 a month for four vCPUs, 4GB of RAM, and 75GB of SSD storage. The 8GB and 16GB plans cost $129.95 and $179.95. They include cPanel Solo, a dedicated IP, migration, DDoS protection, monitoring, operating-system updates, and security patching. GreenGeeks does not automatically back up VPS servers: self-managed customers arrange their own solution, while managed customers can configure cPanel backups if they have sufficient storage.</p><p>For more alternatives, see our guide to the<a href="https://www.techradar.com/news/best-vps-hosting" target="_blank"> best VPS hosting services</a>.</p><h2 id="greengeeks-green-hosting">GreenGeeks green hosting</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:970px;"><p class="vanilla-image-block" style="padding-top:57.42%;"><img id="sxeecVUHTGR6vQG2p53y9j" name="GreenGeeks_green_energy_commitment" alt="Testing out green web hosting platform GreenGeeks" src="https://cdn.mos.cms.futurecdn.net/sxeecVUHTGR6vQG2p53y9j-1920-80.png" mos="" align="middle" fullscreen="" width="970" height="557" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: GreenGeeks // Future)</span></figcaption></figure><p>GreenGeeks' environmental program is its best-in-class feature. It works with the Bonneville Environmental Foundation to purchase renewable energy certificates equal to three times the electricity included in its annual calculation. Electricity still comes from each data center's local grid, so this is an energy-matching program rather than a claim that every facility runs directly on renewables.</p><p>The company has been an EPA Green Power Partner since 2009 and works with One Tree Planted to plant a tree for each new hosting account; it reports more than 50,000 trees planted. Renewable certificates do not eliminate emissions, but the 300% match, long-running partnerships, and explanation of the local-grid limitation make this commitment more transparent than most green-hosting claims. See our guide to the<a href="https://www.techradar.com/web-hosting/best-green-web-hosting" target="_blank"> best green web hosting</a>.</p><h2 class="article-body__section" id="section-greengeeks-website-builder"><span>GreenGeeks: Website builder</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:1155px;"><p class="vanilla-image-block" style="padding-top:57.32%;"><img id="eVGs4USWAQyXF5Hw3J9qqd" name="greengeeks-ai-website-builder" alt="Screenshot of a demo of GreenGeeks AI website builder" src="https://cdn.mos.cms.futurecdn.net/eVGs4USWAQyXF5Hw3J9qqd-1920-80.jpg" mos="" align="middle" fullscreen="" width="1155" height="662" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">GreenGeeks has followed the trend with its newly introduced AI-driven website builder. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>The AI WordPress builder is included at no extra cost. It asks about the site, goals, tone, and preferred structure, then generates pages, text, imagery, and design options that can be customized in WordPress. </p><p>In our hands-on testing it offered a quick, approachable starting point. It is not a standalone service: users select WordPress + AI during WordPress installation. It may not be the <a href="https://www.techradar.com/news/the-best-website-builder" target="_blank">best website builder</a> for a lot of sites, but it gets the job done easily enough. </p><h2 class="article-body__section" id="section-greengeeks-ecommerce-store"><span>GreenGeeks: eCommerce store</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:1255px;"><p class="vanilla-image-block" style="padding-top:63.82%;"><img id="RmgteWju8r5S7EW374EQih" name="woocommerce" alt="Web store WooCommerce" src="https://cdn.mos.cms.futurecdn.net/RmgteWju8r5S7EW374EQih-1920-80.jpg" mos="" align="middle" fullscreen="" width="1255" height="801" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>GreenGeeks has a <a href="https://www.techradar.com/best/woocommerce-hosting" target="_blank">WooCommerce hosting</a> range which is very capable of building a top-quality web store (WooCommerce is one of the best ecommerce platforms around). </p><p>WooCommerce is available on every shared tier, but these packages use the same underlying platform and prices as regular shared hosting. Premium is the strongest store option because it adds a dedicated IP, AlphaSSL, 100GB of storage, and Redis. </p><p>GreenGeeks can install WooCommerce, but its support policy does not extend to developing or deeply debugging third-party applications, so the plans suit users comfortable managing the store itself.</p><h2 class="article-body__section" id="section-greengeeks-ease-of-use"><span>GreenGeeks: Ease of use</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:1850px;"><p class="vanilla-image-block" style="padding-top:44.43%;"><img id="WoVRAHCyPYxFXpJEsjXSMk" name="greengeeks-customer-dashboard" alt="screenshot of GreenGeeks customer dashboard" src="https://cdn.mos.cms.futurecdn.net/WoVRAHCyPYxFXpJEsjXSMk-1920-80.jpg" mos="" align="middle" fullscreen="" width="1850" height="822" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Our hands-on testing found GreenGeeks straightforward to navigate. The custom dashboard keeps websites, plans, domains, billing, and support in a simple sidebar, while cPanel handles email, domains, databases, files, and advanced settings. </p><p>WordPress can be installed from the dashboard, and app installers handle more than 150 other applications. Beginners get a cleaner front end without depriving experienced users of cPanel.</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:1506px;"><p class="vanilla-image-block" style="padding-top:47.88%;"><img id="us6kKtWb6tnkeTBmYYnDMJ" name="greengeeks-app-installer" alt="screenshot of the App installer at GreenGeeks" src="https://cdn.mos.cms.futurecdn.net/us6kKtWb6tnkeTBmYYnDMJ-1920-80.jpg" mos="" align="middle" fullscreen="" width="1506" height="721" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h2 class="article-body__section" id="section-greengeeks-speed"><span>GreenGeeks: Speed</span></h2><p>Performance was the biggest weakness in our shared-hosting test. The WordPress benchmark returned an overall score of 4.7; database and several text operations were respectable, but file handling, persistent object caching, and some WordPress operations pulled the result down. These findings apply to the tested shared-hosting setup, not the VPS range.</p><div ><table><caption>WordPress benchmark testing</caption><tbody><tr><td class="firstcol " ><p><strong>CPU &amp; Memory</strong></p></td><td  ><p>Operations with large text data</p></td><td  ><p>8.08</p></td></tr><tr><td class="firstcol empty" ></td><td  ><p>Random binary data operations</p></td><td  ><p>6.33</p></td></tr><tr><td class="firstcol empty" ></td><td  ><p>Recursive mathematical calculations</p></td><td  ><p>3.86</p></td></tr><tr><td class="firstcol empty" ></td><td  ><p>Iterative mathematical calculations</p></td><td  ><p>7.32</p></td></tr><tr><td class="firstcol " ><p><strong></strong></p></td><td  ><p>Floating point operations</p></td><td  ><p>1.99</p></td></tr><tr><td class="firstcol " ><p><strong>Filesystem</strong></p></td><td  ><p>Filesystem write ability</p></td><td  ><p>0</p></td></tr><tr><td class="firstcol empty" ></td><td  ><p>Small file IO test</p></td><td  ><p>0</p></td></tr><tr><td class="firstcol " ><p><strong></strong></p></td><td  ><p>Small file IO test</p></td><td  ><p>2.53</p></td></tr><tr><td class="firstcol " ><p><strong>Database</strong></p></td><td  ><p>Importing large amount of data to database</p></td><td  ><p>5.09</p></td></tr><tr><td class="firstcol empty" ></td><td  ><p>Simple queries on single table</p></td><td  ><p>8.05</p></td></tr><tr><td class="firstcol " ><p><strong></strong></p></td><td  ><p>Complex database queries on multiple tables</p></td><td  ><p>4.58</p></td></tr><tr><td class="firstcol " ><p><strong>Object Cache</strong></p></td><td  ><p>Persistent object cache enabled</p></td><td  ><p>0</p></td></tr><tr><td class="firstcol " ><p><strong>WordPress Core</strong></p></td><td  ><p>Shortcode processing</p></td><td  ><p>3.84</p></td></tr><tr><td class="firstcol " ><p><strong></strong></p></td><td  ><p>WordPress Hooks</p></td><td  ><p>6.02</p></td></tr><tr><td class="firstcol empty" ></td><td  ><p>WordPress option manipulation</p></td><td  ><p>8.08</p></td></tr><tr><td class="firstcol empty" ></td><td  ><p>REGEX string processing</p></td><td  ><p>0</p></td></tr><tr><td class="firstcol empty" ></td><td  ><p>Taxonomy benchmark</p></td><td  ><p>6.01</p></td></tr><tr><td class="firstcol empty" ></td><td  ><p>Object capability benchmark</p></td><td  ><p>5.2</p></td></tr><tr><td class="firstcol empty" ></td><td  ><p>Content filtering</p></td><td  ><p>7.23</p></td></tr><tr><td class="firstcol " ><p><strong></strong></p></td><td  ><p>JSON manipulations</p></td><td  ><p>5.47</p></td></tr><tr><td class="firstcol " ><p><strong>Network</strong></p></td><td  ><p>Network download speed test</p></td><td  ><p>6.86</p></td></tr><tr><td class="firstcol " ><p><strong>Overall</strong></p></td><td  ><p>Your server score</p></td><td  ><p>4.7</p></td></tr></tbody></table></div><p>The Siege test was more troubling. At five concurrent users, availability was 55.42%, average response time was 6.96 seconds, and 37 transactions failed. Availability fell to 31.48% at nine users and 12.31% at 15, with 74 and 114 failures respectively. That result remains a serious warning for traffic-sensitive shared-hosting projects, even though it should not be generalized to every GreenGeeks product.</p><div ><table><caption>Siege test</caption><tbody><tr><td class="firstcol " ><p>Concurrent Users</p></td><td  ><p>5</p></td><td  ><p>9</p></td><td  ><p>15</p></td></tr><tr><td class="firstcol " ><p>Transactions</p></td><td  ><p>46</p></td><td  ><p>34</p></td><td  ><p>16</p></td></tr><tr><td class="firstcol " ><p>Availability</p></td><td  ><p>55.42</p></td><td  ><p>31.48</p></td><td  ><p>12.31</p></td></tr><tr><td class="firstcol " ><p>Elapsed time</p></td><td  ><p>299.63</p></td><td  ><p>299.24</p></td><td  ><p>299.21</p></td></tr><tr><td class="firstcol " ><p>Data transactions</p></td><td  ><p>0.31</p></td><td  ><p>0.3</p></td><td  ><p>0.15</p></td></tr><tr><td class="firstcol " ><p>Response time</p></td><td  ><p>6.96</p></td><td  ><p>8.57</p></td><td  ><p>48.41</p></td></tr><tr><td class="firstcol " ><p>Transaction rate</p></td><td  ><p>0.15</p></td><td  ><p>0.11</p></td><td  ><p>0.05</p></td></tr><tr><td class="firstcol " ><p>Throughput</p></td><td  ><p>0</p></td><td  ><p>0</p></td><td  ><p>0</p></td></tr><tr><td class="firstcol " ><p>Concurrency</p></td><td  ><p>1.07</p></td><td  ><p>0.97</p></td><td  ><p>2.59</p></td></tr><tr><td class="firstcol " ><p>Successful transactions</p></td><td  ><p>55</p></td><td  ><p>46</p></td><td  ><p>106</p></td></tr><tr><td class="firstcol " ><p>Failed transactions</p></td><td  ><p>37</p></td><td  ><p>74</p></td><td  ><p>114</p></td></tr><tr><td class="firstcol " ><p>Longest transaction</p></td><td  ><p>37.2</p></td><td  ><p>22.27</p></td><td  ><p>49.97</p></td></tr><tr><td class="firstcol " ><p>Shortest transaction</p></td><td  ><p>0.04</p></td><td  ><p>0.04</p></td><td  ><p>0.04</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-greengeeks-support"><span>GreenGeeks: Support</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:1543px;"><p class="vanilla-image-block" style="padding-top:62.02%;"><img id="okrc4DozBbKYUeHwfY4m9d" name="greengeeks-contact" alt="GreenGeeks support page" src="https://cdn.mos.cms.futurecdn.net/okrc4DozBbKYUeHwfY4m9d-1920-80.jpg" mos="" align="middle" fullscreen="" width="1543" height="957" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>GreenGeeks offers 24/7 live chat, telephone, and support tickets, although VPS help and billing issues require tickets. </p><p>My pre-sales chat received a substantive human response in about a minute. The agent clearly confirmed the refund conditions, included AI builder, data center selection, and dashboard cancellation process. In this interaction, support was fast and specific.</p><p>The agent initially said backups were available for up to 48 hours, then corrected the answer and linked the policy. GreenGeeks aims to keep around 30 disaster-recovery sets for shared and reseller hosting, but does not guarantee a particular restore date. Pro and Premium customers have direct restore access; Lite users can request one free manual restore per month, with additional restores at $25. </p><p>User-generated cPanel and large Softaculous backups are normally removed after 48 hours, so important sites still need an independent copy.</p><h2 class="article-body__section" id="section-greengeeks-final-verdict"><span>GreenGeeks: Final verdict</span></h2><p>GreenGeeks remains the clearest mainstream choice for buyers who put environmental commitments first. The 300% renewable-energy certificate match is unusually well explained, while cPanel, email, app installers, the AI builder, four data centers, and responsive support make the shared plans practical as well as green. </p><p>Steep renewals, inconsistent Lite information, and our poor load-test result prevent a stronger score. 3.5 stars remains appropriate: best-in-class environmental credentials, but an average overall hosting proposition.</p><h2 class="article-body__section" id="section-greengeeks-faqs"><span>GreenGeeks FAQs</span></h2><section class="article__schema-question"><h3>What payment types does GreenGeeks support?</h3><article class="article__schema-answer"><p>The initial purchase can be paid by major credit or debit card. PayPal becomes available as a payment method after the initial purchase.</p></article></section><section class="article__schema-question"><h3>Does GreenGeeks offer refunds?</h3><article class="article__schema-answer"><p>Initial shared, reseller, and VPS hosting charges are covered by a 30-day guarantee. Domains, setup fees, add-ons, dedicated servers, and renewals are excluded. A free-domain registration fee may be deducted from the refund.</p></article></section><section class="article__schema-question"><h3>Does GreenGeeks have an uptime guarantee? </h3><article class="article__schema-answer"><p>Yes. GreenGeeks advertises 99.9% network uptime and has an SLA credit policy. Confirmed scheduled downtime is credited at the hosting rate; unscheduled or emergency downtime is credited at three times that rate. Claims must be requested within seven days, and several exclusions apply.</p></article></section><section class="article__schema-question"><h3>Where are GreenGeeks’ data centers?</h3><article class="article__schema-answer"><p>GreenGeeks lists Chicago, Montreal, Amsterdam, and Singapore, with all four shown as available for hosting. Customers can choose the location nearest their main audience.</p></article></section><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:839px;"><p class="vanilla-image-block" style="padding-top:67.82%;"><img id="G5heWtGJHAEwQ3KYpEWtfL" name="greengeeks-data-center-locations" alt="GreenGeeks data centers" src="https://cdn.mos.cms.futurecdn.net/G5heWtGJHAEwQ3KYpEWtfL-1920-80.jpg" mos="" align="middle" fullscreen="" width="839" height="569" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><section class="article__schema-question"><h3>What is my GreenGeeks IP address?</h3><article class="article__schema-answer"><p>Open the GreenGeeks Dashboard, select the hosting account, and choose Manage. The server IP appears in the account's server information.</p></article></section><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:970px;"><p class="vanilla-image-block" style="padding-top:56.19%;"><img id="aEx5nJ2qb9eYNDSHZpHSnB" name="FAQ-IPAddress.jpg" alt="GreenGeeks IP address" src="https://cdn.mos.cms.futurecdn.net/aEx5nJ2qb9eYNDSHZpHSnB-1920-80.jpg" mos="" align="middle" fullscreen="" width="970" height="545" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: GreenGeeks)</span></figcaption></figure><section class="article__schema-question"><h3>What are GreenGeeks' nameservers?</h3><article class="article__schema-answer"><p>GreenGeeks currently recommends NS1.GREENGEEKS.NET and NS2.GREENGEEKS.NET. Enter them at the registrar that manages the domain.</p></article></section><section class="article__schema-question"><h3>How do I cancel a GreenGeeks product?</h3><article class="article__schema-answer"><p>In the Dashboard, open the relevant service and disable auto-renewal to generate a cancellation request. GreenGeeks says this should be done at least five business days before renewal; billing can occur 24 hours before the renewal date. Cancel Now terminates service immediately, so download the site and backups first.</p></article></section>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ SteelSeries Rival Pro review: peak performance with endless playtime ]]></title>
                                                                                                <dc:content><![CDATA[ <h2 class="article-body__section" id="section-steelseries-rival-pro-review"><span>SteelSeries Rival Pro review</span></h2><p>The SteelSeries Rival Pro feels as if it's really pushing the boundaries of what a gaming mouse can do. Even when I glanced at the specs sheet, I was mightily impressed with the features on offer: interference-free ‘true’ 8K polling, hot-swappable batteries for endless play, and 42,000 DPI sensitivity.</p><p>But it’s one thing having a good set of specs, and another performing well in practice. So just how good is the SteelSeries Rival Pro? And is it worth its asking price of $179.99 / £169.99 (about AU$250)? Here’s my verdict after hours of testing.</p><p>First of all, this mouse feels incredibly comfortable to use — in fact, it's up there with some of the <a href="https://www.techradar.com/news/computing-components/peripherals/what-mouse-10-best-mice-compared-1027809">best mice</a> as far as ergonomics are concerned.</p><p>It strikes a happy medium in terms of size, and it fits perfectly in my hand — though it's worth noting that this model is for right-handers only, whereas the ambidextrous form of the <a href="https://www.techradar.com/computing/mice/steelseries-sensei-pro-review">SteelSeries Sensei Pro</a> is suited to lefties and righties alike. I use a palm grip style, but the model is also designed to suit those who prefer claw or fingertip as well. I also love how lightweight the Rival Pro is. At 1.9oz / 53g, making sharp movements and adjustments feels supremely swift.</p><p>The mouse has a lightly textured matte finish that feels, and indeed looks, pretty nice too. Sure, the matte black finish makes it a little prone to picking up fingerprints, but this is more of a nitpick, and this is likely to be less of an issue if you opt for the alternate white colorway. </p><p>And when it comes to performance, the SteelSeries Rival Pro is equally dazzling. I used it to play <em>Cyberpunk 2077 </em>with the LG UltraGear 25G590B 1000Hz gaming monitor, and was astonished by the sheer responsiveness and precision on offer. Aiming felt incredibly stable and accurate, turning the camera felt super-sharp and reactive, and the high-quality optical switches enabled me to let shots fly snappily and reliably. The mechanical scroll wheel also felt very tactile, with ridges offering great grip.</p><p>Said optical switches feel great to use for gaming or general productivity, and their mechanical, satisfying sound never felt grating or overzealous to me. Yes, they’re not the quietest switches, so if you prefer a more subdued sound then maybe look elsewhere, but their quality is undeniable — SteelSeries even claims that it tested them for 100 million clicks, so you’ll get plenty of mileage out of this mouse.</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="4SJw7SXpAk6H3vWUVMPGNG" name="Steelseries_RivalPro_008.JPG" alt="USB-C cable being inserted into the SteelSeries Rival Pro base station" src="https://cdn.mos.cms.futurecdn.net/4SJw7SXpAk6H3vWUVMPGNG-1920-80.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>Feature-wise, this mouse has just about everything you could want. The GG app and web app open up all sorts of customization for binds, sensitivity, polling rate, and power management. I mainly used the web app, and found it incredibly easy to use and make small tweaks here and there. </p><p>Perhaps the real standout feature, though, is the ‘infinite power system’. You get two batteries with the Rival Pro: one that pops into the mouse itself, and another that you place onto the Ultra Wideband base station. The batteries are hot-swappable, and when your mouse runs flat, you can swiftly substitute in the battery from the base station (which charges while plugged in). As a result, you’ll quite literally never run out of battery — ideal for competitive gamers. </p><p>While the Rival Pro mouse lacks a USB port for wired play, this infinite power system means you’ll honestly never need it — totally removing any additional weight or awkwardness that comes with a cable connection.</p><p>With an 8K polling rate, SuperSync — which enables you to independently control tracking and clicking polling rates, and aim tools to boot, it truly feels like the perfect gaming mouse. But are there any real downsides?</p><p>Well, one thing could prove to put some gamers off: the Rival Pro’s price. At $179.99 / £169.99 (about AU$250), this model is certainly a premium product. Is it worth it? If you want peak performance and essentially endless battery life, then yes. But there are plenty of strong options for less than $100 / £100 out there. </p><p>All in all, though, the SteelSeries Rival Pro is an innovative, ergonomic gaming mouse with exceptional performance. If you’re looking to take your game up a notch, look no further than this model.</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="s2NhEutaxCM5BFFo5xKgLG" name="Steelseries_RivalPro_006.JPG" alt="Scroll wheel on the SteelSeries Rival Pro" src="https://cdn.mos.cms.futurecdn.net/s2NhEutaxCM5BFFo5xKgLG-1920-80.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><h2 class="article-body__section" id="section-steelseries-rival-pro-review-price-release-date"><span>SteelSeries Rival Pro review: price &amp; release date</span></h2><ul><li><strong>Priced at $179.99 / £169.99 (about AU$250)</strong></li><li><strong>Released in October 2026</strong></li></ul><p>The SteelSeries Rival Pro was released in October 2026, alongside three other models: the SteelSeries Rival Pro Mini, as well as the SteelSeries Sensei Pro and Sensei Pro Mini. The Rival Pro is priced at $179.99 / £169.99 (about AU$250). That lands it firmly in the premium category, with rivals including the <a href="https://www.techradar.com/computing/mice/logitech-pro-x2-superstrike-review">Logitech G Pro X2 Superstrike</a> and the <a href="https://www.techradar.com/computing/mice/razer-deathadder-v4-pro">Razer DeathAdder V4 Pro</a>.</p><h2 class="article-body__section" id="section-steelseries-rival-pro-review-specs"><span>SteelSeries Rival Pro review: specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p>Interface</p></td><td  ><p>Ultra Wideband Wireless (6GHz and above)</p></td></tr><tr><td class="firstcol " ><p>Battery life</p></td><td  ><p>Up to 60 hours 1K / 16 hours 8K</p></td></tr><tr><td class="firstcol " ><p>Sensor</p></td><td  ><p>TrueMove 42K Pro Sensor</p></td></tr><tr><td class="firstcol " ><p>Polling rate</p></td><td  ><p>8KHz (with 9KHz overpolling)</p></td></tr><tr><td class="firstcol " ><p>Buttons</p></td><td  ><p>6</p></td></tr><tr><td class="firstcol " ><p>DPI</p></td><td  ><p>42,000</p></td></tr><tr><td class="firstcol " ><p>Switches</p></td><td  ><p>Optical</p></td></tr><tr><td class="firstcol " ><p>Dimensions</p></td><td  ><p>4.95 x 2.69 x 1.66 inches / 125.7 x 68.2 x 42.2mm</p></td></tr><tr><td class="firstcol " ><p>Weight</p></td><td  ><p>1.9oz / 53g</p></td></tr></tbody></table></div><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="zdak5qzZfwQu6VjKZfx8NG" name="Steelseries_RivalPro_011.JPG" alt="SteelSeries Rival Pro with various accessories" src="https://cdn.mos.cms.futurecdn.net/zdak5qzZfwQu6VjKZfx8NG-1920-80.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><h2 class="article-body__section" id="section-should-i-buy-the-steelseries-rival-pro"><span>Should I buy the SteelSeries Rival Pro?</span></h2><div ><table><thead><tr><th class="firstcol " ><p><strong>Attribute</strong></p></th><th  ><p><strong>Notes</strong></p></th><th  ><p><strong>Score</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Design</p></td><td  ><p>Excellent ergonomics, lightweight, great build quality, a little prone to fingerprints.</p></td><td  ><p>4.5/5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>True 8K polling with SuperSync, 42K DPI sensitivity, essentially endless battery life.</p></td><td  ><p>5/5</p></td></tr><tr><td class="firstcol " ><p>Value</p></td><td  ><p>Undoubtedly pricey, but has the performance to back it up.</p></td><td  ><p>4/5</p></td></tr></tbody></table></div><h2 id="buy-it-if-4">Buy it if…</h2><div class="product"><p><strong>You want unbeatable gaming features</strong><br />If you’re a pro gamer or an enthusiast, then the features available on the Rival Pro are sure to appeal to you. True 8K polling, 42K DPI sensitivity, and detailed customization options are perfectly suited to competitive play.</p></div><div class="product"><p><strong>You want unlimited battery life</strong><br />The Rival Pro has hot-swappable batteries, with one always on charge in the UWB base station. Apart from the five seconds it takes to swap the two batteries, you’ll get unlimited playtime, which is great for gaming tournaments or everyday use.</p></div><h2 id="don-t-buy-it-if-2">Don’t buy it if…</h2><div class="product"><p><strong>You’re not playing particularly intensive games</strong><br />For a lot of gamers, the features on board are slightly overkill, so if you’re not playing games that require snappy response times, then you’ll probably be better off with a cheaper option.</p></div><div class="product"><p><strong>You’re on a budget</strong><br />Leading off from that, the Rival Pro is certainly not a model I’d recommend to anyone on a budget. While its performance ensures its still solid value overall, it's hard to look past that steep asking price.</p></div><h2 class="article-body__section" id="section-steelseries-rival-pro-review-also-consider"><span>SteelSeries Rival Pro review: also consider</span></h2><div class="product"><p><strong>Logitech G Pro X2 Superstrike</strong><br />We were blown away by this Logitech mouse when we tested it earlier this year. Its ultra-low click and sensor latency, brilliant switches, and impressive build quality are hard to beat — even if it's pretty pricey. Read our full <a href="https://www.techradar.com/computing/mice/logitech-pro-x2-superstrike-review" data-dimension112="f61a5972-d21c-11f1-900b-55f5dcd17f91" data-action="Deal Block" data-label="Logitech G Pro X2 Superstrike review" data-dimension48="Logitech G Pro X2 Superstrike review" data-dimension25="">Logitech G Pro X2 Superstrike review</a>.</p></div><div class="product"><p><strong>Razer DeathAdder V4 Pro</strong><br />The Razer DeathAdder V4 Pro is a top-tier gaming mouse, boasting flawless performance, a great optical scroll wheel, and beautiful ergonomics. It's similarly priced to this SteelSeries rival, but we’ve seen it pop up on sale from time to time. Read our full <a href="https://www.techradar.com/computing/mice/razer-deathadder-v4-pro" data-dimension112="f61a59d6-d21c-11f1-8c77-b1259611d121" data-action="Deal Block" data-label="Razer DeathAdder V4 Pro review" data-dimension48="Razer DeathAdder V4 Pro review" data-dimension25="">Razer DeathAdder V4 Pro review</a>.</p></div><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="Q9ioGxfx2MVtwF6E9K4EbG" name="Steelseries_RivalPro_013.JPG" alt="SteelSeries Rival Pro base station balanced on block" src="https://cdn.mos.cms.futurecdn.net/Q9ioGxfx2MVtwF6E9K4EbG-1920-80.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><h2 class="article-body__section" id="section-how-i-tested-the-steelseries-rival-pro"><span>How I tested the SteelSeries Rival Pro</span></h2><ul><li><strong>Tested intensively for hours</strong></li><li><strong>Used for gaming and general productivity</strong></li><li><strong>Made use of all features in the GG web app</strong></li></ul><p>I spent many hours testing the SteelSeries Rival Pro, during which time I used it for gaming and general productivity.</p><p>When gaming, I paired the mouse with the LG UltraGear 25G590B 1000Hz gaming monitor to get the best performance possible. I made sure to play a range of games, but mainly tested the mouse with the PC version of <em>Cyberpunk 2077</em>. On top of this, I made sure to try out all of the mouse’s features and customization options via the GG web app.</p><p>More generally, I’ve spent years testing gadgets here at TechRadar, where I serve as a Senior Reviews Writer. I’ve reviewed everything from premium Dolby Atmos soundbars to gaming software, and have tested a number of mice, including the recently released <a href="https://www.techradar.com/computing/mice/logitech-mobi-fold-review">Logitech Mobi Fold</a>.</p><ul><li><a href="https://www.techradar.com/news/how-we-test">Read TechRadar’s reviews guarantee</a></li><li><em>First reviewed: October 2026</em></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/mice/steelseries-rival-pro-review</link>
                                                                            <description>
                            <![CDATA[ The SteelSeries Rival Pro is an exemplary model with impeccable battery life, excellent ergonomics, and peak performance. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">sKZXWUmzKxjx79NwisyBom</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/5GfkFeJHkX6KUPBDc49wVE-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 04 Nov 2026 01:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Mice]]></category>
                                                    <category><![CDATA[Gaming Accessories]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Peripherals & Accessories]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ harry.padoan@futurenet.com (Harry Padoan) ]]></author>                    <dc:creator><![CDATA[ Harry Padoan ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/995EkuqRKUTUjvMk7ataFi-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Harry is a Senior Reviews Writer for TechRadar. He reviews everything from party speakers to wall chargers and has a particular interest in the worlds of audio and gaming.&lt;/p&gt;&lt;p&gt;Prior to joining TechRadar, Harry was a journalist covering stories from the telecoms industry, drilling into areas such as innovation, acquisitions, and sustainability.&lt;/p&gt;&lt;p&gt;When he isn’t testing the newest tech, Harry can probably be found listening to deep house, playing JRPGs, or watching his beloved Tottenham Hotspur.&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/5GfkFeJHkX6KUPBDc49wVE-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Man holding the Steelseries Rival Pro]]></media:description>                                                            <media:text><![CDATA[Man holding the Steelseries Rival Pro]]></media:text>
                                <media:title type="plain"><![CDATA[Man holding the Steelseries Rival Pro]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/5GfkFeJHkX6KUPBDc49wVE-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <h2 class="article-body__section" id="section-steelseries-rival-pro-review"><span>SteelSeries Rival Pro review</span></h2><p>The SteelSeries Rival Pro feels as if it's really pushing the boundaries of what a gaming mouse can do. Even when I glanced at the specs sheet, I was mightily impressed with the features on offer: interference-free ‘true’ 8K polling, hot-swappable batteries for endless play, and 42,000 DPI sensitivity.</p><p>But it’s one thing having a good set of specs, and another performing well in practice. So just how good is the SteelSeries Rival Pro? And is it worth its asking price of $179.99 / £169.99 (about AU$250)? Here’s my verdict after hours of testing.</p><p>First of all, this mouse feels incredibly comfortable to use — in fact, it's up there with some of the <a href="https://www.techradar.com/news/computing-components/peripherals/what-mouse-10-best-mice-compared-1027809">best mice</a> as far as ergonomics are concerned.</p><p>It strikes a happy medium in terms of size, and it fits perfectly in my hand — though it's worth noting that this model is for right-handers only, whereas the ambidextrous form of the <a href="https://www.techradar.com/computing/mice/steelseries-sensei-pro-review">SteelSeries Sensei Pro</a> is suited to lefties and righties alike. I use a palm grip style, but the model is also designed to suit those who prefer claw or fingertip as well. I also love how lightweight the Rival Pro is. At 1.9oz / 53g, making sharp movements and adjustments feels supremely swift.</p><p>The mouse has a lightly textured matte finish that feels, and indeed looks, pretty nice too. Sure, the matte black finish makes it a little prone to picking up fingerprints, but this is more of a nitpick, and this is likely to be less of an issue if you opt for the alternate white colorway. </p><p>And when it comes to performance, the SteelSeries Rival Pro is equally dazzling. I used it to play <em>Cyberpunk 2077 </em>with the LG UltraGear 25G590B 1000Hz gaming monitor, and was astonished by the sheer responsiveness and precision on offer. Aiming felt incredibly stable and accurate, turning the camera felt super-sharp and reactive, and the high-quality optical switches enabled me to let shots fly snappily and reliably. The mechanical scroll wheel also felt very tactile, with ridges offering great grip.</p><p>Said optical switches feel great to use for gaming or general productivity, and their mechanical, satisfying sound never felt grating or overzealous to me. Yes, they’re not the quietest switches, so if you prefer a more subdued sound then maybe look elsewhere, but their quality is undeniable — SteelSeries even claims that it tested them for 100 million clicks, so you’ll get plenty of mileage out of this mouse.</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="4SJw7SXpAk6H3vWUVMPGNG" name="Steelseries_RivalPro_008.JPG" alt="USB-C cable being inserted into the SteelSeries Rival Pro base station" src="https://cdn.mos.cms.futurecdn.net/4SJw7SXpAk6H3vWUVMPGNG-1920-80.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>Feature-wise, this mouse has just about everything you could want. The GG app and web app open up all sorts of customization for binds, sensitivity, polling rate, and power management. I mainly used the web app, and found it incredibly easy to use and make small tweaks here and there. </p><p>Perhaps the real standout feature, though, is the ‘infinite power system’. You get two batteries with the Rival Pro: one that pops into the mouse itself, and another that you place onto the Ultra Wideband base station. The batteries are hot-swappable, and when your mouse runs flat, you can swiftly substitute in the battery from the base station (which charges while plugged in). As a result, you’ll quite literally never run out of battery — ideal for competitive gamers. </p><p>While the Rival Pro mouse lacks a USB port for wired play, this infinite power system means you’ll honestly never need it — totally removing any additional weight or awkwardness that comes with a cable connection.</p><p>With an 8K polling rate, SuperSync — which enables you to independently control tracking and clicking polling rates, and aim tools to boot, it truly feels like the perfect gaming mouse. But are there any real downsides?</p><p>Well, one thing could prove to put some gamers off: the Rival Pro’s price. At $179.99 / £169.99 (about AU$250), this model is certainly a premium product. Is it worth it? If you want peak performance and essentially endless battery life, then yes. But there are plenty of strong options for less than $100 / £100 out there. </p><p>All in all, though, the SteelSeries Rival Pro is an innovative, ergonomic gaming mouse with exceptional performance. If you’re looking to take your game up a notch, look no further than this model.</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="s2NhEutaxCM5BFFo5xKgLG" name="Steelseries_RivalPro_006.JPG" alt="Scroll wheel on the SteelSeries Rival Pro" src="https://cdn.mos.cms.futurecdn.net/s2NhEutaxCM5BFFo5xKgLG-1920-80.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><h2 class="article-body__section" id="section-steelseries-rival-pro-review-price-release-date"><span>SteelSeries Rival Pro review: price &amp; release date</span></h2><ul><li><strong>Priced at $179.99 / £169.99 (about AU$250)</strong></li><li><strong>Released in October 2026</strong></li></ul><p>The SteelSeries Rival Pro was released in October 2026, alongside three other models: the SteelSeries Rival Pro Mini, as well as the SteelSeries Sensei Pro and Sensei Pro Mini. The Rival Pro is priced at $179.99 / £169.99 (about AU$250). That lands it firmly in the premium category, with rivals including the <a href="https://www.techradar.com/computing/mice/logitech-pro-x2-superstrike-review">Logitech G Pro X2 Superstrike</a> and the <a href="https://www.techradar.com/computing/mice/razer-deathadder-v4-pro">Razer DeathAdder V4 Pro</a>.</p><h2 class="article-body__section" id="section-steelseries-rival-pro-review-specs"><span>SteelSeries Rival Pro review: specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p>Interface</p></td><td  ><p>Ultra Wideband Wireless (6GHz and above)</p></td></tr><tr><td class="firstcol " ><p>Battery life</p></td><td  ><p>Up to 60 hours 1K / 16 hours 8K</p></td></tr><tr><td class="firstcol " ><p>Sensor</p></td><td  ><p>TrueMove 42K Pro Sensor</p></td></tr><tr><td class="firstcol " ><p>Polling rate</p></td><td  ><p>8KHz (with 9KHz overpolling)</p></td></tr><tr><td class="firstcol " ><p>Buttons</p></td><td  ><p>6</p></td></tr><tr><td class="firstcol " ><p>DPI</p></td><td  ><p>42,000</p></td></tr><tr><td class="firstcol " ><p>Switches</p></td><td  ><p>Optical</p></td></tr><tr><td class="firstcol " ><p>Dimensions</p></td><td  ><p>4.95 x 2.69 x 1.66 inches / 125.7 x 68.2 x 42.2mm</p></td></tr><tr><td class="firstcol " ><p>Weight</p></td><td  ><p>1.9oz / 53g</p></td></tr></tbody></table></div><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="zdak5qzZfwQu6VjKZfx8NG" name="Steelseries_RivalPro_011.JPG" alt="SteelSeries Rival Pro with various accessories" src="https://cdn.mos.cms.futurecdn.net/zdak5qzZfwQu6VjKZfx8NG-1920-80.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><h2 class="article-body__section" id="section-should-i-buy-the-steelseries-rival-pro"><span>Should I buy the SteelSeries Rival Pro?</span></h2><div ><table><thead><tr><th class="firstcol " ><p><strong>Attribute</strong></p></th><th  ><p><strong>Notes</strong></p></th><th  ><p><strong>Score</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Design</p></td><td  ><p>Excellent ergonomics, lightweight, great build quality, a little prone to fingerprints.</p></td><td  ><p>4.5/5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>True 8K polling with SuperSync, 42K DPI sensitivity, essentially endless battery life.</p></td><td  ><p>5/5</p></td></tr><tr><td class="firstcol " ><p>Value</p></td><td  ><p>Undoubtedly pricey, but has the performance to back it up.</p></td><td  ><p>4/5</p></td></tr></tbody></table></div><h2 id="buy-it-if-4">Buy it if…</h2><div class="product"><p><strong>You want unbeatable gaming features</strong><br />If you’re a pro gamer or an enthusiast, then the features available on the Rival Pro are sure to appeal to you. True 8K polling, 42K DPI sensitivity, and detailed customization options are perfectly suited to competitive play.</p></div><div class="product"><p><strong>You want unlimited battery life</strong><br />The Rival Pro has hot-swappable batteries, with one always on charge in the UWB base station. Apart from the five seconds it takes to swap the two batteries, you’ll get unlimited playtime, which is great for gaming tournaments or everyday use.</p></div><h2 id="don-t-buy-it-if-2">Don’t buy it if…</h2><div class="product"><p><strong>You’re not playing particularly intensive games</strong><br />For a lot of gamers, the features on board are slightly overkill, so if you’re not playing games that require snappy response times, then you’ll probably be better off with a cheaper option.</p></div><div class="product"><p><strong>You’re on a budget</strong><br />Leading off from that, the Rival Pro is certainly not a model I’d recommend to anyone on a budget. While its performance ensures its still solid value overall, it's hard to look past that steep asking price.</p></div><h2 class="article-body__section" id="section-steelseries-rival-pro-review-also-consider"><span>SteelSeries Rival Pro review: also consider</span></h2><div class="product"><p><strong>Logitech G Pro X2 Superstrike</strong><br />We were blown away by this Logitech mouse when we tested it earlier this year. Its ultra-low click and sensor latency, brilliant switches, and impressive build quality are hard to beat — even if it's pretty pricey. Read our full <a href="https://www.techradar.com/computing/mice/logitech-pro-x2-superstrike-review" data-dimension112="f61a5972-d21c-11f1-900b-55f5dcd17f91" data-action="Deal Block" data-label="Logitech G Pro X2 Superstrike review" data-dimension48="Logitech G Pro X2 Superstrike review" data-dimension25="">Logitech G Pro X2 Superstrike review</a>.</p></div><div class="product"><p><strong>Razer DeathAdder V4 Pro</strong><br />The Razer DeathAdder V4 Pro is a top-tier gaming mouse, boasting flawless performance, a great optical scroll wheel, and beautiful ergonomics. It's similarly priced to this SteelSeries rival, but we’ve seen it pop up on sale from time to time. Read our full <a href="https://www.techradar.com/computing/mice/razer-deathadder-v4-pro" data-dimension112="f61a59d6-d21c-11f1-8c77-b1259611d121" data-action="Deal Block" data-label="Razer DeathAdder V4 Pro review" data-dimension48="Razer DeathAdder V4 Pro review" data-dimension25="">Razer DeathAdder V4 Pro review</a>.</p></div><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="Q9ioGxfx2MVtwF6E9K4EbG" name="Steelseries_RivalPro_013.JPG" alt="SteelSeries Rival Pro base station balanced on block" src="https://cdn.mos.cms.futurecdn.net/Q9ioGxfx2MVtwF6E9K4EbG-1920-80.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><h2 class="article-body__section" id="section-how-i-tested-the-steelseries-rival-pro"><span>How I tested the SteelSeries Rival Pro</span></h2><ul><li><strong>Tested intensively for hours</strong></li><li><strong>Used for gaming and general productivity</strong></li><li><strong>Made use of all features in the GG web app</strong></li></ul><p>I spent many hours testing the SteelSeries Rival Pro, during which time I used it for gaming and general productivity.</p><p>When gaming, I paired the mouse with the LG UltraGear 25G590B 1000Hz gaming monitor to get the best performance possible. I made sure to play a range of games, but mainly tested the mouse with the PC version of <em>Cyberpunk 2077</em>. On top of this, I made sure to try out all of the mouse’s features and customization options via the GG web app.</p><p>More generally, I’ve spent years testing gadgets here at TechRadar, where I serve as a Senior Reviews Writer. I’ve reviewed everything from premium Dolby Atmos soundbars to gaming software, and have tested a number of mice, including the recently released <a href="https://www.techradar.com/computing/mice/logitech-mobi-fold-review">Logitech Mobi Fold</a>.</p><ul><li><a href="https://www.techradar.com/news/how-we-test">Read TechRadar’s reviews guarantee</a></li><li><em>First reviewed: October 2026</em></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Wharfedale Denton 1S review: these compact little standmount speakers are all business  ]]></title>
                                                                                                <dc:content><![CDATA[ <h3 class="article-body__section" id="section-wharfedale-denton-1s-two-minute-review"><span>Wharfedale Denton 1S: Two-minute review</span></h3><p>Wharfedale has been having a lovely old time with its range of ‘Heritage’ loudspeakers lately — revisiting, remixing and reworking some of its Greatest Hits. The new Denton 1S, though, is slightly different. It’s an update of a 1974 design that went all-out to present as modern and forward-thinking. And so this reinterpretation has a ‘modern retro’ vibe rather than the ‘antique’ feel of other Wharfedale ‘Heritage’ models.</p><p>The curvy cabinet with its recessed front baffle, the mildly dramatic coaxial driver arrangement (which sees the tweeter positioned in throat of the mid/bass driver) and the handily compact dimensions are all attractive — and the option of a fairly deep blue as a finish doesn’t do any harm in this respect either. The numbers, both in terms of frequency response and of sensitivity, are encouraging too.</p><p>And when they’re doing their thing, it’s immediately apparent that the Wharfedale Denton 1S are no mere pastiche — they are a profoundly competitive pair of loudspeakers on their own terms and yes, it's a good enough performance to make them some of the <a href="https://www.techradar.com/news/best-stereo-speakers">best stereo speakers</a> on the market, right now.</p><p>The sound is, ultimately, slightly small-scale — but it’s organised, confident, entertaining, loaded with detail and has real unity and singularity to the way it’s presented. Yes, $999 / £649 spent elsewhere on a small pair of passive standmount speakers will buy you something different in sonic terms, certainly, but it’s very debatable indeed as to whether it can buy you anything <em>better</em>. </p><h3 class="article-body__section" id="section-wharfedale-denton-1s-review-price-and-release-date"><span>Wharfedale Denton 1S Review: Price and release date</span></h3><ul><li><strong>Launched May 31, 2026</strong></li><li><strong>List price of $999 / £649 / AU$1,699</strong></li></ul><p>The Wharfedale Denton 1S speakers are available now, and in the United Kingdom a pair will set you back £649. In the United States this solution costs $999, while in Australia the going rate is AU$1,699 or thereabouts.</p><p>At this money, the <em>just about</em> cheaper <a href="https://www.techradar.com/audio/speakers/dali-sonik-1-review">Dali Sonik 1</a> might be their chief competition, at $900 / £449.99 / AU$849. And just to throw it out there, while many pricier options obviously exist, <a href="https://www.techradar.com/audio/wireless-bluetooth-speakers/cambridge-l-r-s-review">Cambridge Audio's Award-winning active L/R S</a> can be yours for a little less, at $549 / £399 / AU$949. Something to consider, anyway. </p><h3 class="article-body__section" id="section-wharfedale-denton-1s-review-features"><span>Wharfedale Denton 1S review: Features</span></h3><ul><li><strong>Coaxial tweeter / mid/bass driver</strong></li><li><strong>‘Brilliance’ switch</strong></li><li><strong>Rear-facing bass reflex port</strong></li></ul><p>Passive loudspeakers have purity of purpose and are, unless someone’s being bloodyminded, relatively simple devices. Their list of features is seldom exhaustive. It’s a sign of just how straightforward passive loudspeakers tend to be that the Denton 1S stands apart simply because of a small rocker switch on the rear of each cabinet.</p><p>Unlike 1974’s original Denton 1, the Denton 1S features a truly coaxial driver arrangement. Here a 25mm soft-dome tweeter sits in the acoustic centre of a 165mm mid/bass driver made from polypropylene. Here, as with any coaxial driver, the idea is to offer superior time-alignment and driver integration.</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="rZQcN3vrWU8MYE7xxo8R8f" name="Wharfedale Denton 1S speaker" alt="A straight-on frontal shot of the ungridded Wharfedale Denton 1S speaker cabinet." src="https://cdn.mos.cms.futurecdn.net/rZQcN3vrWU8MYE7xxo8R8f-1920-80.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>With the forward-firing drivers bolstered by a rear-facing bass reflex port, Wharfedale is quoting a frequency response of 50Hz — 20kHz and sensitivity of 88dB — that second figure strongly suggests this speaker will be in no way tricky to drive. Of course, the orientation of the reflex port means that low frequency presence is likely to increase the closer to a rear surface the speaker is positioned — and that’s where the little rocker switches come in.</p><p>It’s described as a ‘brilliance’ control, and its two positions are labelled ‘norm’ and ‘max’. The idea is that setting the switch to ‘max’ will give a 1.5dB boost to the 2 - 4kHz area, which should allow the upper frequencies to hold their own against the emboldened low end in the event that the reflex port is delivering a little too much of a good thing. Of course, it will take the listener roughly no time at all to establish whether or not they think the ‘max’ setting is a good idea or not. </p><ul><li><strong>Features score:  5 / 5</strong></li></ul><h3 class="article-body__section" id="section-wharfedale-denton-1s-review-sound-quality"><span>Wharfedale Denton 1S review: Sound quality</span></h3><ul><li><strong>Detailed, energetic and rhythmically coherent sound</strong></li><li><strong>Great imaging and stereo focus</strong></li><li><strong>Ultimately sound fractionally small-scale</strong></li></ul><p>Owners of loft apartments, aircraft hangars and the like, look away now. There’s a huge amount to enjoy about the way the Wharfedale Denton 1S perform, but when it comes to outright scale, the ability to fill an authentically large space with sound, there are better options around that cost a similar amount of money.</p><p>Everyone else, though, should read on.</p><p>No matter the source of music, no matter if it’s as straightforward as <em>Looped</em> by Kiasmos or as relatively complex as <em>Re-make/Re-model</em> by Roxy Music, the Denton 1S get an immediate handle on it. They’re a generously entertaining listen, vigorous in a nicely controlled manner, and carry enough detail along with them to make sure you’re as informed as you are stimulated.</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="QPrEdFoWvoSJK3gdmTmN8f" name="Wharfedale Denton 1S" alt="A detailed close-up shot focused directly on the coaxial driver unit of the Wharfedale Denton 1S." src="https://cdn.mos.cms.futurecdn.net/QPrEdFoWvoSJK3gdmTmN8f-1920-80.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>That coaxial driver arrangement works a treat inasmuch as the imaging and stereo focus the speakers are capable of is completely convincing. There’s a unity and a togetherness about the way the Wharfedale present recordings that’s never less than enjoyable and periodically absorbing. In combination with their spirited and enthusiastic attitude, it makes for a genuine sense of performance — even if you’re listening to a recording that was never a performance in the first place. And while the soundstage isn’t the largest, it’s properly defined and rigorously organised. </p><p>The tonal balance is, fractionally, on the warmer side of neutral — but as long as the system that’s powering the speakers isn’t overtly toasty then it really shouldn’t be an issue. Frequency response, too, is just slightly titled. There’s a tiny suggestion of emphasis on the lowest frequencies, but again this is only likely to be a concern if the speakers are powered by a bass-centric set-up. Anyway, low-end control is confident and the Wharfedale express rhythms with real coherence as a result. </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="tFg8zGpSr7ocaCTnVwWN8f" name="Wharfedale Denton 1S mag grille" alt="A three-quarter perspective view of the Wharfedale Denton 1S speaker with the grille in place, mounted on a dedicated stand." src="https://cdn.mos.cms.futurecdn.net/tFg8zGpSr7ocaCTnVwWN8f-1920-80.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>Midrange resolution is impressive too, and there’s real eloquence to the way the Denton 1S handle voices. Detail retrieval, which is impressive across the board, really comes to the fore here — the character and attitude imbued in a vocal performance, as well as information regarding timbre and technique, are made apparent. And at the top of the frequency range, the Wharfedale attack with determination — but there’s plenty of substance, as well as brilliance, to treble sounds, and never any suggestion of edginess or hardness.</p><p>The attention to detail extends as far as the dynamic of harmonic variation, and there’s a fair amount of capacity where the broader dynamics of volume or intensity are concerned. When the charge into the last chorus or the massed orchestral crescendo kicks in, the Denton 1S track it faithfully — and they do so without altering their sonic characteristics in the slightest.  </p><p>And you don’t need a brute of an amplifier to enjoy all of these admirable attributes. The Wharfedale are in no way tricky to drive; even a modestly priced amplifier with unremarkable power numbers should have no problem getting the best from these speakers. And ‘the best’ is, on a pound-for-pound basis, at least on a par with the very best around.  </p><ul><li><strong>Sound quality score: 4.5 / 5</strong></li></ul><h3 class="article-body__section" id="section-wharfedale-denton-1s-review-design"><span>Wharfedale Denton 1S review: Design</span></h3><ul><li><strong>330 x 236 x 229mm (HxWxD)</strong></li><li><strong>Magnetically attached grilles</strong></li><li><strong>Choice of three finishes</strong></li></ul><p>The coaxial driver means the Denton 1S should be just as happy (and effective) positioned on its side as it is standing upright. And the fact that Wharfedale has provided an integrated fitting for a wall bracket suggests the company thinks the speaker will perform successfully if it’s wall-mounted too. Cabinet depth of 229mm (which obviously increases with the pair of speaker cable binding posts at the rear) doesn’t automatically shout ‘wall-mount!’ to me, though, I have to admit.</p><p>Mind you, no matter where you position the Wharfedale they look good. The cabinet features the same curves and the same recessed front baffle as the original Denton 1 — in white, especially, there’s more than a hint of that late-60s / early-70s futurism that started years previously with the likes of  Dieter Rams and Stanley Kubrick. Unlike the original model, though, which was made from moulded polyurethane that looked and felt super-modern but was a bit of a disaster in acoustic terms, the Denton 1S is made from bonded and braced fibreboard. Less modern, more effective.</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="tabsFtG7SUuuMa5WHxPX8f" name="Wharfedale Denton 1S rear" alt="A straight-on view of the Wharfedale Denton 1S speaker's rear panel." src="https://cdn.mos.cms.futurecdn.net/tabsFtG7SUuuMa5WHxPX8f-1920-80.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>That recessed front baffle allows the magnetically attached grilles to almost sit within the cabinet, and they’re flush with the top, bottom and side panels when they’re in position. Both the grille and the front baffle features a quite assertive stylised ‘W’ logo that lets you know you’re in the presence of a ‘Heritage’ Wharfedale design. </p><p>The compulsory options of black and white are joined by a third finish — the deep-ish blue of my review sample. Each of the available finishes looks good, no two ways about it, but the dimensions and the shape of the Denton 1S could quite easily lend themselves to quite a few other colours. It works for Dali and Cambridge, and I see no reason why Wharfedale shouldn’t produce the Denton 1S in some livelier finishes than are currently on offer.     </p><ul><li><strong>Design score: 4.5 / 5</strong></li></ul><h3 class="article-body__section" id="section-wharfedale-denton-1s-review-usability-and-setup"><span>Wharfedale Denton 1S review: Usability and setup</span></h3><ul><li><strong>Attach some speaker cable running from an amplifier</strong></li><li><strong>Position the speakers to your satisfaction</strong></li><li><strong>Experiment with grille and ‘brilliance’ switch</strong></li></ul><p>Just as with ‘features’, there’s really not too much to get your head around here. You’ll decide to position your speakers on dedicated stands, or on wall-brackets, or on a shelf… no matter where you want them, though, they’ll need to be connected to an amplifier via a couple of lengths of speaker cable.</p><p>After they’re positioned and running, you have just a couple of chances to have some input into the way they sound. The sonic difference between ‘grille on’ and ‘grille off’ is, quite honestly, less significant than the visual difference — but you will most definitely have a preference as to whether you prefer your ‘brilliance’ switch at ‘norm’ or ‘max’.</p><ul><li><strong>Usability and setup score: 5 / 5</strong></li></ul><h3 class="article-body__section" id="section-wharfedale-denton-1s-review-value"><span>Wharfedale Denton 1S review: Value</span></h3><p>It’s very hard indeed to argue against the notion that there’s great value for money on offer here. The Wharfedale Denton 1S are properly made, expertly finished, visually interesting (everything’s relative, after all), intriguing on a technological level and, most importantly of all, sound engaging and alert. Unless you crave absolutely as much sonic scale as this sort of money can buy, there’s an awful lot to enjoy and even admire here.</p><ul><li><strong>Value score: 4.5 / 5</strong></li></ul><h3 class="article-body__section" id="section-should-i-buy-the-wharfedale-denton-1s"><span>Should I buy the Wharfedale Denton 1S?</span></h3><h2 id="buy-it-if-5">Buy it if...</h2><div class="product"><p><strong>You like a bit of positional flexibility</strong><br />Portrait or landscape, speaker stand or shelf… even the wall isn’t completely off limits.</p></div><div class="product"><p><strong>‘Modern retro’ is your thing</strong><br />Wharfedale has managed to take the spirit of the original design without turning it into a pastiche.</p></div><div class="product"><p><strong>You enjoy lively and informative sound</strong><br />There’s no shortage of finesse here, but the Wharfedale are predominantly interested in a good time.</p></div><h2 id="don-39-t-buy-it-if-3">Don't buy it if...</h2><div class="product"><p><strong>You want to fill a particularly big space with sound</strong><br />The soundstage the speakers create doesn’t escape the confines of the cabinets quite as fully as it might</p></div><div class="product"><p><strong>You enjoy vibrant interior decor</strong><br />All three of the available finishes are nice enough, but none are a match for the vivacity of the Denton 1S sound</p></div><h3 class="article-body__section" id="section-wharfedale-denton-1s-also-consider"><span>Wharfedale Denton 1S : Also consider</span></h3><div class="product"><p><strong>DALI Sonik 1</strong><br />The DALI Sonik 1 are usefully smaller and usefully more affordable than the Wharfedale Denton 1S - and in their own way, they’re just as successful when it comes to performance. They can get overconfident at the top of the frequency range in a way the 1S simply don’t, though… Read our full <a href="https://www.techradar.com/audio/speakers/dali-sonik-1-review" data-dimension112="b9cd81c4-d6b3-11f1-a40d-71e75b473893" data-action="Deal Block" data-label="DALI Sonik 1 review." data-dimension48="DALI Sonik 1 review." data-dimension25="">DALI Sonik 1 review.</a></p></div><div class="product"><p><strong>Bowers &amp; Wilkins 606 S3</strong><br />Spend a little more than Wharfedale is asking and the 606 S3 by Bowers &amp; Wilkins come into range. They’re a brilliantly refined, detailed and punchy listen - but in visual terms they’re made to look a little pedestrian by the Denton 1S. Read our full <a href="https://www.techradar.com/audio/speakers/bowers-and-wilkins-607-s3-review" data-dimension112="b9cd823c-d6b3-11f1-8e38-4fbe98d1f3d9" data-action="Deal Block" data-label="Bowers &amp; Wilkins 606 S3 review" data-dimension48="Bowers &amp; Wilkins 606 S3 review" data-dimension25="">Bowers &amp; Wilkins 606 S3 review</a>.</p></div><h3 class="article-body__section" id="section-how-i-tested-the-wharfedale-denton-1s"><span>How I tested the Wharfedale Denton 1S</span></h3><p>With the Wharfedale Denton 1S on a pair of Blok Axis stands, I connect them to my reference system: Cambridge Edge W power amplifier, Eversolo DAC-Z10 pre-amplifier, Technics SL1300G turntable (with Goldring 1022 cartridge and preamplified by a Chord Huei), Arcam ST25 network streamer and Rega Apollo CD player — so I was able to listen to music from many storage formats and at a wide variety of resolutions. And then in an effort to up the ‘retro’ credentials just a little, I replaced the pre- and power amplifier with an A&amp;R Cambridge A60 integrated amplifier from 1976.</p><ul><li><em>First reviewed: October 2026</em></li><li><a href="https://www.techradar.com/news/how-we-test">Read TechRadar's review guarantee</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/audio/speakers/wharfedale-denton-1s-review</link>
                                                                            <description>
                            <![CDATA[ They're bijou, yes, but they're all business where it counts — and you won't need a brute of an amp to drive them ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">4UVT3oHGS4xCUGQgfzDU5b</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/XKRAzXiuaB29rABfKzLk8f-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 03 Nov 2026 20:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Speakers]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Hi-Fi]]></category>
                                                                                                                    <dc:creator><![CDATA[ Simon Lucas ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/XZU88gUp2HCF96TN4ozBR4-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Simon Lucas is a freelance technology journalist and consultant, with particular emphasis on the audio/video aspects of home entertainment. If it&#039;s involved in the production of sound or visual images, Simon will have written about it during the course of what will soon be a 20-year career.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Before embracing the carefree life of the freelancer, Simon was editor of What Hi-Fi? magazine and&amp;nbsp;&lt;a href=&quot;http://whathifi.com/&quot; target=&quot;_blank&quot;&gt;whathifi.com&lt;/a&gt;&amp;nbsp;– a stint that lasted nearly six years and coincided with the website&amp;nbsp;becoming the planet&#039;s leading source of audio/visual buying advice for consumers. Since then, he&#039;s written for titles including (but not limited to) to Wired, Metro, the Guardian, HiFi+ and GQ, and has acted as an audio consultant for some of the&amp;nbsp;world&#039;s most high-profile consumer&amp;nbsp;electronics brands. All from what he likes to call &#039;The English Riviera&#039; but what is more commonly known as &#039;Brighton&#039;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Despite an invariably packed schedule, Simon likes to make time during the working week to publish (and invariably then hastily delete) tweets about the state of the nation (in general), the state of Aston Villa (in particular) and the state of his partner&#039;s cat via&amp;nbsp;&lt;a href=&quot;https://twitter.com/onlysimonlucas?lang=en&quot; target=&quot;_blank&quot;&gt;@OnlySimonLucas&lt;/a&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/XKRAzXiuaB29rABfKzLk8f-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A pair of stand-mounted Denton 1S speakers flank a multi-tiered wooden audio rack containing source components and amplifiers.]]></media:description>                                                            <media:text><![CDATA[A pair of stand-mounted Denton 1S speakers flank a multi-tiered wooden audio rack containing source components and amplifiers.]]></media:text>
                                <media:title type="plain"><![CDATA[A pair of stand-mounted Denton 1S speakers flank a multi-tiered wooden audio rack containing source components and amplifiers.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/XKRAzXiuaB29rABfKzLk8f-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <h3 class="article-body__section" id="section-wharfedale-denton-1s-two-minute-review"><span>Wharfedale Denton 1S: Two-minute review</span></h3><p>Wharfedale has been having a lovely old time with its range of ‘Heritage’ loudspeakers lately — revisiting, remixing and reworking some of its Greatest Hits. The new Denton 1S, though, is slightly different. It’s an update of a 1974 design that went all-out to present as modern and forward-thinking. And so this reinterpretation has a ‘modern retro’ vibe rather than the ‘antique’ feel of other Wharfedale ‘Heritage’ models.</p><p>The curvy cabinet with its recessed front baffle, the mildly dramatic coaxial driver arrangement (which sees the tweeter positioned in throat of the mid/bass driver) and the handily compact dimensions are all attractive — and the option of a fairly deep blue as a finish doesn’t do any harm in this respect either. The numbers, both in terms of frequency response and of sensitivity, are encouraging too.</p><p>And when they’re doing their thing, it’s immediately apparent that the Wharfedale Denton 1S are no mere pastiche — they are a profoundly competitive pair of loudspeakers on their own terms and yes, it's a good enough performance to make them some of the <a href="https://www.techradar.com/news/best-stereo-speakers">best stereo speakers</a> on the market, right now.</p><p>The sound is, ultimately, slightly small-scale — but it’s organised, confident, entertaining, loaded with detail and has real unity and singularity to the way it’s presented. Yes, $999 / £649 spent elsewhere on a small pair of passive standmount speakers will buy you something different in sonic terms, certainly, but it’s very debatable indeed as to whether it can buy you anything <em>better</em>. </p><h3 class="article-body__section" id="section-wharfedale-denton-1s-review-price-and-release-date"><span>Wharfedale Denton 1S Review: Price and release date</span></h3><ul><li><strong>Launched May 31, 2026</strong></li><li><strong>List price of $999 / £649 / AU$1,699</strong></li></ul><p>The Wharfedale Denton 1S speakers are available now, and in the United Kingdom a pair will set you back £649. In the United States this solution costs $999, while in Australia the going rate is AU$1,699 or thereabouts.</p><p>At this money, the <em>just about</em> cheaper <a href="https://www.techradar.com/audio/speakers/dali-sonik-1-review">Dali Sonik 1</a> might be their chief competition, at $900 / £449.99 / AU$849. And just to throw it out there, while many pricier options obviously exist, <a href="https://www.techradar.com/audio/wireless-bluetooth-speakers/cambridge-l-r-s-review">Cambridge Audio's Award-winning active L/R S</a> can be yours for a little less, at $549 / £399 / AU$949. Something to consider, anyway. </p><h3 class="article-body__section" id="section-wharfedale-denton-1s-review-features"><span>Wharfedale Denton 1S review: Features</span></h3><ul><li><strong>Coaxial tweeter / mid/bass driver</strong></li><li><strong>‘Brilliance’ switch</strong></li><li><strong>Rear-facing bass reflex port</strong></li></ul><p>Passive loudspeakers have purity of purpose and are, unless someone’s being bloodyminded, relatively simple devices. Their list of features is seldom exhaustive. It’s a sign of just how straightforward passive loudspeakers tend to be that the Denton 1S stands apart simply because of a small rocker switch on the rear of each cabinet.</p><p>Unlike 1974’s original Denton 1, the Denton 1S features a truly coaxial driver arrangement. Here a 25mm soft-dome tweeter sits in the acoustic centre of a 165mm mid/bass driver made from polypropylene. Here, as with any coaxial driver, the idea is to offer superior time-alignment and driver integration.</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="rZQcN3vrWU8MYE7xxo8R8f" name="Wharfedale Denton 1S speaker" alt="A straight-on frontal shot of the ungridded Wharfedale Denton 1S speaker cabinet." src="https://cdn.mos.cms.futurecdn.net/rZQcN3vrWU8MYE7xxo8R8f-1920-80.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>With the forward-firing drivers bolstered by a rear-facing bass reflex port, Wharfedale is quoting a frequency response of 50Hz — 20kHz and sensitivity of 88dB — that second figure strongly suggests this speaker will be in no way tricky to drive. Of course, the orientation of the reflex port means that low frequency presence is likely to increase the closer to a rear surface the speaker is positioned — and that’s where the little rocker switches come in.</p><p>It’s described as a ‘brilliance’ control, and its two positions are labelled ‘norm’ and ‘max’. The idea is that setting the switch to ‘max’ will give a 1.5dB boost to the 2 - 4kHz area, which should allow the upper frequencies to hold their own against the emboldened low end in the event that the reflex port is delivering a little too much of a good thing. Of course, it will take the listener roughly no time at all to establish whether or not they think the ‘max’ setting is a good idea or not. </p><ul><li><strong>Features score:  5 / 5</strong></li></ul><h3 class="article-body__section" id="section-wharfedale-denton-1s-review-sound-quality"><span>Wharfedale Denton 1S review: Sound quality</span></h3><ul><li><strong>Detailed, energetic and rhythmically coherent sound</strong></li><li><strong>Great imaging and stereo focus</strong></li><li><strong>Ultimately sound fractionally small-scale</strong></li></ul><p>Owners of loft apartments, aircraft hangars and the like, look away now. There’s a huge amount to enjoy about the way the Wharfedale Denton 1S perform, but when it comes to outright scale, the ability to fill an authentically large space with sound, there are better options around that cost a similar amount of money.</p><p>Everyone else, though, should read on.</p><p>No matter the source of music, no matter if it’s as straightforward as <em>Looped</em> by Kiasmos or as relatively complex as <em>Re-make/Re-model</em> by Roxy Music, the Denton 1S get an immediate handle on it. They’re a generously entertaining listen, vigorous in a nicely controlled manner, and carry enough detail along with them to make sure you’re as informed as you are stimulated.</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="QPrEdFoWvoSJK3gdmTmN8f" name="Wharfedale Denton 1S" alt="A detailed close-up shot focused directly on the coaxial driver unit of the Wharfedale Denton 1S." src="https://cdn.mos.cms.futurecdn.net/QPrEdFoWvoSJK3gdmTmN8f-1920-80.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>That coaxial driver arrangement works a treat inasmuch as the imaging and stereo focus the speakers are capable of is completely convincing. There’s a unity and a togetherness about the way the Wharfedale present recordings that’s never less than enjoyable and periodically absorbing. In combination with their spirited and enthusiastic attitude, it makes for a genuine sense of performance — even if you’re listening to a recording that was never a performance in the first place. And while the soundstage isn’t the largest, it’s properly defined and rigorously organised. </p><p>The tonal balance is, fractionally, on the warmer side of neutral — but as long as the system that’s powering the speakers isn’t overtly toasty then it really shouldn’t be an issue. Frequency response, too, is just slightly titled. There’s a tiny suggestion of emphasis on the lowest frequencies, but again this is only likely to be a concern if the speakers are powered by a bass-centric set-up. Anyway, low-end control is confident and the Wharfedale express rhythms with real coherence as a result. </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="tFg8zGpSr7ocaCTnVwWN8f" name="Wharfedale Denton 1S mag grille" alt="A three-quarter perspective view of the Wharfedale Denton 1S speaker with the grille in place, mounted on a dedicated stand." src="https://cdn.mos.cms.futurecdn.net/tFg8zGpSr7ocaCTnVwWN8f-1920-80.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>Midrange resolution is impressive too, and there’s real eloquence to the way the Denton 1S handle voices. Detail retrieval, which is impressive across the board, really comes to the fore here — the character and attitude imbued in a vocal performance, as well as information regarding timbre and technique, are made apparent. And at the top of the frequency range, the Wharfedale attack with determination — but there’s plenty of substance, as well as brilliance, to treble sounds, and never any suggestion of edginess or hardness.</p><p>The attention to detail extends as far as the dynamic of harmonic variation, and there’s a fair amount of capacity where the broader dynamics of volume or intensity are concerned. When the charge into the last chorus or the massed orchestral crescendo kicks in, the Denton 1S track it faithfully — and they do so without altering their sonic characteristics in the slightest.  </p><p>And you don’t need a brute of an amplifier to enjoy all of these admirable attributes. The Wharfedale are in no way tricky to drive; even a modestly priced amplifier with unremarkable power numbers should have no problem getting the best from these speakers. And ‘the best’ is, on a pound-for-pound basis, at least on a par with the very best around.  </p><ul><li><strong>Sound quality score: 4.5 / 5</strong></li></ul><h3 class="article-body__section" id="section-wharfedale-denton-1s-review-design"><span>Wharfedale Denton 1S review: Design</span></h3><ul><li><strong>330 x 236 x 229mm (HxWxD)</strong></li><li><strong>Magnetically attached grilles</strong></li><li><strong>Choice of three finishes</strong></li></ul><p>The coaxial driver means the Denton 1S should be just as happy (and effective) positioned on its side as it is standing upright. And the fact that Wharfedale has provided an integrated fitting for a wall bracket suggests the company thinks the speaker will perform successfully if it’s wall-mounted too. Cabinet depth of 229mm (which obviously increases with the pair of speaker cable binding posts at the rear) doesn’t automatically shout ‘wall-mount!’ to me, though, I have to admit.</p><p>Mind you, no matter where you position the Wharfedale they look good. The cabinet features the same curves and the same recessed front baffle as the original Denton 1 — in white, especially, there’s more than a hint of that late-60s / early-70s futurism that started years previously with the likes of  Dieter Rams and Stanley Kubrick. Unlike the original model, though, which was made from moulded polyurethane that looked and felt super-modern but was a bit of a disaster in acoustic terms, the Denton 1S is made from bonded and braced fibreboard. Less modern, more effective.</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="tabsFtG7SUuuMa5WHxPX8f" name="Wharfedale Denton 1S rear" alt="A straight-on view of the Wharfedale Denton 1S speaker's rear panel." src="https://cdn.mos.cms.futurecdn.net/tabsFtG7SUuuMa5WHxPX8f-1920-80.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>That recessed front baffle allows the magnetically attached grilles to almost sit within the cabinet, and they’re flush with the top, bottom and side panels when they’re in position. Both the grille and the front baffle features a quite assertive stylised ‘W’ logo that lets you know you’re in the presence of a ‘Heritage’ Wharfedale design. </p><p>The compulsory options of black and white are joined by a third finish — the deep-ish blue of my review sample. Each of the available finishes looks good, no two ways about it, but the dimensions and the shape of the Denton 1S could quite easily lend themselves to quite a few other colours. It works for Dali and Cambridge, and I see no reason why Wharfedale shouldn’t produce the Denton 1S in some livelier finishes than are currently on offer.     </p><ul><li><strong>Design score: 4.5 / 5</strong></li></ul><h3 class="article-body__section" id="section-wharfedale-denton-1s-review-usability-and-setup"><span>Wharfedale Denton 1S review: Usability and setup</span></h3><ul><li><strong>Attach some speaker cable running from an amplifier</strong></li><li><strong>Position the speakers to your satisfaction</strong></li><li><strong>Experiment with grille and ‘brilliance’ switch</strong></li></ul><p>Just as with ‘features’, there’s really not too much to get your head around here. You’ll decide to position your speakers on dedicated stands, or on wall-brackets, or on a shelf… no matter where you want them, though, they’ll need to be connected to an amplifier via a couple of lengths of speaker cable.</p><p>After they’re positioned and running, you have just a couple of chances to have some input into the way they sound. The sonic difference between ‘grille on’ and ‘grille off’ is, quite honestly, less significant than the visual difference — but you will most definitely have a preference as to whether you prefer your ‘brilliance’ switch at ‘norm’ or ‘max’.</p><ul><li><strong>Usability and setup score: 5 / 5</strong></li></ul><h3 class="article-body__section" id="section-wharfedale-denton-1s-review-value"><span>Wharfedale Denton 1S review: Value</span></h3><p>It’s very hard indeed to argue against the notion that there’s great value for money on offer here. The Wharfedale Denton 1S are properly made, expertly finished, visually interesting (everything’s relative, after all), intriguing on a technological level and, most importantly of all, sound engaging and alert. Unless you crave absolutely as much sonic scale as this sort of money can buy, there’s an awful lot to enjoy and even admire here.</p><ul><li><strong>Value score: 4.5 / 5</strong></li></ul><h3 class="article-body__section" id="section-should-i-buy-the-wharfedale-denton-1s"><span>Should I buy the Wharfedale Denton 1S?</span></h3><h2 id="buy-it-if-5">Buy it if...</h2><div class="product"><p><strong>You like a bit of positional flexibility</strong><br />Portrait or landscape, speaker stand or shelf… even the wall isn’t completely off limits.</p></div><div class="product"><p><strong>‘Modern retro’ is your thing</strong><br />Wharfedale has managed to take the spirit of the original design without turning it into a pastiche.</p></div><div class="product"><p><strong>You enjoy lively and informative sound</strong><br />There’s no shortage of finesse here, but the Wharfedale are predominantly interested in a good time.</p></div><h2 id="don-39-t-buy-it-if-3">Don't buy it if...</h2><div class="product"><p><strong>You want to fill a particularly big space with sound</strong><br />The soundstage the speakers create doesn’t escape the confines of the cabinets quite as fully as it might</p></div><div class="product"><p><strong>You enjoy vibrant interior decor</strong><br />All three of the available finishes are nice enough, but none are a match for the vivacity of the Denton 1S sound</p></div><h3 class="article-body__section" id="section-wharfedale-denton-1s-also-consider"><span>Wharfedale Denton 1S : Also consider</span></h3><div class="product"><p><strong>DALI Sonik 1</strong><br />The DALI Sonik 1 are usefully smaller and usefully more affordable than the Wharfedale Denton 1S - and in their own way, they’re just as successful when it comes to performance. They can get overconfident at the top of the frequency range in a way the 1S simply don’t, though… Read our full <a href="https://www.techradar.com/audio/speakers/dali-sonik-1-review" data-dimension112="b9cd81c4-d6b3-11f1-a40d-71e75b473893" data-action="Deal Block" data-label="DALI Sonik 1 review." data-dimension48="DALI Sonik 1 review." data-dimension25="">DALI Sonik 1 review.</a></p></div><div class="product"><p><strong>Bowers &amp; Wilkins 606 S3</strong><br />Spend a little more than Wharfedale is asking and the 606 S3 by Bowers &amp; Wilkins come into range. They’re a brilliantly refined, detailed and punchy listen - but in visual terms they’re made to look a little pedestrian by the Denton 1S. Read our full <a href="https://www.techradar.com/audio/speakers/bowers-and-wilkins-607-s3-review" data-dimension112="b9cd823c-d6b3-11f1-8e38-4fbe98d1f3d9" data-action="Deal Block" data-label="Bowers &amp; Wilkins 606 S3 review" data-dimension48="Bowers &amp; Wilkins 606 S3 review" data-dimension25="">Bowers &amp; Wilkins 606 S3 review</a>.</p></div><h3 class="article-body__section" id="section-how-i-tested-the-wharfedale-denton-1s"><span>How I tested the Wharfedale Denton 1S</span></h3><p>With the Wharfedale Denton 1S on a pair of Blok Axis stands, I connect them to my reference system: Cambridge Edge W power amplifier, Eversolo DAC-Z10 pre-amplifier, Technics SL1300G turntable (with Goldring 1022 cartridge and preamplified by a Chord Huei), Arcam ST25 network streamer and Rega Apollo CD player — so I was able to listen to music from many storage formats and at a wide variety of resolutions. And then in an effort to up the ‘retro’ credentials just a little, I replaced the pre- and power amplifier with an A&amp;R Cambridge A60 integrated amplifier from 1976.</p><ul><li><em>First reviewed: October 2026</em></li><li><a href="https://www.techradar.com/news/how-we-test">Read TechRadar's review guarantee</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Bambu Lab H3C 3D printer review ]]></title>
                                                                                                <dc:content><![CDATA[ <p>It was inevitable that there would be a successor to the <a href="https://www.techradar.com/pro/bambulab-h2c-3d-printer-review" target="_blank">Bambu Lab H2C</a>, which was no small machine; however, the Bambu Lab H3C takes scale and ability to the next level, although the innovative Vortek Hotend Change System is no more.</p><p> Like the H2C, there’s the multi-tool functionality, but as you’ll see from the images, the system is all new, with dedicated tools in the Swaptek Tool Changer rather than the Vortek hotend-changing system, so something closer to the Bondtech INDX tool changers.</p><p>An interesting update is the ability to print with different-sized nozzles, so a fine 0.2 mm for fine detail, going to a 0.8 mm for infill and areas where speed is preferable to fine finishes. What I have discovered through the month that I’ve had the printer so far is that this is an evolution of the 3D printing process, refining the techniques and while this technology and its application are still being ironed out, the full potential is apparent.</p><p>Adding to the multi-diameter printing is the advanced TPU handling. This essentially enables you to print with thicker 2.85 mm filament using the PrintTool hotend. As the filament is thicker, it supports softer TPU, and again, there’s a learning process behind its use. It’s not quite as simple as popping it in and letting it go, but it is a step in the right direction.</p><p>Sitting on top of the machine is the new AMS 3H filament management system that holds up to nine filaments, with two slots enabling integrated drying and bypass feeds for specialist materials.</p><p>I’ll admit, as the boxes kept arriving and the H3C started to take shape on the workbench, the machine did seem to dominate the space. However, after squeezing in the H2C next to it, while the new AMS gives a visual impression of scale, the footprint of the two machines is much the same.</p><p>The big question for me at the start of this test was whether this new machine and design was a direct replacement for the H2C or something altogether new. It certainly initially looks far more complex, but then, as I became more familiar with the machine, the full tool changer design, once assembled, did seem,  a little more simplistic and certainly more reliable as I pushed the print times and complexities.</p><p>One point to note is that throughout the test, while I had the machine and seemingly every accessory that I could need to go with it, the actual official machine specifications and final tweaking of the software were still to be released. </p><p>What Bambu did supply was a few test models and an extensive set of instructions about how to tackle each of the main new features. There was also a set of complex models that I used to start the test before deviating to some of my own, and then back to the supplied models to finish the test.</p><p>I’ll cover more of those tests in the performance section, but what interested me was using this printer for a real practical task. This is, after all, a business-class machine, although the price will put this just in range of the keen enthusiast as well.</p><p>The main project for this test was to print and build a set of speakers from <a href="https://printyourspeakers.com/" target="_blank">Print Your Speakers</a>, with the Supersonic MK3 kit fitting the bill for this test. Essentially, a solid PLA outer with TPU to add damping to the infill, and then a switch of nozzle sizes for the fine detail of the outer wall and a thicker nozzle for the inner walls.</p><p>This is where the learning curve of this machine and the Bambu Lab software really comes into play, and while that learning curve is steep.</p><p>As the test ran on, the potential of this machine started to grow. While multi-filament and tool changer machines now dominate and Bambu Lab’s lead in the field was quickly fading, especially with the <a href="https://www.techradar.com/pro/prusa-core-one-indx-8-tool-3d-printer-review" target="_blank">Original Prusa CORE One INDX,</a> of which the H3C’s new system bears more than a passing resemblance. But with support for 2.85 mm TPU and multiple other materials, it now pushes them back out in front and truly offers something unique, although there are still a few refinements needed.</p><h2 class="article-body__section" id="section-bambu-lab-h3c-price-and-availability"><span>Bambu Lab H3C: Price and availability</span></h2><p>The H3C will be available to purchase from the <a href="https://bambulab.com/h3c" target="_blank">Bambu Lab website</a> from 3 November 2026, following the official launch. Unlike the H2C, there is just one configuration available at launch, with the AMS 3H and all nine PrintTools included.</p><ul><li><strong>H3C AMS Combo:</strong> $2,499 / £2,199</li><li><strong>Combo + PLA Palette + TPU:</strong> $2,589 /£2,269</li><li><strong>Combo + PLA Palette + TPU + Bambu Station (Enclosed) + E1 Air Purifier:</strong></li><li>$3,049 / £2,699</li><li><strong>Combo + PLA Palette + TPU + Bambu Station (Open):</strong> $2,799 / £2,469</li></ul><h2 class="article-body__section" id="section-bambu-lab-h3c-design"><span>Bambu Lab H3C: Design</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:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="rJATUFtNsjxrvafDRXU25B" name="Bambu Lab H3C" alt="Bambu Lab H3C" src="https://cdn.mos.cms.futurecdn.net/rJATUFtNsjxrvafDRXU25B-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><div  class="fancy-box"><div class="fancy_box-title">BambuLab H2C specifications</div><div class="fancy_box_body"><p class="fancy-box__body-text"><strong>Print Technology: </strong>Fused Filament Fabrication (FFF)<br /><strong>Build Area: </strong>330 × 320 × 325 mm<br /><strong>Minimum Layer Resolution: </strong>To be confirmed<br /><strong>Maximum Layer Resolution:</strong> To be confirmed<br /><strong>Dimensions:</strong> 493 × 571 × 587 mm<br /><strong>Weight: </strong>36.28 kg (including AMS 3H)<br /><strong>Bed:</strong> Heated, up to 120°C<br /><strong>Print Surface: </strong>Textured PEI plate<br /><strong>Software: </strong>Bambu Studio<br /><strong>Materials: </strong>PLA, PETG, TPU, ABS, ASA, PA, PC, PPA, PPS and other supported materials<br /><strong>Print Speed: </strong>Maximum toolhead speed of 1,400 mm/s</p></div></div><p>The Bambu Lab H3C is a 3D printer on another scale, and whilst it doesn’t look that much larger than the H2C initially, once you start to work with it and try to move it around the workshop, you suddenly realise that its colossal 36.28 kg weight and physical dimensions of 493 × 571 × 587 mm make it more of a two-person lift than something you’re able to handle on your own.</p><p>That would explain why Bambu Lab also sent a special trolley along with the machine, so it’s easy to access and move around the workshop. The issue at the moment is that there are so many 3D printers coming out that my workshop doesn’t have any space, so this will be something that I will manoeuvre the printer onto once I can find a pathway through the workshop to get the two sections to meet.</p><p>As it was, I decided to set this machine up in the photo area, and I’ve already manoeuvred the H2C next to it so that I can do a side-by-side comparison on size and scale, however, again this left little room as the the scale of these machine is rapidly increasing.</p><p>As I first lifted the H3C into position, the two machines looked roughly the same size, but as I started to add the huge new AMS 3H on top, I realised that this was an altogether different proposition.</p><p>As I unpacked the machine, it was obvious that Bambu Lab had taken a completely different direction to multi tool head printing compared with the H2C, and the H3C has something more akin to the INDX tool changer. You can definitely see the similarities. As I went through the initial setup, what was surprising here was just how easy and straightforward it was, and whilst the machine was large, the actual placing of the AMS on top and positioning all of the nozzles wasn’t at all difficult. </p><p>The only thing that you do need to make sure of is that there are nine tools included: eight with 0.4 mm PrintTools for 1.75 mm filament and one dedicated 0.4 mm PrintTool for 2.85 mm filament. Careful reference to the instructions as you’re setting up is essential to make sure that this nozzle goes in the right place.</p><p>Before taking a closer look at this new system, it’s worth pointing out that the AMS 3H is quite an evolution on the AMS 2, sitting on top of the machine and really integrating more closely with the design compared with the add-on box of the AMS 2. This, I know, will please a lot of print farms, which, whilst generally fans of the Bambu Lab machines, find the AMS 2 is often a weak point and the part that they have to replace most often. One point here is that, of those nine slots, there’s a separate section within the rack which enables just two of those nine slots to be actively dried.</p><p>As we’ve seen before, you can also add more AMS units, enabling up to 24-colour printing, up from the nine possible out of the box.</p><p>Once I got everything set up and installed, which, to be honest, didn’t take too long, it was then time to connect the machine to the local network via Wi-Fi 6. As ever, this was as straightforward and simple as with all other Bambu Lab machines. One of the surprises is that a machine of this size and scale, especially aimed at the professional market, doesn’t feature an Ethernet port. </p><p>The other point here is that as soon as it connected, it ran through a series of updates before then going through the calibration process. So, while the machine itself is really well designed and easy to set up, the software updating and full calibration process can take up to an hour, which is slightly infuriating when I was quite excited to see what this machine was capable of doing.</p><p>After the Wi-Fi connection, calibration and everything else had been run through, it was time to connect through the Bambu Studio software, and again, a few clicks through the beta release that we were given, enabled me to connect quickly to the printer. </p><p>However, as always, before running through my own prints and some of those others that had been supplied to fully test out this new machine’s abilities, I ran through the standard test prints on the machine. These are the usual 3D Benchy and variants, alongside scrapers and a few other bits and bobs, as expected. It ran through all of those prints flawlessly, and then it was time to cross over to Bambu Studio.</p><p>Bambu Lab actually supplied some very interesting test models, which I go into in the performance section, but before I went into these multi-filament, multicolour designs, I decided to test out some of my more standard prints. This just enabled me to double-check the calibration and also try out a few different materials.</p><p>There are two built-in 1080p cameras, with an optional Bird’s Eye camera available as well. The chamber heats up to 65°C, with a 120°C heated bed and a 350°C maximum nozzle temperature.</p><p>Leaving the machine just to run through those few prints, I was able to step back and take a proper look at the machine, and it is an evolution of what we’ve seen with the other H series printers, just slightly larger. Again, this is a steel chassis, which gives it structural support and also makes it insanely heavy to lift around the workshop. </p><p>The outer is plastic, with a grey and black exterior that looks stylish, just in the same vein as we’ve seen with the other Bambu Lab hardware. On the front, you’ve got a big viewing window so that you can see what’s going on with the print, and whilst the top-mounted AMS 3H does stop you from looking down into the machine, it's integrated rather than being a separate unit, which I personally really like.</p><p>As we’ve seen before, there’s a really nice 5-inch colour touchscreen, with an 854 × 480 display resolution, and this is very responsive, giving me full access to all the functions and settings. However, it is getting more complex, especially with those nine toolheads. It does take a little bit of extra time just to orientate yourself with all of those different settings.</p><p>Across the front is the main feature of this new 3D printer, obviously the new nine-toolhead rack, and what’s interesting here is that the rack raises and lowers, so if you do want to see what’s going on on the print bed, it’s far easier than with some of the other multiple systems of this style out there. At all times, however, you can see where the influence of the Prusa CORE One INDX version has influenced Bambu Lab’s slight change of direction, although they’ve taken that style of design in a slightly different direction.</p><p>The rack features nine individual PrintTool docking positions, and these all automatically dock with tool alignment and offset compensation. What’s interesting here is that there are dedicated filament paths for each PrintTool, meaning that each works completely independently, and there are integrated filament cutters within the PrintTools, again just to help speed things up. When it comes to the extruder and internal mechanisms, they all use hardened steel, with hardened-steel extruder gears and nozzles rated at HRC 55+.</p><p>As ever, we see a flexible steel build plate, and this is a decent size, with a 330 × 320 × 325 mm build volume enabling you to tackle all sorts of projects, especially with the huge material support this new printer offers.</p><h2 class="article-body__section" id="section-bambu-lab-h3c-features"><span>Bambu Lab H3C: 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:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="G33mTyaPxChdNbxmryWifA" name="Bambu Lab H3C" alt="Bambu Lab H3C" src="https://cdn.mos.cms.futurecdn.net/G33mTyaPxChdNbxmryWifA-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><p>It’s difficult to do a quick run-through of the features because, over the H2C, things have really progressed, and the new Swaptek nine-tool changing system is a real evolution of design. You can’t help feeling it’s heavily influenced by the INDX system that we’ve seen from Bondtech and featured on the latest Prusa CORE One machines.</p><p>However, over that system, there are plenty of changes, and it’s obviously got the Bambu Lab spin, with automatic tool changes that happen in under six seconds. There’s also active preheating that essentially anticipates the upcoming tool changes and heats the next nozzle in advance, making complex models slightly faster to print than on some of those other systems.</p><p>One of the features that I noticed early on, and one of the issues with other systems of this style, is that quite often the tool rack gets in the way of being able to see the print area. However, once that new tool is selected, the tool rack actually retracts upwards so that you get a good clear view of the print area, and it also helps to keep the filament tubes out of the way.</p><p>Feeding all of those nine new toolheads is the redesign of the AMS system, known as the AMS 3H, that manages the filaments in an integrated box that sits on top of the machine. Like the AMS 2, it's a sealed storage option and helps protect the filaments inside from moisture. </p><p>Again, as we’ve seen in the past, it has automatic filament loading and routing that works exceptionally well, and with RFID built in, as long as you’re using Bambu Lab’s own materials, they’ll be automatically recognised and synced with the software, making the whole process that much easier. </p><p>One of the surprises is that only two of those nine slots are actively dried, so if you do have filaments that are more prone to moisture than others, then they should sit in those two. There’s a cover that sits over the top, so it’s pretty easy to see which two those are.</p><p>As ever, there are also expansion options, so if you have other AMS systems and you want to plug them in, the H3C supports additional AMS units for up to 24-colour printing.</p><p>One of the new additions is the FlexFeed extruder that supports both 1.75 mm and 2.85 mm filament, and there’s also a dedicated 2.85 mm filament path for flexible materials such as TPU. While TPU for AMS can just be used directly on the machine, as I discovered when I printed speakers with files from Print Your Speakers, when it came to printing other softer TPU, you have to use one of the bypass feed ports and quickly change part of the installation and feed to the toolheads. </p><p>The first time you do it, it takes a little bit of time and working out, but essentially, the soft TPU needs to go into one of the slots that enables active drying. TPU is hygroscopic and collects water like a sponge, so ensuring that it’s nice and dry before it goes through the system is just going to improve and help with the quality of the print. </p><p>You then feed that through into the 2.85 mm supporting toolhead, but rather than running through the filament feed tube, you bypass the tube, cutting just a small length that goes into the toolhead and then directly into the extruder. This just helps with the smooth movement of the TPU filament through the system. This means that it can actually cope with TPU all the way down to 75A, perfect for some of the projects that Bambu Lab supplied.</p><p>Using TPU in the system is not uncommon, but you still have to reconfigure the system slightly. Bambu Lab has made that slightly easier, and of course, you also have the ability to print with multiple materials and multiple colours. </p><p>But what impressed me the most is that with the Bambu Lab PLA palette, which is a new range of filaments, you can print with CMYKW to enable colour mixing using cyan, magenta, yellow, black and white filaments. The end results, as you’re seeing in some of the sample pictures, are quite amazing, enabling far more colourful and complex prints than has previously been possible.</p><p>But it’s not just about multiple colour-mixing filaments. You can also use a huge amount of engineering materials because of the hardened nozzles and the actively heated chamber, so utilising ABS, ASA, PA, PC and carbon-filled composites is all perfectly possible.</p><p>Further supporting the flexibility over the way you print is that there are multiple nozzle sizes, including 0.2, 0.4, 0.6 and 0.8 mm. But what makes a difference here is that you can optimise it to work using those different nozzles in one print. That means you can speed up the printing of the interior support structure with, say, a 0.6 or 0.8 mm nozzle and get that fine-quality finish on the exterior with a 0.2 or 0.4 mm nozzle. This is something very new.</p><p>There’s also been a range of feature enhancements for speed, with a maximum toolhead speed of 1,400 mm/s and acceleration of 25,000 mm/s². To keep up with that high-speed printing, the hotend flow rate of 40 mm³/s is also impressive, although these run to Bambu Lab’s own test conditions rather than what you’re actually going to see in the real world.</p><p>Something which I haven’t really been able to look at in any depth is the CraftTool support, and we’re starting to see Bambu Lab not only promote their machines for 3D printing but for other craft uses. This is what really made the H2D such an interesting machine. Potentially, in the near future, the CraftTools will enable automatic switching between compatible printing and crafting tools, so there will be blade cutting, drawing and debossing, but I’ll bring you more on that when I’ve been able to look at it properly.</p><p>As I mentioned in the Design section, Bambu Lab and, actually, quite a few of the other manufacturers are starting to take filtration seriously, and here we’ve got the H11 HEPA filter, granulated coconut-shell activated-carbon filter and an integrated chamber exhaust and circulation system. Bambu Lab actually even provided an air filter with the machine, which has been very handy, especially in quite a crowded workshop.</p><p>When it comes to features, the H3C is one of the most feature-packed printers to have come onto the market yet, but with all of those features comes an added level of complexity that could cause issues in the long run, and the only way to discover those is to ensure that, over the month of having this machine, it has been running almost constantly.</p><h2 class="article-body__section" id="section-bambu-lab-h3c-performance"><span>Bambu Lab H3C: 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:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Fw3KiZzWMtZcTfZN9Zf3vA" name="Bambu Lab H3C" alt="Bambu Lab H3C" src="https://cdn.mos.cms.futurecdn.net/Fw3KiZzWMtZcTfZN9Zf3vA-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><p>As these 3D printers get more complex and the models that they’re able to produce become increasingly more elaborate, mixing not only colours but materials, the time it takes to fully test one of these machines is rapidly increasing.</p><p>Thankfully, Bambu Lab recognises that whilst machines are speeding up, when it comes to fully testing some of those mixed-filament options, it doesn’t just take hours; it takes days for each print to be produced. In order for you to run through all of the test prints provided, including rerouting different filaments, that all takes a considerable amount of time. </p><p>But thankfully, I’ve had this printer for almost six weeks, and through that time, there have only been brief periods where it has remained dormant. Otherwise, filament after filament has gone through, producing everything from pinhole cameras out of carbon-filled filament through to some quite incredible desktop speakers, thanks to the guys at printyourspeakers.com, and of course, the extremely elaborate models that the guys at Bambu Lab provided to test out this printer.</p><p>Before I go into that, I’ll just quickly run through the setup process of the machine, as whilst this machine looks extremely complex, the actual setup process is typically Bambu. Essentially, with the machine arriving in two boxes, the machine and a separate box for the AMS, it only took about half an hour before the machine was sitting proudly on the workbench, looking ready to produce its first print.</p><p>The instructions are pretty clearly laid out, and as you’d expect, the large 5-inch touchscreen gives you all the information you need. Once everything is plugged in and connected, you then simply load the filament, and it’s pretty much set to go. However, as always, that complexity comes with a large extra step. </p><p>First, you download and install the firmware, which all ran through nice and quickly, but then it was on to the full setup calibration. Whilst it doesn’t actually take any involvement from yourself other than clicking a couple of buttons, it does take about an hour, and when you have a machine of this size and potential in front of you, that wait is slightly agonising but unfortunately essential.</p><p>Once the machine had run through its copious amount of checks and all the nozzles had been calibrated, it was time to run through the first set of prints, and here I had three different options. Firstly, those pre-installed on the machine in the 64 GB internal storage; the second was my usual test prints; and the third was the additional files that Bambu Lab had provided to fully test out the system.</p><p>I opted for the quick run of those prints in storage just to check whether the calibration had worked and everything was printing correctly, and sure enough, print after print came off the print bed without issue, mixing the colours beautifully into pretty good-quality standard prints. All of these that I started with initially were PLA and mainly ends of reels from previous reviews.</p><p>Then it was on to my own test prints, and again, the accuracy and precision of the printer really stood out, and I was also impressed with the relative speed. One of the big points here is that the tool-changing system, as I saw with the INDX, vastly increases print speeds when compared with the H2C, which is a machine that I actively always have set up and running. </p><p>The speeds with this new system are again slightly faster. A quick test of those print speeds on the H3C, printing the two-tone tree frog in large, took two hours and three minutes, with about eight minutes taken for the preparation time and the rest on the actual model printing. This compared with almost three hours on the H2C, and whilst it was far faster on the preparation and checks at just under six minutes, the print time was closer to two hours and 50 minutes. Finally, comparing it with the H2D, surprisingly, it put in a similar time to the H2C.</p><p>As I ran through the test, the speed of the machine was the first thing that really stood out, and with a relatively large print bed as well, I was able to print large projects with absolute ease. Support structures went in nice and easily, and I always use PLA support, although as I started to venture into Bambu Lab’s own models, I realised the standard PLA support was just not delicate enough for what was needed, and PVA support, which could be washed away, would have been a better option.</p><p>Through my own models, there were quite a few different projects that I wanted to really give a go. The first was a pinhole camera that I had designed for some lectures and was small. It's a good way to test out dimensional accuracy, as I had to drop in a brass-sheet pinhole lens that I had designed and make it tripod-mountable, with brass inserts used for the screw thread.</p><p>As the box also had to be lightproof, dimensional accuracy due to the fitting and removing of a lightproof back was also essential, and using a carbon-filled filament with solid infill just ensured that the whole box would stay lightproof. I also had to feature a sliding shutter mechanism that would cover the brass aperture, so again, quality of surface printing as well as dimensional accuracy was absolutely essential.</p><p>After running several iterations of the design, I came up with the final product and tested it in the studio with success, producing small prints onto photographic paper through a 0.3 mm aperture. The quality of the print and success of the project just highlighted the first bit of flexibility with this machine and its design.</p><p>The next was to call on somebody with a lot more experience with high-quality and precision engineering 3D design, and the guys at Print Your Speakers provided me with the Supersonic MK3 desktop speaker kit to give this new printer a go. There were several angles that I wanted to fully test that no other printer would be able to do.</p><p>The first was obviously to print speakers using PLA for the outer, but then rather than having PLA infill, I wanted it to be TPU in order to help absorb some of the sound. I also wanted to be able to swap between nozzle sizes, all of which took a little bit of experimentation, and at present this is an area of the systems use that I will have to come back to, as at the moment I haven't had any success. I then tested a straight PLA box against the PLA and TPU mixed box, and the difference in audio quality was apparent, with a far deeper sound from the more advanced material-mix option.</p><p>Having now tried a variety of different materials and options through the machine, I was pretty confident about setting off with some of Bambu Lab’s own models to fully test out its abilities. The first was the FROSTSPINE Dragon Bust 1015, which used a variety of materials and took a while to organise the different materials that were needed into the AMS and configure the system. </p><p>Printing this started to point out the big difference between the old Bambu Lab multi-filament AMS systems and this new iteration. It's far more complex, and along with the printing guides that helped guide you through the setup, there’s definitely a greater skill required to get the most out of this machine. </p><p>It took two or three initial attempts before that model rattled off the print bed, taking several days to complete. I then moved on to the hummingbird frame, which was a simple multi-filament PLA mix, and here I really started to see the full potential, being able to mix the colours to create colours that weren’t directly available from a single filament but only once they were blended together, and the results were spectacular. </p><p>The only thing was that I accidentally used PLA support rather than PVA support, so once the final model printed, which took several days, it was going to be a long process to break away all of that support. The intricacy and delicacy of many of the models that you’re now able to print on this machine far exceed what you’ve been able to do before.</p><p>Through this whole process, the one thing that became apparent was that this is a far more hands-on machine, and there is an obvious learning curve, especially working with all the different toolheads, nozzle sizes, bypass filament feeds and potentially additional CraftTools. This is a very feature-enhanced workshop machine at a price that will appeal to both enthusiasts and professionals.</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:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="e9HT7b5TX22c2xZAobjFuC" name="Bambu Lab H3C" alt="Bambu Lab H3C" src="https://cdn.mos.cms.futurecdn.net/e9HT7b5TX22c2xZAobjFuC-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><h2 class="article-body__section" id="section-bambu-lab-h3c-final-verdict"><span>Bambu Lab H3C: Final verdict</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:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="BYW7QGVXBZD54JNQnHGu4B" name="Bambu Lab H3C" alt="Bambu Lab H3C" src="https://cdn.mos.cms.futurecdn.net/BYW7QGVXBZD54JNQnHGu4B-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><p>In those six weeks of testing, I feel like I’ve only just started to scrape the surface of what’s possible, but there are several key points that I’ve learnt through this test. The first is that if you just want to get straight into printing, then there are cheaper machines out there which will enable you to do that. So if you only print with up to four filaments, which most people do, then the complexity of this machine might be just a little bit above what you need.</p><p>But then, as you start to embrace all its options and capabilities, and if you’re willing to sit down and learn about how to mix materials, how to use those different nozzle sizes together and obviously all those different filament types, then you have a 3D printer that is really quite different from anything that’s come before and sets the tone for what’s coming up in the future.</p><p>Whilst there are more than passing similarities with the INDX system, what Bambu Lab has done here is to evolve what it had done with its previous multi-filament systems and, with this new option, create something that is far more advanced.</p><p>With that increasing complexity come its own issues, and through the process of this review, I did have occasions where I had to rerun the full calibration as one of the nozzles wasn’t quite sitting right. Then there’s the whole bypass reconfiguration of the filament feed, which does get quite complex, but once you’ve done it once, you basically allocate one toolhead to TPU, still leaving you with eight for all other filaments.</p><p>The options and possibilities for this machine are huge, and through this review, I’ve just been incredibly impressed with the overall quality. Each firmware update has fixed some of the issues that I was having early on, such as the RFID not recognising filament reels and, for some reason, the auto-feed system suddenly not auto-feeding. But after the update, those issues were fixed.</p><p>I also had, as you might be able to see on the speaker set, a slight issue with surface finish, but then that’s because I was experimenting with some of those more advanced features, and this was the first time that I had configured the whole process myself in the software. Later, small models printed with much better quality, but again, this is all part of that learning process. As it stands, this printer is a definite evolution of what’s possible and an exciting glimpse into the future of 3D printing.</p><h2 class="article-body__section" id="section-should-i-buy-the-bambu-lab-h3c-3d-printer"><span>Should I buy the Bambu Lab H3C 3D printer?</span></h2><h2 id="buy-it-if-6">Buy it if...</h2><div class="product"><p><strong>You want to print with multiple materials and nozzle sizes.</strong></p><p>The H3C enables you to combine different materials and nozzle diameters in a single print, something that would be difficult or impossible to produce on more standard 3D printers.</p><p><strong>You want faster, more efficient multicolour printing.</strong></p><p>With nine PrintTools and material changes taking under six seconds, the H3C reduces the time swapping filaments.</p></div><h2 id="don-39-t-buy-it-if-4">Don't buy it if...</h2><div class="product"><p><strong>You just want a straightforward 3D printer.</strong></p><p>The H3C has a steep learning curve, especially when mixing materials and nozzle sizes. For standard PLA printing, there are simpler, cheaper options.</p><p><strong>You have limited space or a tight budget.</strong></p><p>At £2,199 and over 36 kg, the H3C is a substantial investment unless you'll regularly use its advanced features.</p></div><p><em>For more models, I've tested the </em><a href="https://www.techradar.com/best/best-3d-printers" target="_blank"><em>best 3D printers</em></a><em> you can get right now. </em></p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/pro/bambu-lab-h3c-3d-printer-review</link>
                                                                            <description>
                            <![CDATA[ The Bambu Lab H3C is a nine-filament 3D printer with multi-diameter and multi-material printing, giving greater speed and flexibility than I’ve seen before. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">hHQCvLeAniKNRqYHiJna27</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/NDQ74FxTgjdgghunKQ3r4B-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 03 Nov 2026 14:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Pro]]></category>
                                                                                                                    <dc:creator><![CDATA[ Alastair Jennings ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ &lt;p&gt;Alastair is a photographer, filmmaker and tech writer who has been working in the publishing industry since the late 1990s. For more than 25 years he has covered photography, video and technology across Future&#039;s photography, technology and gaming brands, and worked on many of the company&#039;s launch titles. Based in the south of England, Alastair now runs a photography and video production company and lectures in TV and film. When not on set or in the classroom, Alastair can usually be found prototyping and prop building with the aid of 3D printing as well as advising companies on social video strategy and creative workflows which gives him the tech insight behind the reviews.&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/NDQ74FxTgjdgghunKQ3r4B-1920-80.jpg">
                                                            <media:credit><![CDATA[Alastair Jennings]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Bambu Lab H3C]]></media:description>                                                            <media:text><![CDATA[Bambu Lab H3C]]></media:text>
                                <media:title type="plain"><![CDATA[Bambu Lab H3C]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/NDQ74FxTgjdgghunKQ3r4B-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>It was inevitable that there would be a successor to the <a href="https://www.techradar.com/pro/bambulab-h2c-3d-printer-review" target="_blank">Bambu Lab H2C</a>, which was no small machine; however, the Bambu Lab H3C takes scale and ability to the next level, although the innovative Vortek Hotend Change System is no more.</p><p> Like the H2C, there’s the multi-tool functionality, but as you’ll see from the images, the system is all new, with dedicated tools in the Swaptek Tool Changer rather than the Vortek hotend-changing system, so something closer to the Bondtech INDX tool changers.</p><p>An interesting update is the ability to print with different-sized nozzles, so a fine 0.2 mm for fine detail, going to a 0.8 mm for infill and areas where speed is preferable to fine finishes. What I have discovered through the month that I’ve had the printer so far is that this is an evolution of the 3D printing process, refining the techniques and while this technology and its application are still being ironed out, the full potential is apparent.</p><p>Adding to the multi-diameter printing is the advanced TPU handling. This essentially enables you to print with thicker 2.85 mm filament using the PrintTool hotend. As the filament is thicker, it supports softer TPU, and again, there’s a learning process behind its use. It’s not quite as simple as popping it in and letting it go, but it is a step in the right direction.</p><p>Sitting on top of the machine is the new AMS 3H filament management system that holds up to nine filaments, with two slots enabling integrated drying and bypass feeds for specialist materials.</p><p>I’ll admit, as the boxes kept arriving and the H3C started to take shape on the workbench, the machine did seem to dominate the space. However, after squeezing in the H2C next to it, while the new AMS gives a visual impression of scale, the footprint of the two machines is much the same.</p><p>The big question for me at the start of this test was whether this new machine and design was a direct replacement for the H2C or something altogether new. It certainly initially looks far more complex, but then, as I became more familiar with the machine, the full tool changer design, once assembled, did seem,  a little more simplistic and certainly more reliable as I pushed the print times and complexities.</p><p>One point to note is that throughout the test, while I had the machine and seemingly every accessory that I could need to go with it, the actual official machine specifications and final tweaking of the software were still to be released. </p><p>What Bambu did supply was a few test models and an extensive set of instructions about how to tackle each of the main new features. There was also a set of complex models that I used to start the test before deviating to some of my own, and then back to the supplied models to finish the test.</p><p>I’ll cover more of those tests in the performance section, but what interested me was using this printer for a real practical task. This is, after all, a business-class machine, although the price will put this just in range of the keen enthusiast as well.</p><p>The main project for this test was to print and build a set of speakers from <a href="https://printyourspeakers.com/" target="_blank">Print Your Speakers</a>, with the Supersonic MK3 kit fitting the bill for this test. Essentially, a solid PLA outer with TPU to add damping to the infill, and then a switch of nozzle sizes for the fine detail of the outer wall and a thicker nozzle for the inner walls.</p><p>This is where the learning curve of this machine and the Bambu Lab software really comes into play, and while that learning curve is steep.</p><p>As the test ran on, the potential of this machine started to grow. While multi-filament and tool changer machines now dominate and Bambu Lab’s lead in the field was quickly fading, especially with the <a href="https://www.techradar.com/pro/prusa-core-one-indx-8-tool-3d-printer-review" target="_blank">Original Prusa CORE One INDX,</a> of which the H3C’s new system bears more than a passing resemblance. But with support for 2.85 mm TPU and multiple other materials, it now pushes them back out in front and truly offers something unique, although there are still a few refinements needed.</p><h2 class="article-body__section" id="section-bambu-lab-h3c-price-and-availability"><span>Bambu Lab H3C: Price and availability</span></h2><p>The H3C will be available to purchase from the <a href="https://bambulab.com/h3c" target="_blank">Bambu Lab website</a> from 3 November 2026, following the official launch. Unlike the H2C, there is just one configuration available at launch, with the AMS 3H and all nine PrintTools included.</p><ul><li><strong>H3C AMS Combo:</strong> $2,499 / £2,199</li><li><strong>Combo + PLA Palette + TPU:</strong> $2,589 /£2,269</li><li><strong>Combo + PLA Palette + TPU + Bambu Station (Enclosed) + E1 Air Purifier:</strong></li><li>$3,049 / £2,699</li><li><strong>Combo + PLA Palette + TPU + Bambu Station (Open):</strong> $2,799 / £2,469</li></ul><h2 class="article-body__section" id="section-bambu-lab-h3c-design"><span>Bambu Lab H3C: Design</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:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="rJATUFtNsjxrvafDRXU25B" name="Bambu Lab H3C" alt="Bambu Lab H3C" src="https://cdn.mos.cms.futurecdn.net/rJATUFtNsjxrvafDRXU25B-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><div  class="fancy-box"><div class="fancy_box-title">BambuLab H2C specifications</div><div class="fancy_box_body"><p class="fancy-box__body-text"><strong>Print Technology: </strong>Fused Filament Fabrication (FFF)<br /><strong>Build Area: </strong>330 × 320 × 325 mm<br /><strong>Minimum Layer Resolution: </strong>To be confirmed<br /><strong>Maximum Layer Resolution:</strong> To be confirmed<br /><strong>Dimensions:</strong> 493 × 571 × 587 mm<br /><strong>Weight: </strong>36.28 kg (including AMS 3H)<br /><strong>Bed:</strong> Heated, up to 120°C<br /><strong>Print Surface: </strong>Textured PEI plate<br /><strong>Software: </strong>Bambu Studio<br /><strong>Materials: </strong>PLA, PETG, TPU, ABS, ASA, PA, PC, PPA, PPS and other supported materials<br /><strong>Print Speed: </strong>Maximum toolhead speed of 1,400 mm/s</p></div></div><p>The Bambu Lab H3C is a 3D printer on another scale, and whilst it doesn’t look that much larger than the H2C initially, once you start to work with it and try to move it around the workshop, you suddenly realise that its colossal 36.28 kg weight and physical dimensions of 493 × 571 × 587 mm make it more of a two-person lift than something you’re able to handle on your own.</p><p>That would explain why Bambu Lab also sent a special trolley along with the machine, so it’s easy to access and move around the workshop. The issue at the moment is that there are so many 3D printers coming out that my workshop doesn’t have any space, so this will be something that I will manoeuvre the printer onto once I can find a pathway through the workshop to get the two sections to meet.</p><p>As it was, I decided to set this machine up in the photo area, and I’ve already manoeuvred the H2C next to it so that I can do a side-by-side comparison on size and scale, however, again this left little room as the the scale of these machine is rapidly increasing.</p><p>As I first lifted the H3C into position, the two machines looked roughly the same size, but as I started to add the huge new AMS 3H on top, I realised that this was an altogether different proposition.</p><p>As I unpacked the machine, it was obvious that Bambu Lab had taken a completely different direction to multi tool head printing compared with the H2C, and the H3C has something more akin to the INDX tool changer. You can definitely see the similarities. As I went through the initial setup, what was surprising here was just how easy and straightforward it was, and whilst the machine was large, the actual placing of the AMS on top and positioning all of the nozzles wasn’t at all difficult. </p><p>The only thing that you do need to make sure of is that there are nine tools included: eight with 0.4 mm PrintTools for 1.75 mm filament and one dedicated 0.4 mm PrintTool for 2.85 mm filament. Careful reference to the instructions as you’re setting up is essential to make sure that this nozzle goes in the right place.</p><p>Before taking a closer look at this new system, it’s worth pointing out that the AMS 3H is quite an evolution on the AMS 2, sitting on top of the machine and really integrating more closely with the design compared with the add-on box of the AMS 2. This, I know, will please a lot of print farms, which, whilst generally fans of the Bambu Lab machines, find the AMS 2 is often a weak point and the part that they have to replace most often. One point here is that, of those nine slots, there’s a separate section within the rack which enables just two of those nine slots to be actively dried.</p><p>As we’ve seen before, you can also add more AMS units, enabling up to 24-colour printing, up from the nine possible out of the box.</p><p>Once I got everything set up and installed, which, to be honest, didn’t take too long, it was then time to connect the machine to the local network via Wi-Fi 6. As ever, this was as straightforward and simple as with all other Bambu Lab machines. One of the surprises is that a machine of this size and scale, especially aimed at the professional market, doesn’t feature an Ethernet port. </p><p>The other point here is that as soon as it connected, it ran through a series of updates before then going through the calibration process. So, while the machine itself is really well designed and easy to set up, the software updating and full calibration process can take up to an hour, which is slightly infuriating when I was quite excited to see what this machine was capable of doing.</p><p>After the Wi-Fi connection, calibration and everything else had been run through, it was time to connect through the Bambu Studio software, and again, a few clicks through the beta release that we were given, enabled me to connect quickly to the printer. </p><p>However, as always, before running through my own prints and some of those others that had been supplied to fully test out this new machine’s abilities, I ran through the standard test prints on the machine. These are the usual 3D Benchy and variants, alongside scrapers and a few other bits and bobs, as expected. It ran through all of those prints flawlessly, and then it was time to cross over to Bambu Studio.</p><p>Bambu Lab actually supplied some very interesting test models, which I go into in the performance section, but before I went into these multi-filament, multicolour designs, I decided to test out some of my more standard prints. This just enabled me to double-check the calibration and also try out a few different materials.</p><p>There are two built-in 1080p cameras, with an optional Bird’s Eye camera available as well. The chamber heats up to 65°C, with a 120°C heated bed and a 350°C maximum nozzle temperature.</p><p>Leaving the machine just to run through those few prints, I was able to step back and take a proper look at the machine, and it is an evolution of what we’ve seen with the other H series printers, just slightly larger. Again, this is a steel chassis, which gives it structural support and also makes it insanely heavy to lift around the workshop. </p><p>The outer is plastic, with a grey and black exterior that looks stylish, just in the same vein as we’ve seen with the other Bambu Lab hardware. On the front, you’ve got a big viewing window so that you can see what’s going on with the print, and whilst the top-mounted AMS 3H does stop you from looking down into the machine, it's integrated rather than being a separate unit, which I personally really like.</p><p>As we’ve seen before, there’s a really nice 5-inch colour touchscreen, with an 854 × 480 display resolution, and this is very responsive, giving me full access to all the functions and settings. However, it is getting more complex, especially with those nine toolheads. It does take a little bit of extra time just to orientate yourself with all of those different settings.</p><p>Across the front is the main feature of this new 3D printer, obviously the new nine-toolhead rack, and what’s interesting here is that the rack raises and lowers, so if you do want to see what’s going on on the print bed, it’s far easier than with some of the other multiple systems of this style out there. At all times, however, you can see where the influence of the Prusa CORE One INDX version has influenced Bambu Lab’s slight change of direction, although they’ve taken that style of design in a slightly different direction.</p><p>The rack features nine individual PrintTool docking positions, and these all automatically dock with tool alignment and offset compensation. What’s interesting here is that there are dedicated filament paths for each PrintTool, meaning that each works completely independently, and there are integrated filament cutters within the PrintTools, again just to help speed things up. When it comes to the extruder and internal mechanisms, they all use hardened steel, with hardened-steel extruder gears and nozzles rated at HRC 55+.</p><p>As ever, we see a flexible steel build plate, and this is a decent size, with a 330 × 320 × 325 mm build volume enabling you to tackle all sorts of projects, especially with the huge material support this new printer offers.</p><h2 class="article-body__section" id="section-bambu-lab-h3c-features"><span>Bambu Lab H3C: 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:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="G33mTyaPxChdNbxmryWifA" name="Bambu Lab H3C" alt="Bambu Lab H3C" src="https://cdn.mos.cms.futurecdn.net/G33mTyaPxChdNbxmryWifA-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><p>It’s difficult to do a quick run-through of the features because, over the H2C, things have really progressed, and the new Swaptek nine-tool changing system is a real evolution of design. You can’t help feeling it’s heavily influenced by the INDX system that we’ve seen from Bondtech and featured on the latest Prusa CORE One machines.</p><p>However, over that system, there are plenty of changes, and it’s obviously got the Bambu Lab spin, with automatic tool changes that happen in under six seconds. There’s also active preheating that essentially anticipates the upcoming tool changes and heats the next nozzle in advance, making complex models slightly faster to print than on some of those other systems.</p><p>One of the features that I noticed early on, and one of the issues with other systems of this style, is that quite often the tool rack gets in the way of being able to see the print area. However, once that new tool is selected, the tool rack actually retracts upwards so that you get a good clear view of the print area, and it also helps to keep the filament tubes out of the way.</p><p>Feeding all of those nine new toolheads is the redesign of the AMS system, known as the AMS 3H, that manages the filaments in an integrated box that sits on top of the machine. Like the AMS 2, it's a sealed storage option and helps protect the filaments inside from moisture. </p><p>Again, as we’ve seen in the past, it has automatic filament loading and routing that works exceptionally well, and with RFID built in, as long as you’re using Bambu Lab’s own materials, they’ll be automatically recognised and synced with the software, making the whole process that much easier. </p><p>One of the surprises is that only two of those nine slots are actively dried, so if you do have filaments that are more prone to moisture than others, then they should sit in those two. There’s a cover that sits over the top, so it’s pretty easy to see which two those are.</p><p>As ever, there are also expansion options, so if you have other AMS systems and you want to plug them in, the H3C supports additional AMS units for up to 24-colour printing.</p><p>One of the new additions is the FlexFeed extruder that supports both 1.75 mm and 2.85 mm filament, and there’s also a dedicated 2.85 mm filament path for flexible materials such as TPU. While TPU for AMS can just be used directly on the machine, as I discovered when I printed speakers with files from Print Your Speakers, when it came to printing other softer TPU, you have to use one of the bypass feed ports and quickly change part of the installation and feed to the toolheads. </p><p>The first time you do it, it takes a little bit of time and working out, but essentially, the soft TPU needs to go into one of the slots that enables active drying. TPU is hygroscopic and collects water like a sponge, so ensuring that it’s nice and dry before it goes through the system is just going to improve and help with the quality of the print. </p><p>You then feed that through into the 2.85 mm supporting toolhead, but rather than running through the filament feed tube, you bypass the tube, cutting just a small length that goes into the toolhead and then directly into the extruder. This just helps with the smooth movement of the TPU filament through the system. This means that it can actually cope with TPU all the way down to 75A, perfect for some of the projects that Bambu Lab supplied.</p><p>Using TPU in the system is not uncommon, but you still have to reconfigure the system slightly. Bambu Lab has made that slightly easier, and of course, you also have the ability to print with multiple materials and multiple colours. </p><p>But what impressed me the most is that with the Bambu Lab PLA palette, which is a new range of filaments, you can print with CMYKW to enable colour mixing using cyan, magenta, yellow, black and white filaments. The end results, as you’re seeing in some of the sample pictures, are quite amazing, enabling far more colourful and complex prints than has previously been possible.</p><p>But it’s not just about multiple colour-mixing filaments. You can also use a huge amount of engineering materials because of the hardened nozzles and the actively heated chamber, so utilising ABS, ASA, PA, PC and carbon-filled composites is all perfectly possible.</p><p>Further supporting the flexibility over the way you print is that there are multiple nozzle sizes, including 0.2, 0.4, 0.6 and 0.8 mm. But what makes a difference here is that you can optimise it to work using those different nozzles in one print. That means you can speed up the printing of the interior support structure with, say, a 0.6 or 0.8 mm nozzle and get that fine-quality finish on the exterior with a 0.2 or 0.4 mm nozzle. This is something very new.</p><p>There’s also been a range of feature enhancements for speed, with a maximum toolhead speed of 1,400 mm/s and acceleration of 25,000 mm/s². To keep up with that high-speed printing, the hotend flow rate of 40 mm³/s is also impressive, although these run to Bambu Lab’s own test conditions rather than what you’re actually going to see in the real world.</p><p>Something which I haven’t really been able to look at in any depth is the CraftTool support, and we’re starting to see Bambu Lab not only promote their machines for 3D printing but for other craft uses. This is what really made the H2D such an interesting machine. Potentially, in the near future, the CraftTools will enable automatic switching between compatible printing and crafting tools, so there will be blade cutting, drawing and debossing, but I’ll bring you more on that when I’ve been able to look at it properly.</p><p>As I mentioned in the Design section, Bambu Lab and, actually, quite a few of the other manufacturers are starting to take filtration seriously, and here we’ve got the H11 HEPA filter, granulated coconut-shell activated-carbon filter and an integrated chamber exhaust and circulation system. Bambu Lab actually even provided an air filter with the machine, which has been very handy, especially in quite a crowded workshop.</p><p>When it comes to features, the H3C is one of the most feature-packed printers to have come onto the market yet, but with all of those features comes an added level of complexity that could cause issues in the long run, and the only way to discover those is to ensure that, over the month of having this machine, it has been running almost constantly.</p><h2 class="article-body__section" id="section-bambu-lab-h3c-performance"><span>Bambu Lab H3C: 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:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Fw3KiZzWMtZcTfZN9Zf3vA" name="Bambu Lab H3C" alt="Bambu Lab H3C" src="https://cdn.mos.cms.futurecdn.net/Fw3KiZzWMtZcTfZN9Zf3vA-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><p>As these 3D printers get more complex and the models that they’re able to produce become increasingly more elaborate, mixing not only colours but materials, the time it takes to fully test one of these machines is rapidly increasing.</p><p>Thankfully, Bambu Lab recognises that whilst machines are speeding up, when it comes to fully testing some of those mixed-filament options, it doesn’t just take hours; it takes days for each print to be produced. In order for you to run through all of the test prints provided, including rerouting different filaments, that all takes a considerable amount of time. </p><p>But thankfully, I’ve had this printer for almost six weeks, and through that time, there have only been brief periods where it has remained dormant. Otherwise, filament after filament has gone through, producing everything from pinhole cameras out of carbon-filled filament through to some quite incredible desktop speakers, thanks to the guys at printyourspeakers.com, and of course, the extremely elaborate models that the guys at Bambu Lab provided to test out this printer.</p><p>Before I go into that, I’ll just quickly run through the setup process of the machine, as whilst this machine looks extremely complex, the actual setup process is typically Bambu. Essentially, with the machine arriving in two boxes, the machine and a separate box for the AMS, it only took about half an hour before the machine was sitting proudly on the workbench, looking ready to produce its first print.</p><p>The instructions are pretty clearly laid out, and as you’d expect, the large 5-inch touchscreen gives you all the information you need. Once everything is plugged in and connected, you then simply load the filament, and it’s pretty much set to go. However, as always, that complexity comes with a large extra step. </p><p>First, you download and install the firmware, which all ran through nice and quickly, but then it was on to the full setup calibration. Whilst it doesn’t actually take any involvement from yourself other than clicking a couple of buttons, it does take about an hour, and when you have a machine of this size and potential in front of you, that wait is slightly agonising but unfortunately essential.</p><p>Once the machine had run through its copious amount of checks and all the nozzles had been calibrated, it was time to run through the first set of prints, and here I had three different options. Firstly, those pre-installed on the machine in the 64 GB internal storage; the second was my usual test prints; and the third was the additional files that Bambu Lab had provided to fully test out the system.</p><p>I opted for the quick run of those prints in storage just to check whether the calibration had worked and everything was printing correctly, and sure enough, print after print came off the print bed without issue, mixing the colours beautifully into pretty good-quality standard prints. All of these that I started with initially were PLA and mainly ends of reels from previous reviews.</p><p>Then it was on to my own test prints, and again, the accuracy and precision of the printer really stood out, and I was also impressed with the relative speed. One of the big points here is that the tool-changing system, as I saw with the INDX, vastly increases print speeds when compared with the H2C, which is a machine that I actively always have set up and running. </p><p>The speeds with this new system are again slightly faster. A quick test of those print speeds on the H3C, printing the two-tone tree frog in large, took two hours and three minutes, with about eight minutes taken for the preparation time and the rest on the actual model printing. This compared with almost three hours on the H2C, and whilst it was far faster on the preparation and checks at just under six minutes, the print time was closer to two hours and 50 minutes. Finally, comparing it with the H2D, surprisingly, it put in a similar time to the H2C.</p><p>As I ran through the test, the speed of the machine was the first thing that really stood out, and with a relatively large print bed as well, I was able to print large projects with absolute ease. Support structures went in nice and easily, and I always use PLA support, although as I started to venture into Bambu Lab’s own models, I realised the standard PLA support was just not delicate enough for what was needed, and PVA support, which could be washed away, would have been a better option.</p><p>Through my own models, there were quite a few different projects that I wanted to really give a go. The first was a pinhole camera that I had designed for some lectures and was small. It's a good way to test out dimensional accuracy, as I had to drop in a brass-sheet pinhole lens that I had designed and make it tripod-mountable, with brass inserts used for the screw thread.</p><p>As the box also had to be lightproof, dimensional accuracy due to the fitting and removing of a lightproof back was also essential, and using a carbon-filled filament with solid infill just ensured that the whole box would stay lightproof. I also had to feature a sliding shutter mechanism that would cover the brass aperture, so again, quality of surface printing as well as dimensional accuracy was absolutely essential.</p><p>After running several iterations of the design, I came up with the final product and tested it in the studio with success, producing small prints onto photographic paper through a 0.3 mm aperture. The quality of the print and success of the project just highlighted the first bit of flexibility with this machine and its design.</p><p>The next was to call on somebody with a lot more experience with high-quality and precision engineering 3D design, and the guys at Print Your Speakers provided me with the Supersonic MK3 desktop speaker kit to give this new printer a go. There were several angles that I wanted to fully test that no other printer would be able to do.</p><p>The first was obviously to print speakers using PLA for the outer, but then rather than having PLA infill, I wanted it to be TPU in order to help absorb some of the sound. I also wanted to be able to swap between nozzle sizes, all of which took a little bit of experimentation, and at present this is an area of the systems use that I will have to come back to, as at the moment I haven't had any success. I then tested a straight PLA box against the PLA and TPU mixed box, and the difference in audio quality was apparent, with a far deeper sound from the more advanced material-mix option.</p><p>Having now tried a variety of different materials and options through the machine, I was pretty confident about setting off with some of Bambu Lab’s own models to fully test out its abilities. The first was the FROSTSPINE Dragon Bust 1015, which used a variety of materials and took a while to organise the different materials that were needed into the AMS and configure the system. </p><p>Printing this started to point out the big difference between the old Bambu Lab multi-filament AMS systems and this new iteration. It's far more complex, and along with the printing guides that helped guide you through the setup, there’s definitely a greater skill required to get the most out of this machine. </p><p>It took two or three initial attempts before that model rattled off the print bed, taking several days to complete. I then moved on to the hummingbird frame, which was a simple multi-filament PLA mix, and here I really started to see the full potential, being able to mix the colours to create colours that weren’t directly available from a single filament but only once they were blended together, and the results were spectacular. </p><p>The only thing was that I accidentally used PLA support rather than PVA support, so once the final model printed, which took several days, it was going to be a long process to break away all of that support. The intricacy and delicacy of many of the models that you’re now able to print on this machine far exceed what you’ve been able to do before.</p><p>Through this whole process, the one thing that became apparent was that this is a far more hands-on machine, and there is an obvious learning curve, especially working with all the different toolheads, nozzle sizes, bypass filament feeds and potentially additional CraftTools. This is a very feature-enhanced workshop machine at a price that will appeal to both enthusiasts and professionals.</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:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="e9HT7b5TX22c2xZAobjFuC" name="Bambu Lab H3C" alt="Bambu Lab H3C" src="https://cdn.mos.cms.futurecdn.net/e9HT7b5TX22c2xZAobjFuC-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><h2 class="article-body__section" id="section-bambu-lab-h3c-final-verdict"><span>Bambu Lab H3C: Final verdict</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:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="BYW7QGVXBZD54JNQnHGu4B" name="Bambu Lab H3C" alt="Bambu Lab H3C" src="https://cdn.mos.cms.futurecdn.net/BYW7QGVXBZD54JNQnHGu4B-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><p>In those six weeks of testing, I feel like I’ve only just started to scrape the surface of what’s possible, but there are several key points that I’ve learnt through this test. The first is that if you just want to get straight into printing, then there are cheaper machines out there which will enable you to do that. So if you only print with up to four filaments, which most people do, then the complexity of this machine might be just a little bit above what you need.</p><p>But then, as you start to embrace all its options and capabilities, and if you’re willing to sit down and learn about how to mix materials, how to use those different nozzle sizes together and obviously all those different filament types, then you have a 3D printer that is really quite different from anything that’s come before and sets the tone for what’s coming up in the future.</p><p>Whilst there are more than passing similarities with the INDX system, what Bambu Lab has done here is to evolve what it had done with its previous multi-filament systems and, with this new option, create something that is far more advanced.</p><p>With that increasing complexity come its own issues, and through the process of this review, I did have occasions where I had to rerun the full calibration as one of the nozzles wasn’t quite sitting right. Then there’s the whole bypass reconfiguration of the filament feed, which does get quite complex, but once you’ve done it once, you basically allocate one toolhead to TPU, still leaving you with eight for all other filaments.</p><p>The options and possibilities for this machine are huge, and through this review, I’ve just been incredibly impressed with the overall quality. Each firmware update has fixed some of the issues that I was having early on, such as the RFID not recognising filament reels and, for some reason, the auto-feed system suddenly not auto-feeding. But after the update, those issues were fixed.</p><p>I also had, as you might be able to see on the speaker set, a slight issue with surface finish, but then that’s because I was experimenting with some of those more advanced features, and this was the first time that I had configured the whole process myself in the software. Later, small models printed with much better quality, but again, this is all part of that learning process. As it stands, this printer is a definite evolution of what’s possible and an exciting glimpse into the future of 3D printing.</p><h2 class="article-body__section" id="section-should-i-buy-the-bambu-lab-h3c-3d-printer"><span>Should I buy the Bambu Lab H3C 3D printer?</span></h2><h2 id="buy-it-if-6">Buy it if...</h2><div class="product"><p><strong>You want to print with multiple materials and nozzle sizes.</strong></p><p>The H3C enables you to combine different materials and nozzle diameters in a single print, something that would be difficult or impossible to produce on more standard 3D printers.</p><p><strong>You want faster, more efficient multicolour printing.</strong></p><p>With nine PrintTools and material changes taking under six seconds, the H3C reduces the time swapping filaments.</p></div><h2 id="don-39-t-buy-it-if-4">Don't buy it if...</h2><div class="product"><p><strong>You just want a straightforward 3D printer.</strong></p><p>The H3C has a steep learning curve, especially when mixing materials and nozzle sizes. For standard PLA printing, there are simpler, cheaper options.</p><p><strong>You have limited space or a tight budget.</strong></p><p>At £2,199 and over 36 kg, the H3C is a substantial investment unless you'll regularly use its advanced features.</p></div><p><em>For more models, I've tested the </em><a href="https://www.techradar.com/best/best-3d-printers" target="_blank"><em>best 3D printers</em></a><em> you can get right now. </em></p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I've spent a week with Apple's new iPad mini, and the OLED upgrade is everything I'd hoped for ]]></title>
                                                                                                <dc:content><![CDATA[ <h3 class="article-body__section" id="section-apple-ipad-mini-8-5-inch-2026-review-one-minute-review"><span>Apple iPad mini 8.5-inch (2026) review: One-minute review</span></h3><p>It's been a long time coming, but Apple has finally addressed more than a few people's wish lists with its latest-generation iPad mini. Yes, it's still the smallest iPad in terms of display size, not price, but this upgrade is really about the sum of its parts.</p><p>The jump to OLED is the headline upgrade, and paired with a thinner, lighter build and plenty of performance under the hood, it makes a big, big difference. The 8.5-inch Super Retina XDR display is an absolute joy to use; whether I'm watching a film, playing a game, editing photos, or just scrolling through iPadOS, everything looks fantastic. </p><p>If you've been holding out for an OLED iPad mini, this is the upgrade you've been waiting for. It's a major improvement, even without ProMotion, and the improved refresh responsiveness makes everyday scrolling and swiping feel that much more seamless.</p><p>The design is another big part of the story. At just 5.33mm thick and 254g, the iPad mini is deceptively slim and light. The mini was already the iPad I find easiest to take pretty much anywhere, but this new model is even more comfortable to hold and use for longer stretches. And while it might look familiar, there are some meaningful changes beyond the thinner build. The new IP67 rating adds welcome water and dust resistance, giving the mini more durability for everyday use, and giving you peace of mind if you're sharing it with family members.</p><p>It also packs plenty of power. The A20 Pro chip makes multitasking, photo editing, gaming, and even some of Apple's newer AI features, which demand a fair bit of power, feel effortless. Battery life has been solid in my testing, too, getting close to Apple's 10-hour claim, while the N1 chip brings Wi-Fi 7, Bluetooth 6, and Thread connectivity. If you opt for the Cellular model, you also get Apple's C2 modem.</p><p>Of course, all of this comes at a price. The iPad mini starts at $699, so it's certainly not the cheapest iPad in Apple's lineup. The model I've been testing is the 512GB Wi-Fi and Cellular version with the optional nano-texture display, which comes in at $1,099. That's a considerable investment for a tablet this size, but the mini has never really been about offering the lowest entry price. It's for people who want this particular screen size and the portability that comes with it, and Apple has now managed to squeeze a whole lot more value into this little package.</p><p>There are still a couple of things I'd like to see, most notably ProMotion and a more exciting selection of colors. But those small issues don't take away from how much I enjoy using this iPad. The OLED display makes a world of difference, the slimmer build is even better, and the combination of performance, battery life, and added durability makes this a seriously capable little tablet. If you're already a fan of the iPad mini, you'll love a lot about this generation.</p><h3 class="article-body__section" id="section-apple-ipad-mini-8-5-inch-2026-review-specs"><span>Apple iPad mini 8.5-inch (2026) review: Specs</span></h3><div ><table><caption>iPad mini 8.5-inch (2026) specs</caption><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>iPad mini (2026)</strong></p></td></tr><tr><td class="firstcol " ><p>Starting price</p></td><td  ><p>$699 / £699 / AU$1,099</p></td></tr><tr><td class="firstcol " ><p>Operating system</p></td><td  ><p>iPadOS 27</p></td></tr><tr><td class="firstcol " ><p>Chipset</p></td><td  ><p>A20 Pro</p></td></tr><tr><td class="firstcol " ><p>Storage</p></td><td  ><p>128GB / 256GB / 512GB </p></td></tr><tr><td class="firstcol " ><p>Display</p></td><td  ><p>8.5-inch Super Retina XDR display (OLED 2316 x 1512)</p></td></tr><tr><td class="firstcol " ><p>Cameras</p></td><td  ><p>12MP wide main, 12MP ultra-wide front</p></td></tr><tr><td class="firstcol " ><p>Battery</p></td><td  ><p>18.9Wh</p></td></tr><tr><td class="firstcol " ><p>Connectivity</p></td><td  ><p>Wi-Fi 7, Bluetooth 6, and Thread from Apple N1. 5G Sub-6Ghz and Gigabit LTE on Cellular models with Apple C2.</p></td></tr><tr><td class="firstcol " ><p>Weight</p></td><td  ><p>255g (Wi-Fi) / 263g (Cellular)</p></td></tr><tr><td class="firstcol " ><p>Dimensions</p></td><td  ><p>195.3mm x 132.6mm x 5.4mm</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-apple-ipad-mini-8-5-inch-2026-review-pricing-and-availability"><span>Apple iPad mini 8.5-inch (2026) review: Pricing and availability</span></h3><p>Apple's new iPad mini starts at $699 / £699 / AU$1,099 for the Wi-Fi model, or $849 / £849 / AU$1,349 if you want Wi-Fi and Cellular. Apple began taking preorders on October 28, ahead of the tablet's official launch on November 6, 2026.</p><p>You can configure your iPad mini with 128GB, 256GB, or 512GB of storage. If you want Apple's nano-texture display, you'll need to choose either the 256GB or 512GB model, and that adds $100 / £100 / AU$200 to the price. Apple also includes a polishing cloth in the box with nano-texture models.</p><ul><li><strong>Value score: 4 / 5</strong></li></ul><h3 class="article-body__section" id="section-apple-ipad-mini-8-5-inch-2026-review-design"><span>Apple iPad mini 8.5-inch (2026) review: 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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="yp7aL3hLeZPGi4Wgs4vSpZ" name="Apple iPad mini 2026 review" alt="Apple iPad mini 2026 review" src="https://cdn.mos.cms.futurecdn.net/yp7aL3hLeZPGi4Wgs4vSpZ-1920-80.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: Jacob Krol/Future)</span></figcaption></figure><ul><li><strong>Super light and thin</strong></li><li><strong>This makes for more of an upgrade than you might expect from reading the specs</strong></li><li><strong>Still the most portable iPad in the lineup</strong></li></ul><p>The new iPad mini is really, really thin — almost deceptively so — and won't weigh your hand down at all. At just 5.33mm thick and 254g, it's noticeably slimmer and lighter than the previous generation, which measured 6.35mm and weighed 295g.</p><p>The iPad mini has always been the most portable tablet in Apple's lineup, offering much of the full-size iPad experience in a much smaller package. That's still true here, but the latest model takes that portability even further. It's easy to hold in one hand while scrolling, throw into a bag for a trip to the cafe, and take pretty much anywhere. It's genuinely pocketable when you're wearing a jacket, and, interestingly, weighs less than an iPhone Duo.</p><p>The overall design hasn't changed dramatically, and that's not necessarily a bad thing. The slimmer build brings it even closer to offering that 'sheet-of-glass' look and feel, while also making it more comfortable to hold for longer viewing sessions. The display is larger, too, thanks to the slimmer bezels, so you're getting more screen without sacrificing that compact form factor.</p><p>On the front, Apple has moved the 12MP Center Stage camera so it's on the top edge when you're holding the mini in landscape orientation, aligning it with the rest of the iPad lineup. There's still no Face ID; Touch ID is built into the power button instead, and it works quickly to unlock the tablet and authorize purchases. The separate volume buttons sit nearby, with their orientation changing depending on how you're holding the iPad.</p><p>Flip it around and you'll find the centered Apple logo, rear camera, and Adaptive True Tone flash. The USB-C port is on the bottom when you're holding the mini in portrait mode, and a microphone sits near the Center Stage camera. </p><p>One thing you might notice is what's missing here: the speaker grilles. Apple has done away with those cutouts as part of its new Acoustic Audio system, which I'll get into more in the Audio section below. It makes for a much cleaner look, and the change also makes IP67 water and dust resistance possible — a first for the iPad mini, and a welcome addition. I've tested it with a little water, and the iPad stands up just fine; it's nice to know you can take it to the beach or use it in the rain. It's also some useful added durability for a tablet the whole family could easily use.</p><p>The one area where I'm a little less enthusiastic is the choice of colors. The A17 Pro iPad mini came in Blue and Purple, while here you can choose between Starlight and Midnight. I've been testing Midnight, which has a very dark blue look, but it does show fingerprints on the rear. Paired with Apple's new TechWoven Folio, though, it makes for a nice-looking setup.</p><ul><li><strong>Design score: 4.5 / 5</strong></li></ul><h3 class="article-body__section" id="section-apple-ipad-mini-8-5-inch-2026-review-display"><span>Apple iPad mini 8.5-inch (2026) review: 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="j9oug3RrGbusY6mHtDdmFa" name="Apple iPad mini 2026 review" alt="Apple iPad mini 2026 review" src="https://cdn.mos.cms.futurecdn.net/j9oug3RrGbusY6mHtDdmFa-1920-80.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: Jacob Krol/Future)</span></figcaption></figure><ul><li><strong>OLED display is a terrific addition</strong></li><li><strong>Content looks exceptionally great here, with rich blacks and vibrant colors</strong></li><li><strong>Nano-texture pairs really well with OLED and lets you use the iPad mini in any light</strong></li></ul><p>It feels like we've been asking Apple to bring an OLED display to the iPad mini for years — it's certainly been a wish of mine — and Apple finally delivered this year. Whether you're coming from the previous-generation iPad mini or older model, this is pretty close to a night-and-day experience.</p><p>The 8.5-inch Super Retina XDR display is an absolute joy to use. It's OLED, so blacks are properly inky, colors really pop, and everything looks fantastic. It's a great tablet for running through some tasks, drawing with the Apple Pencil, FaceTiming with family and friends, and especially for watching content.</p><p>Admittedly, it's only 0.2 inches larger than the previous display, so you're not getting much extra usable space. But the visuals are much more vibrant, everything looks crisper, and it's a more immersive view. At this size, it's made a real difference in my iPad mini experience.</p><p>I found myself editing photos in Pixelmator Pro and Apple's Photos app, drawing in Procreate, and playing games like <em>Mini Metro</em> and <em>Mini Motorways</em> to see how quickly visuals render and how much colors can pop. Watching films like <em>Toy Story 5</em> or <em>Moana</em> on Disney+ was a blast, too, and the same goes for catching up on <em>Ted Lasso</em> on Apple TV. HDR content, in particular, benefits from the OLED panel, with more pronounced contrast and colors that really jump off the screen. This is a fantastic little movie-watching tablet.</p><p>The new mini also gets a brightness boost, with peak brightness reaching 1,200 nits for HDR and 600 nits in everyday use, up from 500 nits on the previous generation. You'll notice that difference indoors and outdoors, especially when watching HDR content. And when you're using the iPad mini outside, that extra brightness paired with NanoTexture makes a big difference.</p><p>Which brings us to the optional nano-texture upgrade. Available on the 256GB and 512GB models, it costs an extra $100 / £100 / AU$200, and adds Apple's proprietary, etched coating over the Super Retina XDR display. It's incredibly effective at reducing glare from both natural and artificial light sources, as well as reflections on the screen. Apple has brought this technology to several other products, including the iPad Pro, MacBooks, iMacs, and Studio Displays, and there's also a slightly different implementation on the iPhone Duo.</p><p>I've found nano-texture particularly useful in direct sunlight. It effectively mutes reflections and cuts down glare, making the display much easier to see when you're out and about. It also gives the screen a more paper-like feel, which makes using either the Apple Pencil Pro or Apple Pencil USB-C particularly nice. I've found myself bringing the iPad mini along to cafes and meetings to take notes, and its size makes it feel a little like carrying a classic Moleskine notebook.</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="jAHuzpfNrRXUoYet8HUaNa" name="Apple iPad mini 2026 review" alt="Apple iPad mini 2026 review" src="https://cdn.mos.cms.futurecdn.net/jAHuzpfNrRXUoYet8HUaNa-1920-80.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: Jacob Krol/Future)</span></figcaption></figure><p>It's not a cheap upgrade, and I haven't tested the standard glass and nano-texture versions side by side. But paired with a more portable iPad than the Air or Pro, and one that now has extra durability, it makes the mini even more enjoyable to use when you're out and about.</p><p>Another benefit of the move from LCD to OLED is better display responsiveness, even if the display here doesn't quite reach the 120Hz standard of ProMotion. Apple describes this as sub-pixel millisecond control, and in everyday use, scrolling and swiping feel a little more seamless than on the previous generation, and it does make the display feel that bit more fluid.</p><p>It's not, however, ProMotion. The iPad mini is still limited to a 60Hz refresh rate, rather than the super-smooth 120Hz you'll find on Apple's Pro models. As I've said in previous iPhone and iPad reviews, if you're not coming from a device with a higher refresh rate, you probably won't miss it. It's an odd omission here, especially at this starting price, but I've still found the iPad mini responsive in use, with no noticeable issues in everyday use.</p><p>All in all, the move to OLED makes a big difference. The new mini is a joy to watch content on, and even using iPadOS feels better on this display.</p><ul><li><strong>Display score: 4.5 / 5</strong></li></ul><h3 class="article-body__section" id="section-apple-ipad-mini-8-5-inch-2026-review-cameras"><span>Apple iPad mini 8.5-inch (2026) review: 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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="s7wb7a3kTpQvQBhNRrGcUZ" name="Apple iPad mini 2026 review" alt="Apple iPad mini 2026 review" src="https://cdn.mos.cms.futurecdn.net/s7wb7a3kTpQvQBhNRrGcUZ-1920-80.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: Jacob Krol/Future)</span></figcaption></figure><ul><li><strong>A welcome move for the front-facing camera</strong></li><li><strong>Still a 12MP main camera on the back</strong></li></ul><p>Like every other iPad in Apple's lineup, and most that came before it, the iPad mini has two cameras. Around the back is a 12MP wide camera paired with an Adaptive True Tone flash. It's nearly identical to the main camera on the previous-generation iPad mini, and if you do choose to take photos with the mini — and it's probably the most acceptable iPad for that — you'll get some good shots. I wouldn't expect it to rival an iPhone 18 Pro or even an iPhone Air, though.</p><p>The real upgrade is the camera built into the bezel around the front display. It's now a 12MP Center Stage camera, positioned centrally on the side of the iPad when you're using it in portrait mode, so that when you're holding it horizontally, it's in the right place for video calls. And when you pair the iPad mini with Apple's Folio Case or a third-party alternative, that's generally how you'll have it positioned when propped up.</p><p>Performance here is great for video calls, whether you're using Apple's own FaceTime or jumping into a Webex meeting, Slack huddle, or a Zoom or WhatsApp call. I looked clear and stayed in focus, but as someone who likes to walk and talk, I particularly appreciated Center Stage. As I moved around, the camera and onboard software worked together to keep me in the shot, using smart panning and zooming to follow my movements.</p><ul><li><strong>Cameras score: 4 / 5</strong></li></ul><h3 class="article-body__section" id="section-apple-ipad-mini-8-5-inch-2026-review-software"><span>Apple iPad mini 8.5-inch (2026) review: Software</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="PcVChpaLT6mC4mqMhbPaNa" name="Apple iPad mini 2026 review" alt="Apple iPad mini 2026 review" src="https://cdn.mos.cms.futurecdn.net/PcVChpaLT6mC4mqMhbPaNa-1920-80.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: Jacob Krol/Future)</span></figcaption></figure><ul><li><strong>Runs iPadOS 27 out of the box</strong></li><li><strong>Full multitasking with windows is great on this form factor</strong></li><li><strong>Support for two Apple Pencil models</strong></li></ul><p>The iPad mini is running iPadOS 27 out of the box, which certainly brings a lot more to the table than previous versions, particularly anything before iPadOS 26. For starters, the iPad mini supports the new Siri AI beta if you opt in and are in an eligible region. You also get the full windowed app experience that Apple introduced with iPadOS 26.</p><p>That means you can have several apps open at once, switch between them, and layer windows on top of each other. The mini's 8.5-inch display isn't the largest canvas for this kind of multitasking, but it feels surprisingly expansive, and can handle several apps at once.</p><p>Multitasking felt fast, and I often found myself using the iPad mini for more than just one thing at a time, ranging from streaming content or gaming to productivity tasks like emailing and web browsing. I also used it for creative pursuits, including journaling, drawing, and photo editing, as well as simply settling in with a good read.</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="jyJeUZFwWERz6cJt2JM7Ha" name="Apple iPad mini 2026 review" alt="Apple iPad mini 2026 review" src="https://cdn.mos.cms.futurecdn.net/jyJeUZFwWERz6cJt2JM7Ha-1920-80.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: Jacob Krol/Future)</span></figcaption></figure><p>What I really love about the size here is that, this iPad's name notwithstanding, this is not an especially small display. At 8.5 inches it's closer to the size of a classic notebook or book, so it actually feels pretty expansive, especially when you're working between different apps. Some days, though, I connected a keyboard and trackpad and plugged the iPad mini into an external display to give myself another window to work with.</p><p>That's a particularly welcome addition, because the mini is no longer limited to simply mirroring its display on an external monitor. You can also extend your workspace, which opens up even more possibilities for multitasking and getting things done.</p><p>I found myself pulling images and other assets from Photos, Files, and Messages, then dropping them straight into Pixelmator Pro. Moving between apps and juggling different windows felt effortless, and it's a good example of what the iPad mini can help you do beyond the usual browsing, streaming, and reading.</p><p>Of course, a lot of that comes down to the hardware under the hood. I'll touch on this more in the next section, but the iPad mini runs Apple's A20 Pro chip, from the same family of processors as those powering the iPhone 18 Pro, iPhone 18 Pro Max, and iPhone Duo. However, performance differs depending on which storage configuration you choose, so it's worth looking a little closer.</p><ul><li><strong>Software score: 4 / 5</strong></li></ul><h3 class="article-body__section" id="section-apple-ipad-mini-8-5-inch-2026-review-performance"><span>Apple iPad mini 8.5-inch (2026) review: 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="YdyvRxRoL8wLLbCKCwRfPa" name="Apple iPad mini 2026 review" alt="Apple iPad mini 2026 review" src="https://cdn.mos.cms.futurecdn.net/YdyvRxRoL8wLLbCKCwRfPa-1920-80.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: Jacob Krol/Future)</span></figcaption></figure><ul><li><strong>A20 Pro is very, very fast</strong></li><li><strong>Plenty of a runway for demanding tasks</strong></li><li><strong>You'll need to pay more for the best version of the chip</strong></li></ul><p>As I mentioned above, the iPad mini runs Apple's A20 Pro chip, but there's a tale of two chips here. I've been testing the 512GB model with Wi-Fi and Cellular, which gets the full-fat version of Apple's latest silicon.</p><p>If you opt for the 128GB or 256GB configurations, you get a five-core CPU (two super cores and three efficiency cores), a seven-core GPU, and a 16-core Neural Engine. The 512GB version, meanwhile, comes equipped with a six-core CPU (two super cores and four efficiency cores), the same seven-core GPU, and a Dual 16-core Neural Engine. That's the same chip configuration as in the iPhone 18 Pro, iPhone 18 Pro Max and iPhone Duo, while the lower-storage models get a slightly more binned-down version.</p><p>I don't suspect those extra CPU cores will make a night-and-day difference for most everyday tasks. You might see more of a benefit with particularly processor-intensive workloads or when running more AI locally on-device, but for the vast majority of people even the lower-storage iPad minis should feel plenty fast.</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:806px;"><p class="vanilla-image-block" style="padding-top:55.09%;"><img id="9AMyfDsoBuwkCsSLYZ9A7L" name="Apple iPad mini 2026 review" alt="Apple iPad mini 2026 review" src="https://cdn.mos.cms.futurecdn.net/9AMyfDsoBuwkCsSLYZ9A7L-1920-80.gif" mos="" align="middle" fullscreen="" width="806" height="444" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Jacob Krol/Future)</span></figcaption></figure><p>This is the second generation of iPad mini to get a Pro chip option, and it enables the tablet to tackle higher-performance tasks with ease. In Geekbench 7, my review unit scored 3,998 in single-core tests and 11,485 for multi-core. In Geekbench 6, it scored 4,720 and 12,697, respectively. Those are very impressive results, particularly compared with the scores for the previous-generation iPad mini, which scored 2,829 in single-core and 6,938 in multi-core in Geekbench 6.</p><p>Those are impressive numbers on paper, and in real-world testing over the past seven days, the iPad mini has been a champ. Apps open incredibly quickly, photo edits happen without a hitch, and even more demanding tasks, like using the Super Resolution option in Pixelmator Pro, and other power-hungry image upscaling tools, felt effortless. Everything feels very, very responsive, and I haven't found myself waiting around for the iPad mini to catch up.</p><p>I also put the Apple Intelligence features through their paces, including Clean Up and Expand Images in Photos, alongside multimodal requests with the new Siri AI beta. I tried a few third-party apps with AI-powered features, too. These are the kinds of tasks where having Apple's latest silicon and Neural Engine come into play, and the iPad mini handled my testing without any noticeable slowdown.</p><ul><li><strong>Performance score: 4.5 / 5</strong></li></ul><h3 class="article-body__section" id="section-apple-ipad-mini-8-5-inch-2026-review-battery-connectivity"><span>Apple iPad mini 8.5-inch (2026) review: Battery &amp; 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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Q2NwgugjEWGY6po8jWTY7a" name="Apple iPad mini 2026 review" alt="Apple iPad mini 2026 review" src="https://cdn.mos.cms.futurecdn.net/Q2NwgugjEWGY6po8jWTY7a-1920-80.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: Jacob Krol/Future)</span></figcaption></figure><ul><li><strong>A lot of mileage for a mini iPad</strong></li><li><strong>Impressive results in our battery test</strong></li><li><strong>Apple's C2 modem serves up faster connectivity</strong></li></ul><p>Apple continues to promise all-day battery life with the iPad mini: up to 10 hours of web browsing over Wi-Fi or video, and up to nine hours of web browsing over a cellular data connection. Inside is an 18.9-watt-hour rechargeable lithium-polymer battery, and in my testing I've found it lasts close to 10 hours, depending on what I'm doing.</p><p>That's a pretty good result, especially considering the upgraded display. I suspect the OLED panel is more efficient, and paired with the A20 Pro, it makes for a nice combination. In Future PLC's lab battery test, the new iPad mini lasted an impressive 14 hours and 24 minutes. That's a substantial improvement over the previous generation, which managed 10 hours and 36 minutes in the same test.</p><p>Connectivity also gets a meaningful upgrade. The iPad mini features Apple's N1 chip, which supports Wi-Fi 7, Bluetooth 6, and Thread. If you opt for the Cellular model you'll also get Apple's C2 modem, which the company says offers up to 50% faster speeds compared to its previous modem.</p><p>I've been testing the cellular connection on Verizon's network in the US, with access to 5G, and it's performed pretty well. Throughout New Jersey, I tracked download speeds ranging from 600 to 1,200Mbps, with upload speeds around 35 to 62Mbps. That's plenty for streaming, downloading files, browsing, and staying connected when I'm away from Wi-Fi.</p><ul><li><strong>Battery and connectivity score: 4 / 5</strong></li></ul><h3 class="article-body__section" id="section-apple-ipad-mini-8-5-inch-2026-review-should-you-buy-it"><span>Apple iPad mini 8.5-inch (2026) review: Should you buy it?</span></h3><div ><table><caption>Apple iPad mini 8.5-inch (2026) review scorecard</caption><tbody><tr><td class="firstcol " ><p>Attributes</p></td><td  ><p>Notes</p></td><td  ><p>Rating</p></td></tr><tr><td class="firstcol " ><p>Value</p></td><td  ><p>Even with the price increase, you're getting a lot of tablet for your money.</p></td><td  ><p>4 / 5</p></td></tr><tr><td class="firstcol " ><p>Design</p></td><td  ><p>Thinner and lighter, but keeps the classic, ultraportable design the iPad mini is known for.</p></td><td  ><p>4.5 / 5</p></td></tr><tr><td class="firstcol " ><p>Display</p></td><td  ><p>OLED finally arrives on an iPad mini, and the display is excellent, even without ProMotion.</p></td><td  ><p>4.5 / 5</p></td></tr><tr><td class="firstcol " ><p>Cameras</p></td><td  ><p>CenterStage is in the right spot for the front-facing camera, and makes the iPad mini even better for video calls.</p></td><td  ><p>4 / 5</p></td></tr><tr><td class="firstcol " ><p>Software</p></td><td  ><p>iPadOS 27 is still feature-packed, offering true multitasking support, and the iPad mini takes full advantage of this software.</p></td><td  ><p>4 / 5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>The A20 Pro makes light work of pretty much every task.</p></td><td  ><p>4.5 / 5</p></td></tr><tr><td class="firstcol " ><p>Battery and connectivity</p></td><td  ><p>Plenty of battery life, with some welcome connectivity upgrades.</p></td><td  ><p>4 / 5 </p></td></tr></tbody></table></div><h2 id="buy-it-if-7">Buy it if...</h2><div class="product"><p><strong>You've been waiting for a better screen</strong><br />The jump to OLED makes a significant difference for both viewing content and day-to-day use — combined with iPadOS, this display shines.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="f89a843c-d6eb-11f1-8951-1119202bcff8" data-action="Deal Block" data-label="You've been waiting for a better screenThe jump to OLED makes a significant difference for both viewing content and day-to-day use — combined with iPadOS, this display shines." data-dimension48="You've been waiting for a better screenThe jump to OLED makes a significant difference for both viewing content and day-to-day use — combined with iPadOS, this display shines." data-dimension25="">View Deal</a></p></div><div class="product"><p><strong>You want an ultraportable iPad that doesn't skimp on performance</strong><br />With one of Apple's newest chips and a super-slim, premium build, the iPad mini feels responsive and comfortable to hold for long periods — this will remain a powerful iPad for years to come.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="f89a8496-d6eb-11f1-b347-f5cdd89cf725" data-action="Deal Block" data-label="You want an ultraportable iPad that doesn't skimp on performanceWith one of Apple's newest chips and a super-slim, premium build, the iPad mini feels responsive and comfortable to hold for long periods — this will remain a powerful iPad for years to come." data-dimension48="You want an ultraportable iPad that doesn't skimp on performanceWith one of Apple's newest chips and a super-slim, premium build, the iPad mini feels responsive and comfortable to hold for long periods — this will remain a powerful iPad for years to come." data-dimension25="">View Deal</a></p></div><h2 id="don-39-t-buy-it-if-5">Don't buy it if...</h2><div class="product"><p><strong>You don't want to break the bank</strong><br />The iPad mini starts at $699 / £699 / AU$1,099, and upgrades can quickly put that price over $1,000 / £1,000 / AU$1,450.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="f89a8554-d6eb-11f1-8cec-87d522e09ca2" data-action="Deal Block" data-label="You don't want to break the bankThe iPad mini starts at $699 / £699 / AU$1,099, and upgrades can quickly put that price over $1,000 / £1,000 / AU$1,450." data-dimension48="You don't want to break the bankThe iPad mini starts at $699 / £699 / AU$1,099, and upgrades can quickly put that price over $1,000 / £1,000 / AU$1,450." data-dimension25="">View Deal</a></p></div><h3 class="article-body__section" id="section-apple-ipad-mini-8-5-inch-2026-review-how-i-tested"><span>Apple iPad mini 8.5-inch (2026) review: How I tested</span></h3><div  class="fancy-box"><div class="fancy_box-title">Why you can trust TechRadar</div><div class="fancy_box_body"><p class="fancy-box__body-text">☑️ <strong>100s of tablets </strong>reviewed<br />☑️ <strong>15 years</strong> of product testing<br />☑️ Over <strong>16,000 products</strong> reviewed in total<br />☑️ Nearly <strong>200,000 hours</strong> testing tech</p></div></div><p>I've been using iPads since the original launched, so I've seen Apple's smallest tablet evolve quite a bit over the years. I've been testing the 512GB Wi-Fi and Cellular version of the iPad mini (8th Generation with A20 Pro) in Midnight, with the optional NanoTexture finish, for the past seven days.</p><p>During that time, I've put it through its paces with a range of apps across entertainment, creative, and productivity, while also exploring many of the features in iPadOS 27. I've also used it with Apple's new TechWoven Folio, alongside both the Apple Pencil USB-C and Apple Pencil Pro, to get a feel for how well the mini works for everyday use, creativity, and getting things done.</p><p><em>First reviewed: November 2026</em></p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/tablets/ipad-mini/ipad-mini-a20-pro-review</link>
                                                                            <description>
                            <![CDATA[ I've spent a week testing Apple's latest iPad mini, and its long-awaited OLED upgrade makes a world of difference. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">ADFkZt5JMGNxLgsFELqTFn</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/LD3XATN3nc48gzTffNKfyG-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 03 Nov 2026 14:00:00 +0000</pubDate>                                                                                                                                <updated>Tue, 03 Nov 2026 21:08:09 +0000</updated>
                                                                                                                                            <category><![CDATA[iPad Mini]]></category>
                                                    <category><![CDATA[iPad]]></category>
                                                    <category><![CDATA[Tablets]]></category>
                                                                                                <author><![CDATA[ jacob.krol@futurenet.com (Jacob Krol) ]]></author>                    <dc:creator><![CDATA[ Jacob Krol ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/hKSCqxtWYDuUtwZseV9E3C-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jacob Krol is the US Managing Editor for News at TechRadar overseeing the daily rollout of content and coordinating with various section leads. He joined TechRadar in May of 2024 and is based out of New York City. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Prior to joining TechRadar, Jacob was Senior Editor, Technology and Commerce at TheStreet focusing on covering the latest products in the consumer tech space from how to pre-order to finding the best deals with reviews, analysis, and features in between. Before that, Jacob was a founding member at CNN Underscored, building and growing the electronics section. He also assisted in building out social media channels, programming the homepage, and establishing protocols for testing various products for one-off reviews and best-of guides. Prior to starting at CNN, Jacob was a Tech Writer at Mashable focusing on news, reviews, and evergreen content. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;He has experience covering major players in the space like Apple, Samsung, Google, and Microsoft as well as testing products like smartphones, tablets, smartwatches, smart home gadgets, speakers, earbuds, headphones, TVs, and more futuristic tech like smart glasses.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Jacob received a Bachelor of Arts in Media &amp; Communication cum laude with a minor in Innovation and Entrepreneurship from Muhlenberg College. During his time on campus, he interned at CNET, Fox News, CNN, and CNBC, while also running his own tech blog, NJTechReviews, which he founded in 2010.&lt;/p&gt;&lt;p&gt;When not playing with a new gadget or breaking down the latest news, you can find Jacob listening to Bruce Springsteen, posting on TikTok, building a Lego set, watching a Star Wars show, or playing with his family dogs, Georgia and Charlie.&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/LD3XATN3nc48gzTffNKfyG-1920-80.jpg">
                                                            <media:credit><![CDATA[Jacob Krol/Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Apple iPad mini 2026 review]]></media:description>                                                            <media:text><![CDATA[Apple iPad mini 2026 review]]></media:text>
                                <media:title type="plain"><![CDATA[Apple iPad mini 2026 review]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/LD3XATN3nc48gzTffNKfyG-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <h3 class="article-body__section" id="section-apple-ipad-mini-8-5-inch-2026-review-one-minute-review"><span>Apple iPad mini 8.5-inch (2026) review: One-minute review</span></h3><p>It's been a long time coming, but Apple has finally addressed more than a few people's wish lists with its latest-generation iPad mini. Yes, it's still the smallest iPad in terms of display size, not price, but this upgrade is really about the sum of its parts.</p><p>The jump to OLED is the headline upgrade, and paired with a thinner, lighter build and plenty of performance under the hood, it makes a big, big difference. The 8.5-inch Super Retina XDR display is an absolute joy to use; whether I'm watching a film, playing a game, editing photos, or just scrolling through iPadOS, everything looks fantastic. </p><p>If you've been holding out for an OLED iPad mini, this is the upgrade you've been waiting for. It's a major improvement, even without ProMotion, and the improved refresh responsiveness makes everyday scrolling and swiping feel that much more seamless.</p><p>The design is another big part of the story. At just 5.33mm thick and 254g, the iPad mini is deceptively slim and light. The mini was already the iPad I find easiest to take pretty much anywhere, but this new model is even more comfortable to hold and use for longer stretches. And while it might look familiar, there are some meaningful changes beyond the thinner build. The new IP67 rating adds welcome water and dust resistance, giving the mini more durability for everyday use, and giving you peace of mind if you're sharing it with family members.</p><p>It also packs plenty of power. The A20 Pro chip makes multitasking, photo editing, gaming, and even some of Apple's newer AI features, which demand a fair bit of power, feel effortless. Battery life has been solid in my testing, too, getting close to Apple's 10-hour claim, while the N1 chip brings Wi-Fi 7, Bluetooth 6, and Thread connectivity. If you opt for the Cellular model, you also get Apple's C2 modem.</p><p>Of course, all of this comes at a price. The iPad mini starts at $699, so it's certainly not the cheapest iPad in Apple's lineup. The model I've been testing is the 512GB Wi-Fi and Cellular version with the optional nano-texture display, which comes in at $1,099. That's a considerable investment for a tablet this size, but the mini has never really been about offering the lowest entry price. It's for people who want this particular screen size and the portability that comes with it, and Apple has now managed to squeeze a whole lot more value into this little package.</p><p>There are still a couple of things I'd like to see, most notably ProMotion and a more exciting selection of colors. But those small issues don't take away from how much I enjoy using this iPad. The OLED display makes a world of difference, the slimmer build is even better, and the combination of performance, battery life, and added durability makes this a seriously capable little tablet. If you're already a fan of the iPad mini, you'll love a lot about this generation.</p><h3 class="article-body__section" id="section-apple-ipad-mini-8-5-inch-2026-review-specs"><span>Apple iPad mini 8.5-inch (2026) review: Specs</span></h3><div ><table><caption>iPad mini 8.5-inch (2026) specs</caption><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>iPad mini (2026)</strong></p></td></tr><tr><td class="firstcol " ><p>Starting price</p></td><td  ><p>$699 / £699 / AU$1,099</p></td></tr><tr><td class="firstcol " ><p>Operating system</p></td><td  ><p>iPadOS 27</p></td></tr><tr><td class="firstcol " ><p>Chipset</p></td><td  ><p>A20 Pro</p></td></tr><tr><td class="firstcol " ><p>Storage</p></td><td  ><p>128GB / 256GB / 512GB </p></td></tr><tr><td class="firstcol " ><p>Display</p></td><td  ><p>8.5-inch Super Retina XDR display (OLED 2316 x 1512)</p></td></tr><tr><td class="firstcol " ><p>Cameras</p></td><td  ><p>12MP wide main, 12MP ultra-wide front</p></td></tr><tr><td class="firstcol " ><p>Battery</p></td><td  ><p>18.9Wh</p></td></tr><tr><td class="firstcol " ><p>Connectivity</p></td><td  ><p>Wi-Fi 7, Bluetooth 6, and Thread from Apple N1. 5G Sub-6Ghz and Gigabit LTE on Cellular models with Apple C2.</p></td></tr><tr><td class="firstcol " ><p>Weight</p></td><td  ><p>255g (Wi-Fi) / 263g (Cellular)</p></td></tr><tr><td class="firstcol " ><p>Dimensions</p></td><td  ><p>195.3mm x 132.6mm x 5.4mm</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-apple-ipad-mini-8-5-inch-2026-review-pricing-and-availability"><span>Apple iPad mini 8.5-inch (2026) review: Pricing and availability</span></h3><p>Apple's new iPad mini starts at $699 / £699 / AU$1,099 for the Wi-Fi model, or $849 / £849 / AU$1,349 if you want Wi-Fi and Cellular. Apple began taking preorders on October 28, ahead of the tablet's official launch on November 6, 2026.</p><p>You can configure your iPad mini with 128GB, 256GB, or 512GB of storage. If you want Apple's nano-texture display, you'll need to choose either the 256GB or 512GB model, and that adds $100 / £100 / AU$200 to the price. Apple also includes a polishing cloth in the box with nano-texture models.</p><ul><li><strong>Value score: 4 / 5</strong></li></ul><h3 class="article-body__section" id="section-apple-ipad-mini-8-5-inch-2026-review-design"><span>Apple iPad mini 8.5-inch (2026) review: 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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="yp7aL3hLeZPGi4Wgs4vSpZ" name="Apple iPad mini 2026 review" alt="Apple iPad mini 2026 review" src="https://cdn.mos.cms.futurecdn.net/yp7aL3hLeZPGi4Wgs4vSpZ-1920-80.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: Jacob Krol/Future)</span></figcaption></figure><ul><li><strong>Super light and thin</strong></li><li><strong>This makes for more of an upgrade than you might expect from reading the specs</strong></li><li><strong>Still the most portable iPad in the lineup</strong></li></ul><p>The new iPad mini is really, really thin — almost deceptively so — and won't weigh your hand down at all. At just 5.33mm thick and 254g, it's noticeably slimmer and lighter than the previous generation, which measured 6.35mm and weighed 295g.</p><p>The iPad mini has always been the most portable tablet in Apple's lineup, offering much of the full-size iPad experience in a much smaller package. That's still true here, but the latest model takes that portability even further. It's easy to hold in one hand while scrolling, throw into a bag for a trip to the cafe, and take pretty much anywhere. It's genuinely pocketable when you're wearing a jacket, and, interestingly, weighs less than an iPhone Duo.</p><p>The overall design hasn't changed dramatically, and that's not necessarily a bad thing. The slimmer build brings it even closer to offering that 'sheet-of-glass' look and feel, while also making it more comfortable to hold for longer viewing sessions. The display is larger, too, thanks to the slimmer bezels, so you're getting more screen without sacrificing that compact form factor.</p><p>On the front, Apple has moved the 12MP Center Stage camera so it's on the top edge when you're holding the mini in landscape orientation, aligning it with the rest of the iPad lineup. There's still no Face ID; Touch ID is built into the power button instead, and it works quickly to unlock the tablet and authorize purchases. The separate volume buttons sit nearby, with their orientation changing depending on how you're holding the iPad.</p><p>Flip it around and you'll find the centered Apple logo, rear camera, and Adaptive True Tone flash. The USB-C port is on the bottom when you're holding the mini in portrait mode, and a microphone sits near the Center Stage camera. </p><p>One thing you might notice is what's missing here: the speaker grilles. Apple has done away with those cutouts as part of its new Acoustic Audio system, which I'll get into more in the Audio section below. It makes for a much cleaner look, and the change also makes IP67 water and dust resistance possible — a first for the iPad mini, and a welcome addition. I've tested it with a little water, and the iPad stands up just fine; it's nice to know you can take it to the beach or use it in the rain. It's also some useful added durability for a tablet the whole family could easily use.</p><p>The one area where I'm a little less enthusiastic is the choice of colors. The A17 Pro iPad mini came in Blue and Purple, while here you can choose between Starlight and Midnight. I've been testing Midnight, which has a very dark blue look, but it does show fingerprints on the rear. Paired with Apple's new TechWoven Folio, though, it makes for a nice-looking setup.</p><ul><li><strong>Design score: 4.5 / 5</strong></li></ul><h3 class="article-body__section" id="section-apple-ipad-mini-8-5-inch-2026-review-display"><span>Apple iPad mini 8.5-inch (2026) review: 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="j9oug3RrGbusY6mHtDdmFa" name="Apple iPad mini 2026 review" alt="Apple iPad mini 2026 review" src="https://cdn.mos.cms.futurecdn.net/j9oug3RrGbusY6mHtDdmFa-1920-80.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: Jacob Krol/Future)</span></figcaption></figure><ul><li><strong>OLED display is a terrific addition</strong></li><li><strong>Content looks exceptionally great here, with rich blacks and vibrant colors</strong></li><li><strong>Nano-texture pairs really well with OLED and lets you use the iPad mini in any light</strong></li></ul><p>It feels like we've been asking Apple to bring an OLED display to the iPad mini for years — it's certainly been a wish of mine — and Apple finally delivered this year. Whether you're coming from the previous-generation iPad mini or older model, this is pretty close to a night-and-day experience.</p><p>The 8.5-inch Super Retina XDR display is an absolute joy to use. It's OLED, so blacks are properly inky, colors really pop, and everything looks fantastic. It's a great tablet for running through some tasks, drawing with the Apple Pencil, FaceTiming with family and friends, and especially for watching content.</p><p>Admittedly, it's only 0.2 inches larger than the previous display, so you're not getting much extra usable space. But the visuals are much more vibrant, everything looks crisper, and it's a more immersive view. At this size, it's made a real difference in my iPad mini experience.</p><p>I found myself editing photos in Pixelmator Pro and Apple's Photos app, drawing in Procreate, and playing games like <em>Mini Metro</em> and <em>Mini Motorways</em> to see how quickly visuals render and how much colors can pop. Watching films like <em>Toy Story 5</em> or <em>Moana</em> on Disney+ was a blast, too, and the same goes for catching up on <em>Ted Lasso</em> on Apple TV. HDR content, in particular, benefits from the OLED panel, with more pronounced contrast and colors that really jump off the screen. This is a fantastic little movie-watching tablet.</p><p>The new mini also gets a brightness boost, with peak brightness reaching 1,200 nits for HDR and 600 nits in everyday use, up from 500 nits on the previous generation. You'll notice that difference indoors and outdoors, especially when watching HDR content. And when you're using the iPad mini outside, that extra brightness paired with NanoTexture makes a big difference.</p><p>Which brings us to the optional nano-texture upgrade. Available on the 256GB and 512GB models, it costs an extra $100 / £100 / AU$200, and adds Apple's proprietary, etched coating over the Super Retina XDR display. It's incredibly effective at reducing glare from both natural and artificial light sources, as well as reflections on the screen. Apple has brought this technology to several other products, including the iPad Pro, MacBooks, iMacs, and Studio Displays, and there's also a slightly different implementation on the iPhone Duo.</p><p>I've found nano-texture particularly useful in direct sunlight. It effectively mutes reflections and cuts down glare, making the display much easier to see when you're out and about. It also gives the screen a more paper-like feel, which makes using either the Apple Pencil Pro or Apple Pencil USB-C particularly nice. I've found myself bringing the iPad mini along to cafes and meetings to take notes, and its size makes it feel a little like carrying a classic Moleskine notebook.</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="jAHuzpfNrRXUoYet8HUaNa" name="Apple iPad mini 2026 review" alt="Apple iPad mini 2026 review" src="https://cdn.mos.cms.futurecdn.net/jAHuzpfNrRXUoYet8HUaNa-1920-80.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: Jacob Krol/Future)</span></figcaption></figure><p>It's not a cheap upgrade, and I haven't tested the standard glass and nano-texture versions side by side. But paired with a more portable iPad than the Air or Pro, and one that now has extra durability, it makes the mini even more enjoyable to use when you're out and about.</p><p>Another benefit of the move from LCD to OLED is better display responsiveness, even if the display here doesn't quite reach the 120Hz standard of ProMotion. Apple describes this as sub-pixel millisecond control, and in everyday use, scrolling and swiping feel a little more seamless than on the previous generation, and it does make the display feel that bit more fluid.</p><p>It's not, however, ProMotion. The iPad mini is still limited to a 60Hz refresh rate, rather than the super-smooth 120Hz you'll find on Apple's Pro models. As I've said in previous iPhone and iPad reviews, if you're not coming from a device with a higher refresh rate, you probably won't miss it. It's an odd omission here, especially at this starting price, but I've still found the iPad mini responsive in use, with no noticeable issues in everyday use.</p><p>All in all, the move to OLED makes a big difference. The new mini is a joy to watch content on, and even using iPadOS feels better on this display.</p><ul><li><strong>Display score: 4.5 / 5</strong></li></ul><h3 class="article-body__section" id="section-apple-ipad-mini-8-5-inch-2026-review-cameras"><span>Apple iPad mini 8.5-inch (2026) review: 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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="s7wb7a3kTpQvQBhNRrGcUZ" name="Apple iPad mini 2026 review" alt="Apple iPad mini 2026 review" src="https://cdn.mos.cms.futurecdn.net/s7wb7a3kTpQvQBhNRrGcUZ-1920-80.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: Jacob Krol/Future)</span></figcaption></figure><ul><li><strong>A welcome move for the front-facing camera</strong></li><li><strong>Still a 12MP main camera on the back</strong></li></ul><p>Like every other iPad in Apple's lineup, and most that came before it, the iPad mini has two cameras. Around the back is a 12MP wide camera paired with an Adaptive True Tone flash. It's nearly identical to the main camera on the previous-generation iPad mini, and if you do choose to take photos with the mini — and it's probably the most acceptable iPad for that — you'll get some good shots. I wouldn't expect it to rival an iPhone 18 Pro or even an iPhone Air, though.</p><p>The real upgrade is the camera built into the bezel around the front display. It's now a 12MP Center Stage camera, positioned centrally on the side of the iPad when you're using it in portrait mode, so that when you're holding it horizontally, it's in the right place for video calls. And when you pair the iPad mini with Apple's Folio Case or a third-party alternative, that's generally how you'll have it positioned when propped up.</p><p>Performance here is great for video calls, whether you're using Apple's own FaceTime or jumping into a Webex meeting, Slack huddle, or a Zoom or WhatsApp call. I looked clear and stayed in focus, but as someone who likes to walk and talk, I particularly appreciated Center Stage. As I moved around, the camera and onboard software worked together to keep me in the shot, using smart panning and zooming to follow my movements.</p><ul><li><strong>Cameras score: 4 / 5</strong></li></ul><h3 class="article-body__section" id="section-apple-ipad-mini-8-5-inch-2026-review-software"><span>Apple iPad mini 8.5-inch (2026) review: Software</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="PcVChpaLT6mC4mqMhbPaNa" name="Apple iPad mini 2026 review" alt="Apple iPad mini 2026 review" src="https://cdn.mos.cms.futurecdn.net/PcVChpaLT6mC4mqMhbPaNa-1920-80.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: Jacob Krol/Future)</span></figcaption></figure><ul><li><strong>Runs iPadOS 27 out of the box</strong></li><li><strong>Full multitasking with windows is great on this form factor</strong></li><li><strong>Support for two Apple Pencil models</strong></li></ul><p>The iPad mini is running iPadOS 27 out of the box, which certainly brings a lot more to the table than previous versions, particularly anything before iPadOS 26. For starters, the iPad mini supports the new Siri AI beta if you opt in and are in an eligible region. You also get the full windowed app experience that Apple introduced with iPadOS 26.</p><p>That means you can have several apps open at once, switch between them, and layer windows on top of each other. The mini's 8.5-inch display isn't the largest canvas for this kind of multitasking, but it feels surprisingly expansive, and can handle several apps at once.</p><p>Multitasking felt fast, and I often found myself using the iPad mini for more than just one thing at a time, ranging from streaming content or gaming to productivity tasks like emailing and web browsing. I also used it for creative pursuits, including journaling, drawing, and photo editing, as well as simply settling in with a good read.</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="jyJeUZFwWERz6cJt2JM7Ha" name="Apple iPad mini 2026 review" alt="Apple iPad mini 2026 review" src="https://cdn.mos.cms.futurecdn.net/jyJeUZFwWERz6cJt2JM7Ha-1920-80.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: Jacob Krol/Future)</span></figcaption></figure><p>What I really love about the size here is that, this iPad's name notwithstanding, this is not an especially small display. At 8.5 inches it's closer to the size of a classic notebook or book, so it actually feels pretty expansive, especially when you're working between different apps. Some days, though, I connected a keyboard and trackpad and plugged the iPad mini into an external display to give myself another window to work with.</p><p>That's a particularly welcome addition, because the mini is no longer limited to simply mirroring its display on an external monitor. You can also extend your workspace, which opens up even more possibilities for multitasking and getting things done.</p><p>I found myself pulling images and other assets from Photos, Files, and Messages, then dropping them straight into Pixelmator Pro. Moving between apps and juggling different windows felt effortless, and it's a good example of what the iPad mini can help you do beyond the usual browsing, streaming, and reading.</p><p>Of course, a lot of that comes down to the hardware under the hood. I'll touch on this more in the next section, but the iPad mini runs Apple's A20 Pro chip, from the same family of processors as those powering the iPhone 18 Pro, iPhone 18 Pro Max, and iPhone Duo. However, performance differs depending on which storage configuration you choose, so it's worth looking a little closer.</p><ul><li><strong>Software score: 4 / 5</strong></li></ul><h3 class="article-body__section" id="section-apple-ipad-mini-8-5-inch-2026-review-performance"><span>Apple iPad mini 8.5-inch (2026) review: 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="YdyvRxRoL8wLLbCKCwRfPa" name="Apple iPad mini 2026 review" alt="Apple iPad mini 2026 review" src="https://cdn.mos.cms.futurecdn.net/YdyvRxRoL8wLLbCKCwRfPa-1920-80.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: Jacob Krol/Future)</span></figcaption></figure><ul><li><strong>A20 Pro is very, very fast</strong></li><li><strong>Plenty of a runway for demanding tasks</strong></li><li><strong>You'll need to pay more for the best version of the chip</strong></li></ul><p>As I mentioned above, the iPad mini runs Apple's A20 Pro chip, but there's a tale of two chips here. I've been testing the 512GB model with Wi-Fi and Cellular, which gets the full-fat version of Apple's latest silicon.</p><p>If you opt for the 128GB or 256GB configurations, you get a five-core CPU (two super cores and three efficiency cores), a seven-core GPU, and a 16-core Neural Engine. The 512GB version, meanwhile, comes equipped with a six-core CPU (two super cores and four efficiency cores), the same seven-core GPU, and a Dual 16-core Neural Engine. That's the same chip configuration as in the iPhone 18 Pro, iPhone 18 Pro Max and iPhone Duo, while the lower-storage models get a slightly more binned-down version.</p><p>I don't suspect those extra CPU cores will make a night-and-day difference for most everyday tasks. You might see more of a benefit with particularly processor-intensive workloads or when running more AI locally on-device, but for the vast majority of people even the lower-storage iPad minis should feel plenty fast.</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:806px;"><p class="vanilla-image-block" style="padding-top:55.09%;"><img id="9AMyfDsoBuwkCsSLYZ9A7L" name="Apple iPad mini 2026 review" alt="Apple iPad mini 2026 review" src="https://cdn.mos.cms.futurecdn.net/9AMyfDsoBuwkCsSLYZ9A7L-1920-80.gif" mos="" align="middle" fullscreen="" width="806" height="444" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Jacob Krol/Future)</span></figcaption></figure><p>This is the second generation of iPad mini to get a Pro chip option, and it enables the tablet to tackle higher-performance tasks with ease. In Geekbench 7, my review unit scored 3,998 in single-core tests and 11,485 for multi-core. In Geekbench 6, it scored 4,720 and 12,697, respectively. Those are very impressive results, particularly compared with the scores for the previous-generation iPad mini, which scored 2,829 in single-core and 6,938 in multi-core in Geekbench 6.</p><p>Those are impressive numbers on paper, and in real-world testing over the past seven days, the iPad mini has been a champ. Apps open incredibly quickly, photo edits happen without a hitch, and even more demanding tasks, like using the Super Resolution option in Pixelmator Pro, and other power-hungry image upscaling tools, felt effortless. Everything feels very, very responsive, and I haven't found myself waiting around for the iPad mini to catch up.</p><p>I also put the Apple Intelligence features through their paces, including Clean Up and Expand Images in Photos, alongside multimodal requests with the new Siri AI beta. I tried a few third-party apps with AI-powered features, too. These are the kinds of tasks where having Apple's latest silicon and Neural Engine come into play, and the iPad mini handled my testing without any noticeable slowdown.</p><ul><li><strong>Performance score: 4.5 / 5</strong></li></ul><h3 class="article-body__section" id="section-apple-ipad-mini-8-5-inch-2026-review-battery-connectivity"><span>Apple iPad mini 8.5-inch (2026) review: Battery &amp; 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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Q2NwgugjEWGY6po8jWTY7a" name="Apple iPad mini 2026 review" alt="Apple iPad mini 2026 review" src="https://cdn.mos.cms.futurecdn.net/Q2NwgugjEWGY6po8jWTY7a-1920-80.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: Jacob Krol/Future)</span></figcaption></figure><ul><li><strong>A lot of mileage for a mini iPad</strong></li><li><strong>Impressive results in our battery test</strong></li><li><strong>Apple's C2 modem serves up faster connectivity</strong></li></ul><p>Apple continues to promise all-day battery life with the iPad mini: up to 10 hours of web browsing over Wi-Fi or video, and up to nine hours of web browsing over a cellular data connection. Inside is an 18.9-watt-hour rechargeable lithium-polymer battery, and in my testing I've found it lasts close to 10 hours, depending on what I'm doing.</p><p>That's a pretty good result, especially considering the upgraded display. I suspect the OLED panel is more efficient, and paired with the A20 Pro, it makes for a nice combination. In Future PLC's lab battery test, the new iPad mini lasted an impressive 14 hours and 24 minutes. That's a substantial improvement over the previous generation, which managed 10 hours and 36 minutes in the same test.</p><p>Connectivity also gets a meaningful upgrade. The iPad mini features Apple's N1 chip, which supports Wi-Fi 7, Bluetooth 6, and Thread. If you opt for the Cellular model you'll also get Apple's C2 modem, which the company says offers up to 50% faster speeds compared to its previous modem.</p><p>I've been testing the cellular connection on Verizon's network in the US, with access to 5G, and it's performed pretty well. Throughout New Jersey, I tracked download speeds ranging from 600 to 1,200Mbps, with upload speeds around 35 to 62Mbps. That's plenty for streaming, downloading files, browsing, and staying connected when I'm away from Wi-Fi.</p><ul><li><strong>Battery and connectivity score: 4 / 5</strong></li></ul><h3 class="article-body__section" id="section-apple-ipad-mini-8-5-inch-2026-review-should-you-buy-it"><span>Apple iPad mini 8.5-inch (2026) review: Should you buy it?</span></h3><div ><table><caption>Apple iPad mini 8.5-inch (2026) review scorecard</caption><tbody><tr><td class="firstcol " ><p>Attributes</p></td><td  ><p>Notes</p></td><td  ><p>Rating</p></td></tr><tr><td class="firstcol " ><p>Value</p></td><td  ><p>Even with the price increase, you're getting a lot of tablet for your money.</p></td><td  ><p>4 / 5</p></td></tr><tr><td class="firstcol " ><p>Design</p></td><td  ><p>Thinner and lighter, but keeps the classic, ultraportable design the iPad mini is known for.</p></td><td  ><p>4.5 / 5</p></td></tr><tr><td class="firstcol " ><p>Display</p></td><td  ><p>OLED finally arrives on an iPad mini, and the display is excellent, even without ProMotion.</p></td><td  ><p>4.5 / 5</p></td></tr><tr><td class="firstcol " ><p>Cameras</p></td><td  ><p>CenterStage is in the right spot for the front-facing camera, and makes the iPad mini even better for video calls.</p></td><td  ><p>4 / 5</p></td></tr><tr><td class="firstcol " ><p>Software</p></td><td  ><p>iPadOS 27 is still feature-packed, offering true multitasking support, and the iPad mini takes full advantage of this software.</p></td><td  ><p>4 / 5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>The A20 Pro makes light work of pretty much every task.</p></td><td  ><p>4.5 / 5</p></td></tr><tr><td class="firstcol " ><p>Battery and connectivity</p></td><td  ><p>Plenty of battery life, with some welcome connectivity upgrades.</p></td><td  ><p>4 / 5 </p></td></tr></tbody></table></div><h2 id="buy-it-if-7">Buy it if...</h2><div class="product"><p><strong>You've been waiting for a better screen</strong><br />The jump to OLED makes a significant difference for both viewing content and day-to-day use — combined with iPadOS, this display shines.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="f89a843c-d6eb-11f1-8951-1119202bcff8" data-action="Deal Block" data-label="You've been waiting for a better screenThe jump to OLED makes a significant difference for both viewing content and day-to-day use — combined with iPadOS, this display shines." data-dimension48="You've been waiting for a better screenThe jump to OLED makes a significant difference for both viewing content and day-to-day use — combined with iPadOS, this display shines." data-dimension25="">View Deal</a></p></div><div class="product"><p><strong>You want an ultraportable iPad that doesn't skimp on performance</strong><br />With one of Apple's newest chips and a super-slim, premium build, the iPad mini feels responsive and comfortable to hold for long periods — this will remain a powerful iPad for years to come.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="f89a8496-d6eb-11f1-b347-f5cdd89cf725" data-action="Deal Block" data-label="You want an ultraportable iPad that doesn't skimp on performanceWith one of Apple's newest chips and a super-slim, premium build, the iPad mini feels responsive and comfortable to hold for long periods — this will remain a powerful iPad for years to come." data-dimension48="You want an ultraportable iPad that doesn't skimp on performanceWith one of Apple's newest chips and a super-slim, premium build, the iPad mini feels responsive and comfortable to hold for long periods — this will remain a powerful iPad for years to come." data-dimension25="">View Deal</a></p></div><h2 id="don-39-t-buy-it-if-5">Don't buy it if...</h2><div class="product"><p><strong>You don't want to break the bank</strong><br />The iPad mini starts at $699 / £699 / AU$1,099, and upgrades can quickly put that price over $1,000 / £1,000 / AU$1,450.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="f89a8554-d6eb-11f1-8cec-87d522e09ca2" data-action="Deal Block" data-label="You don't want to break the bankThe iPad mini starts at $699 / £699 / AU$1,099, and upgrades can quickly put that price over $1,000 / £1,000 / AU$1,450." data-dimension48="You don't want to break the bankThe iPad mini starts at $699 / £699 / AU$1,099, and upgrades can quickly put that price over $1,000 / £1,000 / AU$1,450." data-dimension25="">View Deal</a></p></div><h3 class="article-body__section" id="section-apple-ipad-mini-8-5-inch-2026-review-how-i-tested"><span>Apple iPad mini 8.5-inch (2026) review: How I tested</span></h3><div  class="fancy-box"><div class="fancy_box-title">Why you can trust TechRadar</div><div class="fancy_box_body"><p class="fancy-box__body-text">☑️ <strong>100s of tablets </strong>reviewed<br />☑️ <strong>15 years</strong> of product testing<br />☑️ Over <strong>16,000 products</strong> reviewed in total<br />☑️ Nearly <strong>200,000 hours</strong> testing tech</p></div></div><p>I've been using iPads since the original launched, so I've seen Apple's smallest tablet evolve quite a bit over the years. I've been testing the 512GB Wi-Fi and Cellular version of the iPad mini (8th Generation with A20 Pro) in Midnight, with the optional NanoTexture finish, for the past seven days.</p><p>During that time, I've put it through its paces with a range of apps across entertainment, creative, and productivity, while also exploring many of the features in iPadOS 27. I've also used it with Apple's new TechWoven Folio, alongside both the Apple Pencil USB-C and Apple Pencil Pro, to get a feel for how well the mini works for everyday use, creativity, and getting things done.</p><p><em>First reviewed: November 2026</em></p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Liquid Web web hosting review ]]></title>
                                                                                                <dc:content><![CDATA[ <p><a href="https://www.liquidweb.com/" target="_blank">Liquid Web</a> has been operating since 1997. It focuses on infrastructure for businesses, agencies, developers, and high-traffic sites. Its range centers on cloud VPS, managed VPS, dedicated servers, managed WordPress, and WooCommerce rather than the cheap shared-hosting bundles sold by mainstream hosts. That specialization gives it more depth than most providers, but also makes plan selection and pricing more complicated.</p><ul><li>Interested in Liquid Web? <a href="https://go.liquidweb.com/vps-affiliate/" target="_blank">Check out the website here</a></li></ul><h2 class="article-body__section" id="section-liquid-web-plans-and-pricing"><span>Liquid Web: Plans and pricing</span></h2><a href="https://go.liquidweb.com/vps-affiliate/"><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:991px;"><p class="vanilla-image-block" style="padding-top:55.10%;"><img id="pEqi4wx5GDZqrPC6VQrcA5" name="Liquid_Web_Cloud_VPS_configuration" alt="Testing Liquid Web on a PC" src="https://cdn.mos.cms.futurecdn.net/pEqi4wx5GDZqrPC6VQrcA5-1920-80.png" mos="" align="middle" fullscreen="" width="991" height="546" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Liquid Web offers a variety of premium hosting solutions though VPS is its specialty  </span><span class="credit" itemprop="copyrightHolder">(Image credit: Liquid Web // Future)</span></figcaption></figure></a><p>The entry Cloud VPS configuration quoted by Liquid Web's sales team uses one CPU core, 2GB of RAM, 60GB of SSD storage, and 2TB of bandwidth for $11 a month. </p><p>It is self-managed, with no control panel or backups, and the Amsterdam location costs the same as the US option. That is a reasonable raw-server price, but customers are responsible for the operating system, security, updates, and applications.</p><p>Pricing requires care. Liquid Web's public VPS page was still advertising a $5 1GB plan when I checked, but a sales agent said that plan was no longer available and directed me to the current $11 configuration. </p><p>A separate promotion reduced a 4GB, two-vCPU server from $17 to $8.50 for its first two months. The discounts are clearly labeled once found, but the mismatch between the landing page and the live sales information is unnecessarily confusing.</p><p>The low base price changes dramatically when Liquid Web's signature services are added. Sales confirmed that the 2GB server with full management and cPanel Admin Cloud 5 costs $86 a month in total. The least expensive Acronis option adds another $22 for 100GB, bringing that setup to $108 a month. Its default retention is seven daily, four weekly, and one monthly backup, and the schedule can be adjusted. Liquid Web's public managed VPS range starts at $72 a month for two vCPUs, 4GB of RAM, 80GB of SSD storage, and 3TB of bandwidth, before any separately priced options.</p><p>Managed WordPress is much cheaper. Spark Launch starts at $5 a month when billed annually and supports one site, 15GB of storage, and 2TB of bandwidth, with unlimited visits, daily backups retained for seven days, staging, Cloudflare Enterprise, DDoS protection, and a web application firewall. This is the more approachable choice for one WordPress site; VPS makes sense when the workload or need for server-level control justifies the extra complexity.</p><p>There is no free Cloud VPS trial, and sales confirmed that monthly Cloud VPS purchases are generally non-refundable. That is a material disadvantage when the useful managed configurations cost far more than their headline server price. Customers should finalize the location, management tier, panel, and backup requirements before ordering.</p><h2 class="article-body__section" id="section-liquid-web-ease-of-use"><span>Liquid Web: Ease of use</span></h2><p>Liquid Web's configurator provides unusually granular choices. Depending on the product, customers can select the server size, data center, operating system, self-managed, core managed, or fully managed support, and a control panel such as InterWorx, Plesk, or cPanel. Self-managed customers retain root access and handle administration themselves. Fully managed support adds operating system and control panel updates, security patches, monitoring, server-side troubleshooting, firewall configuration, and help with common software.</p><p>There is no demo account for exploring the customer portal before purchase. Even so, our hands-on VPS testing found the management interface clear and intuitive. Installing WordPress was straightforward, the AI site-building tool made it easy to create a starting point, and importing a prepared WordPress and WooCommerce site worked without the credential and database confusion encountered with InMotion Hosting.</p><p>Liquid Web also offers a dedicated migration team. On managed services, it can move website content, email, databases, and control panel accounts while coordinating the process to minimize downtime. That hands-on assistance is one reason to pay for management, particularly for agencies or businesses moving a revenue-generating site. Domain registration is not bundled with the server, and Liquid Web is not the natural choice for someone who wants a domain, email, site builder, and hosting in one inexpensive package.</p><h2 class="article-body__section" id="section-liquid-web-speed-and-experience"><span>Liquid Web: Speed and experience</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:650px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="5R9YUstcRSRaoSgFduuXHV" name="Liquid Web Uptime Performance.JPG" alt="Performance" src="https://cdn.mos.cms.futurecdn.net/5R9YUstcRSRaoSgFduuXHV-1920-80.jpg" mos="" align="middle" fullscreen="" width="650" height="365" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">We used GTmetrix to test the uptime and response time of Liquid Web's main site </span><span class="credit" itemprop="copyrightHolder">(Image credit: GTmetrix)</span></figcaption></figure><p>Performance is where Liquid Web makes its strongest case. In our <a href="https://www.techradar.com/pro/website-hosting/liquid-web-vs-inmotion-hosting-vps-hosting-compared" target="_blank">WordPress server benchmark</a>, which measures CPU, memory, file operations, database performance, and network speed, Liquid Web produced an overall server score of 8.1 compared with InMotion Hosting's 6.1. </p><p>It scored 10 for small-file I/O, 9.66 for local file copying and access, 9.72 for simple database queries, 9.64 for complex database queries, and 9.53 in the network download test. Those are excellent results for a business-focused VPS and support its position as our best VPS host overall.</p><p>Our broader testing has been similarly positive. Liquid Web's main website earned an A and 100% performance score in GTmetrix, although its 6.8-second full load time showed why a single headline grade should not be read in isolation. </p><p>In a separate two-week UptimeRobot test of the same public site, we recorded no downtime and an average response time of around 107ms. These tests measure different aspects of performance, but both point to a fast and dependable platform.</p><p>Liquid Web backs its infrastructure with a 100% network uptime SLA. The wording matters: it guarantees that major routing devices in its network remain reachable from the global internet, rather than promising that every application will run without interruption. Even with that distinction, the guarantee is stronger than the 99.9% or 99.99% figures common among general-purpose hosts.</p><h2 class="article-body__section" id="section-liquid-web-support"><span>Liquid Web: Support</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:970px;"><p class="vanilla-image-block" style="padding-top:66.49%;"><img id="N4c3BX7mU57pibkFWHAXG5" name="Liquid_Web_help_docs" alt="Testing Liquid Web on a PC" src="https://cdn.mos.cms.futurecdn.net/N4c3BX7mU57pibkFWHAXG5-1920-80.png" mos="" align="middle" fullscreen="" width="970" height="645" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Liquid Web // Future)</span></figcaption></figure><p>Support is available 24/7/365, with the scope depending on the chosen management tier. Self-managed customers receive network and hardware support, while core managed and fully managed plans progressively add operating system maintenance, monitoring, troubleshooting, panel support, and software assistance. The documentation is extensive, and customers can use live chat or open a support case from the portal.</p><p>My pre-sales check produced a human acknowledgment in 20 seconds, comfortably inside Liquid Web's advertised 59-second initial response target. The first substantive answer arrived after about four minutes. The agent clearly confirmed that the old $5 plan was unavailable, that Amsterdam carried no location surcharge, and that the $11 server included neither management, a control panel, nor backups.</p><p>After correcting a price typo, the agent confirmed the $86 total for the 2GB VPS with full management and cPanel, the $22 Acronis option, its retention schedule, and the lack of a standard refund. The answers were detailed rather than evasive, and the agent supplied configuration and policy links. </p><p>Sales also confirmed that Liquid Web still promotes a 59-second response target, although its current SLA describes initial chat and help-desk response times as goals rather than guarantees. I liked the directness of the exchange, even if the four-minute wait for a full answer shows that a fast initial response is not the same as an immediate resolution.</p><h2 class="article-body__section" id="section-liquid-web-the-competition"><span>Liquid Web: The competition</span></h2><p><a href="https://www.techradar.com/reviews/scalahosting" target="_blank">ScalaHosting</a> is the more approachable managed VPS alternative. Its SPanel ecosystem bundles many hosting-management tasks into a lower-cost package and suits users who want to avoid cPanel licensing fees. </p><p>In our direct WordPress benchmark comparison, ScalaHosting scored 8.3 against Liquid Web's 8.1, so performance was closely matched rather than a clear Liquid Web victory. Liquid Web offers deeper infrastructure choices and a broader high-end range, but the price difference becomes substantial once equivalent management, panel, and backup options are selected.</p><p><a href="https://www.techradar.com/reviews/cloudways" target="_blank">Cloudways</a> takes a different approach by managing servers from infrastructure providers such as DigitalOcean, Vultr, AWS, and Google Cloud. It is easier to enter at a moderate monthly cost and is especially attractive for WordPress, but it does not offer cPanel and does not provide the same conventional managed-server relationship. Liquid Web is the stronger fit when infrastructure control, migration help, and an experienced server support team matter more than the lowest monthly bill.</p><h2 class="article-body__section" id="section-liquid-web-final-verdict"><span>Liquid Web: Final verdict</span></h2><p>Liquid Web remains one of the best choices for businesses that need a serious VPS rather than a cheap hosting account. Its benchmark results are excellent, its server configurations are flexible, and its support team gives specific, technically useful answers. Those strengths justify its position as our best VPS host overall for demanding sites, agencies, and customers who value managed infrastructure.</p><p>It is not the best-value option for everyone. The $11 entry server is a bare self-managed configuration, the website still shows a discontinued $5 offer, Cloud VPS purchases are generally non-refundable, and a representative managed configuration can exceed $100 once cPanel and backups are included. Beginners with one modest WordPress site should consider the managed WordPress range or a conventional shared host instead.</p><p>Choose Liquid Web when performance, configuration freedom, migration assistance, and capable support are worth paying for. Choose ScalaHosting or Cloudways when easier entry pricing matters more. Liquid Web earns four stars because its premium experience is convincing, but its pricing needs to be read all the way through the configurator rather than judged by the headline figure.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/reviews/liquid-web</link>
                                                                            <description>
                            <![CDATA[ We tested Liquid Web's web hosting offering and found excellent VPS performance and support, but fully managed hosting gets expensive quickly. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">CrbxSETicW59Sqh9gYrYV3</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/eG24AJzaboJFrRV8Xr7Hi6-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 02 Nov 2026 10:03:56 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Website Hosting]]></category>
                                                    <category><![CDATA[Pro]]></category>
                                                                                                                    <dc:creator><![CDATA[ James Capell ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/h2jxs4impEB7K2rxEpTRy4-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                        <dc:contributor><![CDATA[ Mirza Bahic ]]></dc:contributor>
                                                                    <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/eG24AJzaboJFrRV8Xr7Hi6-1920-80.jpg">
                                                            <media:credit><![CDATA[Liquid Web]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Liquid Web Logo]]></media:description>                                                            <media:text><![CDATA[Liquid Web Logo]]></media:text>
                                <media:title type="plain"><![CDATA[Liquid Web Logo]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/eG24AJzaboJFrRV8Xr7Hi6-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p><a href="https://www.liquidweb.com/" target="_blank">Liquid Web</a> has been operating since 1997. It focuses on infrastructure for businesses, agencies, developers, and high-traffic sites. Its range centers on cloud VPS, managed VPS, dedicated servers, managed WordPress, and WooCommerce rather than the cheap shared-hosting bundles sold by mainstream hosts. That specialization gives it more depth than most providers, but also makes plan selection and pricing more complicated.</p><ul><li>Interested in Liquid Web? <a href="https://go.liquidweb.com/vps-affiliate/" target="_blank">Check out the website here</a></li></ul><h2 class="article-body__section" id="section-liquid-web-plans-and-pricing"><span>Liquid Web: Plans and pricing</span></h2><a href="https://go.liquidweb.com/vps-affiliate/"><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:991px;"><p class="vanilla-image-block" style="padding-top:55.10%;"><img id="pEqi4wx5GDZqrPC6VQrcA5" name="Liquid_Web_Cloud_VPS_configuration" alt="Testing Liquid Web on a PC" src="https://cdn.mos.cms.futurecdn.net/pEqi4wx5GDZqrPC6VQrcA5-1920-80.png" mos="" align="middle" fullscreen="" width="991" height="546" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Liquid Web offers a variety of premium hosting solutions though VPS is its specialty  </span><span class="credit" itemprop="copyrightHolder">(Image credit: Liquid Web // Future)</span></figcaption></figure></a><p>The entry Cloud VPS configuration quoted by Liquid Web's sales team uses one CPU core, 2GB of RAM, 60GB of SSD storage, and 2TB of bandwidth for $11 a month. </p><p>It is self-managed, with no control panel or backups, and the Amsterdam location costs the same as the US option. That is a reasonable raw-server price, but customers are responsible for the operating system, security, updates, and applications.</p><p>Pricing requires care. Liquid Web's public VPS page was still advertising a $5 1GB plan when I checked, but a sales agent said that plan was no longer available and directed me to the current $11 configuration. </p><p>A separate promotion reduced a 4GB, two-vCPU server from $17 to $8.50 for its first two months. The discounts are clearly labeled once found, but the mismatch between the landing page and the live sales information is unnecessarily confusing.</p><p>The low base price changes dramatically when Liquid Web's signature services are added. Sales confirmed that the 2GB server with full management and cPanel Admin Cloud 5 costs $86 a month in total. The least expensive Acronis option adds another $22 for 100GB, bringing that setup to $108 a month. Its default retention is seven daily, four weekly, and one monthly backup, and the schedule can be adjusted. Liquid Web's public managed VPS range starts at $72 a month for two vCPUs, 4GB of RAM, 80GB of SSD storage, and 3TB of bandwidth, before any separately priced options.</p><p>Managed WordPress is much cheaper. Spark Launch starts at $5 a month when billed annually and supports one site, 15GB of storage, and 2TB of bandwidth, with unlimited visits, daily backups retained for seven days, staging, Cloudflare Enterprise, DDoS protection, and a web application firewall. This is the more approachable choice for one WordPress site; VPS makes sense when the workload or need for server-level control justifies the extra complexity.</p><p>There is no free Cloud VPS trial, and sales confirmed that monthly Cloud VPS purchases are generally non-refundable. That is a material disadvantage when the useful managed configurations cost far more than their headline server price. Customers should finalize the location, management tier, panel, and backup requirements before ordering.</p><h2 class="article-body__section" id="section-liquid-web-ease-of-use"><span>Liquid Web: Ease of use</span></h2><p>Liquid Web's configurator provides unusually granular choices. Depending on the product, customers can select the server size, data center, operating system, self-managed, core managed, or fully managed support, and a control panel such as InterWorx, Plesk, or cPanel. Self-managed customers retain root access and handle administration themselves. Fully managed support adds operating system and control panel updates, security patches, monitoring, server-side troubleshooting, firewall configuration, and help with common software.</p><p>There is no demo account for exploring the customer portal before purchase. Even so, our hands-on VPS testing found the management interface clear and intuitive. Installing WordPress was straightforward, the AI site-building tool made it easy to create a starting point, and importing a prepared WordPress and WooCommerce site worked without the credential and database confusion encountered with InMotion Hosting.</p><p>Liquid Web also offers a dedicated migration team. On managed services, it can move website content, email, databases, and control panel accounts while coordinating the process to minimize downtime. That hands-on assistance is one reason to pay for management, particularly for agencies or businesses moving a revenue-generating site. Domain registration is not bundled with the server, and Liquid Web is not the natural choice for someone who wants a domain, email, site builder, and hosting in one inexpensive package.</p><h2 class="article-body__section" id="section-liquid-web-speed-and-experience"><span>Liquid Web: Speed and experience</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:650px;"><p class="vanilla-image-block" style="padding-top:56.15%;"><img id="5R9YUstcRSRaoSgFduuXHV" name="Liquid Web Uptime Performance.JPG" alt="Performance" src="https://cdn.mos.cms.futurecdn.net/5R9YUstcRSRaoSgFduuXHV-1920-80.jpg" mos="" align="middle" fullscreen="" width="650" height="365" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">We used GTmetrix to test the uptime and response time of Liquid Web's main site </span><span class="credit" itemprop="copyrightHolder">(Image credit: GTmetrix)</span></figcaption></figure><p>Performance is where Liquid Web makes its strongest case. In our <a href="https://www.techradar.com/pro/website-hosting/liquid-web-vs-inmotion-hosting-vps-hosting-compared" target="_blank">WordPress server benchmark</a>, which measures CPU, memory, file operations, database performance, and network speed, Liquid Web produced an overall server score of 8.1 compared with InMotion Hosting's 6.1. </p><p>It scored 10 for small-file I/O, 9.66 for local file copying and access, 9.72 for simple database queries, 9.64 for complex database queries, and 9.53 in the network download test. Those are excellent results for a business-focused VPS and support its position as our best VPS host overall.</p><p>Our broader testing has been similarly positive. Liquid Web's main website earned an A and 100% performance score in GTmetrix, although its 6.8-second full load time showed why a single headline grade should not be read in isolation. </p><p>In a separate two-week UptimeRobot test of the same public site, we recorded no downtime and an average response time of around 107ms. These tests measure different aspects of performance, but both point to a fast and dependable platform.</p><p>Liquid Web backs its infrastructure with a 100% network uptime SLA. The wording matters: it guarantees that major routing devices in its network remain reachable from the global internet, rather than promising that every application will run without interruption. Even with that distinction, the guarantee is stronger than the 99.9% or 99.99% figures common among general-purpose hosts.</p><h2 class="article-body__section" id="section-liquid-web-support"><span>Liquid Web: Support</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:970px;"><p class="vanilla-image-block" style="padding-top:66.49%;"><img id="N4c3BX7mU57pibkFWHAXG5" name="Liquid_Web_help_docs" alt="Testing Liquid Web on a PC" src="https://cdn.mos.cms.futurecdn.net/N4c3BX7mU57pibkFWHAXG5-1920-80.png" mos="" align="middle" fullscreen="" width="970" height="645" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Liquid Web // Future)</span></figcaption></figure><p>Support is available 24/7/365, with the scope depending on the chosen management tier. Self-managed customers receive network and hardware support, while core managed and fully managed plans progressively add operating system maintenance, monitoring, troubleshooting, panel support, and software assistance. The documentation is extensive, and customers can use live chat or open a support case from the portal.</p><p>My pre-sales check produced a human acknowledgment in 20 seconds, comfortably inside Liquid Web's advertised 59-second initial response target. The first substantive answer arrived after about four minutes. The agent clearly confirmed that the old $5 plan was unavailable, that Amsterdam carried no location surcharge, and that the $11 server included neither management, a control panel, nor backups.</p><p>After correcting a price typo, the agent confirmed the $86 total for the 2GB VPS with full management and cPanel, the $22 Acronis option, its retention schedule, and the lack of a standard refund. The answers were detailed rather than evasive, and the agent supplied configuration and policy links. </p><p>Sales also confirmed that Liquid Web still promotes a 59-second response target, although its current SLA describes initial chat and help-desk response times as goals rather than guarantees. I liked the directness of the exchange, even if the four-minute wait for a full answer shows that a fast initial response is not the same as an immediate resolution.</p><h2 class="article-body__section" id="section-liquid-web-the-competition"><span>Liquid Web: The competition</span></h2><p><a href="https://www.techradar.com/reviews/scalahosting" target="_blank">ScalaHosting</a> is the more approachable managed VPS alternative. Its SPanel ecosystem bundles many hosting-management tasks into a lower-cost package and suits users who want to avoid cPanel licensing fees. </p><p>In our direct WordPress benchmark comparison, ScalaHosting scored 8.3 against Liquid Web's 8.1, so performance was closely matched rather than a clear Liquid Web victory. Liquid Web offers deeper infrastructure choices and a broader high-end range, but the price difference becomes substantial once equivalent management, panel, and backup options are selected.</p><p><a href="https://www.techradar.com/reviews/cloudways" target="_blank">Cloudways</a> takes a different approach by managing servers from infrastructure providers such as DigitalOcean, Vultr, AWS, and Google Cloud. It is easier to enter at a moderate monthly cost and is especially attractive for WordPress, but it does not offer cPanel and does not provide the same conventional managed-server relationship. Liquid Web is the stronger fit when infrastructure control, migration help, and an experienced server support team matter more than the lowest monthly bill.</p><h2 class="article-body__section" id="section-liquid-web-final-verdict"><span>Liquid Web: Final verdict</span></h2><p>Liquid Web remains one of the best choices for businesses that need a serious VPS rather than a cheap hosting account. Its benchmark results are excellent, its server configurations are flexible, and its support team gives specific, technically useful answers. Those strengths justify its position as our best VPS host overall for demanding sites, agencies, and customers who value managed infrastructure.</p><p>It is not the best-value option for everyone. The $11 entry server is a bare self-managed configuration, the website still shows a discontinued $5 offer, Cloud VPS purchases are generally non-refundable, and a representative managed configuration can exceed $100 once cPanel and backups are included. Beginners with one modest WordPress site should consider the managed WordPress range or a conventional shared host instead.</p><p>Choose Liquid Web when performance, configuration freedom, migration assistance, and capable support are worth paying for. Choose ScalaHosting or Cloudways when easier entry pricing matters more. Liquid Web earns four stars because its premium experience is convincing, but its pricing needs to be read all the way through the configurator rather than judged by the headline figure.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Tales of Eternia Remastered review: a real blast from the past ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Back in 2000, Bandai Namco published the third game in the beloved Tales series, <em>Tales of Eternia</em>. It was received very well at launch, being praised for its high-octane action combat, charming cast, and humorous script — though the Western versions on the original PlayStation and PSP were held back by their omission of skits (character-driven dialogue scenes) and slightly subpar voice acting. But now, <em>Tales of Eternia Remastered </em>— developed by TOSE Co. — is here, aiming to remedy these issues and refine the game for a modern audience.</p><div  class="fancy-box"><div class="fancy_box-title">Review info</div><div class="fancy_box_body"><p class="fancy-box__body-text"><strong>Platform reviewed: </strong>Nintendo Switch 2<br /><strong>Available on: </strong>PS5, PS4, Xbox Series X and Series S, Nintendo Switch 2, Nintendo Switch<br /><strong>Release date: </strong>October 16, 2026</p></div></div><p>I’ve spent just north of 30 hours with <em>Tales of Eternia Remastered</em>, playing through the main story, completing side quests, and exploring the realms of Inferia and Celestia. </p><p>So, how effectively does this remaster bring a JRPG classic into the modern era? And is it truly worth playing? Here’s my verdict.</p><h2 id="gimme-a-boost">Gimme a Boost!</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="GS7vPxKt8f5iFCZ2PXDfHT" name="tales-of-eternia-remastered (12)" alt="Skit sequence in Tales of Eternia Remastered" src="https://cdn.mos.cms.futurecdn.net/GS7vPxKt8f5iFCZ2PXDfHT-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Bandai Namco)</span></figcaption></figure><p>I’ll speak about the core <em>Tales of Eternia </em>experience in good time, but it only seems right to discuss the new stuff that this remaster brings to the table first.</p><p>Arguably the main thing is the inclusion of Boost Function. This enables you to tailor your experience to your specific wants and needs, with highlights including a random encounter toggle, difficulty options, an increased item capacity setting, and an EXP gain adjuster. </p><p>My personal favorite feature was the option to restore TP (which you consume when using skills) when camping, which made grinding feel a lot more fluid and easier to manage. </p><p>The Boost Function suite is filled to the brim, and really helps to make the title more approachable for newcomers. My only real complaint here is that I would’ve loved the option to map a function — such as disabling enemy encounters — to one of the buttons on my <a href="https://www.techradar.com/gaming/nintendo/nintendo-switch-2-review">Nintendo Switch 2</a>. Having to open the main menu, go into the Customize Section, and then the Boost Function felt a touch clunky.</p><div  class="fancy-box"><div class="fancy_box-title">Best bit</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="WzMHhrAmDHrCgQUkStG3fT" name="tales-of-eternia-remastered (7)" caption="" alt="Characters and Greater Craymels talk in Tales of Eternia Remastered" src="https://cdn.mos.cms.futurecdn.net/WzMHhrAmDHrCgQUkStG3fT-1920-80.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: Bandai Namco)</span></figcaption></figure><p class="fancy-box__body-text"><strong>Defeating the Greater Craymel, Celsius, was by far one of the most rewarding moments for me. She was giving me a lot of trouble by evading my Artes and freezing my healers into submission, but after switching up my formation and strategy, I was able to best her in a true battle for the ages.</strong></p></div></div><p>There’s a lot more to uncover, though. For instance, you can switch between remastered and original graphics and sound effects, which is sure to satisfy newcomers and long-time fans.</p><p>The visual enhancements are relatively light overall. This isn’t a transformative overhaul, and some environments still look a little rough around the edges. But still, the remaster does illuminate some previously obscured details. As you can see in the images below, detailing on the statues is far more intricate, and foliage looks sharper in the remastered graphics mode. And while some may prefer the original pixel sprites, I think the remaster does a good job of cleaning them up a bit while keeping them faithful to the original artwork.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/CgXKvMLHMAwXN3eg7MVrvS-1920-80.jpg" alt="Reid in Tales of Eternia Remastered (original graphics)" /><figcaption>Original graphics mode<small role="credit">Bandai Namco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ti3KtYVV2aGSw3sSsdfp3T-1920-80.jpg" alt="Reid in Tales of Eternia Remastered (remastered graphics)" /><figcaption>Remastered graphics mode<small role="credit">Bandai Namco</small></figcaption></figure></figure><p>While we’re on the topic of visuals, I unfortunately have a complaint to make: the cutscenes look pretty poor. They’ve been placed into widescreen, and it looks as if a filter has been applied; the results are underwhelming — characters and backgrounds lack clarity and definition, laying bare the limitations of the original material.</p><p>That’s a nitpick, of course, and most elements of this remaster still hit the spot. For example, the newly recorded English voice acting is great, and each character’s personality shines through perfectly. Skits are finally here in the West, too, providing plenty of humorous and emotional moments when camping or resting.</p><p>Objective icons are also introduced, which point you in the direction of the main story objective or side quests. I really appreciated this, especially as I didn’t want to miss out on side content, but if you want to figure everything out for yourself, you can swiftly switch it off in the Customize menu.</p><h2 id="an-underrated-classic-reborn">An underrated classic, reborn</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="Qfm4V9JpoTGAs5yUZNGjzT" name="tales-of-eternia-remastered (9)" alt="Efreet unleashes an attack in Tales of Eternia Remastered" src="https://cdn.mos.cms.futurecdn.net/Qfm4V9JpoTGAs5yUZNGjzT-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Bandai Namco)</span></figcaption></figure><p>So, while it’s not flawless, the remaster of this title is solid overall and successfully makes this classic more palatable for modern audiences. But just how fun is the core game in the big 2026?</p><p>I’ll lay my cards on the table: I had a spectacular time with <em>Tales of Eternia Remastered</em>. This was actually my first time playing the game — after all, I wasn’t even born when it was initially released. In spite of that, there was something so nostalgic about it, the warm, charming world and excellent cast totally captured my attention, and I found myself pouring countless hours into the game every single day.</p><p>Something that stood out for me was the writing. Yes, the main narrative is nothing special — the world is in danger, and a group of young heroes needs to defy the odds to save everybody. But it’s the characters that make this experience so special. </p><p>For the most part, you'll spend your time with four key heroes. Reid is a reluctant protagonist who seems to be dragged into the chaos at every turn, Farah is a contemplative, complex young woman learning herself as the story unfolds, Keele is a stuck-up academic type who delivers some hilarious moments, and Meredy is a caring and curious foreign stranger who the crew slowly begins to understand in their quest to prevent disaster. </p><p>The cast isn’t weighed down by the tired tropes and lazy writing that a lot of JRPGs faced at the time, and each party member is highly memorable.</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="aanC8JWpfwHqfupLhPk8CT" name="tales-of-eternia-remastered (1)" alt="Characters meet strange creatures in Tales of Eternia Remastered" src="https://cdn.mos.cms.futurecdn.net/aanC8JWpfwHqfupLhPk8CT-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Bandai Namco)</span></figcaption></figure><p>But how about the actual gameplay? Well, the combat is pretty unique. It manifests in the form of a fighter-RPG hybrid, with a large focus on reactive action-based commands. While the combat certainly takes some getting used to and the movement can feel a little janky at times, battling your foes feels incredibly addictive. Chaining Artes together to deliver devastating combos and tinkering with formations or skills to get past tough boss battles is highly rewarding, and even random encounters gave me huge satisfaction. </p><p>The game is undoubtedly challenging, but delivering a finishing blow makes your struggle feel worth it. And if you do fall to your foes, a retry battle option is at hand to dive right back into the action.</p><p>There’s not too much grinding required, either. I kept random encounters on for the vast majority of my playthrough, and that gave me plenty of experience for big boss fights. If you do want to grab some extra experience, though, you can switch Auto mode on and have your team fight for you, helping you avoid same-y skirmishes.</p><p>Outside of battle, things are decent too. You can explore the world for items and treasure to bolster your stats, venture into shops to grab stronger gear, and even take on a few minigames. Exploration is highly gratifying as well, and you’ll often find weapons that come in handy for specific areas or recipes that restore your HP or TP when you’re running low. </p><p>A small complaint I have, though, is that movement feels clunky in the overworld. You need to be very precise if you want to move diagonally, and dragging items like statues could feel a bit awkward at times. This is still a relatively minor issue overall, but in tighter areas, the old-school movement did cause me some minor frustration. </p><p>I also have to say that the minigames, in general, are pretty bad. They typically control fine, but don’t feel very fun to play at all. Luckily, you can skip these if you’d prefer, which I often did. It was cool to see mouse mode integration for minigames on Nintendo Switch 2, though, which worked a treat in my experience. </p><p>Speaking of my experience on Switch 2, let’s take a moment to talk about performance. <em>Tales of Eternia Remastered</em> runs in 4K when playing docked and 1080p in handheld, with smooth 60fps across both modes — perhaps to be expected for a less demanding title like this. I didn’t notice any technical hiccups or frame drops during my whole playthrough, so Switch 2 is certainly a top-tier destination for this remaster. </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="MQZyn5ZpgREE5zUtVtXhnT" name="tales-of-eternia-remastered (2)" alt="Reid and Farah battle some foes in Tales of Eternia Remastered" src="https://cdn.mos.cms.futurecdn.net/MQZyn5ZpgREE5zUtVtXhnT-1920-80.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: Bandai Namco)</span></figcaption></figure><p>So let’s address those questions I posed in the intro. Is <em>Tales of Eternia Remastered </em>a worthy modern take on this classic entry? For me, the answer is yes. </p><p>Some things could’ve been better: the visual enhancements are relatively light, cutscenes look a bit underwhelming, and I would’ve liked a shortcut button for disabling enemy encounters. But the Boost Function provides so much flexibility, the new English dub is great, and the ability to retry battles in an instant keeps the game's pace feeling fast and fluid.</p><p>And at a core level, this is a great game with a lot to offer, in spite of a few dated elements. The combat, while very much of its time, remains fun and surprisingly strategic; the cast is highly memorable, with skits adding some welcome depth, and exploration is rewarding too. </p><p>All in all, I had a blast with <em>Tales of Eternia Remastered</em>, and JRPG fanatics are sure to find a lot to love here.</p><h2 id="should-you-play-tales-of-eternia-remastered">Should you play Tales of Eternia Remastered?</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="yTo5qXjH63iwk9zUYraKUT" name="tales-of-eternia-remastered (3)" alt="Two characters sit on top of a roof in Tales of Eternia Remastered" src="https://cdn.mos.cms.futurecdn.net/yTo5qXjH63iwk9zUYraKUT-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Bandai Namco)</span></figcaption></figure><h2 id="play-it-if-2">Play it if...</h2><div class="product"><p><strong>You appreciate a challenge</strong><br /><em>Tales of Eternia</em> is a fairly challenging game, with some daunting boss fights scattered throughout the experience. I had to retry a fair few times when battling against the mightiest foes, but there’s even a hard and extreme mode if you truly want to test yourself.</p></div><div class="product"><p><strong>You want to play a JRPG that doesn’t overstay its welcome</strong><br />As a huge JRPG fan, I know that this genre has a tendency to demand an awful lot of your time. But <em>Tales of Eternia </em>hits a real sweet spot. It takes around 25-30 hours to finish (unless you’re a true completionist), and is well-paced throughout, making it a far more approachable title than a lot of other games in this space.</p></div><h2 id="don-39-t-play-it-if-2">Don't play it if...</h2><div class="product"><p><strong>You’re expecting a modern Tales experience</strong><br /><em>Tales of Eternia Remastered</em> remains very faithful to the original, and you’re still getting that 2D action-based combat of yesteryear. It’s not as fluid and free-flowing as modern Tales combat systems, so if that’s what you’re after, it may be worth looking elsewhere.</p></div><div class="product"><p><strong>You want top-tier visuals</strong><br />Of course, this is a remaster rather than a remake, so this entry isn't aiming to supply a striking visual overhaul. Even still, the visuals are a bit of a mixed bag; the cutscenes aren’t handled very well, and the in-game graphical enhancements, while decent, aren’t exactly transformative.</p></div><h2 id="accessibility-features-2">Accessibility features</h2><p>There are a number of ways to customize your experience in <em>Tales of Eternia Remastered</em>. You can turn subtitles on or off, choose to auto-advance text, remap buttons to suit your preferences, and alter difficulty. While there’s no colorblind mode, in-game elements that previously required color-based identification have been redesigned around visual elements unrelated to color.</p><h2 id="how-i-reviewed-tales-of-eternia-remastered">How I reviewed Tales of Eternia Remastered</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="29JTQiZWPMUxUciCM7h2MT" name="tales-of-eternia-remastered (10)" alt="Characters play a card game in Tales of Eternia Remastered" src="https://cdn.mos.cms.futurecdn.net/29JTQiZWPMUxUciCM7h2MT-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Bandai Namco)</span></figcaption></figure><p>I spent just over 30 hours with <em>Tales of Eternia Remastered</em>, during which time I played through the main story, completed a handful of side quests, and tried out all of the various Boost Function features.</p><p>For the most part, I played the game in docked mode, with my Nintendo Switch 2 hooked up to the <a href="https://www.techradar.com/televisions/sky-glass-gen-2-review">Sky Glass Gen 2</a> TV and <a href="https://www.techradar.com/televisions/soundbars/marshall-heston-120-review">Marshall Heston 120</a> soundbar. However, I did dip into handheld mode from time to time, and used the <a href="https://www.techradar.com/audio/earbuds-airpods/sennheiser-cx-80u-review">Sennheiser CX 80U</a> wired earbuds to enjoy in-game audio.</p><p>More generally, I’ve covered a huge array of games here at TechRadar, where I serve as a Senior Reviews Writer. I’ve reviewed a number of JRPGs, including <a href="https://www.techradar.com/gaming/trails-in-the-sky-2nd-chapter-review"><em>Trails in the Sky 2nd Chapter</em></a><em> </em>and <a href="https://www.techradar.com/gaming/dragon-quest-i-ii-hd-2d-remake-review"><em>Dragon Quest I &amp; II HD-2D Remake</em></a>, as well as Switch 2 exclusives such as <a href="https://www.techradar.com/gaming/fire-emblem-fortunes-weave-review"><em>Fire Emblem: Fortune’s Weave</em></a><em> </em>and <a href="https://www.techradar.com/gaming/nintendo-switch-sports-resort-review"><em>Nintendo Switch Sports Resort</em></a>.</p><p><em>First reviewed October 2026</em></p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/gaming/tales-of-eternia-remastered-review</link>
                                                                            <description>
                            <![CDATA[ Tales of Eternia Remastered may not be perfect, but its fast-paced action and strong quality of life updates ensure that its still a hit. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">hmBtRuVcUktD3Ao3BAnWfa</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/TUbHRQfjbwfJaFCeQJGNGS-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 01 Nov 2026 16:00:00 +0000</pubDate>                                                                                                                                <updated>Mon, 02 Nov 2026 10:15:26 +0000</updated>
                                                                                                                                            <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ harry.padoan@futurenet.com (Harry Padoan) ]]></author>                    <dc:creator><![CDATA[ Harry Padoan ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/995EkuqRKUTUjvMk7ataFi-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Harry is a Senior Reviews Writer for TechRadar. He reviews everything from party speakers to wall chargers and has a particular interest in the worlds of audio and gaming.&lt;/p&gt;&lt;p&gt;Prior to joining TechRadar, Harry was a journalist covering stories from the telecoms industry, drilling into areas such as innovation, acquisitions, and sustainability.&lt;/p&gt;&lt;p&gt;When he isn’t testing the newest tech, Harry can probably be found listening to deep house, playing JRPGs, or watching his beloved Tottenham Hotspur.&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/TUbHRQfjbwfJaFCeQJGNGS-1920-80.jpg">
                                                            <media:credit><![CDATA[Bandai Namco]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Characters stand in front of a cave in Tales of Eternia Remastered]]></media:description>                                                            <media:text><![CDATA[Characters stand in front of a cave in Tales of Eternia Remastered]]></media:text>
                                <media:title type="plain"><![CDATA[Characters stand in front of a cave in Tales of Eternia Remastered]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/TUbHRQfjbwfJaFCeQJGNGS-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Back in 2000, Bandai Namco published the third game in the beloved Tales series, <em>Tales of Eternia</em>. It was received very well at launch, being praised for its high-octane action combat, charming cast, and humorous script — though the Western versions on the original PlayStation and PSP were held back by their omission of skits (character-driven dialogue scenes) and slightly subpar voice acting. But now, <em>Tales of Eternia Remastered </em>— developed by TOSE Co. — is here, aiming to remedy these issues and refine the game for a modern audience.</p><div  class="fancy-box"><div class="fancy_box-title">Review info</div><div class="fancy_box_body"><p class="fancy-box__body-text"><strong>Platform reviewed: </strong>Nintendo Switch 2<br /><strong>Available on: </strong>PS5, PS4, Xbox Series X and Series S, Nintendo Switch 2, Nintendo Switch<br /><strong>Release date: </strong>October 16, 2026</p></div></div><p>I’ve spent just north of 30 hours with <em>Tales of Eternia Remastered</em>, playing through the main story, completing side quests, and exploring the realms of Inferia and Celestia. </p><p>So, how effectively does this remaster bring a JRPG classic into the modern era? And is it truly worth playing? Here’s my verdict.</p><h2 id="gimme-a-boost">Gimme a Boost!</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="GS7vPxKt8f5iFCZ2PXDfHT" name="tales-of-eternia-remastered (12)" alt="Skit sequence in Tales of Eternia Remastered" src="https://cdn.mos.cms.futurecdn.net/GS7vPxKt8f5iFCZ2PXDfHT-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Bandai Namco)</span></figcaption></figure><p>I’ll speak about the core <em>Tales of Eternia </em>experience in good time, but it only seems right to discuss the new stuff that this remaster brings to the table first.</p><p>Arguably the main thing is the inclusion of Boost Function. This enables you to tailor your experience to your specific wants and needs, with highlights including a random encounter toggle, difficulty options, an increased item capacity setting, and an EXP gain adjuster. </p><p>My personal favorite feature was the option to restore TP (which you consume when using skills) when camping, which made grinding feel a lot more fluid and easier to manage. </p><p>The Boost Function suite is filled to the brim, and really helps to make the title more approachable for newcomers. My only real complaint here is that I would’ve loved the option to map a function — such as disabling enemy encounters — to one of the buttons on my <a href="https://www.techradar.com/gaming/nintendo/nintendo-switch-2-review">Nintendo Switch 2</a>. Having to open the main menu, go into the Customize Section, and then the Boost Function felt a touch clunky.</p><div  class="fancy-box"><div class="fancy_box-title">Best bit</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="WzMHhrAmDHrCgQUkStG3fT" name="tales-of-eternia-remastered (7)" caption="" alt="Characters and Greater Craymels talk in Tales of Eternia Remastered" src="https://cdn.mos.cms.futurecdn.net/WzMHhrAmDHrCgQUkStG3fT-1920-80.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: Bandai Namco)</span></figcaption></figure><p class="fancy-box__body-text"><strong>Defeating the Greater Craymel, Celsius, was by far one of the most rewarding moments for me. She was giving me a lot of trouble by evading my Artes and freezing my healers into submission, but after switching up my formation and strategy, I was able to best her in a true battle for the ages.</strong></p></div></div><p>There’s a lot more to uncover, though. For instance, you can switch between remastered and original graphics and sound effects, which is sure to satisfy newcomers and long-time fans.</p><p>The visual enhancements are relatively light overall. This isn’t a transformative overhaul, and some environments still look a little rough around the edges. But still, the remaster does illuminate some previously obscured details. As you can see in the images below, detailing on the statues is far more intricate, and foliage looks sharper in the remastered graphics mode. And while some may prefer the original pixel sprites, I think the remaster does a good job of cleaning them up a bit while keeping them faithful to the original artwork.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/CgXKvMLHMAwXN3eg7MVrvS-1920-80.jpg" alt="Reid in Tales of Eternia Remastered (original graphics)" /><figcaption>Original graphics mode<small role="credit">Bandai Namco</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ti3KtYVV2aGSw3sSsdfp3T-1920-80.jpg" alt="Reid in Tales of Eternia Remastered (remastered graphics)" /><figcaption>Remastered graphics mode<small role="credit">Bandai Namco</small></figcaption></figure></figure><p>While we’re on the topic of visuals, I unfortunately have a complaint to make: the cutscenes look pretty poor. They’ve been placed into widescreen, and it looks as if a filter has been applied; the results are underwhelming — characters and backgrounds lack clarity and definition, laying bare the limitations of the original material.</p><p>That’s a nitpick, of course, and most elements of this remaster still hit the spot. For example, the newly recorded English voice acting is great, and each character’s personality shines through perfectly. Skits are finally here in the West, too, providing plenty of humorous and emotional moments when camping or resting.</p><p>Objective icons are also introduced, which point you in the direction of the main story objective or side quests. I really appreciated this, especially as I didn’t want to miss out on side content, but if you want to figure everything out for yourself, you can swiftly switch it off in the Customize menu.</p><h2 id="an-underrated-classic-reborn">An underrated classic, reborn</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="Qfm4V9JpoTGAs5yUZNGjzT" name="tales-of-eternia-remastered (9)" alt="Efreet unleashes an attack in Tales of Eternia Remastered" src="https://cdn.mos.cms.futurecdn.net/Qfm4V9JpoTGAs5yUZNGjzT-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Bandai Namco)</span></figcaption></figure><p>So, while it’s not flawless, the remaster of this title is solid overall and successfully makes this classic more palatable for modern audiences. But just how fun is the core game in the big 2026?</p><p>I’ll lay my cards on the table: I had a spectacular time with <em>Tales of Eternia Remastered</em>. This was actually my first time playing the game — after all, I wasn’t even born when it was initially released. In spite of that, there was something so nostalgic about it, the warm, charming world and excellent cast totally captured my attention, and I found myself pouring countless hours into the game every single day.</p><p>Something that stood out for me was the writing. Yes, the main narrative is nothing special — the world is in danger, and a group of young heroes needs to defy the odds to save everybody. But it’s the characters that make this experience so special. </p><p>For the most part, you'll spend your time with four key heroes. Reid is a reluctant protagonist who seems to be dragged into the chaos at every turn, Farah is a contemplative, complex young woman learning herself as the story unfolds, Keele is a stuck-up academic type who delivers some hilarious moments, and Meredy is a caring and curious foreign stranger who the crew slowly begins to understand in their quest to prevent disaster. </p><p>The cast isn’t weighed down by the tired tropes and lazy writing that a lot of JRPGs faced at the time, and each party member is highly memorable.</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="aanC8JWpfwHqfupLhPk8CT" name="tales-of-eternia-remastered (1)" alt="Characters meet strange creatures in Tales of Eternia Remastered" src="https://cdn.mos.cms.futurecdn.net/aanC8JWpfwHqfupLhPk8CT-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Bandai Namco)</span></figcaption></figure><p>But how about the actual gameplay? Well, the combat is pretty unique. It manifests in the form of a fighter-RPG hybrid, with a large focus on reactive action-based commands. While the combat certainly takes some getting used to and the movement can feel a little janky at times, battling your foes feels incredibly addictive. Chaining Artes together to deliver devastating combos and tinkering with formations or skills to get past tough boss battles is highly rewarding, and even random encounters gave me huge satisfaction. </p><p>The game is undoubtedly challenging, but delivering a finishing blow makes your struggle feel worth it. And if you do fall to your foes, a retry battle option is at hand to dive right back into the action.</p><p>There’s not too much grinding required, either. I kept random encounters on for the vast majority of my playthrough, and that gave me plenty of experience for big boss fights. If you do want to grab some extra experience, though, you can switch Auto mode on and have your team fight for you, helping you avoid same-y skirmishes.</p><p>Outside of battle, things are decent too. You can explore the world for items and treasure to bolster your stats, venture into shops to grab stronger gear, and even take on a few minigames. Exploration is highly gratifying as well, and you’ll often find weapons that come in handy for specific areas or recipes that restore your HP or TP when you’re running low. </p><p>A small complaint I have, though, is that movement feels clunky in the overworld. You need to be very precise if you want to move diagonally, and dragging items like statues could feel a bit awkward at times. This is still a relatively minor issue overall, but in tighter areas, the old-school movement did cause me some minor frustration. </p><p>I also have to say that the minigames, in general, are pretty bad. They typically control fine, but don’t feel very fun to play at all. Luckily, you can skip these if you’d prefer, which I often did. It was cool to see mouse mode integration for minigames on Nintendo Switch 2, though, which worked a treat in my experience. </p><p>Speaking of my experience on Switch 2, let’s take a moment to talk about performance. <em>Tales of Eternia Remastered</em> runs in 4K when playing docked and 1080p in handheld, with smooth 60fps across both modes — perhaps to be expected for a less demanding title like this. I didn’t notice any technical hiccups or frame drops during my whole playthrough, so Switch 2 is certainly a top-tier destination for this remaster. </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="MQZyn5ZpgREE5zUtVtXhnT" name="tales-of-eternia-remastered (2)" alt="Reid and Farah battle some foes in Tales of Eternia Remastered" src="https://cdn.mos.cms.futurecdn.net/MQZyn5ZpgREE5zUtVtXhnT-1920-80.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: Bandai Namco)</span></figcaption></figure><p>So let’s address those questions I posed in the intro. Is <em>Tales of Eternia Remastered </em>a worthy modern take on this classic entry? For me, the answer is yes. </p><p>Some things could’ve been better: the visual enhancements are relatively light, cutscenes look a bit underwhelming, and I would’ve liked a shortcut button for disabling enemy encounters. But the Boost Function provides so much flexibility, the new English dub is great, and the ability to retry battles in an instant keeps the game's pace feeling fast and fluid.</p><p>And at a core level, this is a great game with a lot to offer, in spite of a few dated elements. The combat, while very much of its time, remains fun and surprisingly strategic; the cast is highly memorable, with skits adding some welcome depth, and exploration is rewarding too. </p><p>All in all, I had a blast with <em>Tales of Eternia Remastered</em>, and JRPG fanatics are sure to find a lot to love here.</p><h2 id="should-you-play-tales-of-eternia-remastered">Should you play Tales of Eternia Remastered?</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="yTo5qXjH63iwk9zUYraKUT" name="tales-of-eternia-remastered (3)" alt="Two characters sit on top of a roof in Tales of Eternia Remastered" src="https://cdn.mos.cms.futurecdn.net/yTo5qXjH63iwk9zUYraKUT-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Bandai Namco)</span></figcaption></figure><h2 id="play-it-if-2">Play it if...</h2><div class="product"><p><strong>You appreciate a challenge</strong><br /><em>Tales of Eternia</em> is a fairly challenging game, with some daunting boss fights scattered throughout the experience. I had to retry a fair few times when battling against the mightiest foes, but there’s even a hard and extreme mode if you truly want to test yourself.</p></div><div class="product"><p><strong>You want to play a JRPG that doesn’t overstay its welcome</strong><br />As a huge JRPG fan, I know that this genre has a tendency to demand an awful lot of your time. But <em>Tales of Eternia </em>hits a real sweet spot. It takes around 25-30 hours to finish (unless you’re a true completionist), and is well-paced throughout, making it a far more approachable title than a lot of other games in this space.</p></div><h2 id="don-39-t-play-it-if-2">Don't play it if...</h2><div class="product"><p><strong>You’re expecting a modern Tales experience</strong><br /><em>Tales of Eternia Remastered</em> remains very faithful to the original, and you’re still getting that 2D action-based combat of yesteryear. It’s not as fluid and free-flowing as modern Tales combat systems, so if that’s what you’re after, it may be worth looking elsewhere.</p></div><div class="product"><p><strong>You want top-tier visuals</strong><br />Of course, this is a remaster rather than a remake, so this entry isn't aiming to supply a striking visual overhaul. Even still, the visuals are a bit of a mixed bag; the cutscenes aren’t handled very well, and the in-game graphical enhancements, while decent, aren’t exactly transformative.</p></div><h2 id="accessibility-features-2">Accessibility features</h2><p>There are a number of ways to customize your experience in <em>Tales of Eternia Remastered</em>. You can turn subtitles on or off, choose to auto-advance text, remap buttons to suit your preferences, and alter difficulty. While there’s no colorblind mode, in-game elements that previously required color-based identification have been redesigned around visual elements unrelated to color.</p><h2 id="how-i-reviewed-tales-of-eternia-remastered">How I reviewed Tales of Eternia Remastered</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="29JTQiZWPMUxUciCM7h2MT" name="tales-of-eternia-remastered (10)" alt="Characters play a card game in Tales of Eternia Remastered" src="https://cdn.mos.cms.futurecdn.net/29JTQiZWPMUxUciCM7h2MT-1920-80.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Bandai Namco)</span></figcaption></figure><p>I spent just over 30 hours with <em>Tales of Eternia Remastered</em>, during which time I played through the main story, completed a handful of side quests, and tried out all of the various Boost Function features.</p><p>For the most part, I played the game in docked mode, with my Nintendo Switch 2 hooked up to the <a href="https://www.techradar.com/televisions/sky-glass-gen-2-review">Sky Glass Gen 2</a> TV and <a href="https://www.techradar.com/televisions/soundbars/marshall-heston-120-review">Marshall Heston 120</a> soundbar. However, I did dip into handheld mode from time to time, and used the <a href="https://www.techradar.com/audio/earbuds-airpods/sennheiser-cx-80u-review">Sennheiser CX 80U</a> wired earbuds to enjoy in-game audio.</p><p>More generally, I’ve covered a huge array of games here at TechRadar, where I serve as a Senior Reviews Writer. I’ve reviewed a number of JRPGs, including <a href="https://www.techradar.com/gaming/trails-in-the-sky-2nd-chapter-review"><em>Trails in the Sky 2nd Chapter</em></a><em> </em>and <a href="https://www.techradar.com/gaming/dragon-quest-i-ii-hd-2d-remake-review"><em>Dragon Quest I &amp; II HD-2D Remake</em></a>, as well as Switch 2 exclusives such as <a href="https://www.techradar.com/gaming/fire-emblem-fortunes-weave-review"><em>Fire Emblem: Fortune’s Weave</em></a><em> </em>and <a href="https://www.techradar.com/gaming/nintendo-switch-sports-resort-review"><em>Nintendo Switch Sports Resort</em></a>.</p><p><em>First reviewed October 2026</em></p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Meaco Sefte Tower Fan 19-inch review: an excellent yet affordable way to chill out ]]></title>
                                                                                                <dc:content><![CDATA[ <h2 class="article-body__section" id="section-meaco-sefte-tower-fan-19-inch-review"><span>Meaco Sefte Tower Fan 19-inch review</span></h2><p>In 2026, we experienced a record-hot summer in the UK, as did a lot of other countries around the world. As a result, people were rushing online to pick up a new fan to prevent themselves from struggling with the intense heat. But for many, their efforts were in vain: mass shortages shocked the nation, leaving many struggling to cool down. </p><p>As a result, it may be well worth grabbing a fan sooner rather than later, in order to avoid potential shortages that could hit consumers in 2027. And I’ve just tested a new fan that I consider to be a top option for dealing with scorching temperatures, the Meaco Sefte Tower Fan 19-inch.</p><p>Like a lot of the <a href="https://www.techradar.com/best/best-fans">best fans</a>, this Meaco model offers a wide variety of power modes that can suit any situation. There are 12 power levels to be exact, with the lowest providing a subtle yet satisfying breeze, and the highest delivering a mighty, ultra-cool blast. I found performance to be consistently strong across all power levels, with strong coverage from the top to the base of the model.</p><p>What’s more, this tower fan is a fairly quiet operator. While not quite silent at lower levels, you’ll only hear a very light whirring noise, which is ideal if you like to keep the fan on while falling asleep. It has to be said, though, that as you ascend into the upper tiers of power, the fan does make a fair bit of noise. There’s a slight hissing sound, and the gust of wind naturally comes through with considerable impact. This is understandable, however, at the top level, and the fan is otherwise softly spoken.</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="si7NpbWcuJcuPXBbTzJKAV" name="Meaco_SefteFan19inch_005.JPG" alt="Display on the Meaco Sefte Tower Fan 19-inch" src="https://cdn.mos.cms.futurecdn.net/si7NpbWcuJcuPXBbTzJKAV-1920-80.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>Something that I really liked about the Meaco Sefte Tower Fan is its wide coverage. It can oscillate 180 degrees horizontally, making it a great choice if you want to cool everyone on your couch, for instance. It doesn’t oscillate up and down, but as a tower fan it already offers plenty of vertical coverage.</p><p>One more thing that makes this fan a hit is its excellent ease-of-use. It comes with a remote, but also has built-in touch controls that were perfectly responsive for me when testing. You can use the touch controls to turn the fan on or off, adjust power levels, control oscillation, and set a timer. There’s also a button that enables you to switch modes between Standard, Night (which mutes interface audio and gradually brings the fan’s speed down), and Eco (which automatically adjusts fan speed depending on room temperature).</p><p>The only thing that potentially holds the user experience back is the lack of a companion app. This fan has no Wi-Fi capabilities or companion software, meaning that you’ll have to stick with the remote or touch controls. Given this model’s relatively modest price, this sacrifice is understandable, but I would’ve liked the option to control the fan from my phone.</p><p>You won’t have to make too many sacrifices with this fan overall, though. Yes, its plasticky build doesn’t exactly scream premium, but it’s slim, meaning it won’t take up too much space on your table or desk, and feels relatively durable too. It’s also easy to take apart for cleaning or maintenance, and I liked the display on the fan that shows room temperature.</p><p>So, is the Meaco Sefte Tower Fan 19-inch worth the money? At £69.99 (about $90 / AU$130), I think the answer is yes. You’re not getting premium features like misting and app support but, for the price, you get adaptable and impressive performance, strong coverage, and tight touch controls, which make it ideal for using on a hot summer’s day. If you need misting, or just want to check out some strong alternatives, though, make sure to head down to the ‘also consider’ section.</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="nRuxiSDVZ9wK2pzoPUhhwU" name="Meaco_SefteFan19inch_012.JPG" alt="Touch controls on the Meaco Sefte Tower Fan 19-inch" src="https://cdn.mos.cms.futurecdn.net/nRuxiSDVZ9wK2pzoPUhhwU-1920-80.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><h2 class="article-body__section" id="section-meaco-sefte-tower-fan-19-inch-review-price-release-date"><span>Meaco Sefte Tower Fan 19-inch review: price &amp; release date</span></h2><ul><li><strong>Priced at £69.99 (about $90 / AU$130)</strong></li><li><strong>Released in August 2026</strong></li></ul><p>The Meaco Sefte Tower Fan 19-inch was released in August 2026 alongside the larger Meaco Sefte Tower Fan 36-inch. It can be purchased in the UK and select European markets, but is not directly solid in the US or Australia. This tower fan will set you back £69.99 (about $90 / AU$130), making it a relatively budget-friendly option for its size, coverage, and quality.</p><h2 class="article-body__section" id="section-meaco-sefte-tower-fan-19-inch-review-specs"><span>Meaco Sefte Tower Fan 19-inch review: specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p>Speeds</p></td><td  ><p>12</p></td></tr><tr><td class="firstcol " ><p>Oscillation</p></td><td  ><p>180 degrees horizontal</p></td></tr><tr><td class="firstcol " ><p>Weight</p></td><td  ><p>5.5lbs / 2.5kg</p></td></tr><tr><td class="firstcol " ><p>Dimensions</p></td><td  ><p>19.3 x 6.5 x 7.1 inches / 490 x 165 x 180mm</p></td></tr><tr><td class="firstcol " ><p>Control</p></td><td  ><p>Touch</p></td></tr><tr><td class="firstcol " ><p>Timer</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p>Modes</p></td><td  ><p>Normal, Night, Eco</p></td></tr></tbody></table></div><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="v6bczQFkLLBbPVfSLyzE6W" name="Meaco_SefteFan19inch_007.JPG" alt="Remote control for the Meaco Sefte Tower Fan 19-inch" src="https://cdn.mos.cms.futurecdn.net/v6bczQFkLLBbPVfSLyzE6W-1920-80.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><h2 class="article-body__section" id="section-should-i-buy-the-meaco-sefte-tower-fan-19-inch"><span>Should I buy the Meaco Sefte Tower Fan 19-inch?</span></h2><div ><table><thead><tr><th class="firstcol " ><p><strong>Attribute</strong></p></th><th  ><p><strong>Notes</strong></p></th><th  ><p><strong>Score</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Features</p></td><td  ><p>12 speeds, a handful of modes, no app control or fancy features like misting.</p></td><td  ><p>3.5/5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>Powerful performance, wide oscillation, generally quiet outside of top speed levels.</p></td><td  ><p>4/5</p></td></tr><tr><td class="firstcol " ><p>Design</p></td><td  ><p>A bit plasticky, but slim, great controls and ease of use.</p></td><td  ><p>4/5</p></td></tr><tr><td class="firstcol " ><p>Value</p></td><td  ><p>A good quality fan that’s available at a tempting, modest price-point.</p></td><td  ><p>4.5/5</p></td></tr></tbody></table></div><h2 id="buy-it-if-8">Buy it if…</h2><div class="product"><p><strong>You’re looking for a quiet operator</strong><br />When using a fan at night, the last thing you want to be subjected to is a loud whirring noise. But luckily, this Meaco fan is a quiet operator, and will keep you chilled without making a racket — so long as you’re not using it at the top power levels. </p></div><div class="product"><p><strong>You need wide coverage</strong><br />If you want to keep the whole family cool, this fan is a top option. It can oscillate 180 degrees horizontally, meaning everyone on the couch will get some of that sweet cold air.</p></div><h2 id="don-t-buy-it-if-3">Don’t buy it if…</h2><div class="product"><p><strong>You need misting</strong><br />This model doesn’t have any misting capabilities, so you won’t get that extra chill when using it. If you want mess-free misting, be sure to check out some of my recommendations in the ‘also consider’ section.</p></div><div class="product"><p><strong>You’d like app controls</strong><br />As one of the more budget-friendly options in its size-class, the Meaco Sefte Tower Fan cuts back in a few areas here and there. One of those is the lack of Wi-Fi and app support, so if you’re looking for smart-home integrations, it may be better to look elsewhere.</p></div><h2 class="article-body__section" id="section-meaco-sefte-tower-fan-19-inch-review-also-consider"><span>Meaco Sefte Tower Fan 19-inch review: also consider</span></h2><div class="product"><p><strong>Dreo Smart Misting Fan 516S</strong><br />This is the fan I use at home and I absolutely love it. It produces fine, mess-free mist with ultra-cool winds, the water tank depletes fairly slowly, and it can be controlled via an easy-to-use app. It’s not quite as big as this Meaco fan, and doesn’t have quite as wide a range of horizontal oscillation, but it’s a great option for cooling yourself down in the warmer months. Read my full <a href="https://www.techradar.com/home/air-quality/dreo-smart-misting-fan-516s-review" data-dimension112="ed7b3f1c-ce1a-11f1-ad0a-2ff04a16df2d" data-action="Deal Block" data-label="Dreo Smart Misting Fan 516S review" data-dimension48="Dreo Smart Misting Fan 516S review" data-dimension25="">Dreo Smart Misting Fan 516S review</a>.</p></div><div class="product"><p><strong>Shark FlexBreeze HydroGo</strong><br />This one also has misting capabilities, but can be used cordless, and is satisfyingly lightweight, making it a spectacular all-round option. It doesn’t oscillate and there’s no remote control included, but we’re big… ahem... fans of this personal cooling solution. Read our full <a href="https://www.techradar.com/home/air-quality/shark-flexbreeze-hydrogo-misting-portable-fan-review" data-dimension112="ed7b3f8a-ce1a-11f1-b6ec-73ac00af8ff3" data-action="Deal Block" data-label="Shark FlexBreeze HydroGo review" data-dimension48="Shark FlexBreeze HydroGo review" data-dimension25="">Shark FlexBreeze HydroGo review</a>.</p></div><h2 class="article-body__section" id="section-how-i-tested-the-meaco-sefte-tower-fan-19-inch"><span>How I tested the Meaco Sefte Tower Fan 19-inch</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:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="G72pVs3UPVFqkeE7N4JZ3W" name="Meaco_SefteFan19inch_011.JPG" alt="Meaco logo on the Meaco Sefte Tower Fan 19-inch" src="https://cdn.mos.cms.futurecdn.net/G72pVs3UPVFqkeE7N4JZ3W-1920-80.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><ul><li><strong>Tested across a two-week period</strong></li><li><strong>Made use of all settings and features</strong></li><li><strong>Used in a controlled environment at Future Labs</strong></li></ul><p>I spent two weeks with the Meaco Sefte Tower Fan 19-inch, using it in a controlled environment here at Future Labs.</p><p>Across this period, I tested all of the fan’s features, and made sure to try the fan in Night and Eco mode, as well as its standard setting. In addition, I tested all 12 of the power settings in order to assess noise levels and overall performance.</p><p>More generally, I’ve tested tons of gadgets here at TechRadar, where I serve as a Senior Reviews Writer. I’ve covered home and lifestyle products including fans like the <a href="https://www.techradar.com/home/air-quality/dreo-smart-misting-fan-516s-review#section-dreo-smart-misting-fan-516s-review">Dreo Smart Misting Fan 516S</a>, as well as audio gear, video games, and more.</p><ul><li><a href="https://www.techradar.com/news/how-we-test">Read TechRadar’s reviews guarantee</a></li><li><em>First reviewed: October 2026</em></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/home/small-appliances/meaco-sefte-tower-fan-19-inch-review</link>
                                                                            <description>
                            <![CDATA[ The Meaco Sefte Tower Fan 19-inch model is an excellent electric fan with powerful performance, great coverage, and a tempting low price. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">AzZG65uBCwNMBX6eTaMMqd</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/s3uzu7JtSCXUCptcFggCjU-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 01 Nov 2026 14:00:00 +0000</pubDate>                                                                                                                                <updated>Sun, 01 Nov 2026 22:14:04 +0000</updated>
                                                                                                                                            <category><![CDATA[Small Appliances]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                                                                <author><![CDATA[ harry.padoan@futurenet.com (Harry Padoan) ]]></author>                    <dc:creator><![CDATA[ Harry Padoan ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/995EkuqRKUTUjvMk7ataFi-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Harry is a Senior Reviews Writer for TechRadar. He reviews everything from party speakers to wall chargers and has a particular interest in the worlds of audio and gaming.&lt;/p&gt;&lt;p&gt;Prior to joining TechRadar, Harry was a journalist covering stories from the telecoms industry, drilling into areas such as innovation, acquisitions, and sustainability.&lt;/p&gt;&lt;p&gt;When he isn’t testing the newest tech, Harry can probably be found listening to deep house, playing JRPGs, or watching his beloved Tottenham Hotspur.&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/s3uzu7JtSCXUCptcFggCjU-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Meaco Sefte Tower Fan 19-inch on table with candles]]></media:description>                                                            <media:text><![CDATA[Meaco Sefte Tower Fan 19-inch on table with candles]]></media:text>
                                <media:title type="plain"><![CDATA[Meaco Sefte Tower Fan 19-inch on table with candles]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/s3uzu7JtSCXUCptcFggCjU-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <h2 class="article-body__section" id="section-meaco-sefte-tower-fan-19-inch-review"><span>Meaco Sefte Tower Fan 19-inch review</span></h2><p>In 2026, we experienced a record-hot summer in the UK, as did a lot of other countries around the world. As a result, people were rushing online to pick up a new fan to prevent themselves from struggling with the intense heat. But for many, their efforts were in vain: mass shortages shocked the nation, leaving many struggling to cool down. </p><p>As a result, it may be well worth grabbing a fan sooner rather than later, in order to avoid potential shortages that could hit consumers in 2027. And I’ve just tested a new fan that I consider to be a top option for dealing with scorching temperatures, the Meaco Sefte Tower Fan 19-inch.</p><p>Like a lot of the <a href="https://www.techradar.com/best/best-fans">best fans</a>, this Meaco model offers a wide variety of power modes that can suit any situation. There are 12 power levels to be exact, with the lowest providing a subtle yet satisfying breeze, and the highest delivering a mighty, ultra-cool blast. I found performance to be consistently strong across all power levels, with strong coverage from the top to the base of the model.</p><p>What’s more, this tower fan is a fairly quiet operator. While not quite silent at lower levels, you’ll only hear a very light whirring noise, which is ideal if you like to keep the fan on while falling asleep. It has to be said, though, that as you ascend into the upper tiers of power, the fan does make a fair bit of noise. There’s a slight hissing sound, and the gust of wind naturally comes through with considerable impact. This is understandable, however, at the top level, and the fan is otherwise softly spoken.</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="si7NpbWcuJcuPXBbTzJKAV" name="Meaco_SefteFan19inch_005.JPG" alt="Display on the Meaco Sefte Tower Fan 19-inch" src="https://cdn.mos.cms.futurecdn.net/si7NpbWcuJcuPXBbTzJKAV-1920-80.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>Something that I really liked about the Meaco Sefte Tower Fan is its wide coverage. It can oscillate 180 degrees horizontally, making it a great choice if you want to cool everyone on your couch, for instance. It doesn’t oscillate up and down, but as a tower fan it already offers plenty of vertical coverage.</p><p>One more thing that makes this fan a hit is its excellent ease-of-use. It comes with a remote, but also has built-in touch controls that were perfectly responsive for me when testing. You can use the touch controls to turn the fan on or off, adjust power levels, control oscillation, and set a timer. There’s also a button that enables you to switch modes between Standard, Night (which mutes interface audio and gradually brings the fan’s speed down), and Eco (which automatically adjusts fan speed depending on room temperature).</p><p>The only thing that potentially holds the user experience back is the lack of a companion app. This fan has no Wi-Fi capabilities or companion software, meaning that you’ll have to stick with the remote or touch controls. Given this model’s relatively modest price, this sacrifice is understandable, but I would’ve liked the option to control the fan from my phone.</p><p>You won’t have to make too many sacrifices with this fan overall, though. Yes, its plasticky build doesn’t exactly scream premium, but it’s slim, meaning it won’t take up too much space on your table or desk, and feels relatively durable too. It’s also easy to take apart for cleaning or maintenance, and I liked the display on the fan that shows room temperature.</p><p>So, is the Meaco Sefte Tower Fan 19-inch worth the money? At £69.99 (about $90 / AU$130), I think the answer is yes. You’re not getting premium features like misting and app support but, for the price, you get adaptable and impressive performance, strong coverage, and tight touch controls, which make it ideal for using on a hot summer’s day. If you need misting, or just want to check out some strong alternatives, though, make sure to head down to the ‘also consider’ section.</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="nRuxiSDVZ9wK2pzoPUhhwU" name="Meaco_SefteFan19inch_012.JPG" alt="Touch controls on the Meaco Sefte Tower Fan 19-inch" src="https://cdn.mos.cms.futurecdn.net/nRuxiSDVZ9wK2pzoPUhhwU-1920-80.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><h2 class="article-body__section" id="section-meaco-sefte-tower-fan-19-inch-review-price-release-date"><span>Meaco Sefte Tower Fan 19-inch review: price &amp; release date</span></h2><ul><li><strong>Priced at £69.99 (about $90 / AU$130)</strong></li><li><strong>Released in August 2026</strong></li></ul><p>The Meaco Sefte Tower Fan 19-inch was released in August 2026 alongside the larger Meaco Sefte Tower Fan 36-inch. It can be purchased in the UK and select European markets, but is not directly solid in the US or Australia. This tower fan will set you back £69.99 (about $90 / AU$130), making it a relatively budget-friendly option for its size, coverage, and quality.</p><h2 class="article-body__section" id="section-meaco-sefte-tower-fan-19-inch-review-specs"><span>Meaco Sefte Tower Fan 19-inch review: specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p>Speeds</p></td><td  ><p>12</p></td></tr><tr><td class="firstcol " ><p>Oscillation</p></td><td  ><p>180 degrees horizontal</p></td></tr><tr><td class="firstcol " ><p>Weight</p></td><td  ><p>5.5lbs / 2.5kg</p></td></tr><tr><td class="firstcol " ><p>Dimensions</p></td><td  ><p>19.3 x 6.5 x 7.1 inches / 490 x 165 x 180mm</p></td></tr><tr><td class="firstcol " ><p>Control</p></td><td  ><p>Touch</p></td></tr><tr><td class="firstcol " ><p>Timer</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p>Modes</p></td><td  ><p>Normal, Night, Eco</p></td></tr></tbody></table></div><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="v6bczQFkLLBbPVfSLyzE6W" name="Meaco_SefteFan19inch_007.JPG" alt="Remote control for the Meaco Sefte Tower Fan 19-inch" src="https://cdn.mos.cms.futurecdn.net/v6bczQFkLLBbPVfSLyzE6W-1920-80.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><h2 class="article-body__section" id="section-should-i-buy-the-meaco-sefte-tower-fan-19-inch"><span>Should I buy the Meaco Sefte Tower Fan 19-inch?</span></h2><div ><table><thead><tr><th class="firstcol " ><p><strong>Attribute</strong></p></th><th  ><p><strong>Notes</strong></p></th><th  ><p><strong>Score</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Features</p></td><td  ><p>12 speeds, a handful of modes, no app control or fancy features like misting.</p></td><td  ><p>3.5/5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>Powerful performance, wide oscillation, generally quiet outside of top speed levels.</p></td><td  ><p>4/5</p></td></tr><tr><td class="firstcol " ><p>Design</p></td><td  ><p>A bit plasticky, but slim, great controls and ease of use.</p></td><td  ><p>4/5</p></td></tr><tr><td class="firstcol " ><p>Value</p></td><td  ><p>A good quality fan that’s available at a tempting, modest price-point.</p></td><td  ><p>4.5/5</p></td></tr></tbody></table></div><h2 id="buy-it-if-8">Buy it if…</h2><div class="product"><p><strong>You’re looking for a quiet operator</strong><br />When using a fan at night, the last thing you want to be subjected to is a loud whirring noise. But luckily, this Meaco fan is a quiet operator, and will keep you chilled without making a racket — so long as you’re not using it at the top power levels. </p></div><div class="product"><p><strong>You need wide coverage</strong><br />If you want to keep the whole family cool, this fan is a top option. It can oscillate 180 degrees horizontally, meaning everyone on the couch will get some of that sweet cold air.</p></div><h2 id="don-t-buy-it-if-3">Don’t buy it if…</h2><div class="product"><p><strong>You need misting</strong><br />This model doesn’t have any misting capabilities, so you won’t get that extra chill when using it. If you want mess-free misting, be sure to check out some of my recommendations in the ‘also consider’ section.</p></div><div class="product"><p><strong>You’d like app controls</strong><br />As one of the more budget-friendly options in its size-class, the Meaco Sefte Tower Fan cuts back in a few areas here and there. One of those is the lack of Wi-Fi and app support, so if you’re looking for smart-home integrations, it may be better to look elsewhere.</p></div><h2 class="article-body__section" id="section-meaco-sefte-tower-fan-19-inch-review-also-consider"><span>Meaco Sefte Tower Fan 19-inch review: also consider</span></h2><div class="product"><p><strong>Dreo Smart Misting Fan 516S</strong><br />This is the fan I use at home and I absolutely love it. It produces fine, mess-free mist with ultra-cool winds, the water tank depletes fairly slowly, and it can be controlled via an easy-to-use app. It’s not quite as big as this Meaco fan, and doesn’t have quite as wide a range of horizontal oscillation, but it’s a great option for cooling yourself down in the warmer months. Read my full <a href="https://www.techradar.com/home/air-quality/dreo-smart-misting-fan-516s-review" data-dimension112="ed7b3f1c-ce1a-11f1-ad0a-2ff04a16df2d" data-action="Deal Block" data-label="Dreo Smart Misting Fan 516S review" data-dimension48="Dreo Smart Misting Fan 516S review" data-dimension25="">Dreo Smart Misting Fan 516S review</a>.</p></div><div class="product"><p><strong>Shark FlexBreeze HydroGo</strong><br />This one also has misting capabilities, but can be used cordless, and is satisfyingly lightweight, making it a spectacular all-round option. It doesn’t oscillate and there’s no remote control included, but we’re big… ahem... fans of this personal cooling solution. Read our full <a href="https://www.techradar.com/home/air-quality/shark-flexbreeze-hydrogo-misting-portable-fan-review" data-dimension112="ed7b3f8a-ce1a-11f1-b6ec-73ac00af8ff3" data-action="Deal Block" data-label="Shark FlexBreeze HydroGo review" data-dimension48="Shark FlexBreeze HydroGo review" data-dimension25="">Shark FlexBreeze HydroGo review</a>.</p></div><h2 class="article-body__section" id="section-how-i-tested-the-meaco-sefte-tower-fan-19-inch"><span>How I tested the Meaco Sefte Tower Fan 19-inch</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:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="G72pVs3UPVFqkeE7N4JZ3W" name="Meaco_SefteFan19inch_011.JPG" alt="Meaco logo on the Meaco Sefte Tower Fan 19-inch" src="https://cdn.mos.cms.futurecdn.net/G72pVs3UPVFqkeE7N4JZ3W-1920-80.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><ul><li><strong>Tested across a two-week period</strong></li><li><strong>Made use of all settings and features</strong></li><li><strong>Used in a controlled environment at Future Labs</strong></li></ul><p>I spent two weeks with the Meaco Sefte Tower Fan 19-inch, using it in a controlled environment here at Future Labs.</p><p>Across this period, I tested all of the fan’s features, and made sure to try the fan in Night and Eco mode, as well as its standard setting. In addition, I tested all 12 of the power settings in order to assess noise levels and overall performance.</p><p>More generally, I’ve tested tons of gadgets here at TechRadar, where I serve as a Senior Reviews Writer. I’ve covered home and lifestyle products including fans like the <a href="https://www.techradar.com/home/air-quality/dreo-smart-misting-fan-516s-review#section-dreo-smart-misting-fan-516s-review">Dreo Smart Misting Fan 516S</a>, as well as audio gear, video games, and more.</p><ul><li><a href="https://www.techradar.com/news/how-we-test">Read TechRadar’s reviews guarantee</a></li><li><em>First reviewed: October 2026</em></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Jabra Evolve3 85 business headset review ]]></title>
                                                                                                <dc:content><![CDATA[ <h2 class="article-body__section" id="section-jabra-evolve3-65-flex-30-second-review"><span>Jabra Evolve3 65 Flex: 30-second review</span></h2><p>Business headsets have long had something of an image problem. The boom arm shouts “call centre” long before you have said a word. Jabra's answer, with the Evolve3 range, is to remove it entirely.</p><p>The Evolve3 65 Flex follows the same recipe as the Evolve3 85, but the emphasis shifts from luxury to portability. It is a foldable, on-ear design that Jabra says slips into the slimmest laptop bag.</p><p>The headline technology is Jabra ClearVoice, which uses a deep learning system trained on 60 million sentences. It separates your voice from background noise without any visible microphone. Jabra also claims over 95 per cent voice pickup accuracy outdoors, and over 99 per cent in open offices.</p><p>The adaptive ANC uses four microphones and adjusts to both your surroundings and your fit. Like the Evolve3 85, it keeps working while you are on a call, which remains rare in this class. A 360 degree busylight tells colleagues when to leave you alone.</p><p>Battery life is where the Flex gives ground. Jabra quotes up to 16.5 hours of call time and 80 hours of music with ANC off. Fast charging adds up to four hours of music from ten minutes on the cable.</p><p>The price is lower than the flagship models, but this is still business kit. If your employer is paying, it makes a good case. If you are, you will want to think carefully. [MP: adjust once testing is complete.]</p><p>The Evolve3 65 Flex makes a compelling case on every front except price. But even at this cost, these will most likely be considered for our <a href="https://www.techradar.com/news/the-best-bluetooth-headsets" target="_blank">best Bluetooth headset</a> guide.</p><h2 class="article-body__section" id="section-jabra-evolve3-65-flex-price-and-availability"><span>Jabra Evolve3 65 Flex: price and availability</span></h2><ul><li><strong>How much does it cost?  </strong>From $285/£260/€299</li><li><strong>When is it out? </strong>Available now</li><li><strong>Where can you get it? </strong>Direct from Jabra and online retailers</li></ul><p>Jabra announced the Evolve3 65 Flex alongside the Evolve3 65 and Evolve3 45 as a cheaper step-down from the Evolve3 85 and Evolve3 75. The recommended price is $389 in the US and €299 in Europe, but the USB-C model for Teams is now <a href="https://www.jabra.com/business/office-headsets/jabra-evolve/jabra-evolve3-65-flex/buy?sku=36699-999-899" target="_blank" rel="nofollow">$285 directly from Jabra</a>. For comparison, the Evolve3 65 is $300, and the Evolve3 45 is only $199.</p><p>My review model is part number 36699 999 899, a Microsoft Teams variant with a USB-C Bluetooth adapter. A Teams-certified button sits on the headset, and the box includes a USB-C cable and a carry case, but no Link 390 adapter. The packaging is a plain cardboard box, and the standard package includes no wireless charging pad.</p><p>Street pricing is already lower than the launch MSRP. Some US resellers list this exact model at the same price as Jabra, and that includes <a href="https://www.amazon.com/Jabra-Wireless-Bluetooth-Headphones-Microsoft/dp/B0H814TXPG/" target="_blank" rel="nofollow">Amazon</a>. European business resellers list the Teams USB-C variant at roughly €190 to €235 before VAT. The review model is £260 from Jabra in the UK, but you can find it on <a href="https://www.amazon.co.uk/Jabra-Wireless-Bluetooth-Dual-Ear-Headphones-Black/dp/B0H814TXPG/" target="_blank" rel="nofollow">Amazon.co.uk for £219.99</a> with next-day delivery.</p><p>Jabra also offers UC variants for those who don’t use Teams, as well as models with USB-A adapters. Versions bundled with a wireless charging pad cost more.</p><p>One lure is that Jabra offers free trials to companies with 500 or more employees that are replacing existing devices. The Jabra Plus Management platform handles remote configuration and firmware updates for larger deployments.</p><p>Individual buyers are less well served. But this headset is aimed at the corporate ear, like the Evolve3 85 before 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:1600px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ff5bykxNb23spvJtTiKzQ8" name="Jabra Evolve3 65 Flex_20261030_140950527_HDR" alt="Jabra Evolve3 65 Flex business headphones" src="https://cdn.mos.cms.futurecdn.net/ff5bykxNb23spvJtTiKzQ8-1920-80.jpg" mos="" align="middle" fullscreen="" width="1600" height="900" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Mark Pickavance)</span></figcaption></figure><ul><li><strong>Value score: 3.5/5</strong></li></ul><h2 class="article-body__section" id="section-jabra-evolve3-65-flex-specs"><span>Jabra Evolve3 65 Flex: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Model</strong></p></td><td  ><p>Jabra Evolve3 65 Flex</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>220g</p></td></tr><tr><td class="firstcol " ><p><strong>Form factor</strong></p></td><td  ><p>On ear, foldable headband</p></td></tr><tr><td class="firstcol " ><p><strong>Microphone</strong></p></td><td  ><p>Six in total, boomless (Jabra ClearVoice, deep learning)</p></td></tr><tr><td class="firstcol " ><p><strong>ANC</strong></p></td><td  ><p>Adaptive, four microphone, active during calls, with HearThrough</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life (calls)</strong></p></td><td  ><p>Up to 16.5 hours with ANC and busylight off, 14.5 hours with both on</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life (music)</strong></p></td><td  ><p>Up to 80 hours with ANC off, 35 hours with ANC on</p></td></tr><tr><td class="firstcol " ><p><strong>Fast charging</strong></p></td><td  ><p>Up to four hours of music from a ten minute charge</p></td></tr><tr><td class="firstcol " ><p><strong>Wireless charging</strong></p></td><td  ><p>Yes (flat exterior surface supports Qi pads)</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Bluetooth 5.3 with LE Audio, Link 390 USB C adapter, USB C cable</p></td></tr><tr><td class="firstcol " ><p><strong>Codecs</strong></p></td><td  ><p>LC3, AAC, SBC</p></td></tr><tr><td class="firstcol " ><p><strong>Dual connectivity</strong></p></td><td  ><p>Two simultaneous connections, eight paired devices</p></td></tr><tr><td class="firstcol " ><p><strong>Range</strong></p></td><td  ><p>30m</p></td></tr><tr><td class="firstcol " ><p><strong>UC certification</strong></p></td><td  ><p>Microsoft Teams, Zoom, Google Meet</p></td></tr><tr><td class="firstcol " ><p><strong>Software</strong></p></td><td  ><p>Jabra Plus mobile app, Jabra Direct and Xpress, desktop Jabra Plus app in 2027</p></td></tr><tr><td class="firstcol " ><p><strong>Replaceable parts</strong></p></td><td  ><p>Battery, ear cushions</p></td></tr><tr><td class="firstcol " ><p><strong>Sustainability</strong></p></td><td  ><p>Leatherette cushions, recycled stainless steel headband, 37 per cent recycled or biocircular content</p></td></tr><tr><td class="firstcol " ><p><strong>Warranty</strong></p></td><td  ><p>2-years</p></td></tr><tr><td class="firstcol " ><p><strong>Colours</strong></p></td><td  ><p>Black</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-jabra-evolve3-65-flex-design"><span>Jabra Evolve3 65 Flex: design</span></h2><ul><li><strong>No boom arm</strong></li><li><strong>Elegant construction</strong></li><li><strong>Easier to carry than the Evolve3 85</strong></li></ul><p>Like the Evolve3 85, this headset has no boom arm. Therefore, nothing sticks out towards your mouth, and nobody will assume you work on a helpdesk while wearing them.</p><p>Instead, you get a slim, minimal headset with angled oval ear cushions. They are covered in leatherette over soft acoustic foam. The headband is recycled stainless steel, wrapped in more foam and leatherette.</p><p>But where this design diverges from the previous Evolve3 concept is how lightweight these are, making them ideal for anyone travelling for business. At 143g, it is notably lighter than the over-ear Evolve3 85, which I measured at 220g in a previous review. Jabra calls its cushion design Air Comfort, which is corporate speak for being smaller. </p><p>The Flex part of the name refers to the folding design. The earcups rotate, and the headband collapses, so it sits in the supplied case without taking up much space.</p><p>But the supplied case is about 60% of the size of the Evolve3 85 case, and neither of these has a pocket, or the room, for even the charging cable. The case holds the headset and a Bluetooth dongle only.</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:1600px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="7dx7TDuDvV5nMPnpCqWdR8" name="Jabra Evolve3 65 Flex_20261030_141242498_HDR" alt="Jabra Evolve3 65 Flex business headphones" src="https://cdn.mos.cms.futurecdn.net/7dx7TDuDvV5nMPnpCqWdR8-1920-80.jpg" mos="" align="middle" fullscreen="" width="1600" height="900" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Mark Pickavance)</span></figcaption></figure><p>On a more positive note, Jabra has also kept the replaceable battery and ear cushions from its bigger models. That matters for longevity, and it sits well with current repair legislation across Europe. Finding it in a headset at this price is still less common than it should be, so keeping the hardware going longer matters.</p><p>The 360-degree busy light is here too, and it works from every angle,  as it saves you from having to announce, loudly, that you are on a call.</p><p>My review sample was the Teams model, so there is also a specific Teams button on the headset. How headphones have ended up with these opposing standards is a rant for another day, but for those who still think Microsoft has something to offer business, Jabra has you covered.</p><p>As with the 85 model, these designs seem biased toward right-handed use, but I’m sure left-handers will cope with the four buttons on the right side.</p><p>The materials are also allegedly more planet-friendly. Jabra says 37 per cent of the headset by weight is recycled or biocircular, and the packaging is FSC certified.</p><p>It’s interesting how Jabra have managed to take its earlier Evolve3 designs and then make them smaller and lighter, without making them impractical to use.</p><p>From my perspective, the smaller cushions aren’t as comfortable for long sessions as the larger ones on the Evolve3 85, but they’re fine for shorter periods. That fits well with the smaller battery capacity and reduced running time.</p><p><strong>Design score: 4.5/5</strong></p><h2 class="article-body__section" id="section-jabra-evolve3-65-flex-hardware"><span>Jabra Evolve3 65 Flex: Hardware</span></h2><ul><li><strong>Bluetooth 5.2</strong></li><li><strong>Microsoft Teams vs UNC</strong></li><li><strong>ClearVoice</strong></li></ul><p>Bluetooth 5.3 with LE Audio forms the wireless backbone of this equipment. It supports the LC3 codec, along with AAC, SBC and Jabra also lists Auracast support. Not sure why it doesn’t use the 5.4 version of Bluetooth like its predecessors, but Bluetooth 5.2 is fine for this use case.</p><p>The Link 390 adapter in the box gives a secure, low-latency connection to a PC. Or, you can also connect directly over Bluetooth if you prefer. Critically, dual connectivity lets you stay attached to a computer and a phone simultaneously. Jabra says the range is 30m, so wandering off for a coffee mid-call is possible if you don’t hide behind too many walls.</p><p>Pairing is easy on most platforms. Microsoft Swift Pair and Google Fast Pair are both supported, and Apple Find My and Android Find Hub are also covered. I even used this headset with an old Parrot-branded Bluetooth adapter, and it connected easily.</p><p>UC certification covers Microsoft Teams, Zoom and Google Meet, which is the set most UK and European businesses rely on. Jabra also claims a Premium Microphone for Open Office certification, for those who like to be understood.</p><p>The Jabra Plus mobile app provides equaliser controls, firmware updates and settings. A desktop version is promised for 2027, which is odd. I say that because when I covered the Evolve3 85, the same app was promised then for 2026. Jabra needs to pull their finger out and build that app before someone sets an AI to reverse-engineer it in an afternoon and then releases it.</p><p>IT teams get Jabra Plus Management for fleet control, plus Xpress and Direct.</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:1600px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="HZgXmZwN3rXDwGnT8XMGQ8" name="Jabra Evolve3 65 Flex_20261030_141119035_HDR" alt="Jabra Evolve3 65 Flex business headphones" src="https://cdn.mos.cms.futurecdn.net/HZgXmZwN3rXDwGnT8XMGQ8-1920-80.jpg" mos="" align="middle" fullscreen="" width="1600" height="900" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Mark Pickavance)</span></figcaption></figure><p>What makes this design so useful in an office environment is the ClearVoice functionality. It replaces the boom arm with a multi-microphone array and a neural network trained on over 60 million sentences. I do wonder where they found all those sentences to train their model, but Jabra undoubtedly draws on the hearing expertise of its parent company GN here.</p><p>The end result of ClearVoice is that callers should not notice the missing boom. Jabra claims over 95 per cent voice pickup accuracy outdoors and over 99 per cent in open offices, as measured with AI assistants. </p><p>That is a very specific claim, and worth testing, but I got bored after twenty sentences. What I can say is that omitting a boom doesn’t seem to affect audio pickup much, and it also avoids those annoying crunch sounds that happen when the boom is touched.</p><p>Wind noise reduction is also a configurable option, which shows Jabra expects these to leave the office and jog to the nearest sandwich shop, presumably. The hearing protection features include Intellitone and PeakStop, if you like trademarked features.</p><p>The Evolve 65 Flex delivers most of the critical aspects of the Evolve3 85 without treading on that product’s toes, demonstrating the product agility Jabra is rightly known for. </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:1141px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="WP7Ae2YBa8DHfgEzdb8XyL" name="ls4_1920x1080" alt="Jabra Evolve3 65 Flex business headphones" src="https://cdn.mos.cms.futurecdn.net/v2/w:1920,t:48,l:711,cw:1141,ch:642,q:80/WP7Ae2YBa8DHfgEzdb8XyL.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Jabra GN)</span></figcaption></figure><ul><li><strong>Hardware: 4/5</strong></li></ul><h3 class="article-body__section" id="section-jabra-evolve3-65-flex-performance"><span>Jabra Evolve3 65 Flex: Performance</span></h3><ul><li><strong>Effective ANC</strong></li><li><strong>Excellent charging options</strong></li></ul><p>The Flex works as a call headset first and a music headphone second, making it a flexible solution. Jabra supplies 28mm drivers, spatial sound, and an equaliser, which suggests it expects you to listen as well as talk.</p><p>Spatial Sound is intended to place voices in front of you rather than inside your head. That should make long calls less tiring, and less like a disturbing mental condition. </p><p>The adaptive ANC adjusts to the environment and to the quality of the seal around your ears, which, given the size of these cushions, is critical.</p><p>Most ANC systems apply a fixed profile, which either works or it doesn’t. This one recalibrates as the headset moves, making it more likely to be useful. This technology, termed HearThrough, also stays active during calls, where most business headsets switch it off.</p><p>The main caveat is reduced battery life, especially compared with the Evolve3 85.</p><p>Battery life is more modest than on the Evolve3 85. Jabra quotes up to 16.5 hours of calls with ANC and the busylight off, or 14.5 hours with both on. That is still two working days of calls, just about, but that’s a day less than the 85.</p><p>What seems slightly curious is the quoted music playback timescale, which is more heavily impacted by leaving ANC on. Without ANC, Jabra quotes 80 hours, but you can reduce that to only 35 hours if you leave the ANC on. </p><p>It was expected that it takes more power to run ANC than to drive the sound, since the Evolve3 85 was 120 hours with ANC off and 55 hours with it on. That is worth noting, since most people will leave ANC running.</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="PXtNQvxVdiLPjrjmJsPN4M" name="ls1_1920x1080" alt="Jabra Evolve3 65 Flex business headphones" src="https://cdn.mos.cms.futurecdn.net/PXtNQvxVdiLPjrjmJsPN4M-1920-80.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: Jabra GN)</span></figcaption></figure><p>Fast charging is generous and has your back if you leave work without remembering to put them on charge. Ten minutes on the cable gives up to four hours of music. Jabra quotes 35 per cent arrives in 30 minutes and 65 per cent in an hour. A full charge takes up to three hours, but you should be able to get through a working day with only 90 minutes total charging. You can use them while they charge; just don’t forget you are connected by the USB-C cable.</p><p>Wireless charging is supported, so the headset can sit on a Qi pad on your desk. My model did not include a charging pad, and it arrived in a simple cardboard box. Jabra has a SKU with the charger that’s another £45, which seems steep for such simple technology.</p><p>The battery is user-replaceable, which is a real benefit for long-term ownership. It beats binning a serviceable headset because the cell has faded.</p><p>I am not an audiophile, so I will not pretend to review the music quality in depth, but the smaller drivers on these seemed less inclined to bass than the Evolve3 85, and those weren’t strong on bass either. </p><p>Mid-range and higher frequencies are better represented, but these aren’t something that audiophiles would realistically use. Using the Jabra+ app, you can boost bass and treble, but these settings have limits with 28mm speakers.</p><ul><li><strong>Performance: 4/5</strong></li></ul><h2 class="article-body__section" id="section-jabra-evolve3-65-flex-final-verdict"><span>Jabra Evolve3 65 Flex: Final verdict</span></h2><p>The Evolve3 65 Flex does what the Evolve3 range does best, but in a more travel-friendly package. It is light, it looks sensible, and it keeps ANC running during calls.</p><p>The trade-offs are shorter battery life, a less isolating on-ear fit, and a price firmly aimed at budget holders rather than typical home users. The missing desktop app is a minor irritation, since most users will install the Jabra+ app on their phones. But missing a release by a year is poor effort on Jabra’s part, however you look at it. </p><p>If you split your time between desk, home and train carriage, these make perfect sense. If you only ever work at one desk, the Evolve3 85 is probably the better headset, if you can stretch to the cost of those.</p><h2 class="article-body__section" id="section-should-i-buy-a-jabra-evolve3-85"><span>Should I buy a Jabra Evolve3 85?</span></h2><div ><table><caption>Jabra Evolve3 65 Flex  Score Card</caption><thead><tr><th class="firstcol " ><p>Attributes</p></th><th  ><p>Notes</p></th><th  ><p>Rating</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Value</p></td><td  ><p>Not cheap, but less than the flagship options</p></td><td  ><p>3.5/5</p></td></tr><tr><td class="firstcol " ><p>Design</p></td><td  ><p>Light, foldable and discreet </p></td><td  ><p>4/5</p></td></tr><tr><td class="firstcol " ><p>Hardware</p></td><td  ><p>Great for office use and fleet controls</p></td><td  ><p>4/5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>ANC and ClearVoice, but limited by 28mm speakers</p></td><td  ><p>4/5</p></td></tr><tr><td class="firstcol " ><p>Overall</p></td><td  ><p>Lightweight business headset for those on the move</p></td><td  ><p>4/5</p></td></tr></tbody></table></div><h2 id="buy-it-if-9">Buy it if...</h2><div class="product"><p><strong>You travel between workspaces</strong><br />The folding design and 143g weight make it easy to carry, and the case protects it in a bag. If you need headphones away from the office, these are a solid choice.</p><p><strong>Your business wants managed devices</strong><br />UC certification and Jabra Plus Management will suit IT teams that need central control. And, you can choose between different SKUs if you need Teams or even USB-A connectivity.</p></div><h2 id="don-39-t-buy-it-if-6">Don't buy it if...</h2><div class="product"><p><strong>You are working within a budget</strong><br />The price is hard to justify for personal use when consumer headphones offer more sound for less cash. But even for business use, there are cheaper options. </p><p> <strong>You want maximum battery life</strong><br />The Evolve3 85 lasts much longer, 21 hours to be direct, and manages that with ANC running. Whereas the Evolve3 65 Flex delivers only 14.5 hours with the ANC/busylight on. And, when the battery gets low, Flex also doesn’t charge as quickly as its bigger brother. </p></div><p><em>For more business audio solutions, we've reviewed the </em><a href="https://www.techradar.com/best/best-headset-for-working-for-home" target="_blank"><em>best headsets for working from home</em></a><em>.</em></p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/pro/jabra-evolve3-65-flex-business-headset-review</link>
                                                                            <description>
                            <![CDATA[ The Jabra Evolve3 65 Flex offers the full scope of a call centre headset while retaining the styling and elegance associated with retail products. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">MdERu2TJmodzyVSSqscVFX</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/2aEjMW49Uqqn2JY3qhCRU8-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 01 Nov 2026 09:20:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Pro]]></category>
                                                                                                <author><![CDATA[ mark@pickavance.com (Mark Pickavance) ]]></author>                    <dc:creator><![CDATA[ Mark Pickavance ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/droJDC5YLWYdAfVgqpQkFd-320-70.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/2aEjMW49Uqqn2JY3qhCRU8-1920-80.jpg">
                                                            <media:credit><![CDATA[Mark Pickavance]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Jabra Evolve3 65 Flex business headphones]]></media:description>                                                            <media:text><![CDATA[Jabra Evolve3 65 Flex business headphones]]></media:text>
                                <media:title type="plain"><![CDATA[Jabra Evolve3 65 Flex business headphones]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/2aEjMW49Uqqn2JY3qhCRU8-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <h2 class="article-body__section" id="section-jabra-evolve3-65-flex-30-second-review"><span>Jabra Evolve3 65 Flex: 30-second review</span></h2><p>Business headsets have long had something of an image problem. The boom arm shouts “call centre” long before you have said a word. Jabra's answer, with the Evolve3 range, is to remove it entirely.</p><p>The Evolve3 65 Flex follows the same recipe as the Evolve3 85, but the emphasis shifts from luxury to portability. It is a foldable, on-ear design that Jabra says slips into the slimmest laptop bag.</p><p>The headline technology is Jabra ClearVoice, which uses a deep learning system trained on 60 million sentences. It separates your voice from background noise without any visible microphone. Jabra also claims over 95 per cent voice pickup accuracy outdoors, and over 99 per cent in open offices.</p><p>The adaptive ANC uses four microphones and adjusts to both your surroundings and your fit. Like the Evolve3 85, it keeps working while you are on a call, which remains rare in this class. A 360 degree busylight tells colleagues when to leave you alone.</p><p>Battery life is where the Flex gives ground. Jabra quotes up to 16.5 hours of call time and 80 hours of music with ANC off. Fast charging adds up to four hours of music from ten minutes on the cable.</p><p>The price is lower than the flagship models, but this is still business kit. If your employer is paying, it makes a good case. If you are, you will want to think carefully. [MP: adjust once testing is complete.]</p><p>The Evolve3 65 Flex makes a compelling case on every front except price. But even at this cost, these will most likely be considered for our <a href="https://www.techradar.com/news/the-best-bluetooth-headsets" target="_blank">best Bluetooth headset</a> guide.</p><h2 class="article-body__section" id="section-jabra-evolve3-65-flex-price-and-availability"><span>Jabra Evolve3 65 Flex: price and availability</span></h2><ul><li><strong>How much does it cost?  </strong>From $285/£260/€299</li><li><strong>When is it out? </strong>Available now</li><li><strong>Where can you get it? </strong>Direct from Jabra and online retailers</li></ul><p>Jabra announced the Evolve3 65 Flex alongside the Evolve3 65 and Evolve3 45 as a cheaper step-down from the Evolve3 85 and Evolve3 75. The recommended price is $389 in the US and €299 in Europe, but the USB-C model for Teams is now <a href="https://www.jabra.com/business/office-headsets/jabra-evolve/jabra-evolve3-65-flex/buy?sku=36699-999-899" target="_blank" rel="nofollow">$285 directly from Jabra</a>. For comparison, the Evolve3 65 is $300, and the Evolve3 45 is only $199.</p><p>My review model is part number 36699 999 899, a Microsoft Teams variant with a USB-C Bluetooth adapter. A Teams-certified button sits on the headset, and the box includes a USB-C cable and a carry case, but no Link 390 adapter. The packaging is a plain cardboard box, and the standard package includes no wireless charging pad.</p><p>Street pricing is already lower than the launch MSRP. Some US resellers list this exact model at the same price as Jabra, and that includes <a href="https://www.amazon.com/Jabra-Wireless-Bluetooth-Headphones-Microsoft/dp/B0H814TXPG/" target="_blank" rel="nofollow">Amazon</a>. European business resellers list the Teams USB-C variant at roughly €190 to €235 before VAT. The review model is £260 from Jabra in the UK, but you can find it on <a href="https://www.amazon.co.uk/Jabra-Wireless-Bluetooth-Dual-Ear-Headphones-Black/dp/B0H814TXPG/" target="_blank" rel="nofollow">Amazon.co.uk for £219.99</a> with next-day delivery.</p><p>Jabra also offers UC variants for those who don’t use Teams, as well as models with USB-A adapters. Versions bundled with a wireless charging pad cost more.</p><p>One lure is that Jabra offers free trials to companies with 500 or more employees that are replacing existing devices. The Jabra Plus Management platform handles remote configuration and firmware updates for larger deployments.</p><p>Individual buyers are less well served. But this headset is aimed at the corporate ear, like the Evolve3 85 before 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:1600px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ff5bykxNb23spvJtTiKzQ8" name="Jabra Evolve3 65 Flex_20261030_140950527_HDR" alt="Jabra Evolve3 65 Flex business headphones" src="https://cdn.mos.cms.futurecdn.net/ff5bykxNb23spvJtTiKzQ8-1920-80.jpg" mos="" align="middle" fullscreen="" width="1600" height="900" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Mark Pickavance)</span></figcaption></figure><ul><li><strong>Value score: 3.5/5</strong></li></ul><h2 class="article-body__section" id="section-jabra-evolve3-65-flex-specs"><span>Jabra Evolve3 65 Flex: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>Model</strong></p></td><td  ><p>Jabra Evolve3 65 Flex</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>220g</p></td></tr><tr><td class="firstcol " ><p><strong>Form factor</strong></p></td><td  ><p>On ear, foldable headband</p></td></tr><tr><td class="firstcol " ><p><strong>Microphone</strong></p></td><td  ><p>Six in total, boomless (Jabra ClearVoice, deep learning)</p></td></tr><tr><td class="firstcol " ><p><strong>ANC</strong></p></td><td  ><p>Adaptive, four microphone, active during calls, with HearThrough</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life (calls)</strong></p></td><td  ><p>Up to 16.5 hours with ANC and busylight off, 14.5 hours with both on</p></td></tr><tr><td class="firstcol " ><p><strong>Battery life (music)</strong></p></td><td  ><p>Up to 80 hours with ANC off, 35 hours with ANC on</p></td></tr><tr><td class="firstcol " ><p><strong>Fast charging</strong></p></td><td  ><p>Up to four hours of music from a ten minute charge</p></td></tr><tr><td class="firstcol " ><p><strong>Wireless charging</strong></p></td><td  ><p>Yes (flat exterior surface supports Qi pads)</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Bluetooth 5.3 with LE Audio, Link 390 USB C adapter, USB C cable</p></td></tr><tr><td class="firstcol " ><p><strong>Codecs</strong></p></td><td  ><p>LC3, AAC, SBC</p></td></tr><tr><td class="firstcol " ><p><strong>Dual connectivity</strong></p></td><td  ><p>Two simultaneous connections, eight paired devices</p></td></tr><tr><td class="firstcol " ><p><strong>Range</strong></p></td><td  ><p>30m</p></td></tr><tr><td class="firstcol " ><p><strong>UC certification</strong></p></td><td  ><p>Microsoft Teams, Zoom, Google Meet</p></td></tr><tr><td class="firstcol " ><p><strong>Software</strong></p></td><td  ><p>Jabra Plus mobile app, Jabra Direct and Xpress, desktop Jabra Plus app in 2027</p></td></tr><tr><td class="firstcol " ><p><strong>Replaceable parts</strong></p></td><td  ><p>Battery, ear cushions</p></td></tr><tr><td class="firstcol " ><p><strong>Sustainability</strong></p></td><td  ><p>Leatherette cushions, recycled stainless steel headband, 37 per cent recycled or biocircular content</p></td></tr><tr><td class="firstcol " ><p><strong>Warranty</strong></p></td><td  ><p>2-years</p></td></tr><tr><td class="firstcol " ><p><strong>Colours</strong></p></td><td  ><p>Black</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-jabra-evolve3-65-flex-design"><span>Jabra Evolve3 65 Flex: design</span></h2><ul><li><strong>No boom arm</strong></li><li><strong>Elegant construction</strong></li><li><strong>Easier to carry than the Evolve3 85</strong></li></ul><p>Like the Evolve3 85, this headset has no boom arm. Therefore, nothing sticks out towards your mouth, and nobody will assume you work on a helpdesk while wearing them.</p><p>Instead, you get a slim, minimal headset with angled oval ear cushions. They are covered in leatherette over soft acoustic foam. The headband is recycled stainless steel, wrapped in more foam and leatherette.</p><p>But where this design diverges from the previous Evolve3 concept is how lightweight these are, making them ideal for anyone travelling for business. At 143g, it is notably lighter than the over-ear Evolve3 85, which I measured at 220g in a previous review. Jabra calls its cushion design Air Comfort, which is corporate speak for being smaller. </p><p>The Flex part of the name refers to the folding design. The earcups rotate, and the headband collapses, so it sits in the supplied case without taking up much space.</p><p>But the supplied case is about 60% of the size of the Evolve3 85 case, and neither of these has a pocket, or the room, for even the charging cable. The case holds the headset and a Bluetooth dongle only.</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:1600px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="7dx7TDuDvV5nMPnpCqWdR8" name="Jabra Evolve3 65 Flex_20261030_141242498_HDR" alt="Jabra Evolve3 65 Flex business headphones" src="https://cdn.mos.cms.futurecdn.net/7dx7TDuDvV5nMPnpCqWdR8-1920-80.jpg" mos="" align="middle" fullscreen="" width="1600" height="900" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Mark Pickavance)</span></figcaption></figure><p>On a more positive note, Jabra has also kept the replaceable battery and ear cushions from its bigger models. That matters for longevity, and it sits well with current repair legislation across Europe. Finding it in a headset at this price is still less common than it should be, so keeping the hardware going longer matters.</p><p>The 360-degree busy light is here too, and it works from every angle,  as it saves you from having to announce, loudly, that you are on a call.</p><p>My review sample was the Teams model, so there is also a specific Teams button on the headset. How headphones have ended up with these opposing standards is a rant for another day, but for those who still think Microsoft has something to offer business, Jabra has you covered.</p><p>As with the 85 model, these designs seem biased toward right-handed use, but I’m sure left-handers will cope with the four buttons on the right side.</p><p>The materials are also allegedly more planet-friendly. Jabra says 37 per cent of the headset by weight is recycled or biocircular, and the packaging is FSC certified.</p><p>It’s interesting how Jabra have managed to take its earlier Evolve3 designs and then make them smaller and lighter, without making them impractical to use.</p><p>From my perspective, the smaller cushions aren’t as comfortable for long sessions as the larger ones on the Evolve3 85, but they’re fine for shorter periods. That fits well with the smaller battery capacity and reduced running time.</p><p><strong>Design score: 4.5/5</strong></p><h2 class="article-body__section" id="section-jabra-evolve3-65-flex-hardware"><span>Jabra Evolve3 65 Flex: Hardware</span></h2><ul><li><strong>Bluetooth 5.2</strong></li><li><strong>Microsoft Teams vs UNC</strong></li><li><strong>ClearVoice</strong></li></ul><p>Bluetooth 5.3 with LE Audio forms the wireless backbone of this equipment. It supports the LC3 codec, along with AAC, SBC and Jabra also lists Auracast support. Not sure why it doesn’t use the 5.4 version of Bluetooth like its predecessors, but Bluetooth 5.2 is fine for this use case.</p><p>The Link 390 adapter in the box gives a secure, low-latency connection to a PC. Or, you can also connect directly over Bluetooth if you prefer. Critically, dual connectivity lets you stay attached to a computer and a phone simultaneously. Jabra says the range is 30m, so wandering off for a coffee mid-call is possible if you don’t hide behind too many walls.</p><p>Pairing is easy on most platforms. Microsoft Swift Pair and Google Fast Pair are both supported, and Apple Find My and Android Find Hub are also covered. I even used this headset with an old Parrot-branded Bluetooth adapter, and it connected easily.</p><p>UC certification covers Microsoft Teams, Zoom and Google Meet, which is the set most UK and European businesses rely on. Jabra also claims a Premium Microphone for Open Office certification, for those who like to be understood.</p><p>The Jabra Plus mobile app provides equaliser controls, firmware updates and settings. A desktop version is promised for 2027, which is odd. I say that because when I covered the Evolve3 85, the same app was promised then for 2026. Jabra needs to pull their finger out and build that app before someone sets an AI to reverse-engineer it in an afternoon and then releases it.</p><p>IT teams get Jabra Plus Management for fleet control, plus Xpress and Direct.</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:1600px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="HZgXmZwN3rXDwGnT8XMGQ8" name="Jabra Evolve3 65 Flex_20261030_141119035_HDR" alt="Jabra Evolve3 65 Flex business headphones" src="https://cdn.mos.cms.futurecdn.net/HZgXmZwN3rXDwGnT8XMGQ8-1920-80.jpg" mos="" align="middle" fullscreen="" width="1600" height="900" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Mark Pickavance)</span></figcaption></figure><p>What makes this design so useful in an office environment is the ClearVoice functionality. It replaces the boom arm with a multi-microphone array and a neural network trained on over 60 million sentences. I do wonder where they found all those sentences to train their model, but Jabra undoubtedly draws on the hearing expertise of its parent company GN here.</p><p>The end result of ClearVoice is that callers should not notice the missing boom. Jabra claims over 95 per cent voice pickup accuracy outdoors and over 99 per cent in open offices, as measured with AI assistants. </p><p>That is a very specific claim, and worth testing, but I got bored after twenty sentences. What I can say is that omitting a boom doesn’t seem to affect audio pickup much, and it also avoids those annoying crunch sounds that happen when the boom is touched.</p><p>Wind noise reduction is also a configurable option, which shows Jabra expects these to leave the office and jog to the nearest sandwich shop, presumably. The hearing protection features include Intellitone and PeakStop, if you like trademarked features.</p><p>The Evolve 65 Flex delivers most of the critical aspects of the Evolve3 85 without treading on that product’s toes, demonstrating the product agility Jabra is rightly known for. </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:1141px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="WP7Ae2YBa8DHfgEzdb8XyL" name="ls4_1920x1080" alt="Jabra Evolve3 65 Flex business headphones" src="https://cdn.mos.cms.futurecdn.net/v2/w:1920,t:48,l:711,cw:1141,ch:642,q:80/WP7Ae2YBa8DHfgEzdb8XyL.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Jabra GN)</span></figcaption></figure><ul><li><strong>Hardware: 4/5</strong></li></ul><h3 class="article-body__section" id="section-jabra-evolve3-65-flex-performance"><span>Jabra Evolve3 65 Flex: Performance</span></h3><ul><li><strong>Effective ANC</strong></li><li><strong>Excellent charging options</strong></li></ul><p>The Flex works as a call headset first and a music headphone second, making it a flexible solution. Jabra supplies 28mm drivers, spatial sound, and an equaliser, which suggests it expects you to listen as well as talk.</p><p>Spatial Sound is intended to place voices in front of you rather than inside your head. That should make long calls less tiring, and less like a disturbing mental condition. </p><p>The adaptive ANC adjusts to the environment and to the quality of the seal around your ears, which, given the size of these cushions, is critical.</p><p>Most ANC systems apply a fixed profile, which either works or it doesn’t. This one recalibrates as the headset moves, making it more likely to be useful. This technology, termed HearThrough, also stays active during calls, where most business headsets switch it off.</p><p>The main caveat is reduced battery life, especially compared with the Evolve3 85.</p><p>Battery life is more modest than on the Evolve3 85. Jabra quotes up to 16.5 hours of calls with ANC and the busylight off, or 14.5 hours with both on. That is still two working days of calls, just about, but that’s a day less than the 85.</p><p>What seems slightly curious is the quoted music playback timescale, which is more heavily impacted by leaving ANC on. Without ANC, Jabra quotes 80 hours, but you can reduce that to only 35 hours if you leave the ANC on. </p><p>It was expected that it takes more power to run ANC than to drive the sound, since the Evolve3 85 was 120 hours with ANC off and 55 hours with it on. That is worth noting, since most people will leave ANC running.</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="PXtNQvxVdiLPjrjmJsPN4M" name="ls1_1920x1080" alt="Jabra Evolve3 65 Flex business headphones" src="https://cdn.mos.cms.futurecdn.net/PXtNQvxVdiLPjrjmJsPN4M-1920-80.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: Jabra GN)</span></figcaption></figure><p>Fast charging is generous and has your back if you leave work without remembering to put them on charge. Ten minutes on the cable gives up to four hours of music. Jabra quotes 35 per cent arrives in 30 minutes and 65 per cent in an hour. A full charge takes up to three hours, but you should be able to get through a working day with only 90 minutes total charging. You can use them while they charge; just don’t forget you are connected by the USB-C cable.</p><p>Wireless charging is supported, so the headset can sit on a Qi pad on your desk. My model did not include a charging pad, and it arrived in a simple cardboard box. Jabra has a SKU with the charger that’s another £45, which seems steep for such simple technology.</p><p>The battery is user-replaceable, which is a real benefit for long-term ownership. It beats binning a serviceable headset because the cell has faded.</p><p>I am not an audiophile, so I will not pretend to review the music quality in depth, but the smaller drivers on these seemed less inclined to bass than the Evolve3 85, and those weren’t strong on bass either. </p><p>Mid-range and higher frequencies are better represented, but these aren’t something that audiophiles would realistically use. Using the Jabra+ app, you can boost bass and treble, but these settings have limits with 28mm speakers.</p><ul><li><strong>Performance: 4/5</strong></li></ul><h2 class="article-body__section" id="section-jabra-evolve3-65-flex-final-verdict"><span>Jabra Evolve3 65 Flex: Final verdict</span></h2><p>The Evolve3 65 Flex does what the Evolve3 range does best, but in a more travel-friendly package. It is light, it looks sensible, and it keeps ANC running during calls.</p><p>The trade-offs are shorter battery life, a less isolating on-ear fit, and a price firmly aimed at budget holders rather than typical home users. The missing desktop app is a minor irritation, since most users will install the Jabra+ app on their phones. But missing a release by a year is poor effort on Jabra’s part, however you look at it. </p><p>If you split your time between desk, home and train carriage, these make perfect sense. If you only ever work at one desk, the Evolve3 85 is probably the better headset, if you can stretch to the cost of those.</p><h2 class="article-body__section" id="section-should-i-buy-a-jabra-evolve3-85"><span>Should I buy a Jabra Evolve3 85?</span></h2><div ><table><caption>Jabra Evolve3 65 Flex  Score Card</caption><thead><tr><th class="firstcol " ><p>Attributes</p></th><th  ><p>Notes</p></th><th  ><p>Rating</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Value</p></td><td  ><p>Not cheap, but less than the flagship options</p></td><td  ><p>3.5/5</p></td></tr><tr><td class="firstcol " ><p>Design</p></td><td  ><p>Light, foldable and discreet </p></td><td  ><p>4/5</p></td></tr><tr><td class="firstcol " ><p>Hardware</p></td><td  ><p>Great for office use and fleet controls</p></td><td  ><p>4/5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>ANC and ClearVoice, but limited by 28mm speakers</p></td><td  ><p>4/5</p></td></tr><tr><td class="firstcol " ><p>Overall</p></td><td  ><p>Lightweight business headset for those on the move</p></td><td  ><p>4/5</p></td></tr></tbody></table></div><h2 id="buy-it-if-9">Buy it if...</h2><div class="product"><p><strong>You travel between workspaces</strong><br />The folding design and 143g weight make it easy to carry, and the case protects it in a bag. If you need headphones away from the office, these are a solid choice.</p><p><strong>Your business wants managed devices</strong><br />UC certification and Jabra Plus Management will suit IT teams that need central control. And, you can choose between different SKUs if you need Teams or even USB-A connectivity.</p></div><h2 id="don-39-t-buy-it-if-6">Don't buy it if...</h2><div class="product"><p><strong>You are working within a budget</strong><br />The price is hard to justify for personal use when consumer headphones offer more sound for less cash. But even for business use, there are cheaper options. </p><p> <strong>You want maximum battery life</strong><br />The Evolve3 85 lasts much longer, 21 hours to be direct, and manages that with ANC running. Whereas the Evolve3 65 Flex delivers only 14.5 hours with the ANC/busylight on. And, when the battery gets low, Flex also doesn’t charge as quickly as its bigger brother. </p></div><p><em>For more business audio solutions, we've reviewed the </em><a href="https://www.techradar.com/best/best-headset-for-working-for-home" target="_blank"><em>best headsets for working from home</em></a><em>.</em></p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Elegoo M1 Ultra 3D Scanner review ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Elegoo, known for its hobbyist 3D printers, is changing, and its more recent hardware shows big changes in both design and manufacturing quality. The M1 Ultra is one of the signs of this change yet, with a premium design and build that put it firmly in competition with established 3D scanning manufacturers such as Creality.</p><p>The M1 Ultra combines blue laser and infrared structured-light scanning, with five main scanning configurations that cover everything from small mechanical components and intricate objects to larger structures and even humans. The scanner offers a top accuracy of 0.02mm in the finest blue laser mode, and other standout features include full wireless operation, a 3-inch touchscreen and a swappable battery.</p><p>I’ve recently tested quite a few handheld 3D scanners, and there’s no doubt the market is getting competitive; however, whilst it’s a surprise to see Elegoo launch into the market, it’s even more surprising when I lifted the scanner from the hard case to discover the quality of the design and build. </p><p>The M1 Ultra is beautifully finished with a well-balanced design, with part rubberised grip that makes it comfortable to manoeuvre around objects. If anything, I would have liked the grip to be slightly longer, but otherwise the physical design is excellent.</p><p>The scanner connects through either wired USB or Wireless connection, with a slide switch enabling you to quickly switch between the two. This link connects you to the software, which initially guides you through the scanning process, and for first-generation software it’s all extremely well thought out. </p><p>The most important factor is scan quality, and while scanning a selection of household ornaments, mechanical components, and structural parts, it produced detailed, dimensionally accurate models that I could then export for direct 3D printing or import and edit within Blender.</p><p>One of the biggest surprises that I had during the scan process was firstly the speed and then the difference between the initial scanning preview that appeared in the software and the processed model. The preview scans looked OK, if a little rough, but after completing the scan and running the first processing stage, the detail suddenly appeared. </p><p>The Elegoo Scan software, being an early release, is surprisingly good and avoided any freezes or glitches through the testing. Scan processing typically took a couple of minutes, depending on complexity and the size, while editing and removing unwanted geometry was straightforward, partly due to my ever-increasing familiarity and use of these scanners. The usage and workflow of the software is very similar to other systems.</p><p>Wireless scanning on a scanner of this price is great to see, and I was quickly able to connect to the scanner over Wi-Fi. Once that connection was made, I found the live preview on the scanner’s touchscreen made moving around larger objects much easier. </p><p>Through the test, I did find many of the usual limits, such as scanning glossy black plastic and highly reflective surfaces still requiring scanning spray. In all cases, how easily something scans rests solely on careful preparation and marker placement. When using the scanner wirelessly, the scanner also takes over the computer’s Wi-Fi connection, preventing access to a normal workshop wireless network, which I also found was a little inconvenient.</p><p>Considering that this is Elegoo's first 3D scanner, the speed, quality and ease of use make it feel like a product that has already undergone several iterations. This is a great option for small businesses, makers, enthusiasts, and other 3D professionals looking for a decent 3D scanner at a reasonable price.</p><h2 class="article-body__section" id="section-elegoo-m1-ultra-price-and-availability"><span>ELEGOO M1 Ultra: Price and Availability</span></h2><p>The Elegoo M1 Ultra has a recommended retail price of $1,699 in the US, £1,399 in the UKand €1,699. The scanner is being sold through the <a href="https://us.elegoo.com/products/elegoo-m1-ultra-3d-scanner" target="_blank">official website here</a>.</p><h2 class="article-body__section" id="section-elegoo-m1-ultra-design"><span>Elegoo M1 Ultra: Design</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:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kSA36JJzYWSuUgghChjod3" name="ELEGOO M1 Ultra review" alt="ELEGOO M1 Ultra" src="https://cdn.mos.cms.futurecdn.net/kSA36JJzYWSuUgghChjod3-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><p>One of the first things that impressed me about the M1 Ultra was the physical design and quality of the build. In contrast to their range of hobbyist 3D printers, Elegoo has clearly aimed this at a more professional level, and it feels significantly more refined than many of their previous product lines. </p><p>Elegoo's hardware design improved dramatically, as I saw with its <a href="https://www.techradar.com/pro/elegoo-h1-ht-filament-dryer-review" target="_blank">H1 HT filament dryer</a> a few months back and again when it comes to finish and build quality; this feels premium and much like the quality that I’ve come to expect from companies like Bambu Lab.</p><p>Weighing in at just over half a kilogram, the M1 Ultra is relatively compact compared with several scanners I’ve used recently. The weight is well balanced for the size, and it's comfortable to hold while moving around objects, with the grip featuring a rubberised texture that provides excellent purchase.</p><p>Grip in the scanner is especially important when scanning smaller mechanical components, where controlled movements can affect tracking and the quality of the capture. If anything, I do feel that the grip could have been slightly longer, but overall it’s comfortable enough to handle.</p><p>The front of the scanner features the optical system, including the laser emitters, cameras and illumination; these all look like lenses. These are neatly integrated into the casing, while the controls on the large touch screen enable you to start, pause and access the hardware settings.</p><p>The 3-inch touchscreen is more than just a monitor for settings and enables less reliance, in some situations, on using a computer screen when scanning. An example is when using the scanner wirelessly, and the display provides a live scan preview; you can also use it to adjust the exposure and zoom.</p><p>Additional hardware settings can also be accessed through the touchscreen, including Wi-Fi hotspot information, display brightness, screen rotation, language, prompt sounds and sound alerts. I also liked the fact that I could access the onboard user guide.</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:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="DHiuQny62g6KcVKx8xbod3" name="ELEGOO M1 Ultra review" alt="ELEGOO M1 Ultra" src="https://cdn.mos.cms.futurecdn.net/DHiuQny62g6KcVKx8xbod3-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><p>Not all aspects of the user interface are as polished as the hardware itself. The start and pause controls, exposure adjustment, and zoom interface use a slightly dated visual style, with gradient effects that feel more like enthusiast equipment than professional; still, the actual functionality is there.</p><p>As I’ve seen with many of these scanners, it arrives in a hard carrying case which is identical in design to the one that arrived with one of the Creality scanners recently; the only difference is the logo on the front and the equipment inside. </p><p>Inside, the scanner is neatly laid out, with the scanner, batteries, calibration board, USB cable, tripod, and reflective markers. In contrast to some other scanners, the cables are kept to a minimum, with power and data handled through the same USB connection when using wired.</p><ul><li><strong>Design: 4/5</strong></li></ul><h2 class="article-body__section" id="section-elegoo-m1-ultra-features"><span>ELEGOO M1 Ultra: 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:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="5JAKacuaSviQDvoGgBf6E3" name="ELEGOO M1 Ultra review" alt="ELEGOO M1 Ultra" src="https://cdn.mos.cms.futurecdn.net/5JAKacuaSviQDvoGgBf6E3-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><div  class="fancy-box"><div class="fancy_box-title">Specs</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="RcrUhXVXRHbRnbGpcvj5B3" name="ELEGOO M1 Ultra review" caption="" alt="ELEGOO M1 Ultra" src="https://cdn.mos.cms.futurecdn.net/RcrUhXVXRHbRnbGpcvj5B3-1920-80.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: Alastair Jennings)</span></figcaption></figure><p class="fancy-box__body-text">Dimensions: 191 × 50 × 76mm</p><p class="fancy-box__body-text">Weight: 511g (including battery)</p><p class="fancy-box__body-text">Scanning Accuracy: Up to 0.02mm (blue laser)</p><p class="fancy-box__body-text">Scanning Modes: Five, including blue laser and infrared</p><p class="fancy-box__body-text">Scanning Speed: Up to 100fps (USB), 60fps (Wi-Fi)</p><p class="fancy-box__body-text">Scanning Resolution: 0.05–2mm (blue laser)</p><p class="fancy-box__body-text">Scanning Volume: 5 × 5 × 5mm to 4,000 × 4,000 × 4,000mm</p><p class="fancy-box__body-text">Display: 3-inch HD touchscreen</p><p class="fancy-box__body-text">Connectivity: USB-C 3.1 and Wi-Fi 6</p><p class="fancy-box__body-text">Battery: 4,800mAh removable</p></div></div><p>The M1 Ultra features five scanning modes designed to enable you to scan different materials, object sizes, and most importantly, levels of detail.</p><p>A quick run-through, and you have the 34-line crossed blue laser, which is designed for fast scanning of medium-to-large objects. The seven-line parallel mode is better suited to smaller parts and more detailed areas. The single-line configuration lets the scanner capture recessed features, deep holes, and narrow gaps.</p><p>Alongside these are infrared structured light mode, designed for larger objects, faces, and bodies, and the marker-free blue laser option for situations where reflective markers can't be applied, such as when scanning valuable museum artefacts.</p><p>Within each mode, there are a variety of options that you can configure through the Elegoo Scan software, which offers adjustments to tracking, field of view, capture resolution, as well as the main scan quality settings. </p><p>This does take some time to get your head around, and depending on the mode, you can select marker-assisted or marker-free tracking, standard or wide-angle fields of view, global marker workflows and different laser patterns. This sounds complex, but Elegoo have created guides for each type and practice is definitely needed in order to fully understand what type and size of object needs what type of scan and settings. </p><p>The software does go some way to make things easy, with an example being the infrared scanning mode that offers dedicated presets for normal objects, faces, and bodies, plus geometry-based and texture-based tracking options.</p><p>Although the number of settings is considerable, the software is generally well organised. If you are new to 3D scanning, there’s also plenty of guides and visual prompts in the software to explain how the different options work.</p><ul><li><strong>Features: 4.5/5</strong></li></ul><h2 class="article-body__section" id="section-elegoo-m1-ultra-performance"><span>ELEGOO M1 Ultra: 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:1200px;"><p class="vanilla-image-block" style="padding-top:42.83%;"><img id="XsoSsUUG4FDJxRMwrb2zy" name="ELEGOO M1 Ultra review" alt="ELEGOO M1 Ultra" src="https://cdn.mos.cms.futurecdn.net/XsoSsUUG4FDJxRMwrb2zy-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="514" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><p>Getting started, the first step is the hardware setup. After installing Elegoo Scan on my MacBook Pro, connecting the scanner through USB and selecting the connection option, it was almost ready to go aside from a quick initial firmware update. </p><p>Before the scanning process could begin, I needed to run through the calibration process, and this was all surprisingly easy with the calibration chart sitting on the table and the software directing me through a series of manoeuvres with the on-screen guide. This style of calibration used to take me ages; however, here I found the process pretty quick and straightforward. </p><p>I started the test using the wired connection, but to switch to wireless there’s a small switch on top of the scanner that enables the change from USB to WLAN. As the switch is moved, the system restarts, and then you can select the scanner’s hotspot from the computer’s Wi-Fi connections, enter the on-screen password, and again it’s ready to go.</p><p>The process is easy enough, though wireless operation means the scanner creates its own Wi-Fi hotspot, which the computer must connect directly to. That meant disconnecting from the workshop Wi-Fi, and there was no option to keep both connections active at once.</p><p>This isn’t an issue during scanning, especially since the software works offline, but it becomes a bit annoying when switching between scanning and anything that I needed to do online.</p><p>When everything was set and ready, I was able to start the scanning process, starting with the 34-line cross blue laser options, which proved to scan objects at speed. Once a scan was captured, it was then possible to clean up the point cloud, as well as easily align multiple scans, and move through mesh wrapping and optimisation before exporting the finished model.</p><p>The M1 Ultra and the software effectively give you an easy scan-to-model process, and when finished, you just click export.</p><p>For testing, I scanned a variety of objects, ranging from household and office ornaments to mechanical components and structural parts that I needed to reproduce or work around when creating brackets and replacement pieces.</p><p>These included objects made from tarnished metal, matte ceramic, plastic, and wood, and the scanner performed exceptionally well across these materials. As with other 3D scanners I’ve tested, good results come down to preparation. While marker-free scanning sounds appealing, I have found that reflective markers remain the most reliable approach.</p><p>My usual setup includes a rotating platform, custom 3D-printed marker blocks positioned around the object, and adhesive reflective markers attached directly to the object wherever practical. I also use acrylic blocks to raise the object above the surface. This helps separate the subject from the surrounding environment, especially the platform it sits on, and makes the captured data easier to cut out and process.</p><p>The whole preparation process generally takes around five minutes, but it makes an enormous difference to the ease and reliability of scanning. Through the setup process, I aim to keep at least five reflective markers visible to the scanner at any one time, and this generally meant that tracking was straightforward. Scanning objects without markers proved less reliable, even with the scanner’s marker-free configuration.</p><p>Once I had properly prepared the subject, most objects took around five to ten minutes to scan from each orientation. Where possible, I tried to capture the object in just two orientations, as this made alignment quicker and generally produced better results.</p><p>The scanning process itself was fast, and it was good to see the preview build up the model. When scanning, I started off with the crossed blue laser pattern as this tended to provide the best overall coverage, and then switched to the seven-line mode when scanning more complex objects. For recessed features and deeper holes, switching to the single-line laser again helped to fill in some of the gaps. </p><p>After scanning, each model is previewed on the screen, and then you can go through the various processing modes. One point to make here is that the initial scanning is surprisingly fast and the initial point-cloud preview can look a little rough, giving little indication of the level of detail that has actually been captured. However, after you finish the scan and move through the first refinement stage, the model's detail suddenly snaps into place, and it’s impressive.</p><p>The M1 Ultra reproduced fine surface features and dimensional accuracy extremely well. One example of the accuracy came when I scanned the car's EV charger, with the model generated being imported into CAD software as a template for a wall-mounted holder. The finished product, while needing some refinement, fitted the EV charger perfectly.</p><p>The software is able to export OBJ files that can then be used in applications such as Blender for further editing. The range of available export formats also makes it relatively straightforward to move finished models into other design and manufacturing workflows, with 3MF and STL alongside OBJ.</p><p>Not every object's surface was easy to capture, and as ever, while tarnished metal, wood, ceramic and plastic surfaces generally scanned very well, glossy black plastic gained mixed results.</p><p>Essentially, any surface that reflects or absorbs the scanning light causes a bit of an issue, and you can get matte scanning sprays to help with the scanning of this type of object.</p><p>Infrared scanning also produced ok results, and making sure you work in a well-lit, soft-light environment definitely helps. Again, as with any scanning mode, practice and skill often play a large part in the scanning success.</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:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="tHBReDH6WTzKnns9VDnyc" name="ELEGOO M1 Ultra review" alt="ELEGOO M1 Ultra" src="https://cdn.mos.cms.futurecdn.net/tHBReDH6WTzKnns9VDnyc-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><p>One of the main skills when scanning is alignment, essentially when you take a couple of scans of an object from different angles and then align them into one. The alignment option worked well and was surprisingly fast to process between scans, provided the reflective markers' position was maintained. This works by completing the first scan; then the object could be repositioned to capture another side without moving any of the base markers, and the resulting scans could then be selected and aligned within Elegoo Scan.</p><p>The important point here is that the markers used as reference points must remain in the correct positions. If you move markers on the platform between scans, alignment will be much harder, and in most cases it's easier to start again.</p><p>Mesh processing generally took a couple of minutes per scan, though the time varied considerably with the model's size and complexity. There is still a need to remove unwanted surfaces and sections of the surrounding environment manually, but the software proved effective. Throughout testing, Elegoo Scan remained solid, with no crashes, freezes, or other problems that I have come across in the past with scan software.</p><p>For a first-generation Elegoo scanner, and with software at such an early stage of development, this level of reliability is excellent.</p><p>At the start of the test, I stuck to a wired connection, mainly due to having to check guides, etc., but over the weeks of the test I switched to the wireless option. There are some sacrifices that you make as you switch over to the wireless connection, most notably that the scanner has a lower quoted maximum frame rate; however,  I didn’t notice much of a difference.</p><p>The real improvement going wireless was the ergonomic feel of scanning alongside the obvious effect of no longer having trailing wires. The main benefit is that instead of looking back at the laptop monitor to check scan progress, the wireless connection let me monitor the preview directly on the handheld scanner’s touchscreen. This made scanning far more natural, especially when moving around larger or awkwardly positioned objects.</p><p>Through the test, I found that the battery runtime was about 60 minutes, shorter than Elegoo's advertised maximum of 90 minutes, but still enough for several typical scans, and I also discovered I could hot-swap the battery with the second battery that was included. I experimented with swapping the battery while USB power was connected, which appeared to work, though this wasn't officially covered in the material I had.</p><ul><li><strong>Performance: 4 / 5</strong></li></ul><h2 class="article-body__section" id="section-elegoo-m1-ultra-final-verdict"><span>ELEGOO M1 Ultra: Final verdict</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:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ZRH3M8RgYVSzWoDRTiVxd3" name="ELEGOO M1 Ultra review" alt="ELEGOO M1 Ultra" src="https://cdn.mos.cms.futurecdn.net/ZRH3M8RgYVSzWoDRTiVxd3-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><p>The Elegoo M1 Ultra shows the direction that the company is moving, and this is an impressive start for them in the 3D scanning market. The arrival in the hard case, with the premium build and design, is far removed from their hobbyist machines, and it all has a decidedly higher-quality feel. </p><p>The overall ergonomics and build are excellent, and this quality of design comes across in use, with it being easy to handle and with the ability to switch between wired and wireless scanning.</p><p>As ever, there are the usual issues with the time taken to prepare the scan, but this is part of the course for all 3D scanners and the more time you put in, the better the scan you get. However, the speed of the scans that the M1 enables is impressive, and more importantly, the quality of those scans was exceptionally detailed. </p><p>The Elegoo Scan software is also well thought out, although I do feel there needs to be a little more thought on the design of both the scanning software and the touchscreen interface. The old Elegoo is still apparent in both, giving that hobbyist rather than slick professional aesthetic. </p><p>Wireless scanning is another point, and while this works exceptionally well, it does lock your computer out of the normal Wi-Fi network. There are then the usual points about scanning highly reflective or glossy surfaces, which will require scanning spray.</p><p>While good results can be achieved with what's in the box, I would, as always, highly recommend the following: turntable, reflective markers, marker blocks, acrylic supports, and scanning spray; these are all relatively inexpensive but will save you hours. </p><h2 id="should-you-buy-the-elegoo-m1-ultra">Should you buy the Elegoo M1 Ultra?</h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ></td><td  ></td></tr><tr><td class="firstcol " ><p>Value:</p></td><td  ><p>Exceptional first-generation scanner at a very reasonable price considering the alternatives.</p></td><td  ><p>4.5</p></td></tr><tr><td class="firstcol " ><p>Design:</p></td><td  ><p> Premium build and ergonomics highlight Elegoos investment in design.</p></td><td  ><p>4</p></td></tr><tr><td class="firstcol " ><p>Features:</p></td><td  ><p>Packed with scanning modes and plenty of options to refine your scanning</p></td><td  ><p>4.5</p></td></tr><tr><td class="firstcol " ><p>Performance: </p></td><td  ><p>Fast and very capable with one of the easiest workflows yet</p></td><td  ><p>4</p></td></tr><tr><td class="firstcol " ><p>Total:</p></td><td  ><p>Excellent scanner for everyone from enthusiasts to professionals.</p></td><td  ><p>4.5</p></td></tr></tbody></table></div><h2 id="buy-it-if-10">Buy it if...</h2><div class="product"><p><strong>You need detailed scans.</strong></p><p>If you regularly design replacement components, custom brackets, or work with existing physical objects, the M1 Ultra delivers excellent scan quality that you can update in CAD.</p><p><strong>You want wireless flexibility.</strong></p><p>The integrated touchscreen, direct Wi-Fi connection, and removable batteries make the M1 Ultra much easier to manoeuvre around objects than scanners that rely on wired connections. </p></div><h2 id="don-39-t-buy-it-if-7">Don't buy it if...</h2><div class="product"><p><strong>You expect instant results.</strong></p><p>Despite the ease of use, successful 3D scanning still requires preparation, reflective markers and practice. If you expect to point the scanner at an object and instantly produce a perfect model, you’ll be disappointed.</p><p><strong>You scan difficult surfaces.</strong></p><p>Highly reflective, transparent or glossy black objects remain difficult to scan. While the M1 Ultra is more versatile than some alternatives, you may will need additional scanning spray and lighting to get good results.</p></div><p><em>For more crafting essentials, I've also tested out the </em><a href="https://www.techradar.com/best/best-3d-printers" target="_blank"><em>best 3D printers</em></a><em> and </em><a href="https://www.techradar.com/pro/best-laser-engravers-in-year" target="_blank"><em>best laser engravers</em></a></p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/pro/elegoo-m1-ultra-3d-scanner-review</link>
                                                                            <description>
                            <![CDATA[ The Elegoo M1 Ultra is an accurate handheld 3D scanner that I found an excellent choice for small businesses, enthusiasts and entry-level professionals. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">pnf9zy2ZRNGrXhQ7foxrbi</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/XsoSsUUG4FDJxRMwrb2zy-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 31 Oct 2026 15:15:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Pro]]></category>
                                                                                                                    <dc:creator><![CDATA[ Alastair Jennings ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ &lt;p&gt;Alastair is a photographer, filmmaker and tech writer who has been working in the publishing industry since the late 1990s. For more than 25 years he has covered photography, video and technology across Future&#039;s photography, technology and gaming brands, and worked on many of the company&#039;s launch titles. Based in the south of England, Alastair now runs a photography and video production company and lectures in TV and film. When not on set or in the classroom, Alastair can usually be found prototyping and prop building with the aid of 3D printing as well as advising companies on social video strategy and creative workflows which gives him the tech insight behind the reviews.&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/XsoSsUUG4FDJxRMwrb2zy-1920-80.jpg">
                                                            <media:credit><![CDATA[Alastair Jennings]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[ELEGOO M1 Ultra]]></media:description>                                                            <media:text><![CDATA[ELEGOO M1 Ultra]]></media:text>
                                <media:title type="plain"><![CDATA[ELEGOO M1 Ultra]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/XsoSsUUG4FDJxRMwrb2zy-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Elegoo, known for its hobbyist 3D printers, is changing, and its more recent hardware shows big changes in both design and manufacturing quality. The M1 Ultra is one of the signs of this change yet, with a premium design and build that put it firmly in competition with established 3D scanning manufacturers such as Creality.</p><p>The M1 Ultra combines blue laser and infrared structured-light scanning, with five main scanning configurations that cover everything from small mechanical components and intricate objects to larger structures and even humans. The scanner offers a top accuracy of 0.02mm in the finest blue laser mode, and other standout features include full wireless operation, a 3-inch touchscreen and a swappable battery.</p><p>I’ve recently tested quite a few handheld 3D scanners, and there’s no doubt the market is getting competitive; however, whilst it’s a surprise to see Elegoo launch into the market, it’s even more surprising when I lifted the scanner from the hard case to discover the quality of the design and build. </p><p>The M1 Ultra is beautifully finished with a well-balanced design, with part rubberised grip that makes it comfortable to manoeuvre around objects. If anything, I would have liked the grip to be slightly longer, but otherwise the physical design is excellent.</p><p>The scanner connects through either wired USB or Wireless connection, with a slide switch enabling you to quickly switch between the two. This link connects you to the software, which initially guides you through the scanning process, and for first-generation software it’s all extremely well thought out. </p><p>The most important factor is scan quality, and while scanning a selection of household ornaments, mechanical components, and structural parts, it produced detailed, dimensionally accurate models that I could then export for direct 3D printing or import and edit within Blender.</p><p>One of the biggest surprises that I had during the scan process was firstly the speed and then the difference between the initial scanning preview that appeared in the software and the processed model. The preview scans looked OK, if a little rough, but after completing the scan and running the first processing stage, the detail suddenly appeared. </p><p>The Elegoo Scan software, being an early release, is surprisingly good and avoided any freezes or glitches through the testing. Scan processing typically took a couple of minutes, depending on complexity and the size, while editing and removing unwanted geometry was straightforward, partly due to my ever-increasing familiarity and use of these scanners. The usage and workflow of the software is very similar to other systems.</p><p>Wireless scanning on a scanner of this price is great to see, and I was quickly able to connect to the scanner over Wi-Fi. Once that connection was made, I found the live preview on the scanner’s touchscreen made moving around larger objects much easier. </p><p>Through the test, I did find many of the usual limits, such as scanning glossy black plastic and highly reflective surfaces still requiring scanning spray. In all cases, how easily something scans rests solely on careful preparation and marker placement. When using the scanner wirelessly, the scanner also takes over the computer’s Wi-Fi connection, preventing access to a normal workshop wireless network, which I also found was a little inconvenient.</p><p>Considering that this is Elegoo's first 3D scanner, the speed, quality and ease of use make it feel like a product that has already undergone several iterations. This is a great option for small businesses, makers, enthusiasts, and other 3D professionals looking for a decent 3D scanner at a reasonable price.</p><h2 class="article-body__section" id="section-elegoo-m1-ultra-price-and-availability"><span>ELEGOO M1 Ultra: Price and Availability</span></h2><p>The Elegoo M1 Ultra has a recommended retail price of $1,699 in the US, £1,399 in the UKand €1,699. The scanner is being sold through the <a href="https://us.elegoo.com/products/elegoo-m1-ultra-3d-scanner" target="_blank">official website here</a>.</p><h2 class="article-body__section" id="section-elegoo-m1-ultra-design"><span>Elegoo M1 Ultra: Design</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:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kSA36JJzYWSuUgghChjod3" name="ELEGOO M1 Ultra review" alt="ELEGOO M1 Ultra" src="https://cdn.mos.cms.futurecdn.net/kSA36JJzYWSuUgghChjod3-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><p>One of the first things that impressed me about the M1 Ultra was the physical design and quality of the build. In contrast to their range of hobbyist 3D printers, Elegoo has clearly aimed this at a more professional level, and it feels significantly more refined than many of their previous product lines. </p><p>Elegoo's hardware design improved dramatically, as I saw with its <a href="https://www.techradar.com/pro/elegoo-h1-ht-filament-dryer-review" target="_blank">H1 HT filament dryer</a> a few months back and again when it comes to finish and build quality; this feels premium and much like the quality that I’ve come to expect from companies like Bambu Lab.</p><p>Weighing in at just over half a kilogram, the M1 Ultra is relatively compact compared with several scanners I’ve used recently. The weight is well balanced for the size, and it's comfortable to hold while moving around objects, with the grip featuring a rubberised texture that provides excellent purchase.</p><p>Grip in the scanner is especially important when scanning smaller mechanical components, where controlled movements can affect tracking and the quality of the capture. If anything, I do feel that the grip could have been slightly longer, but overall it’s comfortable enough to handle.</p><p>The front of the scanner features the optical system, including the laser emitters, cameras and illumination; these all look like lenses. These are neatly integrated into the casing, while the controls on the large touch screen enable you to start, pause and access the hardware settings.</p><p>The 3-inch touchscreen is more than just a monitor for settings and enables less reliance, in some situations, on using a computer screen when scanning. An example is when using the scanner wirelessly, and the display provides a live scan preview; you can also use it to adjust the exposure and zoom.</p><p>Additional hardware settings can also be accessed through the touchscreen, including Wi-Fi hotspot information, display brightness, screen rotation, language, prompt sounds and sound alerts. I also liked the fact that I could access the onboard user guide.</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:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="DHiuQny62g6KcVKx8xbod3" name="ELEGOO M1 Ultra review" alt="ELEGOO M1 Ultra" src="https://cdn.mos.cms.futurecdn.net/DHiuQny62g6KcVKx8xbod3-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><p>Not all aspects of the user interface are as polished as the hardware itself. The start and pause controls, exposure adjustment, and zoom interface use a slightly dated visual style, with gradient effects that feel more like enthusiast equipment than professional; still, the actual functionality is there.</p><p>As I’ve seen with many of these scanners, it arrives in a hard carrying case which is identical in design to the one that arrived with one of the Creality scanners recently; the only difference is the logo on the front and the equipment inside. </p><p>Inside, the scanner is neatly laid out, with the scanner, batteries, calibration board, USB cable, tripod, and reflective markers. In contrast to some other scanners, the cables are kept to a minimum, with power and data handled through the same USB connection when using wired.</p><ul><li><strong>Design: 4/5</strong></li></ul><h2 class="article-body__section" id="section-elegoo-m1-ultra-features"><span>ELEGOO M1 Ultra: 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:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="5JAKacuaSviQDvoGgBf6E3" name="ELEGOO M1 Ultra review" alt="ELEGOO M1 Ultra" src="https://cdn.mos.cms.futurecdn.net/5JAKacuaSviQDvoGgBf6E3-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><div  class="fancy-box"><div class="fancy_box-title">Specs</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="RcrUhXVXRHbRnbGpcvj5B3" name="ELEGOO M1 Ultra review" caption="" alt="ELEGOO M1 Ultra" src="https://cdn.mos.cms.futurecdn.net/RcrUhXVXRHbRnbGpcvj5B3-1920-80.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: Alastair Jennings)</span></figcaption></figure><p class="fancy-box__body-text">Dimensions: 191 × 50 × 76mm</p><p class="fancy-box__body-text">Weight: 511g (including battery)</p><p class="fancy-box__body-text">Scanning Accuracy: Up to 0.02mm (blue laser)</p><p class="fancy-box__body-text">Scanning Modes: Five, including blue laser and infrared</p><p class="fancy-box__body-text">Scanning Speed: Up to 100fps (USB), 60fps (Wi-Fi)</p><p class="fancy-box__body-text">Scanning Resolution: 0.05–2mm (blue laser)</p><p class="fancy-box__body-text">Scanning Volume: 5 × 5 × 5mm to 4,000 × 4,000 × 4,000mm</p><p class="fancy-box__body-text">Display: 3-inch HD touchscreen</p><p class="fancy-box__body-text">Connectivity: USB-C 3.1 and Wi-Fi 6</p><p class="fancy-box__body-text">Battery: 4,800mAh removable</p></div></div><p>The M1 Ultra features five scanning modes designed to enable you to scan different materials, object sizes, and most importantly, levels of detail.</p><p>A quick run-through, and you have the 34-line crossed blue laser, which is designed for fast scanning of medium-to-large objects. The seven-line parallel mode is better suited to smaller parts and more detailed areas. The single-line configuration lets the scanner capture recessed features, deep holes, and narrow gaps.</p><p>Alongside these are infrared structured light mode, designed for larger objects, faces, and bodies, and the marker-free blue laser option for situations where reflective markers can't be applied, such as when scanning valuable museum artefacts.</p><p>Within each mode, there are a variety of options that you can configure through the Elegoo Scan software, which offers adjustments to tracking, field of view, capture resolution, as well as the main scan quality settings. </p><p>This does take some time to get your head around, and depending on the mode, you can select marker-assisted or marker-free tracking, standard or wide-angle fields of view, global marker workflows and different laser patterns. This sounds complex, but Elegoo have created guides for each type and practice is definitely needed in order to fully understand what type and size of object needs what type of scan and settings. </p><p>The software does go some way to make things easy, with an example being the infrared scanning mode that offers dedicated presets for normal objects, faces, and bodies, plus geometry-based and texture-based tracking options.</p><p>Although the number of settings is considerable, the software is generally well organised. If you are new to 3D scanning, there’s also plenty of guides and visual prompts in the software to explain how the different options work.</p><ul><li><strong>Features: 4.5/5</strong></li></ul><h2 class="article-body__section" id="section-elegoo-m1-ultra-performance"><span>ELEGOO M1 Ultra: 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:1200px;"><p class="vanilla-image-block" style="padding-top:42.83%;"><img id="XsoSsUUG4FDJxRMwrb2zy" name="ELEGOO M1 Ultra review" alt="ELEGOO M1 Ultra" src="https://cdn.mos.cms.futurecdn.net/XsoSsUUG4FDJxRMwrb2zy-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="514" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><p>Getting started, the first step is the hardware setup. After installing Elegoo Scan on my MacBook Pro, connecting the scanner through USB and selecting the connection option, it was almost ready to go aside from a quick initial firmware update. </p><p>Before the scanning process could begin, I needed to run through the calibration process, and this was all surprisingly easy with the calibration chart sitting on the table and the software directing me through a series of manoeuvres with the on-screen guide. This style of calibration used to take me ages; however, here I found the process pretty quick and straightforward. </p><p>I started the test using the wired connection, but to switch to wireless there’s a small switch on top of the scanner that enables the change from USB to WLAN. As the switch is moved, the system restarts, and then you can select the scanner’s hotspot from the computer’s Wi-Fi connections, enter the on-screen password, and again it’s ready to go.</p><p>The process is easy enough, though wireless operation means the scanner creates its own Wi-Fi hotspot, which the computer must connect directly to. That meant disconnecting from the workshop Wi-Fi, and there was no option to keep both connections active at once.</p><p>This isn’t an issue during scanning, especially since the software works offline, but it becomes a bit annoying when switching between scanning and anything that I needed to do online.</p><p>When everything was set and ready, I was able to start the scanning process, starting with the 34-line cross blue laser options, which proved to scan objects at speed. Once a scan was captured, it was then possible to clean up the point cloud, as well as easily align multiple scans, and move through mesh wrapping and optimisation before exporting the finished model.</p><p>The M1 Ultra and the software effectively give you an easy scan-to-model process, and when finished, you just click export.</p><p>For testing, I scanned a variety of objects, ranging from household and office ornaments to mechanical components and structural parts that I needed to reproduce or work around when creating brackets and replacement pieces.</p><p>These included objects made from tarnished metal, matte ceramic, plastic, and wood, and the scanner performed exceptionally well across these materials. As with other 3D scanners I’ve tested, good results come down to preparation. While marker-free scanning sounds appealing, I have found that reflective markers remain the most reliable approach.</p><p>My usual setup includes a rotating platform, custom 3D-printed marker blocks positioned around the object, and adhesive reflective markers attached directly to the object wherever practical. I also use acrylic blocks to raise the object above the surface. This helps separate the subject from the surrounding environment, especially the platform it sits on, and makes the captured data easier to cut out and process.</p><p>The whole preparation process generally takes around five minutes, but it makes an enormous difference to the ease and reliability of scanning. Through the setup process, I aim to keep at least five reflective markers visible to the scanner at any one time, and this generally meant that tracking was straightforward. Scanning objects without markers proved less reliable, even with the scanner’s marker-free configuration.</p><p>Once I had properly prepared the subject, most objects took around five to ten minutes to scan from each orientation. Where possible, I tried to capture the object in just two orientations, as this made alignment quicker and generally produced better results.</p><p>The scanning process itself was fast, and it was good to see the preview build up the model. When scanning, I started off with the crossed blue laser pattern as this tended to provide the best overall coverage, and then switched to the seven-line mode when scanning more complex objects. For recessed features and deeper holes, switching to the single-line laser again helped to fill in some of the gaps. </p><p>After scanning, each model is previewed on the screen, and then you can go through the various processing modes. One point to make here is that the initial scanning is surprisingly fast and the initial point-cloud preview can look a little rough, giving little indication of the level of detail that has actually been captured. However, after you finish the scan and move through the first refinement stage, the model's detail suddenly snaps into place, and it’s impressive.</p><p>The M1 Ultra reproduced fine surface features and dimensional accuracy extremely well. One example of the accuracy came when I scanned the car's EV charger, with the model generated being imported into CAD software as a template for a wall-mounted holder. The finished product, while needing some refinement, fitted the EV charger perfectly.</p><p>The software is able to export OBJ files that can then be used in applications such as Blender for further editing. The range of available export formats also makes it relatively straightforward to move finished models into other design and manufacturing workflows, with 3MF and STL alongside OBJ.</p><p>Not every object's surface was easy to capture, and as ever, while tarnished metal, wood, ceramic and plastic surfaces generally scanned very well, glossy black plastic gained mixed results.</p><p>Essentially, any surface that reflects or absorbs the scanning light causes a bit of an issue, and you can get matte scanning sprays to help with the scanning of this type of object.</p><p>Infrared scanning also produced ok results, and making sure you work in a well-lit, soft-light environment definitely helps. Again, as with any scanning mode, practice and skill often play a large part in the scanning success.</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:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="tHBReDH6WTzKnns9VDnyc" name="ELEGOO M1 Ultra review" alt="ELEGOO M1 Ultra" src="https://cdn.mos.cms.futurecdn.net/tHBReDH6WTzKnns9VDnyc-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><p>One of the main skills when scanning is alignment, essentially when you take a couple of scans of an object from different angles and then align them into one. The alignment option worked well and was surprisingly fast to process between scans, provided the reflective markers' position was maintained. This works by completing the first scan; then the object could be repositioned to capture another side without moving any of the base markers, and the resulting scans could then be selected and aligned within Elegoo Scan.</p><p>The important point here is that the markers used as reference points must remain in the correct positions. If you move markers on the platform between scans, alignment will be much harder, and in most cases it's easier to start again.</p><p>Mesh processing generally took a couple of minutes per scan, though the time varied considerably with the model's size and complexity. There is still a need to remove unwanted surfaces and sections of the surrounding environment manually, but the software proved effective. Throughout testing, Elegoo Scan remained solid, with no crashes, freezes, or other problems that I have come across in the past with scan software.</p><p>For a first-generation Elegoo scanner, and with software at such an early stage of development, this level of reliability is excellent.</p><p>At the start of the test, I stuck to a wired connection, mainly due to having to check guides, etc., but over the weeks of the test I switched to the wireless option. There are some sacrifices that you make as you switch over to the wireless connection, most notably that the scanner has a lower quoted maximum frame rate; however,  I didn’t notice much of a difference.</p><p>The real improvement going wireless was the ergonomic feel of scanning alongside the obvious effect of no longer having trailing wires. The main benefit is that instead of looking back at the laptop monitor to check scan progress, the wireless connection let me monitor the preview directly on the handheld scanner’s touchscreen. This made scanning far more natural, especially when moving around larger or awkwardly positioned objects.</p><p>Through the test, I found that the battery runtime was about 60 minutes, shorter than Elegoo's advertised maximum of 90 minutes, but still enough for several typical scans, and I also discovered I could hot-swap the battery with the second battery that was included. I experimented with swapping the battery while USB power was connected, which appeared to work, though this wasn't officially covered in the material I had.</p><ul><li><strong>Performance: 4 / 5</strong></li></ul><h2 class="article-body__section" id="section-elegoo-m1-ultra-final-verdict"><span>ELEGOO M1 Ultra: Final verdict</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:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ZRH3M8RgYVSzWoDRTiVxd3" name="ELEGOO M1 Ultra review" alt="ELEGOO M1 Ultra" src="https://cdn.mos.cms.futurecdn.net/ZRH3M8RgYVSzWoDRTiVxd3-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Alastair Jennings)</span></figcaption></figure><p>The Elegoo M1 Ultra shows the direction that the company is moving, and this is an impressive start for them in the 3D scanning market. The arrival in the hard case, with the premium build and design, is far removed from their hobbyist machines, and it all has a decidedly higher-quality feel. </p><p>The overall ergonomics and build are excellent, and this quality of design comes across in use, with it being easy to handle and with the ability to switch between wired and wireless scanning.</p><p>As ever, there are the usual issues with the time taken to prepare the scan, but this is part of the course for all 3D scanners and the more time you put in, the better the scan you get. However, the speed of the scans that the M1 enables is impressive, and more importantly, the quality of those scans was exceptionally detailed. </p><p>The Elegoo Scan software is also well thought out, although I do feel there needs to be a little more thought on the design of both the scanning software and the touchscreen interface. The old Elegoo is still apparent in both, giving that hobbyist rather than slick professional aesthetic. </p><p>Wireless scanning is another point, and while this works exceptionally well, it does lock your computer out of the normal Wi-Fi network. There are then the usual points about scanning highly reflective or glossy surfaces, which will require scanning spray.</p><p>While good results can be achieved with what's in the box, I would, as always, highly recommend the following: turntable, reflective markers, marker blocks, acrylic supports, and scanning spray; these are all relatively inexpensive but will save you hours. </p><h2 id="should-you-buy-the-elegoo-m1-ultra">Should you buy the Elegoo M1 Ultra?</h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ></td><td  ></td></tr><tr><td class="firstcol " ><p>Value:</p></td><td  ><p>Exceptional first-generation scanner at a very reasonable price considering the alternatives.</p></td><td  ><p>4.5</p></td></tr><tr><td class="firstcol " ><p>Design:</p></td><td  ><p> Premium build and ergonomics highlight Elegoos investment in design.</p></td><td  ><p>4</p></td></tr><tr><td class="firstcol " ><p>Features:</p></td><td  ><p>Packed with scanning modes and plenty of options to refine your scanning</p></td><td  ><p>4.5</p></td></tr><tr><td class="firstcol " ><p>Performance: </p></td><td  ><p>Fast and very capable with one of the easiest workflows yet</p></td><td  ><p>4</p></td></tr><tr><td class="firstcol " ><p>Total:</p></td><td  ><p>Excellent scanner for everyone from enthusiasts to professionals.</p></td><td  ><p>4.5</p></td></tr></tbody></table></div><h2 id="buy-it-if-10">Buy it if...</h2><div class="product"><p><strong>You need detailed scans.</strong></p><p>If you regularly design replacement components, custom brackets, or work with existing physical objects, the M1 Ultra delivers excellent scan quality that you can update in CAD.</p><p><strong>You want wireless flexibility.</strong></p><p>The integrated touchscreen, direct Wi-Fi connection, and removable batteries make the M1 Ultra much easier to manoeuvre around objects than scanners that rely on wired connections. </p></div><h2 id="don-39-t-buy-it-if-7">Don't buy it if...</h2><div class="product"><p><strong>You expect instant results.</strong></p><p>Despite the ease of use, successful 3D scanning still requires preparation, reflective markers and practice. If you expect to point the scanner at an object and instantly produce a perfect model, you’ll be disappointed.</p><p><strong>You scan difficult surfaces.</strong></p><p>Highly reflective, transparent or glossy black objects remain difficult to scan. While the M1 Ultra is more versatile than some alternatives, you may will need additional scanning spray and lighting to get good results.</p></div><p><em>For more crafting essentials, I've also tested out the </em><a href="https://www.techradar.com/best/best-3d-printers" target="_blank"><em>best 3D printers</em></a><em> and </em><a href="https://www.techradar.com/pro/best-laser-engravers-in-year" target="_blank"><em>best laser engravers</em></a></p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Fairphone FairBuds 2 review: decent-value eco-friendly earbuds ]]></title>
                                                                                                <dc:content><![CDATA[ <h2 class="article-body__section" id="section-fairphone-fairbuds-2-two-minute-review"><span>Fairphone Fairbuds 2: Two-minute review</span></h2><p>I don’t like Fairphone’s products because they’re more environmentally-friendly and repairable than anything else on the market (though they’re all definitely perks). I like them because they always offer something a little different to make them recommendable as some of the <a href="https://www.techradar.com/audio/wireless-headphones/the-best-wireless-headphones">best wireless headphones</a> by their own merits.</p><p>Last year’s <a href="https://www.techradar.com/audio/wireless-headphones/fairphone-fairbuds-xl-2025-review">Fairbuds XL 2025</a> over-ears, for example, had the best controls I’ve used on a pair of headphones before or since (and remain the best-looking cans I’ve reviewed too). And now the Fairphone Fairbuds 2 are here, with a little design decision I didn’t know I wanted so much. </p><p>Fairphone is best known for its mobiles, like the recent <a href="https://www.techradar.com/phones/fairphone-6-plus-review">Fairphone 6 Plus</a>; its whole modus operandi is making green tech (eco-friendly, not colored, although they’re usually also colored green). The brand dabbles in audio too, though, alternating between releasing new earbuds or headphones every other year, and after the original Fairbuds launched in 2024, a new pair are here.</p><p>Like the last pair, these are <em>relatively</em> affordable earbuds — 'expensive budget' or 'cheap mid-range' might suffice as definitions — which are great for eco-friendly buyers. They let you enjoy your listening safe in the knowledge that your buying choice was made from renewable energy, using plentiful recycled parts, and won’t impose planet-unfriendly, water usurping AI features on your device.</p><p>And then there’s the unexpected bonus. Earlier this year, <a href="https://arnika.org/en/publications/the-sound-of-contamination" target="_blank">a fairly shocking study</a> revealed that basically all headphones are coated in PFAS, or forever chemicals, which had people wondering whether they're rubbing toxins on their ears and head. As someone who uses these products for a living, I was a little alarmed to read this, and I’ve been pretty conscious of my listening since then, usually opting for speakers over headphones when I can help it.</p><p>It won’t surprise you to learn that the Fairbuds 2 have none of these ‘forever chemicals’, and I could listen for as long as I wanted without worrying about the effects of doing so. It’s hard to put a price on peace of mind, but for music listening, the Fairbuds 2 provide just that.</p><p>But I’ve beaten about the bush long enough: beyond health and eco concerns, just how good are these things? Well, the reason I’ve beaten about the bush so much is that “yeah, they’re just fine,” isn't engaging copy.</p><p>Design-wise, these are pretty simple buds, with a hardy and light carry case, and pretty feature-light design. There’s little to distinguish them from other buds however, beyond their lack of discernible features. Being pretty plain isn’t the end of the world, and they fit fine.</p><p>They’re not the best-sounding earbuds I’ve tested by any stretch of the imagination, but they’re fine for the price if you can look past some rough edges.</p><p>I found the ANC pretty good, though it takes its toll on a battery life which roughly matches their price-competitive AirPods rivals (that is to say, it’s not very long). An app brings some extra features, including some of the most effective audio EQ presets I’ve heard from earbuds — if you like customizing your music but aren’t familiar with equalizers, it’s a great option.</p><p>If it wasn’t for the Fairphone touch, these would just be middling wireless earbuds that’d disappear behind the competition. But the eco-friendly appeal, their repairability plus the absence of toxic chemicals, all make them far easier to recommend.</p><h2 class="article-body__section" id="section-fairphone-fairbuds-2-review-price-and-release-date"><span>Fairphone Fairbuds 2 review: 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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="VJkfUnbSNDHTBBMbMHRXYM" name="Fairphone Fairbuds 2 in case again" alt="The Fairphone FairBuds 2 buds and case in a man's hand." src="https://cdn.mos.cms.futurecdn.net/VJkfUnbSNDHTBBMbMHRXYM-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li><strong>Released in October in Europe, November US</strong></li><li><strong>Sells for $119 / £99 (about AU$200)</strong></li><li><strong>Cheaper than AirPods 5, which is all that matters</strong></li></ul><p>Fairphone unveiled the Fairbuds 2 on October 14, 2026, roughly two years after the release of the original pair and a year after the reimagined <a href="https://www.techradar.com/audio/wireless-headphones/fairphone-fairbuds-xl-2025-review">Fairbuds XL 2025</a> over-ears. They went on sale immediately in Europe, but US buyers had to wait until November 2.</p><p>You can buy the Fairbuds 2 for $119 / £99 (about AU$200) — Fairphone doesn’t sell its tech in Australia. The brand is increasing its presence in the US; while the original buds did sell there, it only began selling phones earlier this year with the <a href="https://www.techradar.com/phones/fairphone-6-plus-review">Fairphone 6 Plus</a>.</p><p>That phone makes the Fairbuds 2 slightly pricier than their predecessors in the US, but cheaper in the UK; the original Fairbuds went for $99 / £129. Despite this reshuffle, they’re still more affordable than the <a href="https://www.techradar.com/phones/airpods-5-and-airpods-5-with-wireless-charging-are-like-a-greatest-hits-rollout-of-airpods-pro-just-without-the-hearing-health-or-heart-rate-modules">cheapest version of AirPods 5</a> (which will set you back $129 / £129 / AU$219), and the Fairphone option actually has ear tips.</p><h2 class="article-body__section" id="section-fairphone-fairbuds-2-review-specs"><span>Fairphone Fairbuds 2 review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p>Drivers</p></td><td  ><p>11mm</p></td></tr><tr><td class="firstcol " ><p>Active noise cancellation</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p>Battery life</p></td><td  ><p>6 hours (ANC on), 8 hours (ANC off)</p></td></tr><tr><td class="firstcol " ><p>Weight</p></td><td  ><p>5.8g (buds) 64g (case)</p></td></tr><tr><td class="firstcol " ><p>Connectivity</p></td><td  ><p>Bluetooth 6.0</p></td></tr><tr><td class="firstcol " ><p>Frequency response</p></td><td  ><p>20-20kHz</p></td></tr><tr><td class="firstcol " ><p>Waterproofing</p></td><td  ><p>IP54</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-fairphone-fairbuds-2-review-features"><span>Fairphone Fairbuds 2 review: 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="3n85sjjYRfsdv3L4mdGhYM" name="Fairphone Fairbuds 2 solo buds" alt="The Fairphone FairBuds 2 buds on a table." src="https://cdn.mos.cms.futurecdn.net/3n85sjjYRfsdv3L4mdGhYM-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li><strong>6-hour battery life isn't amazing</strong></li><li><strong>ANC is surprisingly solid</strong></li><li><strong>App has EQ including useful presets</strong></li></ul><p>According to Fairphone, the earbuds last for 6 hours of listening with ANC on, or 8 hours off; that’s not a very competitive spec, all things considered. In my own testing, I’d say I got a little extra time on those figures, but not enough that I can call the battery life ‘good’. Apple's base model AirPods 5 only last for 4 hours with ANC; the step-up model with wireless charging support last 5 with ANC (or 7 without it) so it's a little better than that, but not by much. </p><p>The case provides up to 40 hours of battery life, which is a little better (Apple's step-up model only offers 22), but that spec is for ANC-off listening. An ANC-on figure isn’t provided, but I’d estimate it’s about 32 hours.</p><p>The ANC is more impressive — I’ll confess, I wasn’t expecting Fairphone to have created top-of-the-class noise cancellation. While this doesn’t match the likes of Soundcore or Bose, the Fairbuds 2 were surprisingly effective at stripping out noisy backgrounds or the kinds of sporadic sounds that other buds struggle with.</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.28%;"><img id="DXJGuYcTC3ZYNSoCbnxg6M" name="Fairphone Fairbuds 2 another backup" alt="The Fairphone FairBuds 2 buds and case on a table." src="https://cdn.mos.cms.futurecdn.net/DXJGuYcTC3ZYNSoCbnxg6M-1920-80.jpg" mos="" align="middle" fullscreen="" width="2500" height="1407" 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 Fairbuds app is pretty basic, but it’s not strictly necessary; I’d used the buds for two whole weeks before I decided to download it to my phone.</p><p>The app lets you toggle between ANC modes (on, off, or transparency), see the charge levels, play with an EQ and presets, and set up multipoint connectivity, although I couldn’t find the option to do so myself. There’s also a Find My Earbuds tool which lets you summon both the left or right bud, and this is a feature you don’t always see in earbuds.</p><p>The equalizer is a simple five-band one, but I was surprised how effective the five presets are: Balanced, Bass Boost, Treble Boost and Voice all had significant impacts on the sound profile, in a way that I see being really useful for those who like their audio a certain way and don’t want to play with the custom EQ mode. I found Voice useful for spoken-word content, as it did a great job at maintaining the reader’s voice while dampening other sounds.</p><ul><li><strong>Features score: 4 / 5</strong></li></ul><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="Mh5t3RS3VT8AAqZfBCLbYM" name="Fairphone Fairbuds 2 single bud case" alt="The Fairphone FairBuds 2 buds and case on a table." src="https://cdn.mos.cms.futurecdn.net/Mh5t3RS3VT8AAqZfBCLbYM-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h2 class="article-body__section" id="section-fairphone-fairbuds-2-review-design"><span>Fairphone Fairbuds 2 review: Design</span></h2><ul><li><strong>Small, hardy carry case</strong></li><li><strong>Simplistic buds which fit well</strong></li><li><strong>Eco-friendly, chemical-free design</strong></li></ul><p>In one way, the Fairphone Fairbuds 2 are some of the most basic-looking buds there can be, but modest looks hide the real selling point of these options. But we’ll get to that later.</p><p>Firstly, the case: it’s a small cylinder, weighing 64g (when the buds are inside) and opening in a clam-shell form. You get the basics: a pairing button, a USB-C port, plus a handy three-LED strip to show you how charged your buds are. Handy! The case is made of plastic that’s so solid that I initially thought it was metal, and it feels more robust than most at protecting your buds.</p><p>Next, the buds: unlike the first-gen models, these are stem-toting options, and they look far too simplistic to be confused with AirPods: there’s the in-ear bud, a straight and flat stem, and nothing much else (well, other than some lovely responsive touch controls). They weigh 5.8g each.</p><p>When I first started testing them, the Fairbuds 2 felt a little loose in the ear; I thought I had another <a href="https://www.techradar.com/audio/wireless-headphones/samsung-galaxy-buds-4-pro-review">Samsung Galaxy Buds 4 Pro</a> situation going on. But quite quickly they took to my ear, and after the second day they fit perfectly. So if you've just bought a pair, and are having problems, just give them time.</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="V9HyhcE8PpzHDWzr3m2KYM" name="Fairphone Fairbuds 2 two in hand" alt="The Fairphone FairBuds 2 in a man's hand." src="https://cdn.mos.cms.futurecdn.net/V9HyhcE8PpzHDWzr3m2KYM-1920-80.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>Now for the whole point of the Fairbuds: Fairphone’s eco credentials. The brand is at the forefront of eco-friendly tech, using eco-friendly materials and processes when possible, and in the buds that means the speaker magnets and solder is all recycled material, while the cobalt, copper, gold and silver are all fairly mined or sourced. The eco-friendly-ness doesn’t just keep your conscience clean, though, because it manifests in a few great ways.</p><p>Firstly, these things are completely repairable, so if they break you can buy and replace one part instead of needing new buds. There are seven parts in all, all of which can be replaced using a simple screwdriver. Also in the Fairbuds 2, the earbuds don’t use PFAS, or forever chemicals – you can listen for as long as you want without any fear of the chemicals and their as-yet-unknown effects on the human body.</p><p>You can buy the FairBuds 2 in green or black, but if you’re going for green tech, I don’t see why you shouldn’t also be buying green-colored tech. The buds themselves have an IP54 protection against dust and splashes, but the case doesn’t have an official rating.</p><ul><li><strong>Design score: 4.5 / 5</strong></li></ul><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1392px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="QtRRSbFXQ6BeNkw9RQ4WyL" name="Fairphone Fairbuds 2 in ear" alt="The Fairphone FairBuds 2 in a man's ear." src="https://cdn.mos.cms.futurecdn.net/QtRRSbFXQ6BeNkw9RQ4WyL-1920-80.jpg" mos="" align="middle" fullscreen="" width="1392" height="783" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h2 class="article-body__section" id="section-fairphone-fairbuds-2-review-sound-quality"><span>Fairphone Fairbuds 2 review: Sound quality</span></h2><ul><li><strong>11mm driver per bud</strong></li><li><strong>Prominent bass downs out treble</strong></li><li><strong>Supports LDAC playback on supported phones</strong></li></ul><p>The Fairphone Fairbuds 2 come with 11mm dynamic drivers, working as jacks of all trades to cover the audio spectrum. </p><p>As fairly affordable earbuds go, the Fairbuds 2 are just fine — you’re not getting any obvious issues like tinny audio, overblown bass or a lackluster sound profile, and so I can’t give them a bad sound score. But there are a few audible issues which it’s worth flagging.</p><p>I’d call these buds bass-first, because low-end has more heft than high-end, and it does mean that sometimes vocals can lack the sparkle they deserve. In something like Red Hot Chili Peppers’ <em>Factory of Faith</em> or Dispatch’s <em>May We All</em>, the singers sound like they’ve lost an argument with their bassists and rhythm guitarists, and in Macklemore’s <em>Hind’s Hall</em> the drums and bass keep distracting you from the lyrics.</p><p>Bass, while prominent, is perhaps not especially refined; the lack of a bespoke low-end-focused driver here is noticeable. Low-end has power prominence but less direction or distinction than you’d hope. It results in a low-end that sometimes sounds just fine, other times a little rumbly. </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="SKu8bYfNf2yks9o2uuBPJM" name="Fairphone Fairbuds 2 single finger" alt="The Fairphone FairBuds 2 bud in a man's hand." src="https://cdn.mos.cms.futurecdn.net/SKu8bYfNf2yks9o2uuBPJM-1920-80.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>In Tom Petty’s <em>Supernatural Radio</em>, for example, the bass riff sounds meaty until the other instruments come in, making it sound indistinct. However with the later guitar and piano solo, the bass drowns out the higher-pitched parts. </p><p>These are the first buds I’ve tested in about a month in which I can really hear a song’s mids, though, so props go to Fairphone for not leaning too hard into popular sound profiles. However I did notice peaking in certain songs around the high-end.</p><p>It’s easy to point out the issues in the Fairbuds 2, because some rivals at this price point are putting out frankly incredible options, but I should clarify that the buds are still pretty good, and most people will be perfectly happy with them. </p><p>For some technical specs, the buds support LDAC if you’re using a compatible Android phone, and use the Bluetooth 6.0 standard.</p><ul><li><strong>Sound quality: 3.5 / 5</strong></li></ul><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2372px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="Zykb3bnX6JWfTnAMMiVx9M" name="Fairphone Fairbuds 2 backup" alt="The Fairphone FairBuds 2 buds and case on a table." src="https://cdn.mos.cms.futurecdn.net/Zykb3bnX6JWfTnAMMiVx9M-1920-80.jpg" mos="" align="middle" fullscreen="" width="2372" height="1334" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h2 class="article-body__section" id="section-fairphone-fairbuds-2-review-value"><span>Fairphone Fairbuds 2 review: Value</span></h2><ul><li><strong>You get what you pay for: solid, reasonably-priced earbuds</strong></li><li><strong>However, there are some fantastic alternatives at the price</strong></li></ul><p>The Fairbuds 2 straddle the border between affordable and mid-range earbuds, but given that the brand's tech generally comes with a green premium, I'm happy to consider these a more affordable option.</p><p>If I were to close my eyes, and picture buds at this price, I'd basically envision the Fairphones; they audio quality, feature set and design all roughly match what you'd expect from the price. Fine value for money...</p><p>... if it wasn't for the fact that it's a really competitive market segment, with some stellar alternatives. </p><ul><li><strong>Value: 4 / 5</strong></li></ul><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2510px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="DbHPcotnB6CA3vs5qCC4GM" name="Fairphone Fairbuds 2 in case" alt="The Fairphone FairBuds 2 buds and case on a table." src="https://cdn.mos.cms.futurecdn.net/DbHPcotnB6CA3vs5qCC4GM-1920-80.jpg" mos="" align="middle" fullscreen="" width="2510" height="1412" 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 class="article-body__section" id="section-should-i-buy-the-fairphone-fairbuds-2"><span>Should I buy the Fairphone Fairbuds 2?</span></h2><div ><table><caption>Fairphone Fairbuds 2 score card</caption><thead><tr><th class="firstcol " ><p>Attributes</p></th><th  ><p>Notes</p></th><th  ><p>Rating</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Features</p></td><td  ><p>The ANC and app presets work well, though the battery life isn't great.</p></td><td  ><p>4/5</p></td></tr><tr><td class="firstcol " ><p>Design</p></td><td  ><p>The eco-friendly and chemical-free build wins all the points, though the simple carry case and buds are charming in their own way.</p></td><td  ><p>4.5/5</p></td></tr><tr><td class="firstcol " ><p>Sound quality</p></td><td  ><p>Audio is perfectly serviceable, though a few quirks will put off audiophiles.</p></td><td  ><p>3.5/5</p></td></tr><tr><td class="firstcol " ><p>Value</p></td><td  ><p>They're fine value for money, though not the best in their market segment.</p></td><td  ><p>4/5</p></td></tr></tbody></table></div><h2 id="buy-them-if">Buy them if…</h2><div class="product"><p><strong>You want eco-friendly tech</strong><br />Fairphone is second-to-none with its green materials, production and sourcing.</p></div><div class="product"><p><strong>You'll repair your earbuds if they break</strong><br />Repairable tech is all the rage, and if you think you'd be up to fix broken buds, these are the ones to buy.</p></div><div class="product"><p><strong>You like svelte carry cases</strong><br />The Fairbuds 2 have one of the smallest carry cases I've seen in ages, and it's pretty protective too.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="ebb2ac1a-d441-11f1-b570-35e63010116e" data-action="Deal Block" data-label="You like svelte carry casesThe Fairbuds 2 have one of the smallest carry cases I've seen in ages, and it's pretty protective too." data-dimension48="You like svelte carry casesThe Fairbuds 2 have one of the smallest carry cases I've seen in ages, and it's pretty protective too." data-dimension25="">View Deal</a></p></div><h2 id="don-t-buy-them-if">Don’t buy them if…</h2><div class="product"><p><strong>You're a staunch audiophile</strong><br />If all you care about is the sound, I think you'll find the Fairbuds 2 a little disappointing.</p></div><div class="product"><p><strong>You'd like something long-lasting</strong><br />The Fairbuds are long-lasting in terms of the product life span, but the actual battery life isn't that great.</p></div><h2 class="article-body__section" id="section-fairphone-fairbuds-2-review-also-consider"><span>Fairphone Fairbuds 2 review: Also consider</span></h2><p>Looking for alternative in-ears? Here are a few alternatives at the same price point.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Fairphone Fairbuds 2</p></th><th  ><p>Soundpeats H3</p></th><th  ><p>Huawei FreeBuds Neo</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Drivers</p></td><td  ><p>11mm</p></td><td  ><p>12mm + dual balanced armatures</p></td><td  ><p>11mm</p></td></tr><tr><td class="firstcol " ><p>Active noise cancellation</p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p>Battery life (ANC on)</p></td><td  ><p>6 hours (buds) 32 hours (case)</p></td><td  ><p>7 hours (buds) 37 hours (case)</p></td><td  ><p>6 hours (buds) / 22 hours (case)</p></td></tr><tr><td class="firstcol " ><p>Weight</p></td><td  ><p>5.8g (buds) 64g (case)</p></td><td  ><p>6g (buds) 53g (case)</p></td><td  ><p>4.8g (bud) 31.4g (case)</p></td></tr><tr><td class="firstcol " ><p>Connectivity</p></td><td  ><p>Bluetooth 6.0</p></td><td  ><p>Bluetooth 5.4</p></td><td  ><p>Bluetooth 6.0</p></td></tr><tr><td class="firstcol " ><p>Waterproofing</p></td><td  ><p>IP54</p></td><td  ><p>IPX5</p></td><td  ><p>IP55</p></td></tr></tbody></table></div><div class="product"><p><strong>Soundpeats H3</strong><br />For a tiny amount more, you can buy arguably the best-sounding earbuds at this price point. The H3 look funky, fit well and sound incredibly, but don't have the eco appeal of the Fairbuds.<br /><strong>Read our full </strong><a href="https://www.techradar.com/audio/earbuds-airpods/soudpeats-h3-review" data-dimension112="ebb2af3a-d441-11f1-a268-efcdffbbf4a0" data-action="Deal Block" data-label="Read our full Soundpeats H3 review" data-dimension48="Read our full Soundpeats H3 review" data-dimension25=""><strong>Soundpeats H3 review</strong></a></p></div><div class="product"><p><strong>Huawei FreeBuds Neo</strong><br />A Fairbuds 2 contemporary with pretty similar specs, the Neo sound better and are lovely and small, but the app barely works and the ANC isn't as good.<br /><strong>Read our full </strong><a href="https://www.techradar.com/audio/earbuds-airpods/huawei-freebuds-neo-review" data-dimension112="ebb2afa8-d441-11f1-b68d-3fe737b44ec3" data-action="Deal Block" data-label="Read our full Huawei FreeBuds Neo review" data-dimension48="Read our full Huawei FreeBuds Neo review" data-dimension25=""><strong>Huawei FreeBuds Neo review</strong></a></p></div><h2 class="article-body__section" id="section-how-i-tested-the-fairphone-faurbuds-2"><span>How I tested the Fairphone Faurbuds 2</span></h2><ul><li><strong>Tested for three weeks</strong></li><li><strong>Paired with Android phone for Bluetooth playback</strong></li><li><strong>Used on holiday as well as use at home and around neighborhood.</strong></li></ul><p>I used the Fairphone Fairbuds 2 for about three weeks before writing this review; I used them back-to-back with the Huawei FreeBuds Neo, generally bringing them both with me on trips.</p><p>In this testing time I went on holiday, so they got time on flights, train and coach trips, and I also used them at the gym, at home and on walks around my local area. </p><p>For the entirety of the testing time, the buds were connected to my Samsung phone. I listened to Spotify, played from my high-res collection, played games, conducted video calls and watched videos to test them out.</p><p>I've tested most of Fairphone's gadgets since I joined TechRadar in 2019, including the Fairbuds XL 2025 last year, and also have experience reviewing plenty of other earbuds from a range of brands (including almost every other pair mentioned in the review)></p><ul><li><em>First reviewed in October 2026</em></li></ul><ul><li><a href="https://www.techradar.com/news/how-we-test">Read TechRadar's reviews guarantee</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/audio/earbuds-airpods/fairphone-fairbuds-2-review</link>
                                                                            <description>
                            <![CDATA[ The Fairphone FairBuds 2's green credentials make up for the relatively slender feature set and serviceable sound quality. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">UNAXuYaxHe7Aw8q5jK4Vwj</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/a9UhKKwzN75Ja7cSwxAVYM-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 30 Oct 2026 18:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Earbuds & Airpods]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                    <category><![CDATA[Headphones]]></category>
                                                                                                <author><![CDATA[ tom.bedford@hotmail.co.uk (Tom Bedford) ]]></author>                    <dc:creator><![CDATA[ Tom Bedford ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/xgco9qz6uEc9KxXNtDVQkk-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Tom Bedford joined TechRadar in early 2019 as a staff writer, and left the team as deputy phones editor in late 2022 to work for entertainment site What To Watch. He continues to contribute on a freelance basis for several sections including phones, audio and fitness, as well as many other websites.&lt;/p&gt;&lt;p&gt;He graduated in American Literature and Creative Writing from the University of East Anglia. Prior to working on TechRadar, he freelanced in tech, gaming and entertainment, and also spent many years working as a mixologist.&lt;/p&gt;&lt;p&gt;He grew up in Bristol, UK, and has also lived in Norwich, UK, Salt Lake City, UT, and currently resides in London, UK. &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/a9UhKKwzN75Ja7cSwxAVYM-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Fairphone FairBuds 2 buds and case on a table.]]></media:description>                                                            <media:text><![CDATA[The Fairphone FairBuds 2 buds and case on a table.]]></media:text>
                                <media:title type="plain"><![CDATA[The Fairphone FairBuds 2 buds and case on a table.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/a9UhKKwzN75Ja7cSwxAVYM-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <h2 class="article-body__section" id="section-fairphone-fairbuds-2-two-minute-review"><span>Fairphone Fairbuds 2: Two-minute review</span></h2><p>I don’t like Fairphone’s products because they’re more environmentally-friendly and repairable than anything else on the market (though they’re all definitely perks). I like them because they always offer something a little different to make them recommendable as some of the <a href="https://www.techradar.com/audio/wireless-headphones/the-best-wireless-headphones">best wireless headphones</a> by their own merits.</p><p>Last year’s <a href="https://www.techradar.com/audio/wireless-headphones/fairphone-fairbuds-xl-2025-review">Fairbuds XL 2025</a> over-ears, for example, had the best controls I’ve used on a pair of headphones before or since (and remain the best-looking cans I’ve reviewed too). And now the Fairphone Fairbuds 2 are here, with a little design decision I didn’t know I wanted so much. </p><p>Fairphone is best known for its mobiles, like the recent <a href="https://www.techradar.com/phones/fairphone-6-plus-review">Fairphone 6 Plus</a>; its whole modus operandi is making green tech (eco-friendly, not colored, although they’re usually also colored green). The brand dabbles in audio too, though, alternating between releasing new earbuds or headphones every other year, and after the original Fairbuds launched in 2024, a new pair are here.</p><p>Like the last pair, these are <em>relatively</em> affordable earbuds — 'expensive budget' or 'cheap mid-range' might suffice as definitions — which are great for eco-friendly buyers. They let you enjoy your listening safe in the knowledge that your buying choice was made from renewable energy, using plentiful recycled parts, and won’t impose planet-unfriendly, water usurping AI features on your device.</p><p>And then there’s the unexpected bonus. Earlier this year, <a href="https://arnika.org/en/publications/the-sound-of-contamination" target="_blank">a fairly shocking study</a> revealed that basically all headphones are coated in PFAS, or forever chemicals, which had people wondering whether they're rubbing toxins on their ears and head. As someone who uses these products for a living, I was a little alarmed to read this, and I’ve been pretty conscious of my listening since then, usually opting for speakers over headphones when I can help it.</p><p>It won’t surprise you to learn that the Fairbuds 2 have none of these ‘forever chemicals’, and I could listen for as long as I wanted without worrying about the effects of doing so. It’s hard to put a price on peace of mind, but for music listening, the Fairbuds 2 provide just that.</p><p>But I’ve beaten about the bush long enough: beyond health and eco concerns, just how good are these things? Well, the reason I’ve beaten about the bush so much is that “yeah, they’re just fine,” isn't engaging copy.</p><p>Design-wise, these are pretty simple buds, with a hardy and light carry case, and pretty feature-light design. There’s little to distinguish them from other buds however, beyond their lack of discernible features. Being pretty plain isn’t the end of the world, and they fit fine.</p><p>They’re not the best-sounding earbuds I’ve tested by any stretch of the imagination, but they’re fine for the price if you can look past some rough edges.</p><p>I found the ANC pretty good, though it takes its toll on a battery life which roughly matches their price-competitive AirPods rivals (that is to say, it’s not very long). An app brings some extra features, including some of the most effective audio EQ presets I’ve heard from earbuds — if you like customizing your music but aren’t familiar with equalizers, it’s a great option.</p><p>If it wasn’t for the Fairphone touch, these would just be middling wireless earbuds that’d disappear behind the competition. But the eco-friendly appeal, their repairability plus the absence of toxic chemicals, all make them far easier to recommend.</p><h2 class="article-body__section" id="section-fairphone-fairbuds-2-review-price-and-release-date"><span>Fairphone Fairbuds 2 review: 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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="VJkfUnbSNDHTBBMbMHRXYM" name="Fairphone Fairbuds 2 in case again" alt="The Fairphone FairBuds 2 buds and case in a man's hand." src="https://cdn.mos.cms.futurecdn.net/VJkfUnbSNDHTBBMbMHRXYM-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li><strong>Released in October in Europe, November US</strong></li><li><strong>Sells for $119 / £99 (about AU$200)</strong></li><li><strong>Cheaper than AirPods 5, which is all that matters</strong></li></ul><p>Fairphone unveiled the Fairbuds 2 on October 14, 2026, roughly two years after the release of the original pair and a year after the reimagined <a href="https://www.techradar.com/audio/wireless-headphones/fairphone-fairbuds-xl-2025-review">Fairbuds XL 2025</a> over-ears. They went on sale immediately in Europe, but US buyers had to wait until November 2.</p><p>You can buy the Fairbuds 2 for $119 / £99 (about AU$200) — Fairphone doesn’t sell its tech in Australia. The brand is increasing its presence in the US; while the original buds did sell there, it only began selling phones earlier this year with the <a href="https://www.techradar.com/phones/fairphone-6-plus-review">Fairphone 6 Plus</a>.</p><p>That phone makes the Fairbuds 2 slightly pricier than their predecessors in the US, but cheaper in the UK; the original Fairbuds went for $99 / £129. Despite this reshuffle, they’re still more affordable than the <a href="https://www.techradar.com/phones/airpods-5-and-airpods-5-with-wireless-charging-are-like-a-greatest-hits-rollout-of-airpods-pro-just-without-the-hearing-health-or-heart-rate-modules">cheapest version of AirPods 5</a> (which will set you back $129 / £129 / AU$219), and the Fairphone option actually has ear tips.</p><h2 class="article-body__section" id="section-fairphone-fairbuds-2-review-specs"><span>Fairphone Fairbuds 2 review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p>Drivers</p></td><td  ><p>11mm</p></td></tr><tr><td class="firstcol " ><p>Active noise cancellation</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p>Battery life</p></td><td  ><p>6 hours (ANC on), 8 hours (ANC off)</p></td></tr><tr><td class="firstcol " ><p>Weight</p></td><td  ><p>5.8g (buds) 64g (case)</p></td></tr><tr><td class="firstcol " ><p>Connectivity</p></td><td  ><p>Bluetooth 6.0</p></td></tr><tr><td class="firstcol " ><p>Frequency response</p></td><td  ><p>20-20kHz</p></td></tr><tr><td class="firstcol " ><p>Waterproofing</p></td><td  ><p>IP54</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-fairphone-fairbuds-2-review-features"><span>Fairphone Fairbuds 2 review: 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="3n85sjjYRfsdv3L4mdGhYM" name="Fairphone Fairbuds 2 solo buds" alt="The Fairphone FairBuds 2 buds on a table." src="https://cdn.mos.cms.futurecdn.net/3n85sjjYRfsdv3L4mdGhYM-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li><strong>6-hour battery life isn't amazing</strong></li><li><strong>ANC is surprisingly solid</strong></li><li><strong>App has EQ including useful presets</strong></li></ul><p>According to Fairphone, the earbuds last for 6 hours of listening with ANC on, or 8 hours off; that’s not a very competitive spec, all things considered. In my own testing, I’d say I got a little extra time on those figures, but not enough that I can call the battery life ‘good’. Apple's base model AirPods 5 only last for 4 hours with ANC; the step-up model with wireless charging support last 5 with ANC (or 7 without it) so it's a little better than that, but not by much. </p><p>The case provides up to 40 hours of battery life, which is a little better (Apple's step-up model only offers 22), but that spec is for ANC-off listening. An ANC-on figure isn’t provided, but I’d estimate it’s about 32 hours.</p><p>The ANC is more impressive — I’ll confess, I wasn’t expecting Fairphone to have created top-of-the-class noise cancellation. While this doesn’t match the likes of Soundcore or Bose, the Fairbuds 2 were surprisingly effective at stripping out noisy backgrounds or the kinds of sporadic sounds that other buds struggle with.</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.28%;"><img id="DXJGuYcTC3ZYNSoCbnxg6M" name="Fairphone Fairbuds 2 another backup" alt="The Fairphone FairBuds 2 buds and case on a table." src="https://cdn.mos.cms.futurecdn.net/DXJGuYcTC3ZYNSoCbnxg6M-1920-80.jpg" mos="" align="middle" fullscreen="" width="2500" height="1407" 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 Fairbuds app is pretty basic, but it’s not strictly necessary; I’d used the buds for two whole weeks before I decided to download it to my phone.</p><p>The app lets you toggle between ANC modes (on, off, or transparency), see the charge levels, play with an EQ and presets, and set up multipoint connectivity, although I couldn’t find the option to do so myself. There’s also a Find My Earbuds tool which lets you summon both the left or right bud, and this is a feature you don’t always see in earbuds.</p><p>The equalizer is a simple five-band one, but I was surprised how effective the five presets are: Balanced, Bass Boost, Treble Boost and Voice all had significant impacts on the sound profile, in a way that I see being really useful for those who like their audio a certain way and don’t want to play with the custom EQ mode. I found Voice useful for spoken-word content, as it did a great job at maintaining the reader’s voice while dampening other sounds.</p><ul><li><strong>Features score: 4 / 5</strong></li></ul><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="Mh5t3RS3VT8AAqZfBCLbYM" name="Fairphone Fairbuds 2 single bud case" alt="The Fairphone FairBuds 2 buds and case on a table." src="https://cdn.mos.cms.futurecdn.net/Mh5t3RS3VT8AAqZfBCLbYM-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h2 class="article-body__section" id="section-fairphone-fairbuds-2-review-design"><span>Fairphone Fairbuds 2 review: Design</span></h2><ul><li><strong>Small, hardy carry case</strong></li><li><strong>Simplistic buds which fit well</strong></li><li><strong>Eco-friendly, chemical-free design</strong></li></ul><p>In one way, the Fairphone Fairbuds 2 are some of the most basic-looking buds there can be, but modest looks hide the real selling point of these options. But we’ll get to that later.</p><p>Firstly, the case: it’s a small cylinder, weighing 64g (when the buds are inside) and opening in a clam-shell form. You get the basics: a pairing button, a USB-C port, plus a handy three-LED strip to show you how charged your buds are. Handy! The case is made of plastic that’s so solid that I initially thought it was metal, and it feels more robust than most at protecting your buds.</p><p>Next, the buds: unlike the first-gen models, these are stem-toting options, and they look far too simplistic to be confused with AirPods: there’s the in-ear bud, a straight and flat stem, and nothing much else (well, other than some lovely responsive touch controls). They weigh 5.8g each.</p><p>When I first started testing them, the Fairbuds 2 felt a little loose in the ear; I thought I had another <a href="https://www.techradar.com/audio/wireless-headphones/samsung-galaxy-buds-4-pro-review">Samsung Galaxy Buds 4 Pro</a> situation going on. But quite quickly they took to my ear, and after the second day they fit perfectly. So if you've just bought a pair, and are having problems, just give them time.</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="V9HyhcE8PpzHDWzr3m2KYM" name="Fairphone Fairbuds 2 two in hand" alt="The Fairphone FairBuds 2 in a man's hand." src="https://cdn.mos.cms.futurecdn.net/V9HyhcE8PpzHDWzr3m2KYM-1920-80.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>Now for the whole point of the Fairbuds: Fairphone’s eco credentials. The brand is at the forefront of eco-friendly tech, using eco-friendly materials and processes when possible, and in the buds that means the speaker magnets and solder is all recycled material, while the cobalt, copper, gold and silver are all fairly mined or sourced. The eco-friendly-ness doesn’t just keep your conscience clean, though, because it manifests in a few great ways.</p><p>Firstly, these things are completely repairable, so if they break you can buy and replace one part instead of needing new buds. There are seven parts in all, all of which can be replaced using a simple screwdriver. Also in the Fairbuds 2, the earbuds don’t use PFAS, or forever chemicals – you can listen for as long as you want without any fear of the chemicals and their as-yet-unknown effects on the human body.</p><p>You can buy the FairBuds 2 in green or black, but if you’re going for green tech, I don’t see why you shouldn’t also be buying green-colored tech. The buds themselves have an IP54 protection against dust and splashes, but the case doesn’t have an official rating.</p><ul><li><strong>Design score: 4.5 / 5</strong></li></ul><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1392px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="QtRRSbFXQ6BeNkw9RQ4WyL" name="Fairphone Fairbuds 2 in ear" alt="The Fairphone FairBuds 2 in a man's ear." src="https://cdn.mos.cms.futurecdn.net/QtRRSbFXQ6BeNkw9RQ4WyL-1920-80.jpg" mos="" align="middle" fullscreen="" width="1392" height="783" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h2 class="article-body__section" id="section-fairphone-fairbuds-2-review-sound-quality"><span>Fairphone Fairbuds 2 review: Sound quality</span></h2><ul><li><strong>11mm driver per bud</strong></li><li><strong>Prominent bass downs out treble</strong></li><li><strong>Supports LDAC playback on supported phones</strong></li></ul><p>The Fairphone Fairbuds 2 come with 11mm dynamic drivers, working as jacks of all trades to cover the audio spectrum. </p><p>As fairly affordable earbuds go, the Fairbuds 2 are just fine — you’re not getting any obvious issues like tinny audio, overblown bass or a lackluster sound profile, and so I can’t give them a bad sound score. But there are a few audible issues which it’s worth flagging.</p><p>I’d call these buds bass-first, because low-end has more heft than high-end, and it does mean that sometimes vocals can lack the sparkle they deserve. In something like Red Hot Chili Peppers’ <em>Factory of Faith</em> or Dispatch’s <em>May We All</em>, the singers sound like they’ve lost an argument with their bassists and rhythm guitarists, and in Macklemore’s <em>Hind’s Hall</em> the drums and bass keep distracting you from the lyrics.</p><p>Bass, while prominent, is perhaps not especially refined; the lack of a bespoke low-end-focused driver here is noticeable. Low-end has power prominence but less direction or distinction than you’d hope. It results in a low-end that sometimes sounds just fine, other times a little rumbly. </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="SKu8bYfNf2yks9o2uuBPJM" name="Fairphone Fairbuds 2 single finger" alt="The Fairphone FairBuds 2 bud in a man's hand." src="https://cdn.mos.cms.futurecdn.net/SKu8bYfNf2yks9o2uuBPJM-1920-80.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>In Tom Petty’s <em>Supernatural Radio</em>, for example, the bass riff sounds meaty until the other instruments come in, making it sound indistinct. However with the later guitar and piano solo, the bass drowns out the higher-pitched parts. </p><p>These are the first buds I’ve tested in about a month in which I can really hear a song’s mids, though, so props go to Fairphone for not leaning too hard into popular sound profiles. However I did notice peaking in certain songs around the high-end.</p><p>It’s easy to point out the issues in the Fairbuds 2, because some rivals at this price point are putting out frankly incredible options, but I should clarify that the buds are still pretty good, and most people will be perfectly happy with them. </p><p>For some technical specs, the buds support LDAC if you’re using a compatible Android phone, and use the Bluetooth 6.0 standard.</p><ul><li><strong>Sound quality: 3.5 / 5</strong></li></ul><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2372px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="Zykb3bnX6JWfTnAMMiVx9M" name="Fairphone Fairbuds 2 backup" alt="The Fairphone FairBuds 2 buds and case on a table." src="https://cdn.mos.cms.futurecdn.net/Zykb3bnX6JWfTnAMMiVx9M-1920-80.jpg" mos="" align="middle" fullscreen="" width="2372" height="1334" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h2 class="article-body__section" id="section-fairphone-fairbuds-2-review-value"><span>Fairphone Fairbuds 2 review: Value</span></h2><ul><li><strong>You get what you pay for: solid, reasonably-priced earbuds</strong></li><li><strong>However, there are some fantastic alternatives at the price</strong></li></ul><p>The Fairbuds 2 straddle the border between affordable and mid-range earbuds, but given that the brand's tech generally comes with a green premium, I'm happy to consider these a more affordable option.</p><p>If I were to close my eyes, and picture buds at this price, I'd basically envision the Fairphones; they audio quality, feature set and design all roughly match what you'd expect from the price. Fine value for money...</p><p>... if it wasn't for the fact that it's a really competitive market segment, with some stellar alternatives. </p><ul><li><strong>Value: 4 / 5</strong></li></ul><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2510px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="DbHPcotnB6CA3vs5qCC4GM" name="Fairphone Fairbuds 2 in case" alt="The Fairphone FairBuds 2 buds and case on a table." src="https://cdn.mos.cms.futurecdn.net/DbHPcotnB6CA3vs5qCC4GM-1920-80.jpg" mos="" align="middle" fullscreen="" width="2510" height="1412" 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 class="article-body__section" id="section-should-i-buy-the-fairphone-fairbuds-2"><span>Should I buy the Fairphone Fairbuds 2?</span></h2><div ><table><caption>Fairphone Fairbuds 2 score card</caption><thead><tr><th class="firstcol " ><p>Attributes</p></th><th  ><p>Notes</p></th><th  ><p>Rating</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Features</p></td><td  ><p>The ANC and app presets work well, though the battery life isn't great.</p></td><td  ><p>4/5</p></td></tr><tr><td class="firstcol " ><p>Design</p></td><td  ><p>The eco-friendly and chemical-free build wins all the points, though the simple carry case and buds are charming in their own way.</p></td><td  ><p>4.5/5</p></td></tr><tr><td class="firstcol " ><p>Sound quality</p></td><td  ><p>Audio is perfectly serviceable, though a few quirks will put off audiophiles.</p></td><td  ><p>3.5/5</p></td></tr><tr><td class="firstcol " ><p>Value</p></td><td  ><p>They're fine value for money, though not the best in their market segment.</p></td><td  ><p>4/5</p></td></tr></tbody></table></div><h2 id="buy-them-if">Buy them if…</h2><div class="product"><p><strong>You want eco-friendly tech</strong><br />Fairphone is second-to-none with its green materials, production and sourcing.</p></div><div class="product"><p><strong>You'll repair your earbuds if they break</strong><br />Repairable tech is all the rage, and if you think you'd be up to fix broken buds, these are the ones to buy.</p></div><div class="product"><p><strong>You like svelte carry cases</strong><br />The Fairbuds 2 have one of the smallest carry cases I've seen in ages, and it's pretty protective too.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="ebb2ac1a-d441-11f1-b570-35e63010116e" data-action="Deal Block" data-label="You like svelte carry casesThe Fairbuds 2 have one of the smallest carry cases I've seen in ages, and it's pretty protective too." data-dimension48="You like svelte carry casesThe Fairbuds 2 have one of the smallest carry cases I've seen in ages, and it's pretty protective too." data-dimension25="">View Deal</a></p></div><h2 id="don-t-buy-them-if">Don’t buy them if…</h2><div class="product"><p><strong>You're a staunch audiophile</strong><br />If all you care about is the sound, I think you'll find the Fairbuds 2 a little disappointing.</p></div><div class="product"><p><strong>You'd like something long-lasting</strong><br />The Fairbuds are long-lasting in terms of the product life span, but the actual battery life isn't that great.</p></div><h2 class="article-body__section" id="section-fairphone-fairbuds-2-review-also-consider"><span>Fairphone Fairbuds 2 review: Also consider</span></h2><p>Looking for alternative in-ears? Here are a few alternatives at the same price point.</p><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p>Fairphone Fairbuds 2</p></th><th  ><p>Soundpeats H3</p></th><th  ><p>Huawei FreeBuds Neo</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Drivers</p></td><td  ><p>11mm</p></td><td  ><p>12mm + dual balanced armatures</p></td><td  ><p>11mm</p></td></tr><tr><td class="firstcol " ><p>Active noise cancellation</p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td><td  ><p>Yes</p></td></tr><tr><td class="firstcol " ><p>Battery life (ANC on)</p></td><td  ><p>6 hours (buds) 32 hours (case)</p></td><td  ><p>7 hours (buds) 37 hours (case)</p></td><td  ><p>6 hours (buds) / 22 hours (case)</p></td></tr><tr><td class="firstcol " ><p>Weight</p></td><td  ><p>5.8g (buds) 64g (case)</p></td><td  ><p>6g (buds) 53g (case)</p></td><td  ><p>4.8g (bud) 31.4g (case)</p></td></tr><tr><td class="firstcol " ><p>Connectivity</p></td><td  ><p>Bluetooth 6.0</p></td><td  ><p>Bluetooth 5.4</p></td><td  ><p>Bluetooth 6.0</p></td></tr><tr><td class="firstcol " ><p>Waterproofing</p></td><td  ><p>IP54</p></td><td  ><p>IPX5</p></td><td  ><p>IP55</p></td></tr></tbody></table></div><div class="product"><p><strong>Soundpeats H3</strong><br />For a tiny amount more, you can buy arguably the best-sounding earbuds at this price point. The H3 look funky, fit well and sound incredibly, but don't have the eco appeal of the Fairbuds.<br /><strong>Read our full </strong><a href="https://www.techradar.com/audio/earbuds-airpods/soudpeats-h3-review" data-dimension112="ebb2af3a-d441-11f1-a268-efcdffbbf4a0" data-action="Deal Block" data-label="Read our full Soundpeats H3 review" data-dimension48="Read our full Soundpeats H3 review" data-dimension25=""><strong>Soundpeats H3 review</strong></a></p></div><div class="product"><p><strong>Huawei FreeBuds Neo</strong><br />A Fairbuds 2 contemporary with pretty similar specs, the Neo sound better and are lovely and small, but the app barely works and the ANC isn't as good.<br /><strong>Read our full </strong><a href="https://www.techradar.com/audio/earbuds-airpods/huawei-freebuds-neo-review" data-dimension112="ebb2afa8-d441-11f1-b68d-3fe737b44ec3" data-action="Deal Block" data-label="Read our full Huawei FreeBuds Neo review" data-dimension48="Read our full Huawei FreeBuds Neo review" data-dimension25=""><strong>Huawei FreeBuds Neo review</strong></a></p></div><h2 class="article-body__section" id="section-how-i-tested-the-fairphone-faurbuds-2"><span>How I tested the Fairphone Faurbuds 2</span></h2><ul><li><strong>Tested for three weeks</strong></li><li><strong>Paired with Android phone for Bluetooth playback</strong></li><li><strong>Used on holiday as well as use at home and around neighborhood.</strong></li></ul><p>I used the Fairphone Fairbuds 2 for about three weeks before writing this review; I used them back-to-back with the Huawei FreeBuds Neo, generally bringing them both with me on trips.</p><p>In this testing time I went on holiday, so they got time on flights, train and coach trips, and I also used them at the gym, at home and on walks around my local area. </p><p>For the entirety of the testing time, the buds were connected to my Samsung phone. I listened to Spotify, played from my high-res collection, played games, conducted video calls and watched videos to test them out.</p><p>I've tested most of Fairphone's gadgets since I joined TechRadar in 2019, including the Fairbuds XL 2025 last year, and also have experience reviewing plenty of other earbuds from a range of brands (including almost every other pair mentioned in the review)></p><ul><li><em>First reviewed in October 2026</em></li></ul><ul><li><a href="https://www.techradar.com/news/how-we-test">Read TechRadar's reviews guarantee</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Miro review ]]></title>
                                                                                                <dc:content><![CDATA[ <p>You run a company with employees across different regions—effective collaboration can get pretty hectic. You need a tool that bridges the distance between employees, enabling them to collaborate in real-time like they were in an office. Miro is one such tool. </p><p>Founded in 2011 as a simple whiteboard tool, Miro was built to enable remote workforces to collaborate seamlessly. Think of it as a digital whiteboard where employees can share ideas regardless of their location. They can add text, images, flowcharts, design prototypes, and other visual information to the whiteboard, and colleagues can leave comments, message each other directly, or add their own visual elements.</p><p>I conducted extensive testing to help you decide whether Miro is the best choice for your workplace. What are its features, and what sets it apart from other collaboration tools? This review dives deep into these questions and helps you make the best choice.</p><h3 class="article-body__section" id="section-miro-plans-and-pricing"><span>Miro: Plans and pricing</span></h3><p>Miro offers a free plan, but with restricted features. This plan supports only 3 editable boards and 5 Talktracks (a feature for giving interactive walkthroughs of a dashboard). However, upgrading to a paid plan allows unlimited boards and Talktracks, along with other features.</p><p>The Starter plan costs $8 per month per user. It lets you export Miro boards in PDF or JPG format, restore previous board content with version history, share boards with unlimited visitors, and create private boards with restricted access.</p><p>The Business plan costs $20 per month per team member. It provides all the features of the Starter plan, and adds the option to invite unlimited guests to collaborate on a whiteboard, single sign-on (SSO) for security, and advanced visual processing.</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:1575px;"><p class="vanilla-image-block" style="padding-top:56.63%;"><img id="5TwJLzbG8aNY7Em7VexcXA" name="Miro - updated pricing" alt="Miro's pricing plans" src="https://cdn.mos.cms.futurecdn.net/5TwJLzbG8aNY7Em7VexcXA-1920-80.png" mos="" align="middle" fullscreen="" width="1575" height="892" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Miro || Future)</span></figcaption></figure><p>There’s also an Enterprise plan with custom pricing, available for companies with at least 30 employees. You can contact Miro’s sales team to negotiate prices for this plan.</p><h3 class="article-body__section" id="section-miro-features"><span>Miro: Features</span></h3><p>Miro’s features center on a virtual whiteboard where employees can collaborate in real-time. On this whiteboard, users can share everything from checklists to product prototypes, images, articles, slides, and tables. Miro provides built-in templates for these visual elements, so you don’t have to create them from scratch. Instead, pick a template and quickly edit it to get what you want.</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:1940px;"><p class="vanilla-image-block" style="padding-top:56.19%;"><img id="a3V4U6wFNUkwJxnw98WLfU" name="Miro templates" alt="Miro’s templates" src="https://cdn.mos.cms.futurecdn.net/a3V4U6wFNUkwJxnw98WLfU-1920-80.png" mos="" align="middle" fullscreen="" width="1940" height="1090" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Miro)</span></figcaption></figure><p>Suppose your team is working on a new website development project; you can create separate whiteboards for ideas, prototypes, and code. On the idea board, team members can quickly share website ideas, and others can comment on them. On the prototype board, designers will share their website prototypes and brainstorm which to pick. On the code board, developers can share and leave comments on each other’s code. </p><p>If your team needs to invite outsiders to collaborate on the project, you can simply generate a link and share it with them. Outsiders don’t have to create an account to view your whiteboard, but they need an account to edit or add visual elements. Likewise, you can export a whiteboard in PDF or JPG format and share it with stakeholders, like the client the website is being developed for. </p><p>I like that Miro heavily incorporates artificial intelligence (AI) into its platform. Instead of creating every element from scratch, you can use AI to generate text, images, prototypes, charts, and tables for your project. This reduces the time your team spends on planning for each project. However, Miro’s AI tools shouldn’t be 100% relied on—always review the output for errors and unnatural patterns, more so when generating text.  </p><h3 class="article-body__section" id="section-miro-interface"><span>Miro: Interface </span></h3><p>If I were to highlight just one thing about Miro, I’d go with its user interface. It beats most competitors out of the water in this category. Miro has a modern, visually appealing interface that feels almost perfect. Features are neatly arranged on the left and top sides of the dashboard, and the rest of the space neatly displays what you’re working on. You can easily drag and drop elements from one position to another, or copy and paste 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:1940px;"><p class="vanilla-image-block" style="padding-top:56.19%;"><img id="ehw29EJsR7FkF62ZCGpGne" name="Miro dashboard" alt="Miro’s interface" src="https://cdn.mos.cms.futurecdn.net/ehw29EJsR7FkF62ZCGpGne-1920-80.png" mos="" align="middle" fullscreen="" width="1940" height="1090" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Miro)</span></figcaption></figure><p>The interface uses minimal colors, a light background, and generally adheres to a simple design. Think of it as entering a contemporary home with all furniture spaciously arranged. You wouldn’t have problems figuring out how to use Miro. First-time users have on-screen tutorials to guide them through the interface.</p><h3 class="article-body__section" id="section-miro-support"><span>Miro: Support</span></h3><p>If you need assistance with Miro, you can first check its official Help Center for user guides and answers to frequently asked questions (FAQs). The user guides are detailed and cover every feature available on Miro, so you’ll likely find a solution in them. From the basics to third-party integrations and advanced features like porting Miro boards to other apps, this Help Center provided great value during my test.</p><p>But if the Help Center isn’t sufficient, you can contact Miro’s support team via email, or by filling out an online form and waiting for an email response. I didn’t find live chat or telephone support, which I consider a disadvantage.</p><h3 class="article-body__section" id="section-miro-competition"><span>Miro: Competition</span></h3><p>Out of many competitors, Figma’s FigJam is the top one I’d like to highlight. <a href="https://www.techradar.com/reviews/figma">Figma</a> is a collaborative design tool, and FigJam is its whiteboard platform. Like Miro, FigJam lets users share text, graphics, charts, and other interactive elements on the same board, then export this board or invite external users if needed.</p><p>FigJam has a stellar user interface like Miro. However, it doesn’t have as many third-party integrations and project management features. FigJam is best suited for design teams already using Figma, while Miro is suitable for a broader range of projects.</p><h3 class="article-body__section" id="section-miro-final-verdict"><span>Miro: Final verdict</span></h3><p>Miro is an effective whiteboard tool I recommend for all types of businesses. It makes collaboration seamless and keeps teams in sync when working on projects. It’s user-friendly, has rich templates, and also has a broader library of third-party integrations than most rivals.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/reviews/miro-review</link>
                                                                            <description>
                            <![CDATA[ An in-depth review of collaborative platform Miro, diving into its features, pros, and cons, and what separates it from the competition. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">2FnE8v8jNS3X8vUWqaxe9P</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/M2GeW5Thh9KAvbNFm9oBoA-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 30 Oct 2026 13:55:13 +0000</pubDate>                                                                                                                                <updated>Fri, 30 Oct 2026 13:55:19 +0000</updated>
                                                                                                                                            <category><![CDATA[Software & Services]]></category>
                                                    <category><![CDATA[Pro]]></category>
                                                                                                                    <dc:creator><![CDATA[ Stefan Ionescu ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/HScEiLJfLqxHysU7pcFHaH-320-70.png ]]></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/M2GeW5Thh9KAvbNFm9oBoA-1920-80.jpg">
                                                            <media:credit><![CDATA[Miro]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Miro website screenshot (November 2025).]]></media:description>                                                            <media:text><![CDATA[Miro website screenshot (November 2025).]]></media:text>
                                <media:title type="plain"><![CDATA[Miro website screenshot (November 2025).]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/M2GeW5Thh9KAvbNFm9oBoA-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>You run a company with employees across different regions—effective collaboration can get pretty hectic. You need a tool that bridges the distance between employees, enabling them to collaborate in real-time like they were in an office. Miro is one such tool. </p><p>Founded in 2011 as a simple whiteboard tool, Miro was built to enable remote workforces to collaborate seamlessly. Think of it as a digital whiteboard where employees can share ideas regardless of their location. They can add text, images, flowcharts, design prototypes, and other visual information to the whiteboard, and colleagues can leave comments, message each other directly, or add their own visual elements.</p><p>I conducted extensive testing to help you decide whether Miro is the best choice for your workplace. What are its features, and what sets it apart from other collaboration tools? This review dives deep into these questions and helps you make the best choice.</p><h3 class="article-body__section" id="section-miro-plans-and-pricing"><span>Miro: Plans and pricing</span></h3><p>Miro offers a free plan, but with restricted features. This plan supports only 3 editable boards and 5 Talktracks (a feature for giving interactive walkthroughs of a dashboard). However, upgrading to a paid plan allows unlimited boards and Talktracks, along with other features.</p><p>The Starter plan costs $8 per month per user. It lets you export Miro boards in PDF or JPG format, restore previous board content with version history, share boards with unlimited visitors, and create private boards with restricted access.</p><p>The Business plan costs $20 per month per team member. It provides all the features of the Starter plan, and adds the option to invite unlimited guests to collaborate on a whiteboard, single sign-on (SSO) for security, and advanced visual processing.</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:1575px;"><p class="vanilla-image-block" style="padding-top:56.63%;"><img id="5TwJLzbG8aNY7Em7VexcXA" name="Miro - updated pricing" alt="Miro's pricing plans" src="https://cdn.mos.cms.futurecdn.net/5TwJLzbG8aNY7Em7VexcXA-1920-80.png" mos="" align="middle" fullscreen="" width="1575" height="892" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Miro || Future)</span></figcaption></figure><p>There’s also an Enterprise plan with custom pricing, available for companies with at least 30 employees. You can contact Miro’s sales team to negotiate prices for this plan.</p><h3 class="article-body__section" id="section-miro-features"><span>Miro: Features</span></h3><p>Miro’s features center on a virtual whiteboard where employees can collaborate in real-time. On this whiteboard, users can share everything from checklists to product prototypes, images, articles, slides, and tables. Miro provides built-in templates for these visual elements, so you don’t have to create them from scratch. Instead, pick a template and quickly edit it to get what you want.</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:1940px;"><p class="vanilla-image-block" style="padding-top:56.19%;"><img id="a3V4U6wFNUkwJxnw98WLfU" name="Miro templates" alt="Miro’s templates" src="https://cdn.mos.cms.futurecdn.net/a3V4U6wFNUkwJxnw98WLfU-1920-80.png" mos="" align="middle" fullscreen="" width="1940" height="1090" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Miro)</span></figcaption></figure><p>Suppose your team is working on a new website development project; you can create separate whiteboards for ideas, prototypes, and code. On the idea board, team members can quickly share website ideas, and others can comment on them. On the prototype board, designers will share their website prototypes and brainstorm which to pick. On the code board, developers can share and leave comments on each other’s code. </p><p>If your team needs to invite outsiders to collaborate on the project, you can simply generate a link and share it with them. Outsiders don’t have to create an account to view your whiteboard, but they need an account to edit or add visual elements. Likewise, you can export a whiteboard in PDF or JPG format and share it with stakeholders, like the client the website is being developed for. </p><p>I like that Miro heavily incorporates artificial intelligence (AI) into its platform. Instead of creating every element from scratch, you can use AI to generate text, images, prototypes, charts, and tables for your project. This reduces the time your team spends on planning for each project. However, Miro’s AI tools shouldn’t be 100% relied on—always review the output for errors and unnatural patterns, more so when generating text.  </p><h3 class="article-body__section" id="section-miro-interface"><span>Miro: Interface </span></h3><p>If I were to highlight just one thing about Miro, I’d go with its user interface. It beats most competitors out of the water in this category. Miro has a modern, visually appealing interface that feels almost perfect. Features are neatly arranged on the left and top sides of the dashboard, and the rest of the space neatly displays what you’re working on. You can easily drag and drop elements from one position to another, or copy and paste 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:1940px;"><p class="vanilla-image-block" style="padding-top:56.19%;"><img id="ehw29EJsR7FkF62ZCGpGne" name="Miro dashboard" alt="Miro’s interface" src="https://cdn.mos.cms.futurecdn.net/ehw29EJsR7FkF62ZCGpGne-1920-80.png" mos="" align="middle" fullscreen="" width="1940" height="1090" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Miro)</span></figcaption></figure><p>The interface uses minimal colors, a light background, and generally adheres to a simple design. Think of it as entering a contemporary home with all furniture spaciously arranged. You wouldn’t have problems figuring out how to use Miro. First-time users have on-screen tutorials to guide them through the interface.</p><h3 class="article-body__section" id="section-miro-support"><span>Miro: Support</span></h3><p>If you need assistance with Miro, you can first check its official Help Center for user guides and answers to frequently asked questions (FAQs). The user guides are detailed and cover every feature available on Miro, so you’ll likely find a solution in them. From the basics to third-party integrations and advanced features like porting Miro boards to other apps, this Help Center provided great value during my test.</p><p>But if the Help Center isn’t sufficient, you can contact Miro’s support team via email, or by filling out an online form and waiting for an email response. I didn’t find live chat or telephone support, which I consider a disadvantage.</p><h3 class="article-body__section" id="section-miro-competition"><span>Miro: Competition</span></h3><p>Out of many competitors, Figma’s FigJam is the top one I’d like to highlight. <a href="https://www.techradar.com/reviews/figma">Figma</a> is a collaborative design tool, and FigJam is its whiteboard platform. Like Miro, FigJam lets users share text, graphics, charts, and other interactive elements on the same board, then export this board or invite external users if needed.</p><p>FigJam has a stellar user interface like Miro. However, it doesn’t have as many third-party integrations and project management features. FigJam is best suited for design teams already using Figma, while Miro is suitable for a broader range of projects.</p><h3 class="article-body__section" id="section-miro-final-verdict"><span>Miro: Final verdict</span></h3><p>Miro is an effective whiteboard tool I recommend for all types of businesses. It makes collaboration seamless and keeps teams in sync when working on projects. It’s user-friendly, has rich templates, and also has a broader library of third-party integrations than most rivals.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Anker Solix S2000 review ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Portable power stations are useful for everything from keeping your broadband running during a power cut to powering equipment away from a convenient socket. The Anker Solix S2000 fits both roles, combining a substantial battery with a relatively compact upright design.</p><p>What impressed me most, though, was how little fuss it involved. It handled repeated sessions with a 1,200W wet/dry vacuum straight out of the box, while the accompanying app was easy to set up and refreshingly clear about what its settings actually do.</p><h2 class="article-body__section" id="section-anker-solix-s2000-specifications"><span>Anker Solix S2000: specifications</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:46.21%;"><img id="Da4cEQRuzTYWUSzN2Fi8Yg" name="Anker Solix S2000" alt="Anker Solix S2000" src="https://cdn.mos.cms.futurecdn.net/Da4cEQRuzTYWUSzN2Fi8Yg-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1183" attribution="" endorsement="" class="" /></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 " ><p><strong>Specification</strong></p></td><td  ><p><strong>Details</strong></p></td></tr><tr><td class="firstcol " ><p>Battery capacity</p></td><td  ><p>2,000Wh</p></td></tr><tr><td class="firstcol " ><p>Battery chemistry</p></td><td  ><p>Lithium iron phosphate, also known as LFP or LiFePO₄</p></td></tr><tr><td class="firstcol " ><p>Continuous AC output</p></td><td  ><p>1,500W total</p></td></tr><tr><td class="firstcol " ><p>UK mains outlets</p></td><td  ><p>Four Type G sockets: two front, two rear</p></td></tr><tr><td class="firstcol " ><p>USB-A</p></td><td  ><p>One port, up to 12W</p></td></tr><tr><td class="firstcol " ><p>USB-C</p></td><td  ><p>Two ports: up to 15W and 100W</p></td></tr><tr><td class="firstcol " ><p>Shared USB limit</p></td><td  ><p>USB-A and 15W USB-C share an 18W maximum</p></td></tr><tr><td class="firstcol " ><p>Standard AC charging</p></td><td  ><p>Up to 1,150W</p></td></tr><tr><td class="firstcol " ><p>Solar charging</p></td><td  ><p>Up to 400W through the XT60i input</p></td></tr><tr><td class="firstcol " ><p>UPS transfer time</p></td><td  ><p>Approximately 10ms, manufacturer-rated</p></td></tr><tr><td class="firstcol " ><p>Dimensions</p></td><td  ><p>208 × 282 × 323.3mm</p></td></tr><tr><td class="firstcol " ><p>Weight</p></td><td  ><p>16.2kg</p></td></tr><tr><td class="firstcol " ><p>Warranty</p></td><td  ><p>Five years</p></td></tr></tbody></table></div><p><em>Specifications are manufacturer figures; socket layout and port labels were also checked against the UK review unit.</em></p><h2 class="article-body__section" id="section-design-and-connections"><span>Design and connections</span></h2><p>The S2000 has an understated appearance: a dark grey enclosure, rounded edges and a glossy front panel. It looks perfectly at home beside a desk, although mine was soon earning its keep around DIY equipment.</p><p>Its upright shape gives it a reasonably small footprint. At 16.2kg, however, “portable” still involves a deliberate lift. Moving it between rooms or taking it out to the garden is one thing; carrying it a long distance is another.</p><p>The UK version has four proper Type G sockets, split evenly between the front and rear. That arrangement makes sense. You can keep regularly connected equipment plugged in behind the unit, leaving the front sockets available for things you connect occasionally.</p><p>There is a trade-off: you’ll need access to both sides if you want to use every socket. Bear that in mind before squeezing it into a tight space, and leave the ventilation clear.</p><p>The USB connections sit above the display. The 100W USB-C port is the one to choose for a compatible laptop, while the other USB-C connection is limited to 15W. They look similar, so it’s worth checking the labels.</p><p>The screen puts the remaining battery percentage front and centre, alongside input and output wattage and an estimated remaining time. That gives you the information you need without reaching for your phone.</p><h2 class="article-body__section" id="section-performance-a-proper-day-s-work"><span>Performance: a proper day’s work</span></h2><p>My S2000 arrived with a 59% state of charge. Rather than charging it fully before doing anything useful, I put it straight to work powering a 1,200W wet/dry vacuum.</p><p>Between approximately 10am and 5pm, I used the vacuum repeatedly in sessions lasting around five to ten minutes. The Anker handled those sessions without any problems, and by the time I finished, it still showed 13% remaining.</p><p>To be clear, that was intermittent use across a seven-hour working day, rather than seven hours of continuous vacuuming. Even so, it was a useful practical test: repeated use of a fairly demanding appliance, starting with little more than half a battery.</p><p>The benefit was simple. I could get on with the job without running an extension lead back to a mains socket, and the power station had enough charge to cover the work I needed to do.</p><p>This wasn’t a controlled capacity test. I didn’t record the vacuum’s total running time or measure the energy delivered at the socket, so it wouldn’t be fair to calculate an efficiency figure from the percentage drop.</p><p>What I can say is that it coped comfortably with this particular vacuum and pattern of use.</p><p>The main limitation is the 1,500W continuous output. Battery capacity tells you how much energy is stored; output determines which appliances it can run. A large battery doesn’t automatically mean it can power a typical high-wattage UK kettle or several demanding tools together.</p><p>Check appliance ratings, allow for starting demands, and remember that the output limit is shared across the AC sockets.</p><h2 class="article-body__section" id="section-charging-options"><span>Charging options</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:1183px;"><p class="vanilla-image-block" style="padding-top:216.40%;"><img id="hW8A7mdpVyEnUxKGedo88g" name="Anker Solix S2000" alt="Anker Solix S2000" src="https://cdn.mos.cms.futurecdn.net/hW8A7mdpVyEnUxKGedo88g-1920-80.jpg" mos="" align="middle" fullscreen="" width="1183" height="2560" 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>For everyday charging, the S2000 connects directly to the mains using the supplied AC cable. There’s no separate external power brick to find space for.</p><p>During one charging session, the front display showed approximately 1,068W going in. An app screenshot taken during charging showed around 1,077W, with UltraFast charging switched off. These are snapshots rather than a timed charging test, but they show a substantial charging rate in normal use.</p><p>There’s also an app-controlled UltraFast option when a quicker turnaround matters.</p><p>Away from home, the S2000 supports compatible solar panels and vehicle charging, provided you have the correct cables and accessories. Solar input is capped at 400W, with Anker specifying a maximum open-circuit voltage of 60V. Panel compatibility matters as well as the connector.</p><p>Those alternatives add flexibility, although a normal car accessory socket will be much slower than mains charging. Think of it as a way to replenish charge while travelling, rather than expecting a quick refill of a 2kWh battery.</p><h2 class="article-body__section" id="section-the-app-easy-to-set-up-easy-to-understand"><span>The app: easy to set up, easy to understand</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:1080px;"><p class="vanilla-image-block" style="padding-top:216.67%;"><img id="prKSSuyPEv6u7coVkMZ27Q" name="Anker Solix S2000 app" alt="Screenshot of the Solix S2000 app in use" src="https://cdn.mos.cms.futurecdn.net/prKSSuyPEv6u7coVkMZ27Q-1920-80.jpg" mos="" align="middle" fullscreen="" width="1080" height="2340" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future || Anker)</span></figcaption></figure><p>The app was one of the nicest surprises.</p><p>Finding it in the Google Play Store was straightforward, as were signing in and getting started. The S2000 was detected straight away, added without difficulty and ready to control. An iPhone version also appears to be available, although my experience here was with Android.</p><p>The main screen presents the battery percentage, temperature, charging estimate and power flow clearly. You can see what’s happening at a glance.</p><p>More useful still is the depth of control. There are multiple UPS and power-management modes, charging timers, adjustable AC charging power and battery charge limits. You also get AC output scheduling, a countdown to switch the sockets off, screen controls and power-usage history.</p><p>Crucially, the explanations are good. Rather than leaving you to decipher a vaguely named mode, the app helps you understand what a setting does and decide whether it suits your needs.</p><p>Some power-station apps make configuration feel like educated guesswork. Here, the guidance makes the extra features more approachable, particularly if this is your first battery system.</p><h2 class="article-body__section" id="section-backup-power-and-everyday-use"><span>Backup power and everyday use</span></h2><p>The UPS function adds another potential role: keeping suitable equipment powered when the mains fails. Anker quotes a transfer time of around 10ms, although I haven’t independently measured that or tested compatibility with individual computers.</p><p>For a home office, the combination of rear sockets, battery monitoring and configurable operating modes is appealing. You can leave equipment connected and manage the unit without constantly handling it.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/Da4cEQRuzTYWUSzN2Fi8Yg-1920-80.jpg" alt="Anker Solix S2000 " /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Q5Q2EmNbzHXzkEtcFpeqNg-1920-80.jpg" alt="Anker Solix S2000 " /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/soHh9ucvqNyYaGMtCtYfNg-1920-80.jpg" alt="Anker Solix S2000 " /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uh59NEDvSBxu5PUayTY2Dg-1920-80.jpg" alt="Anker Solix S2000 " /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/hW8A7mdpVyEnUxKGedo88g-1920-80.jpg" alt="Anker Solix S2000 " /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><em>For more off-grid essentials, we've tested the </em><a href="https://www.techradar.com/best/portable-power-stations" target="_blank"><em>best portable power stations</em></a><em>. </em></p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/pro/anker-solix-s2000-portable-power-station-review</link>
                                                                            <description>
                            <![CDATA[ The S2000 proved a handy companion for a day of DIY, although its 1,500W output means you’ll need to check what you plug into it. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">zBo6g8DQhZAGiRbnu9trkL</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/trNiHiyeRjYxAkjLAnKvHg-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 30 Oct 2026 13:46:20 +0000</pubDate>                                                                                                                                <updated>Fri, 30 Oct 2026 13:46:27 +0000</updated>
                                                                                                                                            <category><![CDATA[Pro]]></category>
                                                                                                <author><![CDATA[ desire.athow@futurenet.com (Desire Athow) ]]></author>                    <dc:creator><![CDATA[ Desire Athow ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oEw3XiohQwun9z7gMxKzkB-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Désiré has been musing and writing about technology during a career spanning four decades. He dabbled in &lt;a href=&quot;https://www.techradar.com/news/the-best-website-builder&quot;&gt;website builders&lt;/a&gt; and &lt;a href=&quot;https://www.techradar.com/web-hosting/best-web-hosting-service-websites&quot;&gt;web hosting&lt;/a&gt; when DHTML and frames were in vogue and started narrating about the impact of technology on society just before the start of the Y2K hysteria at the turn of the last millennium.&lt;/p&gt;&lt;p&gt;Then followed a weekly tech column in a local business magazine in Mauritius, a late night tech radio programme called &lt;a href=&quot;https://web.archive.org/web/20030414214749/http://www.clicplus.com/&quot;&gt;Clicplus&lt;/a&gt; and a freelancing gig at the now-defunct, Theinquirer, with the late Mike Magee as mentor. After an eight-year stint at ITProPortal.com, where he discovered the joys of global techfests and transformed the publication into one of the biggest tech B2B independent publishers, Désiré moved to TechRadar Pro where he has been the editor for nine years.&lt;/p&gt;&lt;p&gt;He has an affinity for anything hardware and staunchly refuses to stop writing reviews of obscure products or cover niche B2B software-as-a-service providers. He is an avid deal hunter and can be found lurking around on various deals forums.&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/trNiHiyeRjYxAkjLAnKvHg-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Anker Solix S2000 ]]></media:description>                                                            <media:text><![CDATA[Anker Solix S2000 ]]></media:text>
                                <media:title type="plain"><![CDATA[Anker Solix S2000 ]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/trNiHiyeRjYxAkjLAnKvHg-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Portable power stations are useful for everything from keeping your broadband running during a power cut to powering equipment away from a convenient socket. The Anker Solix S2000 fits both roles, combining a substantial battery with a relatively compact upright design.</p><p>What impressed me most, though, was how little fuss it involved. It handled repeated sessions with a 1,200W wet/dry vacuum straight out of the box, while the accompanying app was easy to set up and refreshingly clear about what its settings actually do.</p><h2 class="article-body__section" id="section-anker-solix-s2000-specifications"><span>Anker Solix S2000: specifications</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:46.21%;"><img id="Da4cEQRuzTYWUSzN2Fi8Yg" name="Anker Solix S2000" alt="Anker Solix S2000" src="https://cdn.mos.cms.futurecdn.net/Da4cEQRuzTYWUSzN2Fi8Yg-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1183" attribution="" endorsement="" class="" /></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 " ><p><strong>Specification</strong></p></td><td  ><p><strong>Details</strong></p></td></tr><tr><td class="firstcol " ><p>Battery capacity</p></td><td  ><p>2,000Wh</p></td></tr><tr><td class="firstcol " ><p>Battery chemistry</p></td><td  ><p>Lithium iron phosphate, also known as LFP or LiFePO₄</p></td></tr><tr><td class="firstcol " ><p>Continuous AC output</p></td><td  ><p>1,500W total</p></td></tr><tr><td class="firstcol " ><p>UK mains outlets</p></td><td  ><p>Four Type G sockets: two front, two rear</p></td></tr><tr><td class="firstcol " ><p>USB-A</p></td><td  ><p>One port, up to 12W</p></td></tr><tr><td class="firstcol " ><p>USB-C</p></td><td  ><p>Two ports: up to 15W and 100W</p></td></tr><tr><td class="firstcol " ><p>Shared USB limit</p></td><td  ><p>USB-A and 15W USB-C share an 18W maximum</p></td></tr><tr><td class="firstcol " ><p>Standard AC charging</p></td><td  ><p>Up to 1,150W</p></td></tr><tr><td class="firstcol " ><p>Solar charging</p></td><td  ><p>Up to 400W through the XT60i input</p></td></tr><tr><td class="firstcol " ><p>UPS transfer time</p></td><td  ><p>Approximately 10ms, manufacturer-rated</p></td></tr><tr><td class="firstcol " ><p>Dimensions</p></td><td  ><p>208 × 282 × 323.3mm</p></td></tr><tr><td class="firstcol " ><p>Weight</p></td><td  ><p>16.2kg</p></td></tr><tr><td class="firstcol " ><p>Warranty</p></td><td  ><p>Five years</p></td></tr></tbody></table></div><p><em>Specifications are manufacturer figures; socket layout and port labels were also checked against the UK review unit.</em></p><h2 class="article-body__section" id="section-design-and-connections"><span>Design and connections</span></h2><p>The S2000 has an understated appearance: a dark grey enclosure, rounded edges and a glossy front panel. It looks perfectly at home beside a desk, although mine was soon earning its keep around DIY equipment.</p><p>Its upright shape gives it a reasonably small footprint. At 16.2kg, however, “portable” still involves a deliberate lift. Moving it between rooms or taking it out to the garden is one thing; carrying it a long distance is another.</p><p>The UK version has four proper Type G sockets, split evenly between the front and rear. That arrangement makes sense. You can keep regularly connected equipment plugged in behind the unit, leaving the front sockets available for things you connect occasionally.</p><p>There is a trade-off: you’ll need access to both sides if you want to use every socket. Bear that in mind before squeezing it into a tight space, and leave the ventilation clear.</p><p>The USB connections sit above the display. The 100W USB-C port is the one to choose for a compatible laptop, while the other USB-C connection is limited to 15W. They look similar, so it’s worth checking the labels.</p><p>The screen puts the remaining battery percentage front and centre, alongside input and output wattage and an estimated remaining time. That gives you the information you need without reaching for your phone.</p><h2 class="article-body__section" id="section-performance-a-proper-day-s-work"><span>Performance: a proper day’s work</span></h2><p>My S2000 arrived with a 59% state of charge. Rather than charging it fully before doing anything useful, I put it straight to work powering a 1,200W wet/dry vacuum.</p><p>Between approximately 10am and 5pm, I used the vacuum repeatedly in sessions lasting around five to ten minutes. The Anker handled those sessions without any problems, and by the time I finished, it still showed 13% remaining.</p><p>To be clear, that was intermittent use across a seven-hour working day, rather than seven hours of continuous vacuuming. Even so, it was a useful practical test: repeated use of a fairly demanding appliance, starting with little more than half a battery.</p><p>The benefit was simple. I could get on with the job without running an extension lead back to a mains socket, and the power station had enough charge to cover the work I needed to do.</p><p>This wasn’t a controlled capacity test. I didn’t record the vacuum’s total running time or measure the energy delivered at the socket, so it wouldn’t be fair to calculate an efficiency figure from the percentage drop.</p><p>What I can say is that it coped comfortably with this particular vacuum and pattern of use.</p><p>The main limitation is the 1,500W continuous output. Battery capacity tells you how much energy is stored; output determines which appliances it can run. A large battery doesn’t automatically mean it can power a typical high-wattage UK kettle or several demanding tools together.</p><p>Check appliance ratings, allow for starting demands, and remember that the output limit is shared across the AC sockets.</p><h2 class="article-body__section" id="section-charging-options"><span>Charging options</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:1183px;"><p class="vanilla-image-block" style="padding-top:216.40%;"><img id="hW8A7mdpVyEnUxKGedo88g" name="Anker Solix S2000" alt="Anker Solix S2000" src="https://cdn.mos.cms.futurecdn.net/hW8A7mdpVyEnUxKGedo88g-1920-80.jpg" mos="" align="middle" fullscreen="" width="1183" height="2560" 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>For everyday charging, the S2000 connects directly to the mains using the supplied AC cable. There’s no separate external power brick to find space for.</p><p>During one charging session, the front display showed approximately 1,068W going in. An app screenshot taken during charging showed around 1,077W, with UltraFast charging switched off. These are snapshots rather than a timed charging test, but they show a substantial charging rate in normal use.</p><p>There’s also an app-controlled UltraFast option when a quicker turnaround matters.</p><p>Away from home, the S2000 supports compatible solar panels and vehicle charging, provided you have the correct cables and accessories. Solar input is capped at 400W, with Anker specifying a maximum open-circuit voltage of 60V. Panel compatibility matters as well as the connector.</p><p>Those alternatives add flexibility, although a normal car accessory socket will be much slower than mains charging. Think of it as a way to replenish charge while travelling, rather than expecting a quick refill of a 2kWh battery.</p><h2 class="article-body__section" id="section-the-app-easy-to-set-up-easy-to-understand"><span>The app: easy to set up, easy to understand</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:1080px;"><p class="vanilla-image-block" style="padding-top:216.67%;"><img id="prKSSuyPEv6u7coVkMZ27Q" name="Anker Solix S2000 app" alt="Screenshot of the Solix S2000 app in use" src="https://cdn.mos.cms.futurecdn.net/prKSSuyPEv6u7coVkMZ27Q-1920-80.jpg" mos="" align="middle" fullscreen="" width="1080" height="2340" attribution="" endorsement="" class="" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future || Anker)</span></figcaption></figure><p>The app was one of the nicest surprises.</p><p>Finding it in the Google Play Store was straightforward, as were signing in and getting started. The S2000 was detected straight away, added without difficulty and ready to control. An iPhone version also appears to be available, although my experience here was with Android.</p><p>The main screen presents the battery percentage, temperature, charging estimate and power flow clearly. You can see what’s happening at a glance.</p><p>More useful still is the depth of control. There are multiple UPS and power-management modes, charging timers, adjustable AC charging power and battery charge limits. You also get AC output scheduling, a countdown to switch the sockets off, screen controls and power-usage history.</p><p>Crucially, the explanations are good. Rather than leaving you to decipher a vaguely named mode, the app helps you understand what a setting does and decide whether it suits your needs.</p><p>Some power-station apps make configuration feel like educated guesswork. Here, the guidance makes the extra features more approachable, particularly if this is your first battery system.</p><h2 class="article-body__section" id="section-backup-power-and-everyday-use"><span>Backup power and everyday use</span></h2><p>The UPS function adds another potential role: keeping suitable equipment powered when the mains fails. Anker quotes a transfer time of around 10ms, although I haven’t independently measured that or tested compatibility with individual computers.</p><p>For a home office, the combination of rear sockets, battery monitoring and configurable operating modes is appealing. You can leave equipment connected and manage the unit without constantly handling it.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/Da4cEQRuzTYWUSzN2Fi8Yg-1920-80.jpg" alt="Anker Solix S2000 " /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Q5Q2EmNbzHXzkEtcFpeqNg-1920-80.jpg" alt="Anker Solix S2000 " /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/soHh9ucvqNyYaGMtCtYfNg-1920-80.jpg" alt="Anker Solix S2000 " /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uh59NEDvSBxu5PUayTY2Dg-1920-80.jpg" alt="Anker Solix S2000 " /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/hW8A7mdpVyEnUxKGedo88g-1920-80.jpg" alt="Anker Solix S2000 " /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><em>For more off-grid essentials, we've tested the </em><a href="https://www.techradar.com/best/portable-power-stations" target="_blank"><em>best portable power stations</em></a><em>. </em></p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Final Fantasy Resonance review: classic RPG greatness made for 2026 ]]></title>
                                                                                                <dc:content><![CDATA[ <p>I’ve been playing <em>Final Fantasy Resonance </em>for the past few weeks, and it is a delightful love letter to the <em>Final Fantasy </em>series — a beautiful turn-based role-playing game (RPG) that blends new and old across its gameplay and aesthetics to create an adventure I have adored every second of.</p><p>While it might have its roots in a now defunct mobile gacha game — <em>Brave Exvius</em> — don’t hold that against it. The only holdover is the core story. Everything else, from the gameplay to the wide world map to explore to the visual style, has been overhauled — the pay-to-play elements are gone too; all unlocks are completely free</p><div  class="fancy-box"><div class="fancy_box-title">Review info</div><div class="fancy_box_body"><p class="fancy-box__body-text"><strong>Platform reviewed: </strong>Nintendo Switch 2<br /><strong>Available on: </strong>PS5, Xbox Series X|S, Nintendo Switch 2, PC<br /><strong>Release date: </strong>October 26, 2026</p></div></div><p>The end result of this total rebuild is a classic-feeling RPG that is somehow just as at home among 2026’s gaming lineup as it would have been among one from decades ago.</p><p>There are some tweaks I’d make here and there: mostly to Visions, and to the story that’s a little predictable, but neither of these issues has sapped the joy from what is easily among the <a href="https://www.techradar.com/gaming/nintendo/best-nintendo-switch-2-games">best Nintendo Switch 2 games</a> I’ve played this year (it’s also releasing on <a href="https://www.techradar.com/reviews/xbox-series-x">Xbox Series X</a>, <a href="https://www.techradar.com/reviews/xbox-series-s">Xbox Series S</a>, <a href="https://www.techradar.com/reviews/ps5">PS5</a> and PC).</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="U5hTCPgdCmUturpd2yEGzS" name="8273" alt="The open world map" src="https://cdn.mos.cms.futurecdn.net/U5hTCPgdCmUturpd2yEGzS-1920-80.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: Square Enix)</span></figcaption></figure><h2 id="back-to-basics">Back to basics</h2><p>After spending decades finding ways to mix up the turn-based action it popularized, <em>Final Fantasy Resonance</em> returns the series to a much more classic interpretation of it. When it’s their turn to act your party and enemies get to make a basic Attack, spend MP to perform some kind of special Skill action like casting a spell, Summon a powerful esper to fight by their side, or use an item from the party’s bag — with the order characters go determined by their speed.</p><p>It facilitates a slower and more tactical approach to engaging enemies than the action-focused gameplay of more modern <em>Final Fantasy</em> entries, which pairs nicely with <em>Resonance</em>’s less traditional combat mechanic: Stagger.</p><p>Dealing enough damage to your foes that’s a flavour they’re weak to will fill their meter and Stagger them — they’ll lose their go that turn if they haven’t acted yet, will take more damage until the next round, and whoever staggered them will get a second action. </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="cdvZmFuBYkeQXRKjCdeW7T" name="8274" alt="Cloud's devastating resonance attack" src="https://cdn.mos.cms.futurecdn.net/cdvZmFuBYkeQXRKjCdeW7T-1920-80.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: Square Enix)</span></figcaption></figure><p>If you Stagger every enemy at once, you enter a Sweeping Stagger — your whole party will get a second action, and you’ll be able to deliver a powerful Resonance attack. This sees one of your equipped Visions rush forward to deliver a cinematic finishing blow — showcased by a 3D cinematic that briefly takes you out of the game’s HD-2D style.</p><p><em>Resonance</em> isn't just <em>Final Fantasy</em> meets <em>Octopath Traveler</em>. It might seem that way based on my description so far — seeing as it borrows <em>Octopath’s</em> visual identity and a core aspect of the series’ Break and Boost system</p><div  class="fancy-box"><div class="fancy_box-title">Best bit</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="XD75bDU4oNQHkDeDsnFYsS" name="8281" caption="" alt="A strange crystal" src="https://cdn.mos.cms.futurecdn.net/XD75bDU4oNQHkDeDsnFYsS-1920-80.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: Square Enix)</span></figcaption></figure><p class="fancy-box__body-text"><strong>Exploring the game world to find secret items or hidden bosses always feels so rewarding. Especially later on, when you unlock the airship. There are several secrets I found out of pure curiosity, and it felt so fulfilling to be rewarded for hunting around.</strong></p></div></div><p>But besides the nuances of <em>Resonance</em>’s Stagger system, which make it different from what <em>Octopath </em>offers, you’ll also find this game’s plot is quintessential <em>Final Fantasy</em> — more on that in a moment — and it takes a different approach with its Job / Class system through Visions. They feel more like weapons you swap in and out than a Class you’ll want to perfect and stick with.</p><p>Visions are (mostly) manifestations of the core Final Fantasy games’ protagonists which aid your party in combat: performing the Resonance attacks I mentioned earlier, but also unlocking a separate list of actions and abilities for the party member they’re equipped to. Most skills you’ll only have access to while the Vision is actively deployed, but there are also permanent unlocks to earn by mastering a Vision — letting you mix and match aspects of Visions on a single party member to craft your ideal champion.</p><p>As I mentioned, this will feel a lot like Jobs from other Square Enix titles, but because so much of a Vision’s identity is lost from your character when you unequip it — most permanent Mastery unlocks are more generic, yet still useful, abilities like improving stats — I’ve found it better to see Visions as Equipment. Before entering a tough fight, you might want to swap out your loadout to best suit the challenge ahead — such as equipping your party with water attack dealers when facing off against a fiery foe.</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="3oihNQsqfK6GRWcq3Z87gS" name="8278" alt="Rain charges with a flaming sword" src="https://cdn.mos.cms.futurecdn.net/3oihNQsqfK6GRWcq3Z87gS-1920-80.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: Square Enix)</span></figcaption></figure><h2 id="a-medley-or-overstuffed-buffet">A medley or overstuffed buffet?</h2><p>Taking everything I’ve said so far, you might fear <em>Final Fantasy Resonance</em> would turn out to be a mess. </p><p>It combines aspects of several games (<em>Octopath Traveler, Brave Exvius, </em> and classic <em>Final Fantasy</em>). It jumps between 3D and HD-2D visuals across different cinematics. There’s just over two dozen Visions to master, each their own skills to augment the base abilities your party develops. You can call forth powerful Summons to deal even more damage to your foes. There’s a giant map to explore, bursting with secrets to discover in every corner. There are main quests and side missions to complete over tens of hours, as well as secret boss fights and a coliseum to become the champion of.</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="kMumyy5UDLf4xb4Jm2QzpS" name="8283" alt="Noctis  redaying an attack" src="https://cdn.mos.cms.futurecdn.net/kMumyy5UDLf4xb4Jm2QzpS-1920-80.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: Square Enix)</span></figcaption></figure><p>It’s a lot, yet <em>Final Fantasy Resonance </em>never felt like a mess.</p><p>Square Enix shows a mastery of the HD-2D art style. The world's environments are stunning, character sprites are expressive, and there are some amazing 2D spectacle across the game’s cutscenes and attack animations. The animatics feel fan-made in a good way — full of expression, and getting as much as possible from the medium.</p><p>The flashes of 3D work surprisingly well to augment special moments. Rather than feeling incongruous, the 3D Vision Resonance attack and Esper Summon cinematics give these abilities an appropriately otherworldly aspect.</p><p>Games which let you throw everything and the kitchen sink at your enemies have a habit of feeling too easy. However, playing on Expert difficulty, I found fights (especially boss fights) were a challenge — one I could overcome, but not without playing tactically. Button mashing and praying won’t save you here.</p><p>These different abilities also built up gradually over time. This let me get to grips with systems before some new aspect was thrown into the mix.</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="rdZFY4bEtnLTkzqTxWoH8T" name="8276" alt="An esper's wind attack" src="https://cdn.mos.cms.futurecdn.net/rdZFY4bEtnLTkzqTxWoH8T-1920-80.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: Square Enix)</span></figcaption></figure><p>And when the gameplay is so engaging, and the visuals so beautiful, I had no problem adventuring back and forth to complete side quests and seek out every secret hiding in the world.</p><h2 id="close-to-perfection">Close to perfection</h2><p>If I must find fault with <em>Final Fantasy Resonance,</em> it would be in two areas.</p><p>The first is that while I love a lot of the Visions system, it struggles for much of the mid-game because it focuses too much on the main Final Fantasy protagonists who are (let’s face it) pretty samey. This is showcased by the fact that the majority of them are classified as Commando or Breaker types.</p><p>The precise builds and abilities do change, but for example there aren’t many supportive Healers amongst them — meaning building out a dedicated support character in your party is a little tough at times as you’ll either need to stick with a Vision you’ve mastered, or accept your party will be multi-classing early on.</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="yh6n37u2ajdMDgEA5izkxS" name="8272" alt="The Vision mastery page" src="https://cdn.mos.cms.futurecdn.net/yh6n37u2ajdMDgEA5izkxS-1920-80.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: Square Enix)</span></figcaption></figure><p>Given how useful some Mastery abilities are, you’ll want to multiclass to some extent (Tronn’s ability to halve MP costs is one you need to unlock for as many characters as possible as soon as possible), but given the game says the Vision system offers you the freedom to customize the party however you want, I was a little disappointed that the reality doesn’t quite match this.</p><p>Secondly, I’d say the plot is <em>Final Fantasy</em> in its purest form. There are crystals, war between ancient mystical powers and new age technology, sacrifice for the greater good, twists and turns that reveal secrets about the characters’ and the world’s past, and an awful lot else that is a little cliché.</p><p>The story is certainly good enough to keep me engaged; it's just nothing special.</p><p>Though as I’ve said, neither of these gripes kept me from adoring <em>Final Fantasy Resonance</em>. Every time I sat down to write this review I had to force myself to not reach over for my Nintendo Switch 2 to play another five minutes — and like any good game my attempts to set time limits on myself never succeeded in keeping my play sessions shorter than a few hours at a time.</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="9JrovZkYXBSy9XBhichueS" name="8279" alt="The party ready to fight a monster" src="https://cdn.mos.cms.futurecdn.net/9JrovZkYXBSy9XBhichueS-1920-80.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: Square Enix)</span></figcaption></figure><p>While it is available on several consoles and PC, my <a href="https://www.techradar.com/gaming/nintendo/nintendo-switch-2-review">Nintendo Switch 2</a> has been superb. If you have a choice, this is where I’d recommend playing, as it runs so smoothly, it’s easy to chip away at quests while on the go, and you can still enjoy a beautiful big-picture experience when the handheld is docked.</p><h2 id="should-you-play-final-fantasy-resonance">Should you play Final Fantasy Resonance?</h2><h2 id="play-it-if-3">Play it if…</h2><div class="product"><p><strong>You miss classic </strong><em><strong>Final Fantasy</strong></em><br /><em>Resonance</em> is the best Final Fantasy game I’ve played in years, in all the best ways. It feels both new and old and is sure to delight long-time fans of the series.</p></div><div class="product"><p><strong>You love Octopath Traveller</strong><br />There’s a lot of <em>Octopath</em> in this game, yet <em>Resonance </em>still feels unique enough to scratch the HD-2D itch without feeling samey.</p></div><div class="product"><p><strong>You want a long, but not too long, RPG</strong><br />Unlike some RPGs that can stretch into the hundreds of hours, most players will finish <em>Resonance </em>and its side quests somewhere between 30 and 50. Still long enough to sink your teeth into, but not have it take over your life.</p></div><h2 id="don-t-play-it-if">Don’t play it if…</h2><div class="product"><p><strong>You hate turn-based combat</strong><br />Not everyone enjoys the tactical ebb-and-flow of a turn-based RPG. If that’s you this game isn’t for you.</p></div><div class="product"><p><strong>You hate exploration</strong><br />While not as vast as an open-world game, <em>Final Fantasy Resonance </em>is full of hidden secrets to find across its overworld, and dungeons. If you prefer a more linear adventure you might not get as much out of this experience as you could.</p></div><div class="product"><p><strong>You’re tired of cliché fantasy stories</strong><br />The <em>Final Fantasy Resonance </em>story feels like an amalgamation of every FF game to come before. It’s not bad, but the twists and turns are frequently predictable which can disappoint gamers who love a good story.</p></div><h2 id="accessibility-features-3">Accessibility features</h2><p>Besides the features built into your console of choice, <em>Final Fantasy Resonance</em> has no accessibility features baked into it. </p><p>However, as a turn-based RPG, gameplay can be as slow as you need. It doesn't matter if you take five seconds, five minutes, or five hours to lock in an action, and unlike games such as <a href="https://www.techradar.com/gaming/clair-obscur-expedition-33-review"><em>Clair Obscur: Expedition 33</em></a><em>,</em> there are no active parry or dodge mechanics that require precise timing on the player's part.</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="G6TWia5PvM5m9sP2g9HfpS" name="8280" alt="Fighting Leviathan" src="https://cdn.mos.cms.futurecdn.net/G6TWia5PvM5m9sP2g9HfpS-1920-80.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: Square Enix)</span></figcaption></figure><h2 id="how-i-reviewed-final-fantasy-resonance">How I reviewed Final Fantasy Resonance</h2><p>I reviewed Final Fantasy Resonance for around 30 hours on my Nintendo Switch 2. Predominantly, this was with base system hardware in handheld mode — plugging away on trips, my commute, and while relaxing on the couch — but I did experience the big-screen docked mode for several hours on my 4K Fire TV (relying on an <a href="https://www.techradar.com/gaming/8bitdo-ultimate-2-review">8BitDo Ultimate 2 controller</a> for inputs).</p><p>In all modes, the game ran smoothly, and I never regretted my decision to play the game on the least powerful system it’s launching on.</p><p><em>First reviewed October 2026</em></p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/gaming/final-fantasy-resonance-review</link>
                                                                            <description>
                            <![CDATA[ This Octopath Traveller meets defunct mobile gacha game is the best I’ve played on my Nintendo Switch 2 all year. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">e5vwXk3p9DvEVmED5SNAx4</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/EPdSDccz3nHpME3Y2rhikS-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 30 Oct 2026 12:03:49 +0000</pubDate>                                                                                                                                <updated>Mon, 02 Nov 2026 10:15:39 +0000</updated>
                                                                                                                                            <category><![CDATA[Nintendo Switch]]></category>
                                                    <category><![CDATA[PS5]]></category>
                                                    <category><![CDATA[Xbox Series X | S]]></category>
                                                    <category><![CDATA[PC Gaming]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                    <category><![CDATA[Consoles & PC]]></category>
                                                    <category><![CDATA[Nintendo]]></category>
                                                    <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Xbox]]></category>
                                                                                                <author><![CDATA[ hamish.hector@futurenet.com (Hamish Hector) ]]></author>                    <dc:creator><![CDATA[ Hamish Hector ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/ePxhxWMJAFXSVFL4333tHB-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Hamish is a Senior Staff Writer for TechRadar and you’ll see his name appearing on articles across nearly every topic on the site from smart home deals to speaker reviews to graphics card news and everything in between. He uses his broad range of knowledge to help explain the latest gadgets and if they’re a must-buy or a fad fueled by hype. Though his specialty is writing about everything going on in the world of virtual reality and augmented reality.&lt;/p&gt;&lt;p&gt;He’s been writing about tech and gaming for over five years now, getting his start at the University of Warwick’s student newspaper The Boar as a writer and later Games Editor while studying for his BSc in Maths and Physics (and later an MSc in Biotechnology, Bioprocessing, and Business Management). After graduating from university in 2020 he wrote all about battle royale games for Gfinity Esports before joining the TechRadar team in February 2021.&lt;/p&gt;&lt;p&gt;In his free time, you’ll likely find Hamish lost in one of the latest VR games on his Meta Quest 3, watching a West End musical with his fiancee, playing Magic: The Gathering at his local game store, or planning the D&amp;D campaign he runs for his mates.&lt;/p&gt;&lt;p&gt;Want to get in touch? You can contact Hamish via his email.&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/EPdSDccz3nHpME3Y2rhikS-1920-80.jpg">
                                                            <media:credit><![CDATA[Square Enix]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The castle burning]]></media:description>                                                            <media:text><![CDATA[The castle burning]]></media:text>
                                <media:title type="plain"><![CDATA[The castle burning]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/EPdSDccz3nHpME3Y2rhikS-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I’ve been playing <em>Final Fantasy Resonance </em>for the past few weeks, and it is a delightful love letter to the <em>Final Fantasy </em>series — a beautiful turn-based role-playing game (RPG) that blends new and old across its gameplay and aesthetics to create an adventure I have adored every second of.</p><p>While it might have its roots in a now defunct mobile gacha game — <em>Brave Exvius</em> — don’t hold that against it. The only holdover is the core story. Everything else, from the gameplay to the wide world map to explore to the visual style, has been overhauled — the pay-to-play elements are gone too; all unlocks are completely free</p><div  class="fancy-box"><div class="fancy_box-title">Review info</div><div class="fancy_box_body"><p class="fancy-box__body-text"><strong>Platform reviewed: </strong>Nintendo Switch 2<br /><strong>Available on: </strong>PS5, Xbox Series X|S, Nintendo Switch 2, PC<br /><strong>Release date: </strong>October 26, 2026</p></div></div><p>The end result of this total rebuild is a classic-feeling RPG that is somehow just as at home among 2026’s gaming lineup as it would have been among one from decades ago.</p><p>There are some tweaks I’d make here and there: mostly to Visions, and to the story that’s a little predictable, but neither of these issues has sapped the joy from what is easily among the <a href="https://www.techradar.com/gaming/nintendo/best-nintendo-switch-2-games">best Nintendo Switch 2 games</a> I’ve played this year (it’s also releasing on <a href="https://www.techradar.com/reviews/xbox-series-x">Xbox Series X</a>, <a href="https://www.techradar.com/reviews/xbox-series-s">Xbox Series S</a>, <a href="https://www.techradar.com/reviews/ps5">PS5</a> and PC).</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="U5hTCPgdCmUturpd2yEGzS" name="8273" alt="The open world map" src="https://cdn.mos.cms.futurecdn.net/U5hTCPgdCmUturpd2yEGzS-1920-80.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: Square Enix)</span></figcaption></figure><h2 id="back-to-basics">Back to basics</h2><p>After spending decades finding ways to mix up the turn-based action it popularized, <em>Final Fantasy Resonance</em> returns the series to a much more classic interpretation of it. When it’s their turn to act your party and enemies get to make a basic Attack, spend MP to perform some kind of special Skill action like casting a spell, Summon a powerful esper to fight by their side, or use an item from the party’s bag — with the order characters go determined by their speed.</p><p>It facilitates a slower and more tactical approach to engaging enemies than the action-focused gameplay of more modern <em>Final Fantasy</em> entries, which pairs nicely with <em>Resonance</em>’s less traditional combat mechanic: Stagger.</p><p>Dealing enough damage to your foes that’s a flavour they’re weak to will fill their meter and Stagger them — they’ll lose their go that turn if they haven’t acted yet, will take more damage until the next round, and whoever staggered them will get a second action. </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="cdvZmFuBYkeQXRKjCdeW7T" name="8274" alt="Cloud's devastating resonance attack" src="https://cdn.mos.cms.futurecdn.net/cdvZmFuBYkeQXRKjCdeW7T-1920-80.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: Square Enix)</span></figcaption></figure><p>If you Stagger every enemy at once, you enter a Sweeping Stagger — your whole party will get a second action, and you’ll be able to deliver a powerful Resonance attack. This sees one of your equipped Visions rush forward to deliver a cinematic finishing blow — showcased by a 3D cinematic that briefly takes you out of the game’s HD-2D style.</p><p><em>Resonance</em> isn't just <em>Final Fantasy</em> meets <em>Octopath Traveler</em>. It might seem that way based on my description so far — seeing as it borrows <em>Octopath’s</em> visual identity and a core aspect of the series’ Break and Boost system</p><div  class="fancy-box"><div class="fancy_box-title">Best bit</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="XD75bDU4oNQHkDeDsnFYsS" name="8281" caption="" alt="A strange crystal" src="https://cdn.mos.cms.futurecdn.net/XD75bDU4oNQHkDeDsnFYsS-1920-80.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: Square Enix)</span></figcaption></figure><p class="fancy-box__body-text"><strong>Exploring the game world to find secret items or hidden bosses always feels so rewarding. Especially later on, when you unlock the airship. There are several secrets I found out of pure curiosity, and it felt so fulfilling to be rewarded for hunting around.</strong></p></div></div><p>But besides the nuances of <em>Resonance</em>’s Stagger system, which make it different from what <em>Octopath </em>offers, you’ll also find this game’s plot is quintessential <em>Final Fantasy</em> — more on that in a moment — and it takes a different approach with its Job / Class system through Visions. They feel more like weapons you swap in and out than a Class you’ll want to perfect and stick with.</p><p>Visions are (mostly) manifestations of the core Final Fantasy games’ protagonists which aid your party in combat: performing the Resonance attacks I mentioned earlier, but also unlocking a separate list of actions and abilities for the party member they’re equipped to. Most skills you’ll only have access to while the Vision is actively deployed, but there are also permanent unlocks to earn by mastering a Vision — letting you mix and match aspects of Visions on a single party member to craft your ideal champion.</p><p>As I mentioned, this will feel a lot like Jobs from other Square Enix titles, but because so much of a Vision’s identity is lost from your character when you unequip it — most permanent Mastery unlocks are more generic, yet still useful, abilities like improving stats — I’ve found it better to see Visions as Equipment. Before entering a tough fight, you might want to swap out your loadout to best suit the challenge ahead — such as equipping your party with water attack dealers when facing off against a fiery foe.</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="3oihNQsqfK6GRWcq3Z87gS" name="8278" alt="Rain charges with a flaming sword" src="https://cdn.mos.cms.futurecdn.net/3oihNQsqfK6GRWcq3Z87gS-1920-80.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: Square Enix)</span></figcaption></figure><h2 id="a-medley-or-overstuffed-buffet">A medley or overstuffed buffet?</h2><p>Taking everything I’ve said so far, you might fear <em>Final Fantasy Resonance</em> would turn out to be a mess. </p><p>It combines aspects of several games (<em>Octopath Traveler, Brave Exvius, </em> and classic <em>Final Fantasy</em>). It jumps between 3D and HD-2D visuals across different cinematics. There’s just over two dozen Visions to master, each their own skills to augment the base abilities your party develops. You can call forth powerful Summons to deal even more damage to your foes. There’s a giant map to explore, bursting with secrets to discover in every corner. There are main quests and side missions to complete over tens of hours, as well as secret boss fights and a coliseum to become the champion of.</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="kMumyy5UDLf4xb4Jm2QzpS" name="8283" alt="Noctis  redaying an attack" src="https://cdn.mos.cms.futurecdn.net/kMumyy5UDLf4xb4Jm2QzpS-1920-80.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: Square Enix)</span></figcaption></figure><p>It’s a lot, yet <em>Final Fantasy Resonance </em>never felt like a mess.</p><p>Square Enix shows a mastery of the HD-2D art style. The world's environments are stunning, character sprites are expressive, and there are some amazing 2D spectacle across the game’s cutscenes and attack animations. The animatics feel fan-made in a good way — full of expression, and getting as much as possible from the medium.</p><p>The flashes of 3D work surprisingly well to augment special moments. Rather than feeling incongruous, the 3D Vision Resonance attack and Esper Summon cinematics give these abilities an appropriately otherworldly aspect.</p><p>Games which let you throw everything and the kitchen sink at your enemies have a habit of feeling too easy. However, playing on Expert difficulty, I found fights (especially boss fights) were a challenge — one I could overcome, but not without playing tactically. Button mashing and praying won’t save you here.</p><p>These different abilities also built up gradually over time. This let me get to grips with systems before some new aspect was thrown into the mix.</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="rdZFY4bEtnLTkzqTxWoH8T" name="8276" alt="An esper's wind attack" src="https://cdn.mos.cms.futurecdn.net/rdZFY4bEtnLTkzqTxWoH8T-1920-80.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: Square Enix)</span></figcaption></figure><p>And when the gameplay is so engaging, and the visuals so beautiful, I had no problem adventuring back and forth to complete side quests and seek out every secret hiding in the world.</p><h2 id="close-to-perfection">Close to perfection</h2><p>If I must find fault with <em>Final Fantasy Resonance,</em> it would be in two areas.</p><p>The first is that while I love a lot of the Visions system, it struggles for much of the mid-game because it focuses too much on the main Final Fantasy protagonists who are (let’s face it) pretty samey. This is showcased by the fact that the majority of them are classified as Commando or Breaker types.</p><p>The precise builds and abilities do change, but for example there aren’t many supportive Healers amongst them — meaning building out a dedicated support character in your party is a little tough at times as you’ll either need to stick with a Vision you’ve mastered, or accept your party will be multi-classing early on.</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="yh6n37u2ajdMDgEA5izkxS" name="8272" alt="The Vision mastery page" src="https://cdn.mos.cms.futurecdn.net/yh6n37u2ajdMDgEA5izkxS-1920-80.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: Square Enix)</span></figcaption></figure><p>Given how useful some Mastery abilities are, you’ll want to multiclass to some extent (Tronn’s ability to halve MP costs is one you need to unlock for as many characters as possible as soon as possible), but given the game says the Vision system offers you the freedom to customize the party however you want, I was a little disappointed that the reality doesn’t quite match this.</p><p>Secondly, I’d say the plot is <em>Final Fantasy</em> in its purest form. There are crystals, war between ancient mystical powers and new age technology, sacrifice for the greater good, twists and turns that reveal secrets about the characters’ and the world’s past, and an awful lot else that is a little cliché.</p><p>The story is certainly good enough to keep me engaged; it's just nothing special.</p><p>Though as I’ve said, neither of these gripes kept me from adoring <em>Final Fantasy Resonance</em>. Every time I sat down to write this review I had to force myself to not reach over for my Nintendo Switch 2 to play another five minutes — and like any good game my attempts to set time limits on myself never succeeded in keeping my play sessions shorter than a few hours at a time.</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="9JrovZkYXBSy9XBhichueS" name="8279" alt="The party ready to fight a monster" src="https://cdn.mos.cms.futurecdn.net/9JrovZkYXBSy9XBhichueS-1920-80.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: Square Enix)</span></figcaption></figure><p>While it is available on several consoles and PC, my <a href="https://www.techradar.com/gaming/nintendo/nintendo-switch-2-review">Nintendo Switch 2</a> has been superb. If you have a choice, this is where I’d recommend playing, as it runs so smoothly, it’s easy to chip away at quests while on the go, and you can still enjoy a beautiful big-picture experience when the handheld is docked.</p><h2 id="should-you-play-final-fantasy-resonance">Should you play Final Fantasy Resonance?</h2><h2 id="play-it-if-3">Play it if…</h2><div class="product"><p><strong>You miss classic </strong><em><strong>Final Fantasy</strong></em><br /><em>Resonance</em> is the best Final Fantasy game I’ve played in years, in all the best ways. It feels both new and old and is sure to delight long-time fans of the series.</p></div><div class="product"><p><strong>You love Octopath Traveller</strong><br />There’s a lot of <em>Octopath</em> in this game, yet <em>Resonance </em>still feels unique enough to scratch the HD-2D itch without feeling samey.</p></div><div class="product"><p><strong>You want a long, but not too long, RPG</strong><br />Unlike some RPGs that can stretch into the hundreds of hours, most players will finish <em>Resonance </em>and its side quests somewhere between 30 and 50. Still long enough to sink your teeth into, but not have it take over your life.</p></div><h2 id="don-t-play-it-if">Don’t play it if…</h2><div class="product"><p><strong>You hate turn-based combat</strong><br />Not everyone enjoys the tactical ebb-and-flow of a turn-based RPG. If that’s you this game isn’t for you.</p></div><div class="product"><p><strong>You hate exploration</strong><br />While not as vast as an open-world game, <em>Final Fantasy Resonance </em>is full of hidden secrets to find across its overworld, and dungeons. If you prefer a more linear adventure you might not get as much out of this experience as you could.</p></div><div class="product"><p><strong>You’re tired of cliché fantasy stories</strong><br />The <em>Final Fantasy Resonance </em>story feels like an amalgamation of every FF game to come before. It’s not bad, but the twists and turns are frequently predictable which can disappoint gamers who love a good story.</p></div><h2 id="accessibility-features-3">Accessibility features</h2><p>Besides the features built into your console of choice, <em>Final Fantasy Resonance</em> has no accessibility features baked into it. </p><p>However, as a turn-based RPG, gameplay can be as slow as you need. It doesn't matter if you take five seconds, five minutes, or five hours to lock in an action, and unlike games such as <a href="https://www.techradar.com/gaming/clair-obscur-expedition-33-review"><em>Clair Obscur: Expedition 33</em></a><em>,</em> there are no active parry or dodge mechanics that require precise timing on the player's part.</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="G6TWia5PvM5m9sP2g9HfpS" name="8280" alt="Fighting Leviathan" src="https://cdn.mos.cms.futurecdn.net/G6TWia5PvM5m9sP2g9HfpS-1920-80.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: Square Enix)</span></figcaption></figure><h2 id="how-i-reviewed-final-fantasy-resonance">How I reviewed Final Fantasy Resonance</h2><p>I reviewed Final Fantasy Resonance for around 30 hours on my Nintendo Switch 2. Predominantly, this was with base system hardware in handheld mode — plugging away on trips, my commute, and while relaxing on the couch — but I did experience the big-screen docked mode for several hours on my 4K Fire TV (relying on an <a href="https://www.techradar.com/gaming/8bitdo-ultimate-2-review">8BitDo Ultimate 2 controller</a> for inputs).</p><p>In all modes, the game ran smoothly, and I never regretted my decision to play the game on the least powerful system it’s launching on.</p><p><em>First reviewed October 2026</em></p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ HubSpot AEO review 2026 ]]></title>
                                                                                                <dc:content><![CDATA[ <p>I review tech for a living, so asking AI for the “best website for tech reviews” came with a small risk of bruised pride. Would TechRadar get a mention, or would the answer send readers straight to the competition? That was one of the questions I put to HubSpot AEO.</p><p><a href="https://www.techradar.com/reviews/hubspot-crm-review" target="_blank">HubSpot</a>’s answer engine optimization tool tracks selected questions across ChatGPT, Gemini and Perplexity. It shows which brands appear, which pages the answers cite, and suggests content work based on those findings. What interested me was being able to read the answers behind the score, then check the sources for myself.</p><p>I used the free trial to set up TechRadar and track 11 of the 25 available prompts. My hands-on review covers setup and reporting, with product demonstrations and documentation filling in the workflows I didn’t try. One day of results can’t prove long-term gains, but it gave me enough to judge whether the tool helps make sense of AI search or simply adds another chart to the working day.</p><h2 class="article-body__section" id="section-hubspot-aeo-plans-and-pricing"><span>HubSpot AEO: Plans and pricing</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:1999px;"><p class="vanilla-image-block" style="padding-top:66.58%;"><img id="DPn4XLDSKXWRXuMKUVBrfN" name="hubspot-aeo-pricing-plans" alt="hubspot aeo pricing plans" src="https://cdn.mos.cms.futurecdn.net/DPn4XLDSKXWRXuMKUVBrfN-1920-80.png" mos="" align="middle" fullscreen="" width="1999" height="1331" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: HubSpot)</span></figcaption></figure><p>The standalone price for using HubSpot’s <a href="https://www.techradar.com/pro/i-tested-the-7-best-aeo-tools" target="_blank">AEO tool</a> is $50 a month, or $45 a month billed annually, which comes to $540 a year before tax. You also get a 28-day free trial that requires no credit card; there’s no need to buy another paid HubSpot product first.</p><div ><table><tbody><tr><td class="firstcol " ><p><strong>Access</strong></p></td><td  ><p><strong>Starting price (USD)</strong></p></td><td  ><p><strong>Tracked prompts</strong></p></td><td  ><p><strong>Monthly answers</strong></p></td></tr><tr><td class="firstcol " ><p>AEO trial</p></td><td  ><p>Free for 28 days</p></td><td  ><p>25</p></td><td  ><p>2,500</p></td></tr><tr><td class="firstcol " ><p>Standalone AEO</p></td><td  ><p>$50 monthly or $540 yearly</p></td><td  ><p>25</p></td><td  ><p>2,500</p></td></tr><tr><td class="firstcol " ><p>Marketing Hub Professional</p></td><td  ><p>$800/month, paid annually</p></td><td  ><p>25</p></td><td  ><p>2,500</p></td></tr><tr><td class="firstcol " ><p>Marketing Hub Enterprise</p></td><td  ><p>$3,600/month</p></td><td  ><p>50</p></td><td  ><p>5,000</p></td></tr><tr><td class="firstcol " ><p>HubSpot for Marketers Professional</p></td><td  ><p>$900/month, paid annually</p></td><td  ><p>25</p></td><td  ><p>2,500</p></td></tr><tr><td class="firstcol " ><p>HubSpot for Marketers Enterprise</p></td><td  ><p>From $3,800/month</p></td><td  ><p>50</p></td><td  ><p>5,000</p></td></tr></tbody></table></div><p>The AEO features are also included in Marketing Hub Professional and Enterprise plans. And, the HubSpot for Marketers option bundles Marketing Hub with Content Hub and include AEO too. Those prices cover the wider software package, and not an AEO surcharge.</p><p>Now, if you’re just on the AEO plan and want more credits, it costs $20 a month for another 10 prompts and 1,000 monthly answers. A standalone account tracking 45 prompts therefore costs $90 a month on monthly billing. Not to forget, tracking another brand requires a separate AEO instance.</p><p>Content generation has a separate cost too. Generating a piece from an AEO recommendation requires Marketing Hub Professional or Enterprise and uses 1,000 HubSpot Credits. Standard Professional plans include 3,000 monthly credits, while Enterprise includes 5,000. Extra credits cost $10 per 1,000, and unused monthly credits expire. <a href="https://www.techradar.com/reviews/hubspot-crm-review" target="_blank" rel="nofollow">CRM-based</a> prompt suggestions also require Marketing Hub Professional or Enterprise.</p><p>There’s one pricing wrinkle, though. Accounts enrolled in HubSpot’s flexible seats-and-credits program have separate terms, including two credits per AEO answer. That is a different model from the standard prompt allowances above. So, do check which model your account uses before budgeting.</p><h2 class="article-body__section" id="section-hubspot-aeo-setup"><span>HubSpot AEO: Setup</span></h2><p>I signed up with my email and answered a question about my role. From there, HubSpot took me through the AEO setup one step at a time.</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:1999px;"><p class="vanilla-image-block" style="padding-top:41.32%;"><img id="7nPaCFBsQP4vXbhUjM3ef7" name="hubspot-aeo-setup-role" alt="hubspot aeo setup role" src="https://cdn.mos.cms.futurecdn.net/7nPaCFBsQP4vXbhUjM3ef7-1920-80.png" mos="" align="middle" fullscreen="" width="1999" height="826" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: HubSpot)</span></figcaption></figure><p>Next, I entered TechRadar’s name and <a href="https://www.techradar.com/reviews/hubspot-website-builder" target="_blank" rel="nofollow">website</a> address. That led to the competitor and audience settings, where I could narrow down what I wanted to track.</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:1999px;"><p class="vanilla-image-block" style="padding-top:56.38%;"><img id="oPCKbgBezuUmPraYezcYDS" name="hubspot-aeo-setup-website-competitors" alt="hubspot aeo setup website competitors" src="https://cdn.mos.cms.futurecdn.net/oPCKbgBezuUmPraYezcYDS-1920-80.png" mos="" align="middle" fullscreen="" width="1999" height="1127" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: HubSpot)</span></figcaption></figure><p>I reviewed the suggested competitors and chose TechRadar Streaming, focusing on deal-seeking shoppers in the United States. I wasn’t convinced by every competitor suggestion, though. Some were publishing companies rather than the review sites readers might compare.</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:1999px;"><p class="vanilla-image-block" style="padding-top:56.88%;"><img id="x8DZfK5ynsUZgV9XTenAum" name="hubspot-aeo-suggested-competitors" alt="hubspot aeo suggested competitors" src="https://cdn.mos.cms.futurecdn.net/x8DZfK5ynsUZgV9XTenAum-1920-80.png" mos="" align="middle" fullscreen="" width="1999" height="1137" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: HubSpot)</span></figcaption></figure><p>HubSpot used those choices to suggest questions to track. I could edit or remove prompts before continuing. Several asked much the same thing, so I found the suggestions useful for getting started, but too narrow to cover different reader needs on their own.</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:1999px;"><p class="vanilla-image-block" style="padding-top:56.78%;"><img id="adk69gJdTxbiex5EkkoST7" name="hubspot-aeo-suggested-prompts" alt="hubspot aeo suggested prompts" src="https://cdn.mos.cms.futurecdn.net/adk69gJdTxbiex5EkkoST7-1920-80.png" mos="" align="middle" fullscreen="" width="1999" height="1135" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: HubSpot)</span></figcaption></figure><p>I then started the checks and followed HubSpot’s progress as it worked through the prompts. From there, I could open the dashboard and start exploring the answers, brand mentions and cited sources.</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:1999px;"><p class="vanilla-image-block" style="padding-top:61.58%;"><img id="kR3GcEG7foW2ngwGbY5iLF" name="hubspot-aeo-tracking-progress-dashboard" alt="hubspot aeo tracking progress dashboard" src="https://cdn.mos.cms.futurecdn.net/kR3GcEG7foW2ngwGbY5iLF-1920-80.png" mos="" align="middle" fullscreen="" width="1999" height="1231" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: HubSpot)</span></figcaption></figure><h2 class="article-body__section" id="section-hubspot-aeo-features-and-specs"><span>HubSpot AEO: Features and specs</span></h2><h3 id="prompt-tracking">Prompt tracking</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:1999px;"><p class="vanilla-image-block" style="padding-top:55.78%;"><img id="HdPTQwAiMDqLCfBuTZW9SR" name="hubspot-aeo-prompt-tracking-answers-panel" alt="hubspot aeo prompt tracking answers panel" src="https://cdn.mos.cms.futurecdn.net/HdPTQwAiMDqLCfBuTZW9SR-1920-80.png" mos="" align="middle" fullscreen="" width="1999" height="1115" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: HubSpot)</span></figcaption></figure><p>The panel also separates Answers, Prompt Analysis and Recommendations. I like that structure because a weak score has somewhere to lead like you can inspect the answer, compare the sources, then consider a change. These are repeatable checks of chosen questions, not a log of what every buyer asks.</p><h3 id="brand-visibility-and-competitor-analysis">Brand visibility and competitor analysis</h3><p>The earlier dashboard screenshot showed 6.67% brand visibility while the account held 10 prompts. Its date range ran from October 27 to October 27, with a single point on the trend chart. That was a baseline, not enough history to judge progress.</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:1999px;"><p class="vanilla-image-block" style="padding-top:56.68%;"><img id="VDBKzfELs9jbnWUcZM8adc" name="hubspot-aeo-brand-visibility-score" alt="hubspot-aeo-brand-visibility-score" src="https://cdn.mos.cms.futurecdn.net/VDBKzfELs9jbnWUcZM8adc-1920-80.png" mos="" align="middle" fullscreen="" width="1999" height="1133" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: HubSpot)</span></figcaption></figure><p>The broader review-site question above comes from the later 11-prompt view. Comparing that single question with the earlier average would be misleading. The contrast shows how much the choice of questions matters, not that visibility suddenly improved.</p><p>Visibility measures how often the brand appears in the tracked answers. Share of voice compares its mentions with the selected competitors. Filters for engine, product, audience and buying stage help explain where a gap sits. And, Sentiment adds context about how the brand is described, rather than just whether it appears.</p><p>For TechRadar, I also need to separate being named as a recommended review site from having a guide cited in an answer. Both can be useful, but a mention score alone doesn’t capture that difference.</p><h3 id="citation-analysis">Citation analysis</h3><p>This is the report I find most useful for planning content. A mention tells me the brand appeared. Citation analysis shows the pages and domains used as sources, including sources owned by other businesses.</p><p>My Citations screen splits the results by content type and channel. The first view concerns formats, such as blogs, comparisons, and documentation. The second concerns where the material comes from, with categories including owned, earned, peer, review-site, and user-generated sources.</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:1999px;"><p class="vanilla-image-block" style="padding-top:55.43%;"><img id="QN7d22AKwS2Yums7GM2rWm" name="hubspot-aeo-citation-analysis-channels" alt="hubspot aeo citation analysis channels" src="https://cdn.mos.cms.futurecdn.net/QN7d22AKwS2Yums7GM2rWm-1920-80.png" mos="" align="middle" fullscreen="" width="1999" height="1108" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: HubSpot)</span></figcaption></figure><p>Earned and review-site sources occupied large parts of my channel chart, while owned content had a thin slice. I read that as a reason to inspect outside sources before assuming another page on our own site is the answer. These are sources across the tracked prompts, though. They don’t all necessarily mention TechRadar.</p><p>The wider report lets you inspect top domains and individual URLs, and compare owned-domain citations with citations whose source pages mention your brand. That helps distinguish if you should improve your own pages or earn coverage elsewhere. Neither count proves that someone clicked through or bought anything.</p><h3 id="content-recommendations">Content recommendations</h3><p>HubSpot uses the prompts and cited sources to suggest workarounds for owned content, social amplification, and outreach. Each recommendation has a content type, channel, and priority. Opening it adds a suggested title, summary, audience, and keywords, with the prompts and citations behind the idea.</p><p>Suppose a tracked question keeps citing third-party comparisons. Here, updating a relevant comparison page or seeking inclusion in one could be more useful than publishing another broad guide. This is exactly where the source list helps make that choice.</p><p>The recommendation can then be marked complete. I see this as a useful brief for a writer or outreach lead, rather than a finished strategy. Someone still needs to check the cited pages, decide whether the suggestion fits the business, and do the work. </p><h3 id="content-generation-and-impact-tracking">Content generation and impact tracking</h3><p>For eligible Marketing Hub accounts, the Generate asset feature takes an owned-content or social recommendation into Content Agent. It uses the brief alongside brand voice, audience information, and cited pages. The draft appears in the recommendation’s Content tab, ready to open in the relevant editor.</p><p>I like the direct handoff because the source research and writing brief stay connected. It still needs an editor. That’s because a draft can follow a useful outline and still remain thin on facts, examples, or a reason to choose that business.</p><p>After publication, the Impact tab accepts the page URL and tracks whether it earns citations for the target prompts. This gives the recommendation a follow-up check instead of ending at “published”. It doesn’t prove that the tool caused an increase, and it isn’t sales attribution. </p><h2 class="article-body__section" id="section-is-hubspot-aeo-worth-it"><span>Is HubSpot AEO worth it?</span></h2><p>I recommend starting with the trial for one clear product, audience, and set of questions. My setup exposed the main risk early: a tidy dashboard can still rest on repetitive prompts and a questionable competitor list. Fix those inputs before spending time on the score.</p><p>For a small team, the standalone plan is a reasonable way to replace repeated manual checks and find useful source pages. Existing Marketing Hub Professional and Enterprise users get more value from the connected content tools. That’s why I don’t see a case for buying the wider suite solely for AEO.</p><p>The buying decision comes down to what the reports change. Find a worthwhile page to improve, a source to approach, or a buyer question you’ve missed. Without that next step, more daily data won’t earn its monthly fee.</p><h2 class="article-body__section" id="section-faqs"><span>FAQs</span></h2><section class="article__schema-question"><h3>What is HubSpot AEO tool?</h3><article class="article__schema-answer"><p>HubSpot AEO is an answer engine optimization tool that tracks how your brand appears in answers from different AI tools. It monitors selected questions, compares brand mentions with competitors, and shows which pages get cited. It also suggests content updates and outreach opportunities based on those findings.</p></article></section><section class="article__schema-question"><h3>Is HubSpot AEO free?</h3><article class="article__schema-answer"><p>No, HubSpot AEO is not free, but it offers a 28-day free trial with 25 tracked prompts and no credit card required. Standalone access then costs $50 a month, or $45 a month billed annually. AEO is also included with paid Marketing Hub Professional and Enterprise plans. HubSpot’s free AI Search Grader is a separate snapshot tool.</p></article></section><section class="article__schema-question"><h3>Is AEO different from SEO?</h3><article class="article__schema-answer"><p>Yes, AEO differs from <a href="https://www.techradar.com/news/best-seo-tool">SEO</a> in its main goal, though the two overlap. SEO focuses on visibility in search results, whereas AEO focuses on getting your brand mentioned or your content cited in AI-generated answers. Both depend on helpful content and pages that search engines can access. I see AEO as an extension of SEO, not a reason to abandon it.<a href="https://ir.hubspot.com/news-releases/news-release-details/introducing-hubspot-aeo-answer-showing-ai-search-engines?utm_source=chatgpt.com"> </a></p></article></section><section class="article__schema-question"><h3>How to do AEO optimization?</h3><article class="article__schema-answer"><p>AEO optimization starts with checking how your brand appears in answers to questions your customers ask. I recommend reviewing the brands and sources cited, then improving pages that leave those questions unanswered. Make your content accessible to crawlers and seek relevant coverage on trusted websites. Track the same questions over time to see whether mentions and citations change.<a href="https://developers.google.com/search/docs/appearance/ai-features"> </a></p></article></section><section class="article__schema-question"><h3>How to write content for AEO?</h3><article class="article__schema-answer"><p>To write content for AEO, answer a specific question first, then add evidence, examples, and context. I keep each section focused on one topic, with clear headings and tables or lists where they help. Each passage should make sense on its own. Original research, expert insights, and useful FAQs give the page more substance than a rewrite of existing advice.</p></article></section> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/pro/hubspot-aeo-review</link>
                                                                            <description>
                            <![CDATA[ Useful AI search reports, provided you ask the right questions first. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">t8XqB26x2n2ycAE8EXQFPQ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/baFXKdRkW32sCmdq6up9iA-1920-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Fri, 30 Oct 2026 11:00:19 +0000</pubDate>                                                                                                                                <updated>Fri, 30 Oct 2026 11:02:11 +0000</updated>
                                                                                                                                            <category><![CDATA[Pro]]></category>
                                                                                                                    <dc:creator><![CDATA[ Pawan Singh ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/XUZuAnHW9CP5y7V2fjopxn-320-70.jpeg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Pawan Singh is a tech writer at TechRadar Pro, where he contributes fresh how-to guides, product reviews, and buying guides within the tech industry. Apart from his writing duties, Pawan offers editorial assistance across various projects, ensuring content clarity and impact. Outside the world of tech, he enjoys playing basketball and going on solo trips.&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/baFXKdRkW32sCmdq6up9iA-1920-80.png">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[hubspot aeo review ai generated hero image]]></media:description>                                                            <media:text><![CDATA[hubspot aeo review ai generated hero image]]></media:text>
                                <media:title type="plain"><![CDATA[hubspot aeo review ai generated hero image]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/baFXKdRkW32sCmdq6up9iA-1920-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I review tech for a living, so asking AI for the “best website for tech reviews” came with a small risk of bruised pride. Would TechRadar get a mention, or would the answer send readers straight to the competition? That was one of the questions I put to HubSpot AEO.</p><p><a href="https://www.techradar.com/reviews/hubspot-crm-review" target="_blank">HubSpot</a>’s answer engine optimization tool tracks selected questions across ChatGPT, Gemini and Perplexity. It shows which brands appear, which pages the answers cite, and suggests content work based on those findings. What interested me was being able to read the answers behind the score, then check the sources for myself.</p><p>I used the free trial to set up TechRadar and track 11 of the 25 available prompts. My hands-on review covers setup and reporting, with product demonstrations and documentation filling in the workflows I didn’t try. One day of results can’t prove long-term gains, but it gave me enough to judge whether the tool helps make sense of AI search or simply adds another chart to the working day.</p><h2 class="article-body__section" id="section-hubspot-aeo-plans-and-pricing"><span>HubSpot AEO: Plans and pricing</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:1999px;"><p class="vanilla-image-block" style="padding-top:66.58%;"><img id="DPn4XLDSKXWRXuMKUVBrfN" name="hubspot-aeo-pricing-plans" alt="hubspot aeo pricing plans" src="https://cdn.mos.cms.futurecdn.net/DPn4XLDSKXWRXuMKUVBrfN-1920-80.png" mos="" align="middle" fullscreen="" width="1999" height="1331" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: HubSpot)</span></figcaption></figure><p>The standalone price for using HubSpot’s <a href="https://www.techradar.com/pro/i-tested-the-7-best-aeo-tools" target="_blank">AEO tool</a> is $50 a month, or $45 a month billed annually, which comes to $540 a year before tax. You also get a 28-day free trial that requires no credit card; there’s no need to buy another paid HubSpot product first.</p><div ><table><tbody><tr><td class="firstcol " ><p><strong>Access</strong></p></td><td  ><p><strong>Starting price (USD)</strong></p></td><td  ><p><strong>Tracked prompts</strong></p></td><td  ><p><strong>Monthly answers</strong></p></td></tr><tr><td class="firstcol " ><p>AEO trial</p></td><td  ><p>Free for 28 days</p></td><td  ><p>25</p></td><td  ><p>2,500</p></td></tr><tr><td class="firstcol " ><p>Standalone AEO</p></td><td  ><p>$50 monthly or $540 yearly</p></td><td  ><p>25</p></td><td  ><p>2,500</p></td></tr><tr><td class="firstcol " ><p>Marketing Hub Professional</p></td><td  ><p>$800/month, paid annually</p></td><td  ><p>25</p></td><td  ><p>2,500</p></td></tr><tr><td class="firstcol " ><p>Marketing Hub Enterprise</p></td><td  ><p>$3,600/month</p></td><td  ><p>50</p></td><td  ><p>5,000</p></td></tr><tr><td class="firstcol " ><p>HubSpot for Marketers Professional</p></td><td  ><p>$900/month, paid annually</p></td><td  ><p>25</p></td><td  ><p>2,500</p></td></tr><tr><td class="firstcol " ><p>HubSpot for Marketers Enterprise</p></td><td  ><p>From $3,800/month</p></td><td  ><p>50</p></td><td  ><p>5,000</p></td></tr></tbody></table></div><p>The AEO features are also included in Marketing Hub Professional and Enterprise plans. And, the HubSpot for Marketers option bundles Marketing Hub with Content Hub and include AEO too. Those prices cover the wider software package, and not an AEO surcharge.</p><p>Now, if you’re just on the AEO plan and want more credits, it costs $20 a month for another 10 prompts and 1,000 monthly answers. A standalone account tracking 45 prompts therefore costs $90 a month on monthly billing. Not to forget, tracking another brand requires a separate AEO instance.</p><p>Content generation has a separate cost too. Generating a piece from an AEO recommendation requires Marketing Hub Professional or Enterprise and uses 1,000 HubSpot Credits. Standard Professional plans include 3,000 monthly credits, while Enterprise includes 5,000. Extra credits cost $10 per 1,000, and unused monthly credits expire. <a href="https://www.techradar.com/reviews/hubspot-crm-review" target="_blank" rel="nofollow">CRM-based</a> prompt suggestions also require Marketing Hub Professional or Enterprise.</p><p>There’s one pricing wrinkle, though. Accounts enrolled in HubSpot’s flexible seats-and-credits program have separate terms, including two credits per AEO answer. That is a different model from the standard prompt allowances above. So, do check which model your account uses before budgeting.</p><h2 class="article-body__section" id="section-hubspot-aeo-setup"><span>HubSpot AEO: Setup</span></h2><p>I signed up with my email and answered a question about my role. From there, HubSpot took me through the AEO setup one step at a time.</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:1999px;"><p class="vanilla-image-block" style="padding-top:41.32%;"><img id="7nPaCFBsQP4vXbhUjM3ef7" name="hubspot-aeo-setup-role" alt="hubspot aeo setup role" src="https://cdn.mos.cms.futurecdn.net/7nPaCFBsQP4vXbhUjM3ef7-1920-80.png" mos="" align="middle" fullscreen="" width="1999" height="826" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: HubSpot)</span></figcaption></figure><p>Next, I entered TechRadar’s name and <a href="https://www.techradar.com/reviews/hubspot-website-builder" target="_blank" rel="nofollow">website</a> address. That led to the competitor and audience settings, where I could narrow down what I wanted to track.</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:1999px;"><p class="vanilla-image-block" style="padding-top:56.38%;"><img id="oPCKbgBezuUmPraYezcYDS" name="hubspot-aeo-setup-website-competitors" alt="hubspot aeo setup website competitors" src="https://cdn.mos.cms.futurecdn.net/oPCKbgBezuUmPraYezcYDS-1920-80.png" mos="" align="middle" fullscreen="" width="1999" height="1127" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: HubSpot)</span></figcaption></figure><p>I reviewed the suggested competitors and chose TechRadar Streaming, focusing on deal-seeking shoppers in the United States. I wasn’t convinced by every competitor suggestion, though. Some were publishing companies rather than the review sites readers might compare.</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:1999px;"><p class="vanilla-image-block" style="padding-top:56.88%;"><img id="x8DZfK5ynsUZgV9XTenAum" name="hubspot-aeo-suggested-competitors" alt="hubspot aeo suggested competitors" src="https://cdn.mos.cms.futurecdn.net/x8DZfK5ynsUZgV9XTenAum-1920-80.png" mos="" align="middle" fullscreen="" width="1999" height="1137" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: HubSpot)</span></figcaption></figure><p>HubSpot used those choices to suggest questions to track. I could edit or remove prompts before continuing. Several asked much the same thing, so I found the suggestions useful for getting started, but too narrow to cover different reader needs on their own.</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:1999px;"><p class="vanilla-image-block" style="padding-top:56.78%;"><img id="adk69gJdTxbiex5EkkoST7" name="hubspot-aeo-suggested-prompts" alt="hubspot aeo suggested prompts" src="https://cdn.mos.cms.futurecdn.net/adk69gJdTxbiex5EkkoST7-1920-80.png" mos="" align="middle" fullscreen="" width="1999" height="1135" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: HubSpot)</span></figcaption></figure><p>I then started the checks and followed HubSpot’s progress as it worked through the prompts. From there, I could open the dashboard and start exploring the answers, brand mentions and cited sources.</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:1999px;"><p class="vanilla-image-block" style="padding-top:61.58%;"><img id="kR3GcEG7foW2ngwGbY5iLF" name="hubspot-aeo-tracking-progress-dashboard" alt="hubspot aeo tracking progress dashboard" src="https://cdn.mos.cms.futurecdn.net/kR3GcEG7foW2ngwGbY5iLF-1920-80.png" mos="" align="middle" fullscreen="" width="1999" height="1231" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: HubSpot)</span></figcaption></figure><h2 class="article-body__section" id="section-hubspot-aeo-features-and-specs"><span>HubSpot AEO: Features and specs</span></h2><h3 id="prompt-tracking">Prompt tracking</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:1999px;"><p class="vanilla-image-block" style="padding-top:55.78%;"><img id="HdPTQwAiMDqLCfBuTZW9SR" name="hubspot-aeo-prompt-tracking-answers-panel" alt="hubspot aeo prompt tracking answers panel" src="https://cdn.mos.cms.futurecdn.net/HdPTQwAiMDqLCfBuTZW9SR-1920-80.png" mos="" align="middle" fullscreen="" width="1999" height="1115" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: HubSpot)</span></figcaption></figure><p>The panel also separates Answers, Prompt Analysis and Recommendations. I like that structure because a weak score has somewhere to lead like you can inspect the answer, compare the sources, then consider a change. These are repeatable checks of chosen questions, not a log of what every buyer asks.</p><h3 id="brand-visibility-and-competitor-analysis">Brand visibility and competitor analysis</h3><p>The earlier dashboard screenshot showed 6.67% brand visibility while the account held 10 prompts. Its date range ran from October 27 to October 27, with a single point on the trend chart. That was a baseline, not enough history to judge progress.</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:1999px;"><p class="vanilla-image-block" style="padding-top:56.68%;"><img id="VDBKzfELs9jbnWUcZM8adc" name="hubspot-aeo-brand-visibility-score" alt="hubspot-aeo-brand-visibility-score" src="https://cdn.mos.cms.futurecdn.net/VDBKzfELs9jbnWUcZM8adc-1920-80.png" mos="" align="middle" fullscreen="" width="1999" height="1133" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: HubSpot)</span></figcaption></figure><p>The broader review-site question above comes from the later 11-prompt view. Comparing that single question with the earlier average would be misleading. The contrast shows how much the choice of questions matters, not that visibility suddenly improved.</p><p>Visibility measures how often the brand appears in the tracked answers. Share of voice compares its mentions with the selected competitors. Filters for engine, product, audience and buying stage help explain where a gap sits. And, Sentiment adds context about how the brand is described, rather than just whether it appears.</p><p>For TechRadar, I also need to separate being named as a recommended review site from having a guide cited in an answer. Both can be useful, but a mention score alone doesn’t capture that difference.</p><h3 id="citation-analysis">Citation analysis</h3><p>This is the report I find most useful for planning content. A mention tells me the brand appeared. Citation analysis shows the pages and domains used as sources, including sources owned by other businesses.</p><p>My Citations screen splits the results by content type and channel. The first view concerns formats, such as blogs, comparisons, and documentation. The second concerns where the material comes from, with categories including owned, earned, peer, review-site, and user-generated sources.</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:1999px;"><p class="vanilla-image-block" style="padding-top:55.43%;"><img id="QN7d22AKwS2Yums7GM2rWm" name="hubspot-aeo-citation-analysis-channels" alt="hubspot aeo citation analysis channels" src="https://cdn.mos.cms.futurecdn.net/QN7d22AKwS2Yums7GM2rWm-1920-80.png" mos="" align="middle" fullscreen="" width="1999" height="1108" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: HubSpot)</span></figcaption></figure><p>Earned and review-site sources occupied large parts of my channel chart, while owned content had a thin slice. I read that as a reason to inspect outside sources before assuming another page on our own site is the answer. These are sources across the tracked prompts, though. They don’t all necessarily mention TechRadar.</p><p>The wider report lets you inspect top domains and individual URLs, and compare owned-domain citations with citations whose source pages mention your brand. That helps distinguish if you should improve your own pages or earn coverage elsewhere. Neither count proves that someone clicked through or bought anything.</p><h3 id="content-recommendations">Content recommendations</h3><p>HubSpot uses the prompts and cited sources to suggest workarounds for owned content, social amplification, and outreach. Each recommendation has a content type, channel, and priority. Opening it adds a suggested title, summary, audience, and keywords, with the prompts and citations behind the idea.</p><p>Suppose a tracked question keeps citing third-party comparisons. Here, updating a relevant comparison page or seeking inclusion in one could be more useful than publishing another broad guide. This is exactly where the source list helps make that choice.</p><p>The recommendation can then be marked complete. I see this as a useful brief for a writer or outreach lead, rather than a finished strategy. Someone still needs to check the cited pages, decide whether the suggestion fits the business, and do the work. </p><h3 id="content-generation-and-impact-tracking">Content generation and impact tracking</h3><p>For eligible Marketing Hub accounts, the Generate asset feature takes an owned-content or social recommendation into Content Agent. It uses the brief alongside brand voice, audience information, and cited pages. The draft appears in the recommendation’s Content tab, ready to open in the relevant editor.</p><p>I like the direct handoff because the source research and writing brief stay connected. It still needs an editor. That’s because a draft can follow a useful outline and still remain thin on facts, examples, or a reason to choose that business.</p><p>After publication, the Impact tab accepts the page URL and tracks whether it earns citations for the target prompts. This gives the recommendation a follow-up check instead of ending at “published”. It doesn’t prove that the tool caused an increase, and it isn’t sales attribution. </p><h2 class="article-body__section" id="section-is-hubspot-aeo-worth-it"><span>Is HubSpot AEO worth it?</span></h2><p>I recommend starting with the trial for one clear product, audience, and set of questions. My setup exposed the main risk early: a tidy dashboard can still rest on repetitive prompts and a questionable competitor list. Fix those inputs before spending time on the score.</p><p>For a small team, the standalone plan is a reasonable way to replace repeated manual checks and find useful source pages. Existing Marketing Hub Professional and Enterprise users get more value from the connected content tools. That’s why I don’t see a case for buying the wider suite solely for AEO.</p><p>The buying decision comes down to what the reports change. Find a worthwhile page to improve, a source to approach, or a buyer question you’ve missed. Without that next step, more daily data won’t earn its monthly fee.</p><h2 class="article-body__section" id="section-faqs"><span>FAQs</span></h2><section class="article__schema-question"><h3>What is HubSpot AEO tool?</h3><article class="article__schema-answer"><p>HubSpot AEO is an answer engine optimization tool that tracks how your brand appears in answers from different AI tools. It monitors selected questions, compares brand mentions with competitors, and shows which pages get cited. It also suggests content updates and outreach opportunities based on those findings.</p></article></section><section class="article__schema-question"><h3>Is HubSpot AEO free?</h3><article class="article__schema-answer"><p>No, HubSpot AEO is not free, but it offers a 28-day free trial with 25 tracked prompts and no credit card required. Standalone access then costs $50 a month, or $45 a month billed annually. AEO is also included with paid Marketing Hub Professional and Enterprise plans. HubSpot’s free AI Search Grader is a separate snapshot tool.</p></article></section><section class="article__schema-question"><h3>Is AEO different from SEO?</h3><article class="article__schema-answer"><p>Yes, AEO differs from <a href="https://www.techradar.com/news/best-seo-tool">SEO</a> in its main goal, though the two overlap. SEO focuses on visibility in search results, whereas AEO focuses on getting your brand mentioned or your content cited in AI-generated answers. Both depend on helpful content and pages that search engines can access. I see AEO as an extension of SEO, not a reason to abandon it.<a href="https://ir.hubspot.com/news-releases/news-release-details/introducing-hubspot-aeo-answer-showing-ai-search-engines?utm_source=chatgpt.com"> </a></p></article></section><section class="article__schema-question"><h3>How to do AEO optimization?</h3><article class="article__schema-answer"><p>AEO optimization starts with checking how your brand appears in answers to questions your customers ask. I recommend reviewing the brands and sources cited, then improving pages that leave those questions unanswered. Make your content accessible to crawlers and seek relevant coverage on trusted websites. Track the same questions over time to see whether mentions and citations change.<a href="https://developers.google.com/search/docs/appearance/ai-features"> </a></p></article></section><section class="article__schema-question"><h3>How to write content for AEO?</h3><article class="article__schema-answer"><p>To write content for AEO, answer a specific question first, then add evidence, examples, and context. I keep each section focused on one topic, with clear headings and tables or lists where they help. Each passage should make sense on its own. Original research, expert insights, and useful FAQs give the page more substance than a rewrite of existing advice.</p></article></section>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
            </channel>
</rss>