The Shark PowerDetect Speed is a very capable cordless stick vacuum with a great auto empty base, but like other high-powered cordless vacuums a lack of battery life means it can’t replace a main vacuum.
It did a great job picking up fine dust and larger debris in our tests on carpet and hard floors, has good edge cleaning, and can easily be moved around the house making it an ideal occasional cleaner.
(Image credit: Future)It's a premium product from an established vacuum brand, but when compared with Dyson it's significantly more affordable, making it a good choice if you want top, reliable performance without the high price.
Battery life is a major concern though, as it didn’t last 11 minutes on the highest power setting and took over five hours to recharge the battery, limiting its practicality.
Shark PowerDetect Speed: price and availabilityThe PowerDetect Speed launched in the US and UK in April 2026 costing US$499.99 and £499.99 for the Clean & Empty version that comes with an auto empty charging dock (although it is worth noting the US version comes with an extra Pet Multi tool that the UK version doesn’t). At the time of writing, it's not available in Australia.
This places at the premium end of the scale for vacuums, although it is significantly cheaper than the Dyson Gen5 Detect models it is competing with making it feel very good value for money when comparing spec with spec.
The build quality is good, it feels capable of handling the rough and tumble of everyday cleaning and it has a good set of features you would expect of a top of the line vacuum including floor and dirt detection. The addition of a dock that empties and charges the vacuum is a godsend and real standout at this price point.
The PowerDetect Speed is also available without the auto empty dock for $429.99 or £429.99, which come with an extra upholstery tool in the US or pet tool in the UK.
Weight (body only)
1.6kg
Weight (with wand and main floorhead)
3.2kg
Bin size
16oz / 470ml
Dock bin size
2.1 quarts / 2 liters
Runtime in Min mode
54m 5s
Runtime in Max mode
10m 38s
Charge time
5h 19m
Size: body, wand & floorhead (unfolded)
43 x 10 x 16 inches / 110 x 26 x 41cm
Size: body, wand & floorhead (folded)
26 10 x 12 inches / 67 x 26 x 31cm
Size: body, wand & floorhead in dock
41 x 10 x 16 inches / 105 x 26 x 40cm
Size: body only
10 x 3 x 14 inches / 26cm x 8.5cm x 36cm
Max suction
150AW
Modes
Eco, Max, Variable
Shark PowerDetect Speed: designWhile a vacuum cleaner is very much a practical product rather than a statement piece it is nice for it to look at least smart in a subtle way if you do have to have it visible and Shark has done a decent job with the PowerDetect Speed. The grey and blue metallic finish feels mostly focused on blending into the background and any out-there accents have thankfully been limited to the orange roller in the floorhead.
The auto empty dock is also unfussy but does include one of my favorite features of this entire product in the shape of two small notches at the back of the dock for storing the included accessories. This is such a small thing, but after years of trying to find where in the house the kids have hidden the crevice tool this time, it is hugely appreciated.
FutureFutureFutureThe body of the vacuum is similar to the older PowerDetect model but it is slightly smaller, lighter and they have swapped the trigger button for a second button on the back of body. This is a definite improvement as it was easy to accidentally change modes with the trigger button, especially if vacuuming at different heights such as cleaning the stairs.
The PowerDetect Speed does lose 0.5kg on the previous version and comes in under Dyson’s Gen5 Detect by around 300g, but that said, this is still a bit of a chunky vacuum cleaner and may feel like a bit of a workout to push around for some, Rivals like the Dreame R20 weigh in almost a whole kilo lighter so if lightweight is top of your priority list it may be worth looking elsewhere.
FutureFutureFutureIt's controlled using two buttons on the back of the body, which also has a screen to show you what mode you are in, how much battery you have left and whether the vacuum is currently detecting dirt where you are cleaning. This is done through a color coded arc around the top of the screen with a dark purple color indicating it is picking up a lot of dirt which then progressively goes paler until it goes white indicating the floor is now clean.
I will go into more detail about the PowerDetect feature later but I do have a gripe about how this is presented. In the previous PowerDetect model this color-coding was also shown in lights at the back of the floorhead so you could see cleaning performance as you cleaned without taking your eyes off where you were moving the floorhead. With it only on the back of the body of the vacuum you now have to keep moving your eyes from one to the other which is definitely a step backwards.
FutureFutureFutureThe floorhead uses one roller with anti-wrap elements and a light that switches from regular white light on carpet to a blue UV light on hard floors for highlighting dirt. This works well although I’m not sure the UV light really provides a significant improvement over a regular light.
Depending where you are you will get different accessories with US customers getting a crevice tool and pet multi tool and those in the UK only getting a crevice tool, but the slightly better version that includes a sliding duster to it. The pet multi tool did OK at picking up cat hair, although no better than the regular floorhead and generally just caught them in the bristles rather than picking them up directly. Where it was most useful was as a wider cleaning path than the crevice tool when vacuuming a car.
It is straightforward to use with only the two buttons for one and off or to change mode — which unless you are trying to maximize battery runtime, you shouldn’t need. The attachments are easy to snap into place or detach using the large buttons and the whole vacuum can fold in half for storage away from the charging dock.
It maneuvers well and while it might not be quite as smooth as the Dyson equivalent or as light as some other rivals it is easy to steer around furniture. It also is able to bend the wand so you can run the cleaner under low furniture reaching hard to clean spots. This is a nice bonus and may be ideal for some homes but I personally didn’t find myself using it day to day.
I used coffee grounds to test the vacuum's edge cleaning on carpetFutureAfter one pass on low power mode, only a little remainedFutureA second pass on high power removed the remainderFutureEmptying the vacuum is one area where it really stands out, you simply pop it back on top of the charging dock when you are done — or more likely when it has run out of battery but more on that later — and the base sucks all the dust out into its own larger two-liter bin. This obviously will need emptying itself, but the shape (and the fact you will have to do it less often) makes it much easier to do this without making a mess.
The detect part of PowerDetect comes from the four ways it adjusts suction power to optimize cleaning by detecting the floor type, amount of dirt being sucked up, whether it is close to the edge of a room and what direction it is traveling. This means all you need to do is move the vacuum around and it will change its cleaning modes, with the dirt detection also letting you know whether certain sections are worth some more attention through the color coding display on the handle.
Rice and coffee grounds are two of our usual picks for testing vacuums on carpetFutureOne pass on low power removed all the rice and most of the coffee, though some debris was leftFutureA second pass on high power, and everything was goneFutureWhen I first used this dirt detection I was a bit skeptical that it was still picking up debris where it claimed it was but the dust bin would time and again prove me wrong. At first this felt like an amazing feature, but later when combined with the battery life, having to go back and forth over the same bits of floor made me start to wonder if ignorance was bliss.
In the cleaning tests the Speed struggled a bit in low suction mode with one pass leaving quite a bit of fine dust and larger debris on both carpet and hard floors. Moving it up to full suction did much better with it picking up almost all the fine dust on the hard floor and, aside from some scattering of the rice, most of the debris on the next pass.
I also tested the vacuum with rice and coffee on a hard floorFutureThe vacuum struggled somewhat on low powerFutureHigh power was much more effective, with only a few stray coffee grounds leftFutureEdge cleaning was a similar story at both low and high power, with it doing very well on high for hard floors. It still needed the crevice tool to get the finest material but it did as well as I have seen from a stick vacuum.
Hair pickup was also excellent handling long and pet hair well without any sign of tangling on the floorhead brush.
It’s not quiet but at around 70-75 dbs (somewhere between traffic and a busy restaurant) on maximum power it's not the loudest either. The auto empty base creates a similar level of noise as it flushes the dust from the cleaner, but this is a pretty quick process.
My sticking point with the PowerDetect Speed is the battery life as, when testing on full power, it only managed a paltry 10 minutes and 38 seconds. While the variable speed in dirt detect mode will allow you to get a bit more cleaning out of a charge, I often found it would last less than half an hour. Couple this with a recharge time of 5 hours and 19 minutes and it severely limits its practicality as a main vacuum for anything but a small apartment.
This is a common problem for high powered stick vacuums as they try to keep the weight of the batteries down, but it is one of the shortest run times and longest charge times I have tested making it a bit of a challenge even thoroughly vacuuming the car on a single charge.
While you can switch out the battery, I wasn’t able to find a way of buying a spare battery online with the cordless vacuum battery available through Shark’s website only compatible with older models. If one is made available expect this to come with a hefty price tag, the older model batteries cost an additional $87.99.
The answer is going to depend heavily on the size of your home and how you plan to use the cleaner. If this is going to be your only vacuum it’s barely going to get through a studio apartment before it needs a recharge. If you are looking for a convenient cleaner for spot cleaning it is superb both in terms of performance and ease of emptying, all while being a step cheaper than the Dyson equivalent.
Shark PowerDetect Speed: score cardAttribute
Notes
Score
Value
It’s not cheap but feature for feature it stacks up against some of the most expensive available and delivers top performance.
4/5
Design
Well built and unfussy, it definitely leans more towards substance than style but that’s exactly what I look for in a vacuum.
4/5
Performance
Tackling fine dust and large debris equally well on hard floors and carpet, plus pretty good edge cleaning make it a top performer.
4.5/5
Battery life
Only tasting 10 and a half minutes on the highest setting and a long charge time hold it back from being a practical main vacuum.
3/5
Buy it ifSize matters
You want a portable vacuum for quick cleans when you don’t want to get out a big wired cleaner
You're on a budget
You want a Dyson but can’t bring yourself to pay those prices.
You want to keep things tidy
You hate the mess of emptying cordless vacuum cleaners, but love their light weight and convenience.
Don't buy it ifYou want to clean a house in one go
You need a main vacuum cleaner that can power through big cleans and tackle multiple rooms in a single session.
You struggle with heavy vacuums
This is one of the weightier vacuums we've tested.
How I tested the Shark PowerDetect SpeedI tested the PowerDetect Speed for over a week in day-to-day use as well as specific tests picking up fine dust (tea) and larger debris (rice) on hard floors, carpet and around room edges. Battery life was tested on the highest power setting and lowest, as well as checking the time it took to fully charge from empty.
I tested the Speed in different cleaning scenarios including vacuuming stairs, a car and a variety of floor types.
First reviewed May 2026
reMarkable’s new Paper Pure is the company’s cheapest and most accessible black-and-white handwriting tablet. Comparisons to the now-discontinued reMarkable 2 are inevitable. The Paper Pure is the reMarkable 3 — or perhaps the reMarkable 2.5 — in all but name.
Now, I absolutely adore my five-year-old reMarkable 2. I use it pretty much daily for work and play. So, I was a little dubious about this thrusting young upstart muscling in. A budget reMarkable with no frontlight, the same old 226ppi, and a plastic shell? In 2026? That’s something absolutely nobody was asking for. Unboxing the tablet, I prepared myself for disappointment.
Happily, I was wrong. The Paper Pure is a surprisingly good device, delivering a faultless writing and sketching experience that’s as close to using a pad and pen as you can get at this price point.
All reMarkable devices focus on stripping out any and all distractions. So, like its predecessors, the Paper Pure has no notifications, no apps, and no ads. Even the AI is restricted to converting handwriting into text. At a time when every other device you own is desperately trying to sway your attention, this is pure, beautiful minimalism.
It’s by no means the best digital notebook on the market. But it effortlessly lives up to the company’s distraction-free ethos. The monochrome display is easy on the eyes, and I found it lightweight and very comfortable to hold for extended periods.
The low latency means your writing appears almost instantly on the screen, as if ink really is dripping from the nib of the exceptional Marker Plus stylus. That’s especially true when using no-nonsense pen types like the fineliner and ballpoint pen, but even the stylish calligraphy pen only has a minor lag. Like its black-and-white predecessor, the battery also lasts for weeks on a single charge.
(Image credit: Future)Where it stumbles on the hardware front is the lack of those two core features that fans really wanted from this latest model: a frontlight and a 300ppi pixel density for improving the ereader experience. Bafflingly, both are absent here.
That probably won't put off most new users from getting the Paper Pure — and it really shouldn't, because beyond those omissions, the tablet's handwriting experience is superb. But the inclusion of one or the other might've sweetened the deal a little more.
As ever with reMarkable, though, the mostly excellent hardware is let down by the mixed bag on the software side. The handwriting-to-text conversion is still not perfect, requiring adjustments to your writing style to make it work. And locking key features and even templates behind a subscription paywall stings, considering the cost of the device.
If you already own a reMarkable 2, I can’t recommend the upgrade just yet. Sure, the Paper Pure is faster, with a better processor and double the memory (here you’re spoiled with a whole 2GB RAM). However, it’s otherwise largely the same experience. And for what it’s worth, I still prefer the softer writing of the older device compared to the firmer but smoother one found on the Paper Pro and Paper Pure series.
However, if the Paper Pure is your first foray into distraction-free note-taking, the price alone makes this the best place to start.
reMarkable Paper Pure: Price and availability(Image credit: Future)The Paper Pure is pitched as the most affordable of the reMarkable range, coming in at $359 / £359 / AU$629 for the tablet and standard Marker stylus.
You can also upgrade to the Paper Pure bundle for $399 / £399 / AU$699, which includes the tablet, colored sleeve, and the upgraded Marker Plus.
For what it’s worth, I’d always opt for the Marker Plus, which features an eraser at one end. It retains that pad-and-pencil feel, and being able to delete handwritten notes without tapping into the menu, selecting the Erase option, then manually lassoing the writing you want to remove is far better for flow.
Some notable corners have been cut to keep costs down. The Paper Pure isn’t as thin as the reMarkable 2; it’s got a plastic chassis rather than an aluminum one, a monochrome display unlike the color Paper Pro, and, disappointingly, there’s no frontlight here.
The upshot, however, is that this is one of the cheapest 10.3-inch handwriting tablets around. At under $400, it’s more or less in line with the Boox Go and Amazon’s base model Kindle Scribe (2024), although both of those tablets boast app support and 300ppi displays.
On top of the hardware costs, there’s the Connect subscription, which comes in at $3.99 / £3.99 / AU$6.99 a month. This unlocks a range of extras that some — particularly business users — will want, such as Slack and calendar integration, and AI summaries. You can see the full breakdown of Connect features by clicking here.
Without a Connect subscription, you can still convert handwriting to text, connect to third-party cloud storage services, and share your screen. So, for general users, I wouldn’t call it essential, especially if you’re ultra-focused on distraction-free writing and sketching. But you will be missing out on a lot of features.
While that subscription may sting considering the price of the Paper Pure, it’s still relatively cheap, and I can’t fault the hardware design at this price point. For my money, reMarkable still comes closest to reproducing that paper-like feel compared to competitors.
reMarkable Paper Pure pricingreMarkable Paper Pure
reMarkable Paper Pro Move
reMarkable Paper Pro
With Marker
$359 / £359 / AU$629
$449 / £399 / AU$779
$629 / £559 / AU$929
With Marker Plus
$399 / £399 / AU$699
$499 / £439 / AU$849
$679 / £599 / AU$999
reMarkable Connect
$3.99 / £3.99 / AU$6.99
The reMarkable Paper Pure uses the same dual-core processor found in the Paper Pro Move with 32GB LPDDR4 RAM, which makes overall performance feel snappy.
At 6mm thick, the Paper Pure is thicker than both the Paper Pro (5.1mm) and the ultra-thin reMarkable 2 (4.7mm). However, it weighs just 360g, making it far lighter — and noticeably so — than the reMarkable 2 (403.5g) and the weighty Paper Pro (525g).
reMarkable Paper Pure specsStarting price:
$359 / £359 / AU$629
Operating system (as tested):
reMarkable OS (Linux-based)
Chipset
1.7 GHz dual core Cortex-A55
Memory:
2GB LPDDR4 RAM
Storage:
32GB
Display:
10.3-inch monochrome Canvas, based on E Ink Carta 1300
Size:
228.1 x 187.1 x 6.0mm
Weight:
360g
Battery:
3,820mAh (rechargeable /replaceable)
Supported file formats:
PDF, EPUB (importing)
PDF, PNG, SVG (exporting)
Supported cloud services:
reMarkable, Google Drive, Microsoft Onedrive, Dropbox, Slack
reMarkable Paper Pure: display(Image credit: Future)The Paper Pure uses an E Ink display — it’s a really clever technology used by a lot of handwriting tablets and ereaders. Beneath the glass, there are millions of microcapsules that can turn black or white depending on whether they’re positively or negatively charged.
When you move the stylus — in my case, reMarkable’s Marker Plus — over the screen, the device tracks its position and sends a positive charge to those exact coordinates, pulling the negative black particles to the surface.
It’s the same principle that applies when you turn the page of an Amazon Kindle, with the system telling each microscopic ball whether to display in black or white. These microcapsules stay in that state until told otherwise, which is why the battery can last so long on these devices.
But we’re getting sidetracked here.
The result is a seamless writing experience. reMarkable says the latency between the stroke of the stylus and the words appearing on-screen is around 21 milliseconds. And while I’m not Superman and my eyes don’t operate at that speed, it feels about right.
To me, it feels pretty much instantaneous when using standard pen types like the ballpoint pen or fineliner. It’s about as close to using a pad and pen as you can get in digital form. When switching to a more stylized writing tool, such as the calligraphy pen or the pencil, I saw only a minor lag.
In terms of the feel of writing, there’s a clear distinction between the Paper Pure and its 10-inch predecessor.
Using the reMarkable 2 felt very soft, like using a thick pencil or felt tip on the first page of a new Moleskine notebook. The Paper Pro Move felt firmer but smoother, as if writing with a biro on the last few pages of a well-worn legal pad. And since the Paper Pure uses the same active stylus and textured glass cover lens display as the Pro and Pro Move, reMarkable's newest tablet falls into the latter camp.
Personally, I loved the tactile feedback of the reMarkable 2 — it’s still the best digital writing experience I’ve ever had — but after 10 minutes with the Paper Pure, I found myself enjoying this new writing style.
Saying that, there are three issues here. I wouldn’t call them deal-breakers, but it’s worth highlighting them.
There’s a clear tapping each time you lift and then lower the stylus to make your next mark on the page. It’s not especially loud — it won’t drive colleagues, friends, or the other customers at the cafe to distraction — but it is present.
And there were two big fan requests for the follow-up to the reMarkable 2: 300ppi, which is a better resolution for reading eBooks and PDF documents, and a frontlight. The reMarkable Paper Pure delivers on neither of these.
Now, for writing, I didn’t find the 226ppi to be an issue at all. Handwriting still looks sharp, the display is easy on the eyes, and the writing tools perfectly recreate the ink-on-paper style. But for reading documents, you will see a slight pixel blurring around the edges of words that’s noticeable if you’re coming from something like the Kindle Scribe.
For me, the lack of a frontlight is the biggest misstep. I can live with a lower pixel density, and I can accept the demise of the EMR stylus, but I think a frontlight is an absolute must these days. I get it — it’s all about keeping costs low — but the addition of lighting for day and night use would’ve made the Paper Pure a much more attractive proposition.
Perhaps the Paper Pure’s most significant shift from its predecessor and the Paper Pro line is the switch from a metal to a plastic casing. Having grown used to the hardy aluminum frame of the reMarkable 2, I was seriously skeptical about this change. But it really works.
The rear side of the Paper Pure is oh-so-lightly textured for better grip, and the tablet as a whole is more lightweight and portable, clocking in at a svelte 360g. Overall, it feels delightfully comfortable to hold with one hand or rest on your knee as you sketch and write.
Because of the switch to plastic, the Paper Pure also feels a lot more durable than its predecessor, which I tended to handle with kid gloves while on the move.
I mean, I wouldn’t drop it off the side of a ten-story apartment block and expect it to survive. It’s not a rugged tablet by any stretch of the imagination; it’s not even waterproof. But the Paper Pure certainly feels like it could take a few knocks in your rucksack or survive a violent commute — especially when slipped inside the reinforced sleeve.
Design-wise, you’re looking at a 10.3-inch tablet that’s identical in width to, but slightly shorter than, the reMarkable 2. The thick white bezel on the left is reminiscent of the original reMarkable 1.
Flipping over the Paper Pure, I found something very interesting: ten screws allowing access to the internals. Now, whether this is just a sop to EU regulations that mandate a right to repair or whether the reMarkable intends to provide replacement batteries in the future, I don’t know. But it might make the reMarkable Paper Pure a more viable investment for IT managers maintaining a fleet of devices if nothing else.
At the top of the device, there’s the power button, and at the bottom, a USB-C port for charging. And that’s your lot. Talk about distraction-free. The Paper Pure has everything it needs and nothing it doesn’t.
(Image credit: Future)The Marker magnetically attaches to the right side of the tablet, where it’s charged. It feels good in the hand, and it's not too heavy for prolonged writing sessions.
The replaceable nibs are estimated to last about a month or two if you don’t press down too hard, and that feels about right. For what it’s worth, the one on my reMarkable Paper Pro Move lasts about that long, and they very visibly wear down at a slower rate than the reMarkable 2 pen tips.
As I’ve mentioned before, the Marker and Marker Plus are the same active styluses used by the Paper Pro range. These are proprietary tech, so don’t lose them, because they're a lot more expensive to replace than the cheaper third-party EMR stylus that worked with the reMarkable 2.
On that note, I liked the Paper Pure's new polymerweave sleeve folio — there are three available, in mist green, desert pink, and ocean blue. This flips open on one side and is vastly superior to the original reMarkable book folio, since it actually protects both tablet and stylus. Slot the device inside, and it'll automatically go to sleep, which is a nice touch for conserving battery.
You can tell a lot of love has gone into the Paper Pure's hardware. I’m not sure the same can be said for its software. Sure, it's functional, and it does more than you might think, but it’s nothing to (digitally) write home about.
reMarkable has always been a bit spotty when it comes to the software side of things. We tend to get marginal updates, tinkering here and there, the inclusion of this or that integration, but nothing ground-breaking. And maybe that’s fine. Maybe we just expect too much.
Still, the brand is getting better every time, adding extras like a very useful handwriting search function, the ability to draw freehand shapes, and the ability to add text blocks to notebooks, typed via the on-screen keyboard (sadly, there’s no support for an external keyboard right now). I especially enjoyed using the screen share feature, which I found works very well, letting you present or write on pages pretty much in real-time.
For absolute basics, you’re looking at a broad selection of templates like ruled paper, gridlines, and even music sheets, with more available to Connect subscribers via reMarkable Methods. I’m still not convinced templates like daily planners and calendars need to be locked behind a subscription — especially considering the price of the device — but there you go. Put up or shut up.
You can also integrate the tablet with Slack, Microsoft’s OneDrive and Outlook, Google Calendar and Google Drive, and Dropbox. While you can integrate with all the cloud services, you can only add a single calendar integration.
As I use a restrictive work account on Slack, I couldn’t test that particular feature. However, OneDrive and Google Drive both synced quickly, importing and exporting files to and from the tablet as PDFs without delay.
While the Paper Pure’s display may be monochrome, I chose different colored highlighters for annotating the PDF documents. And I was pleased to see they all rendered clearly and correctly when I picked up the file from Google Drive.
One point of interest is that reMarkable requires access to see, edit, create, and delete all of your Google Drive files, rather than at a folder level. This, I really hate, and I recommend doing what I’ve done: create a reMarkable-only Gmail account instead of using your main one. It’s probably fine, but why take the risk?
FutureFutureHandwriting conversion is probably the big software highlight, transforming handwritten notes into usable text you can paste into a word processor. This is, effectively, optical character recognition in the cloud. And it’s one of the main reasons I originally bought a reMarkable. The results are... ok. With some caveats.
Firstly, you can’t just write any old squiggles that only you understand and pray the AI knows what you’re getting at (as I learned with my own spidery, illegible scrawl). If you’re anything like me, when I’m in the writing flow and my brain is working faster than my hand, you’re going to run into problems.
Secondly, I found the best results came when using the fineliner or ballpoint pen. Here, the translation was flawless, albeit oddly formatted. When I switched to the calligraphy pen, the Optical Character Recognition (OCR) struggled to make sense of the words even when I wrote ultra-neatly in all-caps.
Finally, if you’re making a list, you’ll absolutely need to add a dash before the word, otherwise the tool just lumps it all into a single line.
It’s a so-so experience that does the job if you take the time to work with the OCR tool, but it could be so much better.
Responsive is how I’d describe the reMarkable Paper Pure. Starting the device from sleep, opening notebooks, scrolling menus, pinching and zooming, swiping through documents — it all feels fast and smooth. There’s none of the lag that dogged the older reMarkable 2.
There’s also no delay when writing on the screen, which is the real high point. There’s a genuine fluidity to the Paper Pure that I appreciated, making the experience practically faultless on that score.
There’s a welcome snappiness to using this tablet. I know speed isn’t the main priority with a device like this — it’s all about how well it digitizes handwritten notes. But, for me, the performance of the Paper Pure is the killer reason anyone would want to upgrade from the reMarkable 2.
To help you visualize the difference between the two models, I compared the scrolling speed of the reMarkable Paper Pure (right) and the reMarkable 2 (left) in the video below.
The reMarkable Paper Pure has a built-in 3,820mAh battery. The company says it lasts up to three weeks, depending on your use. Based on my testing, that seems accurate.
I’ve been using the Paper Pure daily for hours at a time over the last couple of weeks without needing a recharge. The only reason I plugged it in during that time was out of caution, not necessity.
For comparison, the reMarkable 2 boasted a 3,000mAh battery, and I typically squeeze about three weeks out of that device already. The Paper Pro has a 5,030mAh battery but uses color E Ink and a frontlight, which drains faster than the black-and-white tablets, lasting about two weeks.
Likewise, the battery inside the Marker Plus lasts a long time. Charging is quick — you do so by attaching it to the side of the tablet — but I don’t recall it ever dropping below half during my entire review process, and you’ll see a battery meter briefly pop up each time you clip it to the side.
Attribute
Notes
Score
Value
The cheapest reMarkable yet. It may lack a frontlight, but for the price, it’s a top entry-level handwriting tablet.
★★★★☆
Display
The monochrome display is perfectly sized and textured to recreate the feel of writing with a pad and pen. I found it very easy on the eyes when used indoors and outdoors.
★★★★☆
Design
The lightweight tablet is delightfully comfortable to hold for extended periods of time. It feels like it has a surprising amount of durability, too.
★★★★★
Software
It’s simple, has plenty of integrations and features (some subscriber-only). But what should be the highlight — converting handwriting to text — needs work to get accurate results.
★★★☆☆
Performance
Superb performance that’s fast and fluid, whether navigating menus or writing on the screen. There’s no discernible lag.
★★★★★
Battery
The tablet has exceptional battery life — expect it to last weeks on a single charge. The same can be said for the stylus, which rapidly charges when attached to the device.
★★★★★
Buy it if...You're a born writer or sketcher
The Paper Pure is a pitch-perfect portable device for authors, architects, UI designers, and anyone else who needs to sketch or write at work. It perfectly recreates that pad-and-pen feel.
You’re a student
For the price, the Paper Pure is arguably the best handwriting tablet around. It feels durable enough to survive days on campus, and lets you focus on your work without being distracted by apps.
You actually like distractions, thank you very much
If you want a standard tablet with all the bells, whistles, and essential apps with the added bonus of writing or drawing with a stylus, you’re better off with an Apple or Samsung device.
You’re an avid ebook reader
While I didn’t have any problems using the Paper Pure to read documents, the pixel density is lower than I’d recommend for a true ereader, and it doesn’t support buying Kindle books anyway.
reMarkable Paper Pro
It’s got a larger screen, a bigger battery, and displays in color. If the Paper Pure feels too basic for your needs, this is the true upgrade device from the same stock.
Read our full reMarkable Paper Pro review
Kindle Scribe (2024)
You could go for the newer 2025 model, which excels as an ereader. But if you’re focused on writing, I find the 2024 edition of the Kindle Scribe has a superior feel and is similarly priced to the Paper Pure.
Read our full Kindle Scribe (2024) review
reMarkable Paper Pure
reMarkable Paper Pro
Amazon Kindle Scribe (2024)
Price:
$359 / £359 / AU$629
$629 / £559 / AU$929
$399.99 / £379.99 / AU$649
Price for premium edition:
$399 / £399 / AU$699 (Marker Plus)
$449 / £429 / AU$749 (Marker Plus)
$449.99 / $429.99 / AU$729 (64GB, Premium Pen)
Display:
10.3-inch, monochrome Canvas display, based on E Ink Carta 1300
11.8-inch Canvas Color, based on E Ink Gallery 3
10.2-inch E Ink Carta 1200
Supported files:
PDF, EPUB (importing) | PDF, PNG, SVG (exporting)
PDF, ePub
PDF, unprotected MOBI, PRC natively; PDF, DOCX, DOC, HTML, EPUB, TXT, RTF, AAX (Audible audio format)
Storage:
32GB
64GB
16GB
How I tested the reMarkable Paper Pure(Image credit: Future)Why you can trust TechRadar☑️ 100s of tablets and e-readers reviewed
☑️ 15 years of product testing
☑️ Over 16,000 products reviewed in total
☑️ Nearly 200,000 hours testing tech
I tested the reMarkable Paper Pure for two full weeks, using it daily to make notes for work, then in the evenings, I was doodling and writing that novel I always promise myself I’ll definitely finish.
Basically, I replaced my beloved reMarkable 2 and Paper Pro Move solely with the Paper Pure during this review period.
Once I connected the device to my existing reMarkable account, I could check how quickly documents synced between the different tablets, as well as the cloud integrations. I spent time loading various PDFs onto the Paper Pure, annotating and highlighting them before importing and exporting the files across supported services.
Next, I tested the writing experience using all available pen types — officially called Writing Tools — to explore the latency differences between them. After this, I began examining other software features, such as different templates. More time than I’d like to admit was spent with the AI handwriting conversion tool here, with me attempting to see how to get the best results.
Finally, I compared the speeds of the three reMarkable tablets to gauge overall performance, from navigating menus to writing on-screen, with a stylus in each hand.
Throughout the review process, the Paper Pure was slipped inside the misty green sleeve folio for protection when not in use.
Read more about how we test
I never thought I'd find a Tatiana Maslany role I enjoyed as much as Orphan Black, yet here we are. Maximum Pleasure Guaranteed is Apple TV's latest thriller, following on from recent huge releases like Margo's Got Money Troubles and Widow's Bay, and it's another fantastic release from the streaming service.
Here, Maslany plays newly divorced mother Paula, who has been spending time with Trevor (Brandon Flynn), a camboy. Since Paula's ex-husband has main custody of their daughter, she spends lonely nights talking with him, which inevitably leads to more.
Unfortunately for Paula, her private life doesn't stay that way for very long. During a session with Trevor, a masked man bursts into his apartment and starts beating him up. Paula films the attack, only to be told it's "not a real crime" when she tries reporting it.
Things take a darker turn from this moment on when Trevor calls her, begging for a $50,000 ransom, otherwise he'll be killed. She can't pay this, of course, and is spooked when she gets a call from Trevor and an accomplice on her work number. Considering she never shared that information, it's clear she's in trouble, and Trevor demands the money; otherwise, he says he'll ruin her life.
Trevor also coldly reveals that he’ll publish their secretly recorded interactions and ruin Paula's chance at maintaining custody, a threat that's not to be taken lightly.
It's good old-fashioned blackmail, and that's the catalyst for the rest of the ten-part series. Paula must balance her complicated divorce from Karl (Jake Johnson) alongside the stress of being blackmailed, with plenty of twists along the way.
Maslany is perfectly cast as she works to keep her job, be a good mother to her daughter, while trying to unravel who is blackmailing her. Maximum Pleasure Guaranteed does center on how mothers, and women in general, can be so harshly judged by those around them to the point where evidence that Paula did connect with a camboy could ruin her life, just as the mysterious accomplice told her.
Maximum Pleasure Guaranteed is one of those shows I wish had been released all at once. It's moreish and binge-worthy, so waiting a week between episodes might feel annoying. Even if it doesn't always balance the tonal shifts from humor to seriously shocking moments, I was largely impressed by the twists and turns throughout; it did keep me guessing.
As Paula falls deeper into this rabbit hole, we meet a great supporting cast of the various people in her life. Nobody here feels miscast; everyone does a great job at bringing the totally wild story to life, even if it's Maslany that shines throughout.
There's enough to help it stand out among the abundance of thriller shows across the best streaming services, and it's well worth hanging on to your Apple TV subscription so you can enjoy a new episode each week.
It really does feel like we're spoiled for choice there at the moment, with many of my current favorite shows having a home on Apple TV.
Saily launched in 2024 under Nord Security, the company behind NordVPN, and it shows. Most eSIM providers are purely in the connectivity business: buy a plan, get data, done. Saily takes that baseline and adds a layer of security tools built directly into the service, including an ad blocker, web protection, and virtual location, none of which cost extra.
For travelers who already think about what happens to their data on public Wi-Fi in airports and hotels, that combination in a single app is worth paying attention to.
Plans start at $3.99 for 1GB in most destinations, and the coverage spans 200+ destinations through a mix of country, regional, and global plan types.
Saily: Plans and pricingInstead of pushing everyone toward expensive unlimited plans like Holafly often does, Saily lets you choose exactly how much data you need.
There are also regional and global plans if you are moving between countries, with options that can last up to a year for longer trips. The Global plan covers 121 destinations, while Saily’s full catalog stretches across 200+.
If you do go unlimited, there is one thing worth knowing. You get 5GB of high-speed data each day, and once you burn through that, speeds drop to 1 Mbps until the daily reset kicks in.
Region
Data Amount
Validity
Price
US
3 GB
30 days
$8.99
UK
3 GB
30 days
$8.99
UK
Unlimited
15 days
$71.99
Australia
3 GB
30 days
$7.99
Japan
3 GB
30 days
$6.99
India
20 GB
30 days
$38.99
China
3 GB
30 days
$9.99
Saily: FeaturesSaily is one of the few eSIMs that actually prioritizes security because it sits inside the Nord Security ecosystem. This matters if you are regularly on public Wi-Fi in airports, hotels, or cafes abroad, where network-level threats are easy to ignore right up until they are not.
Saily Ultra is built for people who already pay for NordVPN, fly often enough that airport lounges feel less like a luxury and more like a reasonable ask, and want their eSIM, security suite, and travel perks consolidated into one monthly line item.
At $59.99 a month, you get 30GB of high-speed data before speeds drop to unlimited at 1 Mbps. It also includes one airport lounge pass and one fast-track security pass each month, both of which roll over for up to three months if you do not use them.
If your flight is delayed by two hours or more, an extra lounge pass is automatically issued. On top of that, there is a $5 monthly Uber credit and access to the full Nord Security bundle, including NordVPN, NordPass, NordLocker, and Incogni.
I personally see the 8% cashback in Saily credits as a nice little bonus. It starts to feel genuinely useful once those credits add up from regularly buying plans.
Whether the full package is worth $59.99 really depends on what you are already paying for elsewhere. If something like NordVPN is already part of your monthly stack, the value starts making a lot more sense than it might at first glance.
Saily: Installation(Image credit: Saily)To install Saily, just download the app, pick a plan, and the eSIM installs in a few taps. The profile downloads over Wi-Fi and activates automatically when you land, which means you step off the plane connected without having to open the app or fiddle with settings at the airport.
Activation does require an active internet connection, so setting up before you leave is important. Saily makes this clear during onboarding, and the in-app guidance walks you through the process without needing to contact support.
Saily: PerformanceSaily partners with major local carriers, including AT&T, T-Mobile, Vodafone, and Orange across its network. You can expect 5G speeds where available, with actual performance depending on location and local infrastructure.
Coverage is going to depend a lot on where you are traveling. When I used Saily in Thailand last year, it connected to the True network and worked well even when I was outside Bangkok. Vietnam was a different story. Hanoi, in particular, has been a weaker spot, with airport connectivity sometimes struggling to get beyond 3G on Vietnamobile.
If you are traveling through Southeast Asia, it is worth checking which local network Saily partners with at your destination before you land.
Saily: Customer support(Image credit: Saily)Saily offers 24/7 live chat assistance directly through the app. If something goes wrong mid-trip, you are working through in-app chat rather than email, which is the right call for time-sensitive issues. Response times are fast, with connections to support agents typically happening within minutes.
The help resources inside the app cover the most common setup problems without needing to contact anyone. For issues that do require human support, the support generally does not give up after one failed suggestion.
Saily: CompetitionSaily has real limitations worth knowing before you buy. The data-only constraint is the most obvious one, and if you need a local number, Airalo and Holafly have options that Saily simply does not.
Coverage in more remote areas is where Airalo and Airhub usually have the upper hand, which matters if your trip takes you beyond the usual tourist-heavy spots. Saily’s real advantage is the built-in security. At this price point, no comparable provider bundles an ad blocker, web protection, and virtual location into the base plan without charging extra.
Saily: Final verdictSaily is worth considering if online privacy is something you already factor into how you travel. The security tools are built in, genuinely useful in regions with censorship or unreliable public Wi-Fi, and they come at no extra cost above the data plan.
The Global plan's 121-destination coverage is narrower than the 200+ headline figure suggests, and if you are visiting a single country where local SIM cards are easy to find, cheaper options exist.
For multi-country trips where you want one app, one install, and built-in privacy tools without paying extra, Saily holds up well. And if airport lounges and NordVPN are already line items in your monthly stack, Saily Ultra at $59.99/month is worth running the numbers on.
Saily: FAQsCan I make phone calls or send SMS messages with Saily eSIM?No, Saily is a data-only eSIM service. You cannot make traditional phone calls or send SMS messages through the Saily connection. You can still use VoIP apps like WhatsApp, iMessage, Skype, or FaceTime for calls and messages over data.
Do I need the internet to activate my Saily eSIM?Yes, you need an active internet connection to activate your Saily eSIM, which is why setting up before departure is recommended. The plan itself does not activate until you arrive at your destination or 30 days after purchase, whichever comes first.
Can I reinstall my Saily eSIM on a different device?Yes, Saily allows you to reinstall your eSIM on a different device as long as you use the same email address to log into the app. You can only use the eSIM on one device at a time, and reinstallation requires an active internet connection, so make sure you have a data source available when switching devices.
Nomad is a global travel eSIM provider offering prepaid data plans across a wide range of destinations, founded in 2020 by LotusFlare, Inc., and headquartered in Santa Clara, California. The travel eSIM market has quickly become crowded.
However, Nomad has maintained its position due to its clean app, honest pricing, and reliable coverage in places beyond just London and Tokyo.
The setup is quick, activation is straightforward, and the pricing sits well below what most domestic carriers charge for roaming. For the most part, it just works. Sure, you will come across the occasional complaint about slower speeds or patchy connectivity, but those feel more like exceptions than the general experience.
Nomad: Plans and pricingNomad's pricing is based on data usage and destination, with rates starting at $0.66/GB for some European countries. That number is worth sitting with for a second, because most people assume travel data has to be expensive. It doesn't, at least not with Nomad.
Here's an overview of current starting rates by region:
Region
Data range
Validity
Starting from
Global
1 GB-20 GB
7-30 days
$5.15/GB (123 destinations)
Global-EX
10 GB-50 GB
10-365 days
$2.17/GB (54+ destinations)
North America
Varies
Varies
$2.20/GB (US, CA, MX)
Europe
Varies
Varies
$0.66/GB (35+ destinations)
Asia-Pacific
Varies
Varies
$1.02/GB (14+ destinations)
Africa
Varies
Varies
$4.50/GB (11 destinations)
The listed prices are really just your entry point. What you end up paying depends on how much data you need and how long you are away. Yes, if you are willing to figure things out after landing, a local SIM can sometimes save you a few bucks. But Nomad helps you sort it before the trip, land, switch it on, and your phone is already connected while everyone else is still standing around trying to get a signal.
Nomad: FeaturesNomad keeps things lean on features, but what it does offer is well thought out. There is a subscription plan for Europe regulars, multi-device sharing, and a referral programme that actually pays out.
Nomad pass
If you travel to Europe more than once or twice a year, Nomad Pass is worth a close look. For $3/month, you get 1 GB of Europe regional data as a standing base, plus a 15% discount on any add-on plans you purchase. It is not a replacement for a full data plan on longer trips, but as a monthly subscription that keeps you covered for quick runs to London, Milan, or Amsterdam without having to buy a fresh plan every time, it is genuinely useful. (The latest version of the Nomad app is required to access it.)
Multi-device support
Nomad lets you share your eSIM data across multiple devices, which matters more than people realize until they're trying to get their laptop online from a hotel room in Tokyo. Smartphones, tablets, and laptops: it works across all of them, and managing it stays within the same app.
Nomad perks and referral programme
Nomad runs a referral programme where both you and up to five friends each receive $5 off plans priced at $5 or more. It is a straightforward reward structure without the fine print gymnastics that make most referral programs frustrating. There are also broader perks and discounts on travel-adjacent services like accommodation and tours, which add value beyond the data plan itself.
Nomad: Installation(Image credit: Nomad)Buying and activating a Nomad eSIM takes a fraction of the time. You purchase through the website or the iOS and Android app, receive a QR code by email, scan it with your device, and the carrier profile installs itself. From there, activation is a few taps in your device settings.
The smarter way to use Nomad is to install your eSIM before you leave home, because the profile installs over Wi-Fi and you can set it to activate automatically once you land in your destination country. That means stepping off the plane and being connected before you reach passport control.
The one thing to watch: Activating your plan too early (before you're actually in the destination region) will start burning your data allowance, so hold off on switching it on until you're ready to use it.
Nomad: Coverage and speed(Image credit: Future)Nomad covers a broad range of destinations worldwide, putting it firmly in the top tier of travel eSIM providers by reach. Real-world connectivity is generally solid across the regions that matter most: Western Europe, Southeast Asia, East Asia, and North America all perform well in practice.
Regarding speeds, Nomad typically delivers 4G/LTE and 5G connectivity, with actual speeds depending on your destination and local network conditions at any given time. Peak-hour slowdowns in dense urban areas like Tokyo are a known occasional issue, but not something you should expect to run into regularly.
Nomad: Support(Image credit: Nomad)Most of what you'd need help with is already answered in Nomad's help center, which covers the full setup journey through visual guides, step-by-step articles, and a searchable FAQ spanning everything from installation to billing.
Support runs through a ticketing system powered by Intercom, accessible from both the website and the app, across more than eight help categories covering troubleshooting, billing, account management, and general eSIM questions.
While there’s no phone line, the help center offers over 100 articles that effectively address a range of traveler issues.
Response times are fast, even on weekends, and the 24/7 availability across time zones is not just a claim on the website. If something does go wrong, support is typically the part of the experience that holds up.
Nomad: Final verdictNomad is a solid contender for anyone who travels internationally more than a couple of times a year and wants connectivity sorted before they leave home, rather than figured out on arrival. It is not the cheapest option for every destination, and if you are heading somewhere, a local SIM is easy to grab at the airport; it may not need to be your first call.
For multi-country trips, frequent Europe travel, or simply not wanting to think about connectivity at all, it is worth considering. The product works without requiring you to understand mobile networks to use it, and that straightforwardness is genuinely harder to find than it should be.
Nomad: FAQsIs Nomad eSIM good for the USA?Yes, and specifically because of the network coverage. Standard Nomad US plans run on the AT&T and Verizon networks, which gives you strong reach not just in cities but on highways and in rural areas too. Unlimited plans switch to T-Mobile's network instead. The US eSIM supports 4G/LTE and 5G speeds depending on your location, and plans start from $2.20/GB under the North America bundle.
Is Nomad better than Airalo?Nomad and Airalo both offer plans across a wide range of countries, and the honest answer is that neither is universally better: the right choice depends on your specific destination and data needs. Nomad tends to offer more flexibility in plan sizes, and its per-GB rates in Europe are particularly competitive.
The price gap between the two is usually small enough that support quality and app experience become the deciding factors, and Nomad holds up well on both fronts.
Is Nomad eSIM secure?Yes. Nomad eSIM is built on GSMA-approved security protocols, the same standards used by major global carriers. When you activate your eSIM by scanning a QR code, the profile is encrypted end-to-end and bound directly to your device. It cannot be removed, copied, or transferred to another phone, which makes it significantly more secure than a physical SIM card that can be cloned or swapped.
Nomad also follows PCI DSS standards for payment processing and does not sell or share your personal data. The one-time QR code used during installation is protected against reuse or interception.
What happens if my phone with Nomad eSIM is stolen?Contact Nomad's support team immediately. Because your eSIM is locked to your specific device, a thief cannot extract it and use it in another phone. Nomad's support team can help you secure your account and deactivate any active plans remotely.
To reduce risk before anything happens, it is worth enabling device-level protections like a passcode, Face ID, or Touch ID, and keeping your account credentials unique and strong. Two-factor authentication on your Nomad account adds another layer of protection worth switching on.
Who is behind Nomad eSIM?Nomad eSIM is a business line of LotusFlare, Inc., a telecommunications infrastructure software company headquartered in Santa Clara, California. Nomad was launched in 2020 with a mission to make international travel connectivity easy and affordable for everyone. The full eSIM platform is built on LotusFlare's DNO Cloud.
May has been a strong month for new horror movies, but as we approach the end of the month, it's safe to say that Passenger is the weakest of the bunch. A disappointment indeed, considering how interesting the trailer looked.
Passenger follows an unconvincing couple Tyler (Jacob Scipio) and Maddie (Lou Llobell), who have traded the Big Apple for an RV, which they're using to live a simpler life on the road. I wasn't hugely impressed by their dynamic here, unfortunately, which posed some problems as we spend the majority of the movie with these two leads.
On their journey, Tyler and Maddie learn that the roads are haunted (because of course they are) by an evil apparition called The Passenger. They learn all about him from an RV enthusiast called Diana (Melissa Leo), but there's nothing all that interesting about The Passenger and his backstory. This is the point in a movie where you'd hope to get some cool exposition, but it falls flat.
After being warned not to drive at night and if you have to, not to stop, Tyler and Maddie naturally ignore this advice when they witness an accident. Following on from this typically dumb horror movie decision, The Passenger hitches a ride and terrorizes them, simply because he can, I guess.
In my opinion, the Passenger exists to provide a lot of cheap, annoying jump scares and little else. There's nothing particularly interesting about this horror antagonist at all, and he has a weak backstory, which is a missed opportunity in my eyes, given how the trailer and marketing hyped the concept of him up so much.
The atmospheric lighting throughout the movie is very cool. (Image credit: Paramount Pictures)I've been quite harsh so far, so let's examine some of the positives. Yes, it's a scary movie. There are scares in abundance as mentioned above, so this is not a slow burn, psychological horror at all. If you are the horror fan who loves being scared and having things jump out at you, then you will not be disappointed. Be warned, though, the trailer does spoil a lot of them.
Unfortunately, I find it lazy, so this technique of randomly jump-scaring the audience with no build-up or clever camera work (aside from one scene, where it does work) got boring real fast. We've seen this done a hundred times before in similar movies. Demonic creature screams out of nowhere, we jump, rinse and repeat. It doesn't work if you don't have the strong, compelling lore or tension building to go alongside it.
The cinematography is very good, though, especially when it comes to tight spaces. It is atmospheric, but it seems to rely on this too much. The movie is well shot and looks good; the red backlighting is especially cool, but I was expecting a lot more.
Passenger's predictability is disappointing too. If you've seen a lot of horror movies, you won't be surprised by many of the reveals or scenes that were intended to shock. In a world with so many fresh, exciting new horror movies, it falls by the wayside.
Despite the underwhelming nature of Passenger's final destination, it's worth seeing if you simply want a scary movie that will make you jump out of your skin. If you're more interested in the fright-filled journey than the end of the road, you might have a better time than I did.
But from a director like André Øvredal, who was behind the brilliant Scary Stories to Tell in the Dark, I expected something far better.
Passenger is in theaters globally now.
Category
Score
Comments
Total
84 / 100
Powerful, secure, and with privacy at its heart, there's little not to love about Proton VPN. Read more ▼
Price plans & value
8 / 10
One-plan-fits-all does a great job of balancing value and capability. Though it still sits slightly more expensive than some other top VPNs. Read more ▼
Features
7 / 10
Proton VPN is not as feature heavy as other top VPNs, but what it has, works, and is available on almost every platform too. Read more ▼
Server network
10 / 10
Proton VPN has the more servers than almost any other VPN. It has a huge number of locations, with a good global spread, and high-end server technology. Read more ▼
Read all of Proton VPN's review scores ▼
Privacy
10 / 10
Based in Switzerland, with bags of no-log audits to back its privacy claims, Proton goes above and beyond to ensure its VPN gives no reason to doubt that you're browsing privately. Read more ▼
Security
9 / 10
Proton puts every measure in place to ensure your security is absolute while you're browsing. It doesn't yet have post-quantum encryption but it's more than secure than most VPNs in the present day. Read more ▼
Speed
8 / 10
Proton VPN is among the very fastest VPNs we've tested. It's more than capable of handling any home environment. Read more ▼
Unblocking streams
8 / 10
Despite some hiccups, Proton performed well for the majority of our streaming tests. Read more ▼
P2P & Torrenting
5 / 5
Port forwarding support, P2P optimized servers almost anywhere, and a bunch of guidance for beginners all make Proton VPN perfect for torrenting no matter your experience. Read more ▼
Apps & Compatibility
4 / 5
Proton VPN has apps everywhere, with near-perfect feature-parity between platforms. Plus they look great. But, the web extension does deserve some love sometime soon. Read more ▼
Usability
4 / 5
Easy to look at, explained continuously, and offering intuitive access to everything you need, there are few flaws to Proton's apps. Read more ▼
Accessibility
3 / 5
Despite its wealth of language support, Proton's screen reader is too limiting for those who are visually impaired. Read more ▼
Customer support
4 / 5
Proton VPN has detailed guides on a wealth of topics, and easy access to support agents even if they're not the best we've encountered. Read more ▼
Track record
4 / 5
Proton VPN has a faultless record. While an incident with Proton Mail left some users concerned, years of back-to-back no-logs audits, Swiss privacy assurances, and some major infrastructure investments all make Proton VPN among the most trustworthy VPNs. Read more ▼
Proton VPN price plans1-month
1-year
2-year
Proton VPN
$9.99
$3.99/month
$2.99/month
Proton VPN Unlimited
$12.99
$9.99/month
$7.99/month
Unlike many top VPNs, Proton VPN doesn’t offer tiered pricing. Instead, there is a single paid plan (alongside the Proton VPN Free product). This plan is offered in three lengths: 1-month, 1-year, and 2-year. The price of the plan drops as the length increases. All of these plans do, however, come with a 10-device limit, much like NordVPN.
We always recommend picking up the two-year plan, since it is the cheapest overall. As with all VPNs, you pay the full cost upfront. Just make sure you turn off auto-renewals, so you’re not stung by unwanted price rises. That said, Proton’s price rises are almost non-existent.
Read more about Proton VPN's price plans ▼
Right now, picking up a 2-year plan costs $2.99/month, paid as $71.76 upfront, and renews at $79.95 every 12 months (or $159.90 over two years). By comparison, NordVPN Basic costs $80.73 for the first two years, then auto-renews at $312.93 for the next two years – and that’s including far fewer features than you’d get with Proton.
NordVPN also charges VAT on top of these costs, making the overall price rise even further both on initial sign-up and at renewal. By comparison, Proton’s price is all you pay; tax is included in the advertised cost, barely a renewal increase, little to worry about.
What's more, it's important to remember that Proton Plus is compared here to all of the other entry-level plans of our recommended VPNs. It comes with features that aren't available with other VPNs unless you go up a price tier. So, Proton VPN is, in fact, far better value than it appears.
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); #fv-chart-1766052358326-paz4b5b8o *, #fv-chart-1766052358326-paz4b5b8o *:before, #fv-chart-1766052358326-paz4b5b8o *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1766052358326-paz4b5b8o { font-family: 'Open Sans', sans-serif !important; } /* Main Wrappers */ #fv-chart-1766052358326-paz4b5b8o { position: relative !important; overflow: visible !important; --riv-primary: #2E6E93; } #fv-chart-1766052358326-paz4b5b8o .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-1766052358326-paz4b5b8o .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-1766052358326-paz4b5b8o .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-1766052358326-paz4b5b8o .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-1766052358326-paz4b5b8o .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-1766052358326-paz4b5b8o .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1766052358326-paz4b5b8o .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1766052358326-paz4b5b8o .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-1766052358326-paz4b5b8o .fv-dropdown-container { text-align: center !important; margin-bottom: 16px !important; } #fv-chart-1766052358326-paz4b5b8o .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-1766052358326-paz4b5b8o .fv-dropdown:hover { border-color: var(--riv-primary) !important; } #fv-chart-1766052358326-paz4b5b8o .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-1766052358326-paz4b5b8o .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-1766052358326-paz4b5b8o .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1766052358326-paz4b5b8o .fv-carousel-counter { font-size: 14px !important; color: #6b7280 !important; text-align: center !important; margin-top: 1rem !important; } /* Legend */ #fv-chart-1766052358326-paz4b5b8o .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-1766052358326-paz4b5b8o .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #4B5563 !important; } #fv-chart-1766052358326-paz4b5b8o .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } /* Chart Core Styles */ #fv-chart-1766052358326-paz4b5b8o .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1766052358326-paz4b5b8o .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-1766052358326-paz4b5b8o .fv-bar-row, #fv-chart-1766052358326-paz4b5b8o .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; } #fv-chart-1766052358326-paz4b5b8o .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-1766052358326-paz4b5b8o .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-1766052358326-paz4b5b8o .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-1766052358326-paz4b5b8o .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1766052358326-paz4b5b8o .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-1766052358326-paz4b5b8o .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1766052358326-paz4b5b8o .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1766052358326-paz4b5b8o .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-1766052358326-paz4b5b8o .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } /* Stacked Bar */ #fv-chart-1766052358326-paz4b5b8o .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1766052358326-paz4b5b8o .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-1766052358326-paz4b5b8o .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1766052358326-paz4b5b8o .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-1766052358326-paz4b5b8o .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1766052358326-paz4b5b8o .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1766052358326-paz4b5b8o .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-1766052358326-paz4b5b8o .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1766052358326-paz4b5b8o .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1766052358326-paz4b5b8o .fv-bar-cluster .fv-bar-container { height: 20px !important; } /* Line Chart Grid */ #fv-chart-1766052358326-paz4b5b8o .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } /* X-Axis */ #fv-chart-1766052358326-paz4b5b8o .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1766052358326-paz4b5b8o .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1766052358326-paz4b5b8o .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1766052358326-paz4b5b8o .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1766052358326-paz4b5b8o .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1766052358326-paz4b5b8o .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-1766052358326-paz4b5b8o .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1766052358326-paz4b5b8o .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-1766052358326-paz4b5b8o .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #6B7280 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1766052358326-paz4b5b8o .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-1766052358326-paz4b5b8o .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-1766052358326-paz4b5b8o.mobile-view .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1766052358326-paz4b5b8o.mobile-view .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1766052358326-paz4b5b8o.mobile-view .fv-bar-row, #fv-chart-1766052358326-paz4b5b8o.mobile-view .fv-stacked-product, #fv-chart-1766052358326-paz4b5b8o.mobile-view .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1766052358326-paz4b5b8o.mobile-view .fv-bar-label, #fv-chart-1766052358326-paz4b5b8o.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-1766052358326-paz4b5b8o.mobile-view .fv-bar-container, #fv-chart-1766052358326-paz4b5b8o.mobile-view .fv-bar-cluster { width: 100% !important; } #fv-chart-1766052358326-paz4b5b8o.mobile-view .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1766052358326-paz4b5b8o.mobile-view .fv-x-axis-label-space { display: none !important; } #fv-chart-1766052358326-paz4b5b8o.mobile-view .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1766052358326-paz4b5b8o.mobile-view .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1766052358326-paz4b5b8o.mobile-view .fv-logo { width: 60px !important; max-width: 60px !important; } #fv-chart-1766052358326-paz4b5b8o.mobile-view .fv-carousel-nav-btn { padding: 6px 8px !important; font-size: 11px !important; } @media (max-width: 500px) { #fv-chart-1766052358326-paz4b5b8o .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1766052358326-paz4b5b8o .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1766052358326-paz4b5b8o .fv-bar-row, #fv-chart-1766052358326-paz4b5b8o .fv-stacked-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1766052358326-paz4b5b8o .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-1766052358326-paz4b5b8o .fv-bar-container { width: 100% !important; } #fv-chart-1766052358326-paz4b5b8o .fv-x-axis-wrapper:not(.fv-grouped-x-axis) { margin-left: 0 !important; } #fv-chart-1766052358326-paz4b5b8o .fv-x-axis-label-space:not(.fv-grouped-x-axis .fv-x-axis-label-space) { display: none !important; } #fv-chart-1766052358326-paz4b5b8o .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1766052358326-paz4b5b8o .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1766052358326-paz4b5b8o .fv-logo { width: 60px !important; max-width: 60px !important; } #fv-chart-1766052358326-paz4b5b8o .fv-carousel-nav-btn { padding: 6px 8px !important; font-size: 11px !important; } #fv-chart-1766052358326-paz4b5b8o .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ } #fv-chart-1766052358326-paz4b5b8o.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } } { "@context": "https://schema.org", "@type": "Dataset", "name": "Total cost of cheapest 2-year plan", "description": "All prices (from December 2025) are before tax", "creator": { "@type": "Organization", "name": "TechRadar", "logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" }, "isAccessibleForFree": true, "dateCreated": "2025-12-18T10:05:58.326Z", "citation": "Proton VPN, while at $2.99 per month, is relatively cheap next to ExpressVPN and NordVPN's entry level plans. Important to remember that Proton VPN Plus has more features than these other VPNs at these price tiers too.", "keywords": [ "NordVPN Basic", "Surfshark Starter", "ExpressVPN Basic", "Proton VPN Plus", "Total price", "benchmark", "comparison", "performance", "review", "TechRadar" ], "measurementTechnique": "Performance Benchmarking", "variableMeasured": [ { "@type": "PropertyValue", "name": "NordVPN Basic – Total price", "value": 80.73, "unitText": "USD" }, { "@type": "PropertyValue", "name": "Surfshark Starter – Total price", "value": 53.73, "unitText": "USD" }, { "@type": "PropertyValue", "name": "ExpressVPN Basic – Total price", "value": 97.72, "unitText": "USD" }, { "@type": "PropertyValue", "name": "Proton VPN Plus – Total price", "value": 71.76, "unitText": "USD" } ]} Total cost of cheapest 2-year planAll prices (from December 2025) are before tax
Total price NordVPN Basic 80.73 Surfshark Starter 53.73 ExpressVPN Basic 97.72 Proton VPN Plus 71.76 0255075100 USD Total price Data ProductValue (USD) NordVPN Basic 80.73 Surfshark Starter 53.73 ExpressVPN Basic 97.72 Proton VPN Plus 71.76 Proton VPN, while at $2.99 per month, is relatively cheap next to ExpressVPN and NordVPN's entry level plans. Important to remember that Proton VPN Plus has more features than these other VPNs at these price tiers too. (function() { function initialize() { var chartWrapper = document.getElementById('fv-chart-1766052358326-paz4b5b8o'); if (!chartWrapper) { console.error('Chart wrapper with ID fv-chart-1766052358326-paz4b5b8o 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 = "All prices (from December 2025) are before tax"; var globalCaptionJSON = "Proton VPN, while at $2.99 per month, is relatively cheap next to ExpressVPN and NordVPN's entry level plans. Important to remember that Proton VPN Plus has more features than these other VPNs at these price tiers too."; var globalSubhead = globalSubheadJSON === placeholderSubhead ? '' : globalSubheadJSON; var globalCaption = globalCaptionJSON === placeholderCaption ? '' : globalCaptionJSON; var subheadOverrides = {}; var captionOverrides = {}; var chartInfo = [{"id":"bar-Total price","title":"Total price"}]; 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() }); })();One option you do have with Proton is to upgrade to its Proton Unlimited plan. This plan gives you Proton VPN, and all its features, but also Proton Mail, Pass, Calendar, and Drive. So, if you want added security for your emails, photo storage, or personal events, you can get it all bundled into one package.
Proton Unlimited costs only a fraction more than NordVPN’s super-premium Prime Plan. That's $191.76 for two years compared to $186.03. What’s more, you’re not stung with the huge price increase you’d face with NordVPN, and you can access a whole suite of products.
What's quite astounding is that a single, on-off month of Proton Unlimited is actually cheaper than a one-month plan from any other of the best VPNs. For only $12.99, you get the full Proton experience, including all its apps and features.
For comparison, 1 month of NordVPN Basic (which gives just the VPN and basic Threat Protection) is the same price, while one month of Surfshark Starter is even more at $15.45.
So, for one month of security, Proton will struggle to be beaten. If you don’t need the additional Drive, Pass, Mail, and Calendar apps, Proton VPN for 1 month is only $9.99 with all features included too, so you’re always going to save compared to even its biggest rivals.
All of this sits Proton VPN somewhere in the middle for value. At regular two-year pricing it's in the same ballpark as NordVPN and ExpressVPN. It's only Surfshark that is significantly cheaper out of our top choices.
Score: 8/10
Features: What can Proton VPN do?Proton’s one-price-gives-all approach means you get the full suite of VPN features straight away. That said, it doesn’t offer a great deal in terms of add-ons.
NetShield is the primary example of this. As Proton VPN’s biggest additional feature, NetShield blocks your device from ads, trackers, malware sites, and phishing sites. It works at a system level, meaning no additional installs for browsers or apps; they’re all automatically protected.
It is highly effective at blocking ads online. However, in our most recent testing we noticed a drop off in performance concerning the blocking of phishing and malware sites.
Testing it across Windows, Android, and iOS, we never saw it impact our battery life, nor did we encounter issues with most apps or websites despite the warnings Proton gives that problems may occur.
NetShield is easy to set up, available on all devices, and super effective at ad blocking (Image credit: Future)Read more about Proton VPN's features ▼
The only sites that struggled were streaming sites. VPN ad-blockers and streaming sites are known enemies, especially when the streaming site is regional and relies on ads to run. We’ll cover this in more depth in the unblocking section later.
Profiles are another key tool in Proton’s arsenal. While some VPNs have functionality to auto-connect on using specific apps or WiFi connections, Profiles goes a step further.
Proton’s solution allows users to create multiple, uniquely tailored settings combinations, 'profiles', for when using the VPN in specific situations. The profiles can be tailored to according to:
It’s also got what Proton calls ‘Connect and Go’, which allows you to pick an app or website that loads automatically when you turn on your profile.
In testing, we set up a ‘US Streaming’ profile. We used WireGuard UDP and turned NetShield off to avoid ad-blocker issues, and auto-loaded Peacock so we could get straight to watching shows. It worked flawlessly every time.
Usefully, the profiles you create also appear on Proton’s mobile widgets if you’ve connected to them recently. That means you don’t even need to enter the app to get streaming if you’re on the go and want to save time.
On desktop, you can also pin any profile you create to the top of your recents list.
I really like Proton VPN's profiles. They're easily accessible, work flawlessly, and supremely helpful, top marks!
Proton recently added "Exclude locations" for Android (allowing users to blacklist specific cities from "Quick Connect") and a "Discreet Icon" feature, which lets users hide the VPN app as a decoy (e.g., a calculator) to bypass physical device inspections.
Profiles is super-customizable, easily accessed, and never failed to connect exactly how we wanted it (Image credit: Future)The final unique aspect of Proton VPN’s experience is VPN Accelerator. It supposedly increases performance by up to 400%.
We’ll get into the results of that later, but it works by splitting the processing needed to handle VPN traffic across multiple processors rather than just one.
This reduces the risk of overload to the processor, which would impact performance and result in reduced speeds for a user. It's on automatically for paid Proton VPN users and it’s unavailable for those on the free plan. We recommend leaving it that way to ensure the best speeds.
That's it for Proton's features, and, while it's not a lot, as I say, it functions well, and there are plenty of 'added value' features on other VPNs that don't.
I'd like to see Proton offer a little more with its VPN going forward but, if all you need is a VPN, then you shouldn't have any complaints.
Score: 7/10
Server network and locationsProton VPN offers the second-largest number of total locations of any VPN we tested (188, tied with ExpressVPN), and the most countries covered (145). Only NordVPN, with 211 locations, offers more.
While the number of locations and countries can be a good indicator of a provider’s spread, it’s never perfect. Often the global spread of these servers can be more telling.
Of all the VPNs we test, Proton VPN has the most locations in Asia (48) and Africa (31). By comparison, NordVPN offers 41 Asian locations and 21 African ones.
However, Proton scores lower in North America (39), South America (10), and Oceania (7). Its 53 European locations put Proton slightly below average here too – with the likes of NordVPN, Surfshark, and ExpressVPN offering 54, 54, and 58 locations in the region, respectively.
Read more about Proton VPN's server network ▼
It's important to put that in context, though. Proton company mission is to provide private and secure internet access to all, and that's very much reflected in the server spread of its VPN network.
While it might not have as big a concentration in certain areas – mainly North American and Europe Proton makes sure its product is available to as may parts of the globe as possible. That also means it can open up servers and provide free access in times of trouble for local people.
Proton has regularly become a popular choice for people during periods of heightened internet censorship. Recently, Proton recorded an 8,000% increase in sign-ups from people in Uganda during the country's elections and the associated internet shutdown. The company also recorded a spike in interest in Argentina after two popular streaming platforms were blocked.
That's a unique and laudable pillar of Proton VPN identity. It's a great reason to choose Proton if you live in these areas of the world or your likely to travel to them for work. These are also areas where internet restrictions can be toughest, and present a very immediate need for privacy software.
It's also important to realize that Proton has a large number of servers in its network and that makes it good for handling the ebbs and flows of capacity needs.
Proton’s total number of servers currently sits at nearly 20,000 (19,704 at the time of our latest research). This is not only a huge jump from the 5,000 Proton claimed to have back in June 2024, but also puts the VPN provider far in advance of almost any other.
The more servers a provider has in total, the less likely your connection is to be impacted by excessive server load which, in turn, can lead to reduced download speeds and increased latency or jitter. Those are both things to be avoided if you're looking for a gaming VPN or streaming VPN with consistent, high-speed connections the ideal.
Among Proton’s many locations are some virtual locations. Using virtual servers is common among even the top VPNs, but it’s refreshing to see Proton’s level of transparency surrounding the matter.
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); #fv-chart-1766053504798-bilbvhy0u *, #fv-chart-1766053504798-bilbvhy0u *:before, #fv-chart-1766053504798-bilbvhy0u *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1766053504798-bilbvhy0u { font-family: 'Open Sans', sans-serif !important; } /* Main Wrappers */ #fv-chart-1766053504798-bilbvhy0u { position: relative !important; overflow: visible !important; --riv-primary: #2E6E93; } #fv-chart-1766053504798-bilbvhy0u .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-1766053504798-bilbvhy0u .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-1766053504798-bilbvhy0u .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-1766053504798-bilbvhy0u .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-1766053504798-bilbvhy0u .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-1766053504798-bilbvhy0u .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1766053504798-bilbvhy0u .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1766053504798-bilbvhy0u .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-1766053504798-bilbvhy0u .fv-dropdown-container { text-align: center !important; margin-bottom: 16px !important; } #fv-chart-1766053504798-bilbvhy0u .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-1766053504798-bilbvhy0u .fv-dropdown:hover { border-color: var(--riv-primary) !important; } #fv-chart-1766053504798-bilbvhy0u .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-1766053504798-bilbvhy0u .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-1766053504798-bilbvhy0u .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1766053504798-bilbvhy0u .fv-carousel-counter { font-size: 14px !important; color: #6b7280 !important; text-align: center !important; margin-top: 1rem !important; } /* Legend */ #fv-chart-1766053504798-bilbvhy0u .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-1766053504798-bilbvhy0u .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #4B5563 !important; } #fv-chart-1766053504798-bilbvhy0u .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } /* Chart Core Styles */ #fv-chart-1766053504798-bilbvhy0u .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1766053504798-bilbvhy0u .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-1766053504798-bilbvhy0u .fv-bar-row, #fv-chart-1766053504798-bilbvhy0u .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; } #fv-chart-1766053504798-bilbvhy0u .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-1766053504798-bilbvhy0u .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-1766053504798-bilbvhy0u .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-1766053504798-bilbvhy0u .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1766053504798-bilbvhy0u .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-1766053504798-bilbvhy0u .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1766053504798-bilbvhy0u .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1766053504798-bilbvhy0u .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-1766053504798-bilbvhy0u .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } /* Stacked Bar */ #fv-chart-1766053504798-bilbvhy0u .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1766053504798-bilbvhy0u .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-1766053504798-bilbvhy0u .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1766053504798-bilbvhy0u .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-1766053504798-bilbvhy0u .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1766053504798-bilbvhy0u .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1766053504798-bilbvhy0u .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-1766053504798-bilbvhy0u .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1766053504798-bilbvhy0u .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1766053504798-bilbvhy0u .fv-bar-cluster .fv-bar-container { height: 20px !important; } /* Line Chart Grid */ #fv-chart-1766053504798-bilbvhy0u .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } /* X-Axis */ #fv-chart-1766053504798-bilbvhy0u .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1766053504798-bilbvhy0u .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1766053504798-bilbvhy0u .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1766053504798-bilbvhy0u .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1766053504798-bilbvhy0u .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1766053504798-bilbvhy0u .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-1766053504798-bilbvhy0u .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1766053504798-bilbvhy0u .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-1766053504798-bilbvhy0u .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #6B7280 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1766053504798-bilbvhy0u .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-1766053504798-bilbvhy0u .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-1766053504798-bilbvhy0u.mobile-view .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1766053504798-bilbvhy0u.mobile-view .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1766053504798-bilbvhy0u.mobile-view .fv-bar-row, #fv-chart-1766053504798-bilbvhy0u.mobile-view .fv-stacked-product, #fv-chart-1766053504798-bilbvhy0u.mobile-view .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1766053504798-bilbvhy0u.mobile-view .fv-bar-label, #fv-chart-1766053504798-bilbvhy0u.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-1766053504798-bilbvhy0u.mobile-view .fv-bar-container, #fv-chart-1766053504798-bilbvhy0u.mobile-view .fv-bar-cluster { width: 100% !important; } #fv-chart-1766053504798-bilbvhy0u.mobile-view .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1766053504798-bilbvhy0u.mobile-view .fv-x-axis-label-space { display: none !important; } #fv-chart-1766053504798-bilbvhy0u.mobile-view .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1766053504798-bilbvhy0u.mobile-view .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1766053504798-bilbvhy0u.mobile-view .fv-logo { width: 60px !important; max-width: 60px !important; } #fv-chart-1766053504798-bilbvhy0u.mobile-view .fv-carousel-nav-btn { padding: 6px 8px !important; font-size: 11px !important; } @media (max-width: 500px) { #fv-chart-1766053504798-bilbvhy0u .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1766053504798-bilbvhy0u .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1766053504798-bilbvhy0u .fv-bar-row, #fv-chart-1766053504798-bilbvhy0u .fv-stacked-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1766053504798-bilbvhy0u .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-1766053504798-bilbvhy0u .fv-bar-container { width: 100% !important; } #fv-chart-1766053504798-bilbvhy0u .fv-x-axis-wrapper:not(.fv-grouped-x-axis) { margin-left: 0 !important; } #fv-chart-1766053504798-bilbvhy0u .fv-x-axis-label-space:not(.fv-grouped-x-axis .fv-x-axis-label-space) { display: none !important; } #fv-chart-1766053504798-bilbvhy0u .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1766053504798-bilbvhy0u .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1766053504798-bilbvhy0u .fv-logo { width: 60px !important; max-width: 60px !important; } #fv-chart-1766053504798-bilbvhy0u .fv-carousel-nav-btn { padding: 6px 8px !important; font-size: 11px !important; } #fv-chart-1766053504798-bilbvhy0u .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ } #fv-chart-1766053504798-bilbvhy0u.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } } { "@context": "https://schema.org", "@type": "Dataset", "name": "Global VPN server spread", "description": "Subhead to describe the test and what's being measured and why", "creator": { "@type": "Organization", "name": "TechRadar", "logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" }, "isAccessibleForFree": true, "dateCreated": "2025-12-18T10:25:04.798Z", "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized", "keywords": [ "Proton VPN", "NordVPN", "ExpressVPN", "Surfshark", "Africa", "Asia", "Europe", "North America", "Oceania", "South America", "benchmark", "comparison", "performance", "review", "TechRadar" ], "measurementTechnique": "Performance Benchmarking", "variableMeasured": [ { "@type": "PropertyValue", "name": "Proton VPN – Asia", "value": 44, "unitText": "number of server locations" }, { "@type": "PropertyValue", "name": "Proton VPN – North America", "value": 32, "unitText": "number of server locations" }, { "@type": "PropertyValue", "name": "Proton VPN – South America", "value": 7, "unitText": "number of server locations" }, { "@type": "PropertyValue", "name": "Proton VPN – Europe", "value": 49, "unitText": "number of server locations" }, { "@type": "PropertyValue", "name": "Proton VPN – Oceania", "value": 6, "unitText": "number of server locations" }, { "@type": "PropertyValue", "name": "Proton VPN – Africa", "value": 26, "unitText": "number of server locations" }, { "@type": "PropertyValue", "name": "NordVPN – Asia", "value": 38, "unitText": "number of server locations" }, { "@type": "PropertyValue", "name": "NordVPN – North America", "value": 39, "unitText": "number of server locations" }, { "@type": "PropertyValue", "name": "NordVPN – South America", "value": 10, "unitText": "number of server locations" }, { "@type": "PropertyValue", "name": "NordVPN – Europe", "value": 53, "unitText": "number of server locations" }, { "@type": "PropertyValue", "name": "NordVPN – Oceania", "value": 8, "unitText": "number of server locations" }, { "@type": "PropertyValue", "name": "NordVPN – Africa", "value": 17, "unitText": "number of server locations" }, { "@type": "PropertyValue", "name": "ExpressVPN – Asia", "value": 36, "unitText": "number of server locations" }, { "@type": "PropertyValue", "name": "ExpressVPN – North America", "value": 70, "unitText": "number of server locations" }, { "@type": "PropertyValue", "name": "ExpressVPN – South America", "value": 9, "unitText": "number of server locations" }, { "@type": "PropertyValue", "name": "ExpressVPN – Europe", "value": 59, "unitText": "number of server locations" }, { "@type": "PropertyValue", "name": "ExpressVPN – Oceania", "value": 8, "unitText": "number of server locations" }, { "@type": "PropertyValue", "name": "ExpressVPN – Africa", "value": 6, "unitText": "number of server locations" }, { "@type": "PropertyValue", "name": "Surfshark – Asia", "value": 31, "unitText": "number of server locations" }, { "@type": "PropertyValue", "name": "Surfshark – North America", "value": 34, "unitText": "number of server locations" }, { "@type": "PropertyValue", "name": "Surfshark – South America", "value": 10, "unitText": "number of server locations" }, { "@type": "PropertyValue", "name": "Surfshark – Europe", "value": 54, "unitText": "number of server locations" }, { "@type": "PropertyValue", "name": "Surfshark – Oceania", "value": 6, "unitText": "number of server locations" }, { "@type": "PropertyValue", "name": "Surfshark – Africa", "value": 6, "unitText": "number of server locations" } ]} Global VPN server spreadContinental split of server network resources
< Prev Proton VPN Next > (function() { if (typeof google === 'undefined' || !google.charts) return; var chartDiv = document.getElementById('pie_chart_div_fv-chart-1766053504798-bilbvhy0u_pieProtonVPN'); if (!chartDiv) return; var chart = null; function drawChart() { var data = google.visualization.arrayToDataTable([["Attribute","Value"],["Asia",44],["North America",32],["South America",7],["Europe",49],["Oceania",6],["Africa",26]]); var options = {"backgroundColor":"transparent","chartArea":{"left":"5%","top":"5%","width":"90%","height":"90%"},"legend":{"position":"labeled","textStyle":{"color":"#4B5563","fontName":"Open Sans","fontSize":14}},"pieSliceText":"none","tooltip":{"trigger":"none"},"colors":["#4285F4","#DB4437","#F4B400","#0F9D58","#9C27B0","#009688"],"title":""}; if (!chart) { chart = new google.visualization.PieChart(chartDiv); } chart.draw(data, options); } google.charts.load('current', {'packages':['corechart']}); google.charts.setOnLoadCallback(function() { drawChart(); var resizeTimeout; window.addEventListener('resize', function() { clearTimeout(resizeTimeout); resizeTimeout = setTimeout(drawChart, 200); }); }); })(); Data for Proton VPN AttributeValue (number of server locations)Percentage Asia 44 26.8% North America 32 19.5% South America 7 4.3% Europe 49 29.9% Oceania 6 3.7% Africa 26 15.9% (function() { if (typeof google === 'undefined' || !google.charts) return; var chartDiv = document.getElementById('pie_chart_div_fv-chart-1766053504798-bilbvhy0u_pieNordVPN'); if (!chartDiv) return; var chart = null; function drawChart() { var data = google.visualization.arrayToDataTable([["Attribute","Value"],["Asia",38],["North America",39],["South America",10],["Europe",53],["Oceania",8],["Africa",17]]); var options = {"backgroundColor":"transparent","chartArea":{"left":"5%","top":"5%","width":"90%","height":"90%"},"legend":{"position":"labeled","textStyle":{"color":"#4B5563","fontName":"Open Sans","fontSize":14}},"pieSliceText":"none","tooltip":{"trigger":"none"},"colors":["#4285F4","#DB4437","#F4B400","#0F9D58","#9C27B0","#009688"],"title":""}; if (!chart) { chart = new google.visualization.PieChart(chartDiv); } chart.draw(data, options); } google.charts.load('current', {'packages':['corechart']}); google.charts.setOnLoadCallback(function() { drawChart(); var resizeTimeout; window.addEventListener('resize', function() { clearTimeout(resizeTimeout); resizeTimeout = setTimeout(drawChart, 200); }); }); })(); Data for NordVPN AttributeValue (number of server locations)Percentage Asia 38 23.0% North America 39 23.6% South America 10 6.1% Europe 53 32.1% Oceania 8 4.8% Africa 17 10.3% (function() { if (typeof google === 'undefined' || !google.charts) return; var chartDiv = document.getElementById('pie_chart_div_fv-chart-1766053504798-bilbvhy0u_pieExpressVPN'); if (!chartDiv) return; var chart = null; function drawChart() { var data = google.visualization.arrayToDataTable([["Attribute","Value"],["Asia",36],["North America",70],["South America",9],["Europe",59],["Oceania",8],["Africa",6]]); var options = {"backgroundColor":"transparent","chartArea":{"left":"5%","top":"5%","width":"90%","height":"90%"},"legend":{"position":"labeled","textStyle":{"color":"#4B5563","fontName":"Open Sans","fontSize":14}},"pieSliceText":"none","tooltip":{"trigger":"none"},"colors":["#4285F4","#DB4437","#F4B400","#0F9D58","#9C27B0","#009688"],"title":""}; if (!chart) { chart = new google.visualization.PieChart(chartDiv); } chart.draw(data, options); } google.charts.load('current', {'packages':['corechart']}); google.charts.setOnLoadCallback(function() { drawChart(); var resizeTimeout; window.addEventListener('resize', function() { clearTimeout(resizeTimeout); resizeTimeout = setTimeout(drawChart, 200); }); }); })(); Data for ExpressVPN AttributeValue (number of server locations)Percentage Asia 36 19.1% North America 70 37.2% South America 9 4.8% Europe 59 31.4% Oceania 8 4.3% Africa 6 3.2% (function() { if (typeof google === 'undefined' || !google.charts) return; var chartDiv = document.getElementById('pie_chart_div_fv-chart-1766053504798-bilbvhy0u_pieSurfshark'); if (!chartDiv) return; var chart = null; function drawChart() { var data = google.visualization.arrayToDataTable([["Attribute","Value"],["Asia",31],["North America",34],["South America",10],["Europe",54],["Oceania",6],["Africa",6]]); var options = {"backgroundColor":"transparent","chartArea":{"left":"5%","top":"5%","width":"90%","height":"90%"},"legend":{"position":"labeled","textStyle":{"color":"#4B5563","fontName":"Open Sans","fontSize":14}},"pieSliceText":"none","tooltip":{"trigger":"none"},"colors":["#4285F4","#DB4437","#F4B400","#0F9D58","#9C27B0","#009688"],"title":""}; if (!chart) { chart = new google.visualization.PieChart(chartDiv); } chart.draw(data, options); } google.charts.load('current', {'packages':['corechart']}); google.charts.setOnLoadCallback(function() { drawChart(); var resizeTimeout; window.addEventListener('resize', function() { clearTimeout(resizeTimeout); resizeTimeout = setTimeout(drawChart, 200); }); }); })(); Data for Surfshark AttributeValue (number of server locations)Percentage Asia 31 22.0% North America 34 24.1% South America 10 7.1% Europe 54 38.3% Oceania 6 4.3% Africa 6 4.3% 1 of 4 Proton VPN has the best global server spread of all of our recommended VPNs. It's the top choice for coverage in Africa and the Middle East. (function() { function initialize() { var chartWrapper = document.getElementById('fv-chart-1766053504798-bilbvhy0u'); if (!chartWrapper) { console.error('Chart wrapper with ID fv-chart-1766053504798-bilbvhy0u 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 ("Carousel" === "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 && "Carousel" !== "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 = "Subhead to describe the test and what's being measured and why"; var globalCaptionJSON = "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized"; var globalSubhead = globalSubheadJSON === placeholderSubhead ? '' : globalSubheadJSON; var globalCaption = globalCaptionJSON === placeholderCaption ? '' : globalCaptionJSON; var subheadOverrides = {"pie-Proton VPN":"Continental split of server network resources"}; var captionOverrides = {"pie-ExpressVPN":"ExpressVPN focuses its server network on North America and Europe.","pie-NordVPN":"NordVPN has the largest number of server locations and a reasonable spread of those resources over the globe.","pie-Proton VPN":"Proton VPN has the best global server spread of all of our recommended VPNs. It's the top choice for coverage in Africa and the Middle East.","pie-Surfshark":"Surfshark is the most Euro-centric of our recommended VPNs."}; var chartInfo = [{"id":"pie-Proton VPN","title":"Proton VPN"},{"id":"pie-NordVPN","title":"NordVPN"},{"id":"pie-ExpressVPN","title":"ExpressVPN"},{"id":"pie-Surfshark","title":"Surfshark"}]; 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() }); })();That said, it’s not perfect. In our testing, it was quickly apparent that the app lacks clear visual indicators for virtual servers. For instance, the Windows app currently doesn't display any icons to let you know a server is Smart Routed.
What’s more, we found a few instances where these virtual locations didn't appear to connect from exactly where Proton VPN’s website said they were hosted.
However, it's worth noting that the vast majority of servers were hosted exactly where Proton claimed they were. The few exceptions we found were generally hosted in neighboring countries, which is unlikely to cause a noticeable performance drop.
It's most likely that Proton's website server lists are just a bit out of date, rather than anything nefarious.
The real diversion from the norm for Proton's server network, though, is that it doesn't use RAM-only servers. Proton believes the security benefits of such servers are minimal and consequently not worthwhile, which they explain in a blog post.
Instead, Proton runs full disk encryption on their servers. This means that even if a server were to be taken away, it would not be possible to access the server certificates that might allow bad actors to create an attack, or attempt to track customers.
Alongside these servers are Proton’s own Secure Core servers. These servers are owned and run by Proton itself, stored in high-security locations, including a former military base and an underground data center, and form the basis of Proton’s multi-hop offering.
Based in Sweden, Switzerland, and Iceland, these servers are deliberately in physically hardened locations with strong privacy laws, reducing the ability of other countries to file legal challenges for data. Plus, the servers are connected to the internet by a dedicated network Proton owns, with IP addresses owned and operated by its own Local Internet Registry.
The average user won’t see a huge difference in performance but any multihop connection does reduce download speeds and increases latency owing to the added VPN server connection. However, those extra measures mean you’re far more protected when using Secure Core than you would with any other VPN multi-hop system. If that doesn't add peace of mind, then we don't know what will.
Overall, then, a great number of locations, backed by strong, secure infrastructure. There's little you need to worry about when it comes to where to connect with Proton VPN.
Score: 10/10
PrivacyProton is as a privacy-first company. Its VPN product is no different – and doesn’t disappoint!
We should first address the fact that it is a Swiss company. Being based in Switzerland means the company is protected by some VPN customer-friendly data privacy laws. Switzerland isn’t part of any intelligence-sharing agreements, and sees such importance in privacy that rarely will a Swiss court grant any data request it receives from another country.
This is furthered by Proton’s full, detailed privacy policy, no-logs policy, and transparency reports when it is subject to legal requests by Swiss authorities. We read through Proton’s privacy policy and were pleased to see a high level of detail, without unnecessary complexities.
The same is true for its no-logs policy. It covers everything we’d expect, including linking out to explainers surrounding the technology Proton has in place to secure your data, such as full-disk encryption and bare-metal servers, both of which we’ll cover later.
The future of Switzerland's reputation as a privacy haven is not certain, however. In recent months, there has been discussions about changes to the country's surveillance legislation. Proton has said it will leave the country if Switzerland no longer offers the privacy protections it feels it requires to operate securely.
Read more about Proton VPN's privacy measures ▼
This no-logs policy has also been audited four times. The last was in August 2025.
These audits have regularly confirmed there is nothing to worry about, even emphasizing the lengths Proton goes to internally to ensure security.
This includes monitoring server configurations and raising alerts if there is an unauthorized change. It also has a change management system which means an employee cannot change any configurations without another employee’s approval.
If that wasn’t enough, Proton’s no logs policy was tested in 2019 when a Swiss court approved a request to hand over customer information. However, since Proton’s no logs policy was watertight and well enforced, there was no information to hand over.
If you’re interested in how many requests Proton receives over a year, you can look over its transparency report. This report is updated whenever a new request is received, even if, as is most common, the request is declined due to Swiss privacy laws.
Proton’s quest for privacy superiority doesn’t just stop with the legalities, though; its Stealth protocol is a staple part of its infrastructure and offers a stellar solution to remaining secure when you need to hide that you’re using a VPN to connect.
Stealth is a protocol based on traditional WireGuard over TCP. By tunneling WireGuard over TCP, having already encapsulated your traffic in TLS, your connection appears as any normal online traffic would.
This is because TCP runs your traffic through the same port that normal HTTPS traffic goes through, port 443. By disguising your traffic in this way, you’re much less likely to be picked up by VPN detection technologies, allowing you greater success when bypassing censorship restrictions, VPN bans, and the like.
All this protective technology does mean that Stealth is by no means the quickest protocol, though that doesn’t mean you’re short of options if you need speed.
Alongside Stealth, you can also pick from WireGuard connection types across all apps, or OpenVPN if you are on Windows, both of which are available in TCP or UDP configurations.
In January 2026, the company announced that it be retiring older manual OpenVPN configurations due to security concerns. Although users of the official app will be unaffected, those running manual setups or on Linux will need to refresh their credentials by February 28 to avoid losing connectivity.
Picking TCP gives a more reliable connection, while UDP is more speed-focused. So, if you’re after a secure, reliable connection, OpenVPN on TCP is the pick, while if you want speed, WireGuard over UDP is ideal, especially with VPN Accelerator enabled.
Proton offers huge amounts of customizability of its protocols (Image credit: Future)We’ve mentioned already how Proton avoids using RAM-only servers in favor of full-disk-encrypted servers instead, but it’s also worth mentioning its commitment to physical locations in regions of high risk.
In ‘unfriendly jurisdictions’, as Proton describes them, Proton uses third-party, physical servers to ensure that it’s not subject to local laws and remains a Swiss company, since the infrastructure is owned by a third-party, and it has full control of the server all the way to the base operating level.
Using physical servers, rather than virtual, ensures the hardware is solely dedicated to Proton VPN, allowing for greater security and control when navigating the difficulties faced in these regions.
In terms of privacy features in-app, there are several that are particularly handy.
We’ve already mentioned Proton’s version of multi-hop, Secure Core. This is a super-secure solution to a two-VPN connection, though the added security does mean it sacrifices country availability. Every connection must go through one of Proton’s Swiss, Icelandic, or Swedish Secure Core bases, and the connection can then only exit in 68 of Proton’s usual 145 countries.
While this may seem like a sacrifice initially, 68 is far more than the 12 multi-hop locations NordVPN offers. Only Surfshark’s Nexus network offers more since it allows a multihop connection between any two Surfshark locations without limitation.
Much like NordVPN, you also get Tor over VPN connectivity should you wish to access .onion sites. Again, Proton comfortably beats NordVPN for locations in this respect, with six to Nord’s two.
As with any Tor over VPN connection, performance does take a hefty hit. Our tests showed a maximum download speed of only 1.89 Mbps, though this is more than double NordVPN’s result, which barely scraped over 700 Kbps.
It’s unlikely that, if using the Tor network, you’re doing anything requiring a huge amount of bandwidth, but beware that you’re never going to get the same speeds you would with a different protocol. If you’re unsure how to safely use Tor over VPN, Proton does offer a handy guide you can access from within the app.
Score: 10/10
SecurityProton does almost all the necessary security steps well. AES-256-GCM and ChaCha20 encryption using Diffie-Hellman key exchanges are standard practices, and Proton only uses protocols that support perfect forward secrecy. This means not only are you secure, but even if a session were to be compromised, none of your older or later sessions are at risk since they’ll use unique encryption keys.
On the topic of encryption keys, Proton uses 4096-bit RSA keys, a step above VPN providers such as Surfshark, which only use 2048-bit, though you won’t notice the difference day-to-day. 2048-bit encryption keys are extremely safe, which is why top VPNs still use them, but 4096-bit keys add additional security through the increase in key length – why the likes of Proton and NordVPN now use these instead.
Proton’s VPN hasn’t yet implemented post-quantum encryption (PQE). However, it is currently working on adding this feature. In October 2025, the company announced it had started working on a new, in-house VPN architecture This will enable the company to introduce PQE in the coming months. The architecture is now being deployed and PQE rollout is imminent.
In an April 2026 update, the company said it was still working on this and currently laying the groundwork for PQE.
That said, its introduction is still lagging behind NordVPN and Express, who already offer PQE. For a closer look, we've also written an in-depth comparison of NordVPN and Proton VPN.
Read more about Proton VPN's security features ▼
Despite lacking PQE, Proton has plenty of features to keep users secure.
Auto-connect is an option right out of the gates. However, it’s not the most flexible system we’ve seen, especially when compared to NordVPN. While you can set your desktop to auto-connect on launch, and mobile apps feature a basic 'Always-on' toggle to re-establish dropped connections, it lacks advanced condition-based triggers.
This lack of any customization is surprising. The likes of NordVPN or Surfshark allow you options such as creating a trusted network list or enabling auto-connect under specific connection circumstances. Without this Proton is a distance behind.
The home screen offers quick access to everything from auto-connect settings to profiles and specialist servers (Image credit: Future)Next comes split tunelling. Proton’s split tunelling is advanced, but until recently Windows users couldn't use the split tunnel with the kill switch enabled. Fortunately, this was resolved in an update in February.
Proton does have several advanced features for split-tunneling. You can choose to split-tunnel both apps and IP addresses on Windows and Android, while Mac users are currently limited strictly to apps. On these supported platforms, you can decide whether your tunnel excludes or includes what’s selected from the VPN connection.
Proton’s app detection on desktop is very good. Any .exe file we had was found and properly thumbnailed on our list – a list which usefully retains any app you add permanently, should you wish to amend your list in future.
On mobile, Proton did a great job finding any app we’d installed (including those installed via Chrome), and could even identify and isolate specific system apps. That said, it did take a few seconds to collate the full list of apps, and didn’t give options for specific Chrome ‘apps’ we’d set up on our Android device to quickly access specific websites.
That won’t impact many but it does mean you’re left split-tunneling Chrome as a whole instead of having specific, unencrypted access to sites where VPNs cause issues, including financial sites.
Proton's settings menu is well laid out and offers superb explanations of even its most complex options (Image credit: Future)Finally, we should mention Proton’s kill switch. On desktop, you get two kill switch options: Standard, and Advanced. Standard works as you’d expect. You turn it on, and your internet connection drops if your connection to Proton VPN is interrupted.
Advanced adds another layer to this. It only allows internet access when connected to Proton VPN, and it remains active even after restarting your device.
Testing the kill switch over Stealth, WireGuard, and OpenVPN, Proton foiled all of our tricks to forcibly drop the VPN. We were disconnected instantly and saw no signs of leaks, and that's exactly what you want.
iOS and Mac users get the equivalent of Windows’ Standard kill switch, which is more than good enough. Android users use the Android-native kill switch, which is essentially the Windows Advanced option. While it would be great to see consistency across the board, none of our testing suggests any reason to worry about Proton’s kill switch no matter the platform.
Diving into Proton’s advanced settings offers several other ways to improve your security too.
That means using non-Proton server network methods to ensure online access to Proton users in crisis situation.
You can also choose to allow LAN connections while still connected to the VPN, set up custom DNS servers, choose your specific NAT type and OpenVPN network driver, and enable IPv6 support and leak protection.
This is extensive customization for any VPN. What’s also great to see is that mobile users get almost all of these functions, losing only IPv6 leak protection and OpenVPN network driver choices from the otherwise extensive list.
The final tool in Proton VPN’s security arsenal is NetShield. This is Proton’s ad, tracker and malware blocking tool. It works at a system level, meaning there’s no need for separate installs for at-risk programs such as your browser. It instead protects all of your apps instantly.
We put NetShield to the test against 36 brand-new malware and phishing sites and attempted to access them. We also ran it through an ad-blocking tester. These are our most recent VPN lab results:
Phishing Sites Blocked
Malware Sites Blocked
Ads blocked
NordVPN (Threat Protection Pro)
92%
80%
21%
Proton VPN
32%
4%
88%
ExpressVPN
84%
16%
87%
Surfshark
48%
28%
44%
Proton’s results raise a number of discussion points. Its 32% phishing sites blocked score is a drop from its previous highs, putting it behind competitors like NordVPN. However, blocking 88% of ads means Proton remains top-tier here, achieving double the successful blocks of Surfshark and four times that of NordVPN's basic blocker.
Its 4% malware sites blocked score is concerning, of course. Though curiously, we also found this with ExpressVPN, which scored just 16% in this round, despite both testing well in the past.
As with speed testing, these ad and site blocker tests are only a snapshot in time, and are relative to the latest threats of that particular day. In other words, it might have just been a bad day at the office for ExpressVPN and Proton VPN.
The takeaway message is that, while Proton VPN currently misses a significant number of malware and phishing threats compared to the top performers, its core ad blocking remains highly effective.
Score: 7/10
SpeedProton shot to the top of the pack in our most recent VPN lab speed tests. That's likely thanks in part to its VPN Accelerator technology.
We recently broadened our testing parameters, adding more data points to our testing and increasing our maximum speed capacity to 10 Gbps. This allows for more precise, comparable testing across all VPNs to discern even the smallest differences.
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); #fv-chart-1766055751837-zg9wkkbik *, #fv-chart-1766055751837-zg9wkkbik *:before, #fv-chart-1766055751837-zg9wkkbik *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1766055751837-zg9wkkbik { font-family: 'Open Sans', sans-serif !important; } /* Main Wrappers */ #fv-chart-1766055751837-zg9wkkbik { position: relative !important; overflow: visible !important; --riv-primary: #2E6E93; } #fv-chart-1766055751837-zg9wkkbik .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-1766055751837-zg9wkkbik .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-1766055751837-zg9wkkbik .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-1766055751837-zg9wkkbik .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-1766055751837-zg9wkkbik .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-1766055751837-zg9wkkbik .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1766055751837-zg9wkkbik .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1766055751837-zg9wkkbik .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-1766055751837-zg9wkkbik .fv-dropdown-container { text-align: center !important; margin-bottom: 16px !important; } #fv-chart-1766055751837-zg9wkkbik .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-1766055751837-zg9wkkbik .fv-dropdown:hover { border-color: var(--riv-primary) !important; } #fv-chart-1766055751837-zg9wkkbik .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-1766055751837-zg9wkkbik .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-1766055751837-zg9wkkbik .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1766055751837-zg9wkkbik .fv-carousel-counter { font-size: 14px !important; color: #6b7280 !important; text-align: center !important; margin-top: 1rem !important; } /* Legend */ #fv-chart-1766055751837-zg9wkkbik .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-1766055751837-zg9wkkbik .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #4B5563 !important; } #fv-chart-1766055751837-zg9wkkbik .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } /* Chart Core Styles */ #fv-chart-1766055751837-zg9wkkbik .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1766055751837-zg9wkkbik .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-1766055751837-zg9wkkbik .fv-bar-row, #fv-chart-1766055751837-zg9wkkbik .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; } #fv-chart-1766055751837-zg9wkkbik .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-1766055751837-zg9wkkbik .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-1766055751837-zg9wkkbik .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-1766055751837-zg9wkkbik .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1766055751837-zg9wkkbik .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-1766055751837-zg9wkkbik .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1766055751837-zg9wkkbik .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1766055751837-zg9wkkbik .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-1766055751837-zg9wkkbik .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } /* Stacked Bar */ #fv-chart-1766055751837-zg9wkkbik .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1766055751837-zg9wkkbik .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-1766055751837-zg9wkkbik .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1766055751837-zg9wkkbik .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-1766055751837-zg9wkkbik .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1766055751837-zg9wkkbik .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1766055751837-zg9wkkbik .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-1766055751837-zg9wkkbik .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1766055751837-zg9wkkbik .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1766055751837-zg9wkkbik .fv-bar-cluster .fv-bar-container { height: 20px !important; } /* Line Chart Grid */ #fv-chart-1766055751837-zg9wkkbik .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } /* X-Axis */ #fv-chart-1766055751837-zg9wkkbik .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1766055751837-zg9wkkbik .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1766055751837-zg9wkkbik .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1766055751837-zg9wkkbik .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1766055751837-zg9wkkbik .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1766055751837-zg9wkkbik .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-1766055751837-zg9wkkbik .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1766055751837-zg9wkkbik .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-1766055751837-zg9wkkbik .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #6B7280 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1766055751837-zg9wkkbik .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-1766055751837-zg9wkkbik .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-1766055751837-zg9wkkbik.mobile-view .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1766055751837-zg9wkkbik.mobile-view .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1766055751837-zg9wkkbik.mobile-view .fv-bar-row, #fv-chart-1766055751837-zg9wkkbik.mobile-view .fv-stacked-product, #fv-chart-1766055751837-zg9wkkbik.mobile-view .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1766055751837-zg9wkkbik.mobile-view .fv-bar-label, #fv-chart-1766055751837-zg9wkkbik.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-1766055751837-zg9wkkbik.mobile-view .fv-bar-container, #fv-chart-1766055751837-zg9wkkbik.mobile-view .fv-bar-cluster { width: 100% !important; } #fv-chart-1766055751837-zg9wkkbik.mobile-view .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1766055751837-zg9wkkbik.mobile-view .fv-x-axis-label-space { display: none !important; } #fv-chart-1766055751837-zg9wkkbik.mobile-view .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1766055751837-zg9wkkbik.mobile-view .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1766055751837-zg9wkkbik.mobile-view .fv-logo { width: 60px !important; max-width: 60px !important; } #fv-chart-1766055751837-zg9wkkbik.mobile-view .fv-carousel-nav-btn { padding: 6px 8px !important; font-size: 11px !important; } @media (max-width: 500px) { #fv-chart-1766055751837-zg9wkkbik .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1766055751837-zg9wkkbik .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1766055751837-zg9wkkbik .fv-bar-row, #fv-chart-1766055751837-zg9wkkbik .fv-stacked-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1766055751837-zg9wkkbik .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-1766055751837-zg9wkkbik .fv-bar-container { width: 100% !important; } #fv-chart-1766055751837-zg9wkkbik .fv-x-axis-wrapper:not(.fv-grouped-x-axis) { margin-left: 0 !important; } #fv-chart-1766055751837-zg9wkkbik .fv-x-axis-label-space:not(.fv-grouped-x-axis .fv-x-axis-label-space) { display: none !important; } #fv-chart-1766055751837-zg9wkkbik .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1766055751837-zg9wkkbik .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1766055751837-zg9wkkbik .fv-logo { width: 60px !important; max-width: 60px !important; } #fv-chart-1766055751837-zg9wkkbik .fv-carousel-nav-btn { padding: 6px 8px !important; font-size: 11px !important; } #fv-chart-1766055751837-zg9wkkbik .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ } #fv-chart-1766055751837-zg9wkkbik.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } } { "@context": "https://schema.org", "@type": "Dataset", "name": "WireGuard/fastest VPN protocol", "description": "Subhead to describe the test and what's being measured and why", "creator": { "@type": "Organization", "name": "TechRadar", "logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" }, "isAccessibleForFree": true, "dateCreated": "2025-12-18T11:02:31.837Z", "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized", "keywords": [ "Surfshark (WireGuard)", "NordVPN (NordLynx)", "ExpressVPN (Lightway Turbo)", "ExpressVPN (WireGuard)", "Proton VPN (WireGuard)", "Download speed (local)", "Download speed (long distance)", "Jitter (local)", "Jitter (long distance)", "Latency (local)", "Latency (long distance)", "benchmark", "comparison", "performance", "review", "TechRadar" ], "measurementTechnique": "Performance Benchmarking", "variableMeasured": [ { "@type": "PropertyValue", "name": "Surfshark (WireGuard) – Download speed (local)", "value": 1615, "unitText": "Mbps" }, { "@type": "PropertyValue", "name": "NordVPN (NordLynx) – Download speed (local)", "value": 1256, "unitText": "Mbps" }, { "@type": "PropertyValue", "name": "ExpressVPN (Lightway Turbo) – Download speed (local)", "value": 1479, "unitText": "Mbps" }, { "@type": "PropertyValue", "name": "ExpressVPN (WireGuard) – Download speed (local)", "value": 694, "unitText": "Mbps" }, { "@type": "PropertyValue", "name": "Proton VPN (WireGuard) – Download speed (local)", "value": 1521, "unitText": "Mbps" }, { "@type": "PropertyValue", "name": "Surfshark (WireGuard) – Download speed (long distance)", "value": 355, "unitText": "Mbps" }, { "@type": "PropertyValue", "name": "NordVPN (NordLynx) – Download speed (long distance)", "value": 857, "unitText": "Mbps" }, { "@type": "PropertyValue", "name": "ExpressVPN (Lightway Turbo) – Download speed (long distance)", "value": 1374, "unitText": "Mbps" }, { "@type": "PropertyValue", "name": "ExpressVPN (WireGuard) – Download speed (long distance)", "value": 523, "unitText": "Mbps" }, { "@type": "PropertyValue", "name": "Proton VPN (WireGuard) – Download speed (long distance)", "value": 1242, "unitText": "Mbps" }, { "@type": "PropertyValue", "name": "Surfshark (WireGuard) – Jitter (local)", "value": 2.3, "unitText": "ms" }, { "@type": "PropertyValue", "name": "NordVPN (NordLynx) – Jitter (local)", "value": 2.4, "unitText": "ms" }, { "@type": "PropertyValue", "name": "ExpressVPN (Lightway Turbo) – Jitter (local)", "value": 5.3, "unitText": "ms" }, { "@type": "PropertyValue", "name": "ExpressVPN (WireGuard) – Jitter (local)", "value": 2.4, "unitText": "ms" }, { "@type": "PropertyValue", "name": "Proton VPN (WireGuard) – Jitter (local)", "value": 5.2, "unitText": "ms" }, { "@type": "PropertyValue", "name": "Surfshark (WireGuard) – Jitter (long distance)", "value": 27.5, "unitText": "ms" }, { "@type": "PropertyValue", "name": "NordVPN (NordLynx) – Jitter (long distance)", "value": 4.7, "unitText": "ms" }, { "@type": "PropertyValue", "name": "ExpressVPN (Lightway Turbo) – Jitter (long distance)", "value": 5.7, "unitText": "ms" }, { "@type": "PropertyValue", "name": "ExpressVPN (WireGuard) – Jitter (long distance)", "value": 2.3, "unitText": "ms" }, { "@type": "PropertyValue", "name": "Proton VPN (WireGuard) – Jitter (long distance)", "value": 28.3, "unitText": "ms" }, { "@type": "PropertyValue", "name": "Surfshark (WireGuard) – Latency (local)", "value": 21.7, "unitText": "ms" }, { "@type": "PropertyValue", "name": "NordVPN (NordLynx) – Latency (local)", "value": 17.2, "unitText": "ms" }, { "@type": "PropertyValue", "name": "ExpressVPN (Lightway Turbo) – Latency (local)", "value": 14.8, "unitText": "ms" }, { "@type": "PropertyValue", "name": "ExpressVPN (WireGuard) – Latency (local)", "value": 13.6, "unitText": "ms" }, { "@type": "PropertyValue", "name": "Proton VPN (WireGuard) – Latency (local)", "value": 21.7, "unitText": "ms" }, { "@type": "PropertyValue", "name": "Surfshark (WireGuard) – Latency (long distance)", "value": 171, "unitText": "ms" }, { "@type": "PropertyValue", "name": "NordVPN (NordLynx) – Latency (long distance)", "value": 83, "unitText": "ms" }, { "@type": "PropertyValue", "name": "ExpressVPN (Lightway Turbo) – Latency (long distance)", "value": 75, "unitText": "ms" }, { "@type": "PropertyValue", "name": "ExpressVPN (WireGuard) – Latency (long distance)", "value": 72.1, "unitText": "ms" }, { "@type": "PropertyValue", "name": "Proton VPN (WireGuard) – Latency (long distance)", "value": 90.6, "unitText": "ms" } ]} WireGuard/fastest VPN protocol < Prev Download speed (local) Next > Surfshark (WireGuard) 1615 NordVPN (NordLynx) 1256 ExpressVPN (Lightway Turbo) 1479 ExpressVPN (WireGuard) 694 Proton VPN (WireGuard) 1521 05001,0001,5002,000 Mbps Download speed (local) Data ProductValue (Mbps) Surfshark (WireGuard) 1615 NordVPN (NordLynx) 1256 ExpressVPN (Lightway Turbo) 1479 ExpressVPN (WireGuard) 694 Proton VPN (WireGuard) 1521 Surfshark (WireGuard) 355 NordVPN (NordLynx) 857 ExpressVPN (Lightway Turbo) 1374 ExpressVPN (WireGuard) 523 Proton VPN (WireGuard) 1242 03757501,1251,500 Mbps Download speed (long distance) Data ProductValue (Mbps) Surfshark (WireGuard) 355 NordVPN (NordLynx) 857 ExpressVPN (Lightway Turbo) 1374 ExpressVPN (WireGuard) 523 Proton VPN (WireGuard) 1242 Surfshark (WireGuard) 2.3 NordVPN (NordLynx) 2.4 ExpressVPN (Lightway Turbo) 5.3 ExpressVPN (WireGuard) 2.4 Proton VPN (WireGuard) 5.2 01.534.56 ms Jitter (local) Data ProductValue (ms) Surfshark (WireGuard) 2.3 NordVPN (NordLynx) 2.4 ExpressVPN (Lightway Turbo) 5.3 ExpressVPN (WireGuard) 2.4 Proton VPN (WireGuard) 5.2 Surfshark (WireGuard) 27.5 NordVPN (NordLynx) 4.7 ExpressVPN (Lightway Turbo) 5.7 ExpressVPN (WireGuard) 2.3 Proton VPN (WireGuard) 28.3 07.51522.530 ms Jitter (long distance) Data ProductValue (ms) Surfshark (WireGuard) 27.5 NordVPN (NordLynx) 4.7 ExpressVPN (Lightway Turbo) 5.7 ExpressVPN (WireGuard) 2.3 Proton VPN (WireGuard) 28.3 Surfshark (WireGuard) 21.7 NordVPN (NordLynx) 17.2 ExpressVPN (Lightway Turbo) 14.8 ExpressVPN (WireGuard) 13.6 Proton VPN (WireGuard) 21.7 07.51522.530 ms Latency (local) Data ProductValue (ms) Surfshark (WireGuard) 21.7 NordVPN (NordLynx) 17.2 ExpressVPN (Lightway Turbo) 14.8 ExpressVPN (WireGuard) 13.6 Proton VPN (WireGuard) 21.7 Surfshark (WireGuard) 171 NordVPN (NordLynx) 83 ExpressVPN (Lightway Turbo) 75 ExpressVPN (WireGuard) 72.1 Proton VPN (WireGuard) 90.6 050100150200 ms Latency (long distance) Data ProductValue (ms) Surfshark (WireGuard) 171 NordVPN (NordLynx) 83 ExpressVPN (Lightway Turbo) 75 ExpressVPN (WireGuard) 72.1 Proton VPN (WireGuard) 90.6 1 of 6 Proton VPN is very fast using WireGuard over any distance on its server network. (function() { function initialize() { var chartWrapper = document.getElementById('fv-chart-1766055751837-zg9wkkbik'); if (!chartWrapper) { console.error('Chart wrapper with ID fv-chart-1766055751837-zg9wkkbik 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 ("Carousel" === "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 && "Carousel" !== "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 = "Subhead to describe the test and what's being measured and why"; var globalCaptionJSON = "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized"; var globalSubhead = globalSubheadJSON === placeholderSubhead ? '' : globalSubheadJSON; var globalCaption = globalCaptionJSON === placeholderCaption ? '' : globalCaptionJSON; var subheadOverrides = {"bar-Download speed (long distance)":"Performance of the fastest available protocol for each VPN – speed, latency and jitter"}; var captionOverrides = {"bar-Download speed (long distance)":"Proton VPN holds its average download speeds far better than any other VPN when connecting to distant servers.","bar-Download speed (local)":"Proton VPN is very fast using WireGuard over any distance on its server network.","bar-Jitter (local)":"Proton VPN did record the highest jitter levels, however.","bar-Jitter (long distance)":"The high levels of jitter for Proton VPN might cause some issues when streaming or gaming on WireGuard.","bar-Latency (local)":"Fortunately, Proton VPN was comparable for latency levels.","bar-Latency (long distance)":"The solid latency levels from Proton VPN should mean those streaming and gaming won't experience lag."}; var chartInfo = [{"id":"bar-Download speed (local)","title":"Download speed (local)"},{"id":"bar-Download speed (long distance)","title":"Download speed (long distance)"},{"id":"bar-Jitter (local)","title":"Jitter (local)"},{"id":"bar-Jitter (long distance)","title":"Jitter (long distance)"},{"id":"bar-Latency (local)","title":"Latency (local)"},{"id":"bar-Latency (long distance)","title":"Latency (long distance)"}]; 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() }); })();Having previously recorded only 871 Mbps, Proton now hits an impressive 1475 Mbps download speed using WireGuard over a short-distance connection.
What’s more, when connecting to the US from the UK (i.e. over long distance) using WireGuard, Proton VPN's download speeds have leapt from 436 Mbps to a staggering 1548 Mbps this time round, making it the fastest performer in this test and easily beating ExpressVPN's Lightway Turbo.
Read more about Proton VPN's performance ▼
Both of these results are more than fast enough for any household looking to protect a Netflix binge, gaming session, or just their emails. Among top VPNs, Proton actually takes the top spot for outright speed on short-distance connections (1475 Mbps), comfortably beating out Surfshark (1021 Mbps).
This lead continues over long distances, where Surfshark's respectable 935 Mbps UK to US connection is still nothing like as quick as Proton VPN's staggering 1548 Mbps.
Additionally, gamers will be pleased to know that Proton recorded very stable jitter in our most recent test (16.8ms and 17.8ms on WireGuard).
While for most these figures won't mean much, gamers should take note, since high jitter can contribute to inconsistent online gaming — a trap some competitors fell into this round. Fortunately, Proton VPN's latency recordings were also highly competitive and comparable with the other best VPNs.
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); #fv-chart-1766054351107-296h633e6 *, #fv-chart-1766054351107-296h633e6 *:before, #fv-chart-1766054351107-296h633e6 *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1766054351107-296h633e6 { font-family: 'Open Sans', sans-serif !important; } /* Main Wrappers */ #fv-chart-1766054351107-296h633e6 { position: relative !important; overflow: visible !important; --riv-primary: #2E6E93; } #fv-chart-1766054351107-296h633e6 .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-1766054351107-296h633e6 .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-1766054351107-296h633e6 .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-1766054351107-296h633e6 .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-1766054351107-296h633e6 .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-1766054351107-296h633e6 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1766054351107-296h633e6 .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1766054351107-296h633e6 .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-1766054351107-296h633e6 .fv-dropdown-container { text-align: center !important; margin-bottom: 16px !important; } #fv-chart-1766054351107-296h633e6 .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-1766054351107-296h633e6 .fv-dropdown:hover { border-color: var(--riv-primary) !important; } #fv-chart-1766054351107-296h633e6 .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-1766054351107-296h633e6 .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-1766054351107-296h633e6 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1766054351107-296h633e6 .fv-carousel-counter { font-size: 14px !important; color: #6b7280 !important; text-align: center !important; margin-top: 1rem !important; } /* Legend */ #fv-chart-1766054351107-296h633e6 .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-1766054351107-296h633e6 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #4B5563 !important; } #fv-chart-1766054351107-296h633e6 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } /* Chart Core Styles */ #fv-chart-1766054351107-296h633e6 .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1766054351107-296h633e6 .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-1766054351107-296h633e6 .fv-bar-row, #fv-chart-1766054351107-296h633e6 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; } #fv-chart-1766054351107-296h633e6 .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-1766054351107-296h633e6 .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-1766054351107-296h633e6 .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-1766054351107-296h633e6 .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1766054351107-296h633e6 .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-1766054351107-296h633e6 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1766054351107-296h633e6 .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1766054351107-296h633e6 .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-1766054351107-296h633e6 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } /* Stacked Bar */ #fv-chart-1766054351107-296h633e6 .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1766054351107-296h633e6 .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-1766054351107-296h633e6 .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1766054351107-296h633e6 .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-1766054351107-296h633e6 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1766054351107-296h633e6 .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1766054351107-296h633e6 .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-1766054351107-296h633e6 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1766054351107-296h633e6 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1766054351107-296h633e6 .fv-bar-cluster .fv-bar-container { height: 20px !important; } /* Line Chart Grid */ #fv-chart-1766054351107-296h633e6 .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } /* X-Axis */ #fv-chart-1766054351107-296h633e6 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1766054351107-296h633e6 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1766054351107-296h633e6 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1766054351107-296h633e6 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1766054351107-296h633e6 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1766054351107-296h633e6 .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-1766054351107-296h633e6 .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1766054351107-296h633e6 .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-1766054351107-296h633e6 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #6B7280 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1766054351107-296h633e6 .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-1766054351107-296h633e6 .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-1766054351107-296h633e6.mobile-view .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1766054351107-296h633e6.mobile-view .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1766054351107-296h633e6.mobile-view .fv-bar-row, #fv-chart-1766054351107-296h633e6.mobile-view .fv-stacked-product, #fv-chart-1766054351107-296h633e6.mobile-view .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1766054351107-296h633e6.mobile-view .fv-bar-label, #fv-chart-1766054351107-296h633e6.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-1766054351107-296h633e6.mobile-view .fv-bar-container, #fv-chart-1766054351107-296h633e6.mobile-view .fv-bar-cluster { width: 100% !important; } #fv-chart-1766054351107-296h633e6.mobile-view .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1766054351107-296h633e6.mobile-view .fv-x-axis-label-space { display: none !important; } #fv-chart-1766054351107-296h633e6.mobile-view .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1766054351107-296h633e6.mobile-view .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1766054351107-296h633e6.mobile-view .fv-logo { width: 60px !important; max-width: 60px !important; } #fv-chart-1766054351107-296h633e6.mobile-view .fv-carousel-nav-btn { padding: 6px 8px !important; font-size: 11px !important; } @media (max-width: 500px) { #fv-chart-1766054351107-296h633e6 .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1766054351107-296h633e6 .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1766054351107-296h633e6 .fv-bar-row, #fv-chart-1766054351107-296h633e6 .fv-stacked-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1766054351107-296h633e6 .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-1766054351107-296h633e6 .fv-bar-container { width: 100% !important; } #fv-chart-1766054351107-296h633e6 .fv-x-axis-wrapper:not(.fv-grouped-x-axis) { margin-left: 0 !important; } #fv-chart-1766054351107-296h633e6 .fv-x-axis-label-space:not(.fv-grouped-x-axis .fv-x-axis-label-space) { display: none !important; } #fv-chart-1766054351107-296h633e6 .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1766054351107-296h633e6 .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1766054351107-296h633e6 .fv-logo { width: 60px !important; max-width: 60px !important; } #fv-chart-1766054351107-296h633e6 .fv-carousel-nav-btn { padding: 6px 8px !important; font-size: 11px !important; } #fv-chart-1766054351107-296h633e6 .fv-y-axis-title { padding-left: 5% !important; /* (30/600) for mobile view */ } #fv-chart-1766054351107-296h633e6.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } } { "@context": "https://schema.org", "@type": "Dataset", "name": "OpenVPN performance", "description": "Subhead to describe the test and what's being measured and why", "creator": { "@type": "Organization", "name": "TechRadar", "logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" }, "isAccessibleForFree": true, "dateCreated": "2025-12-18T10:39:11.107Z", "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized", "keywords": [ "Surfshark", "NordVPN", "ExpressVPN", "Proton VPN", "OpenVPN speed (local)", "OpenVPN speed (long distance)", "OpenVPN latency (local)", "OpenVPN latency (long distance)", "OpenVPN jitter (local)", "OpenVPN jitter (long distance)", "benchmark", "comparison", "performance", "review", "TechRadar" ], "measurementTechnique": "Performance Benchmarking", "variableMeasured": [ { "@type": "PropertyValue", "name": "Surfshark – OpenVPN speed (local)", "value": 978, "unitText": "Mbps" }, { "@type": "PropertyValue", "name": "NordVPN – OpenVPN speed (local)", "value": 974, "unitText": "Mbps" }, { "@type": "PropertyValue", "name": "ExpressVPN – OpenVPN speed (local)", "value": 1038, "unitText": "Mbps" }, { "@type": "PropertyValue", "name": "Proton VPN – OpenVPN speed (local)", "value": 240, "unitText": "Mbps" }, { "@type": "PropertyValue", "name": "Surfshark – OpenVPN speed (long distance)", "value": 430, "unitText": "Mbps" }, { "@type": "PropertyValue", "name": "NordVPN – OpenVPN speed (long distance)", "value": 857, "unitText": "Mbps" }, { "@type": "PropertyValue", "name": "ExpressVPN – OpenVPN speed (long distance)", "value": 808, "unitText": "Mbps" }, { "@type": "PropertyValue", "name": "Proton VPN – OpenVPN speed (long distance)", "value": 173, "unitText": "Mbps" }, { "@type": "PropertyValue", "name": "Surfshark – OpenVPN latency (local)", "value": 33.4, "unitText": "ms" }, { "@type": "PropertyValue", "name": "NordVPN – OpenVPN latency (local)", "value": 14.6, "unitText": "ms" }, { "@type": "PropertyValue", "name": "ExpressVPN – OpenVPN latency (local)", "value": 15.5, "unitText": "ms" }, { "@type": "PropertyValue", "name": "Proton VPN – OpenVPN latency (local)", "value": 14.7, "unitText": "ms" }, { "@type": "PropertyValue", "name": "Surfshark – OpenVPN latency (long distance)", "value": 174, "unitText": "ms" }, { "@type": "PropertyValue", "name": "NordVPN – OpenVPN latency (long distance)", "value": 83, "unitText": "ms" }, { "@type": "PropertyValue", "name": "ExpressVPN – OpenVPN latency (long distance)", "value": 73.5, "unitText": "ms" }, { "@type": "PropertyValue", "name": "Proton VPN – OpenVPN latency (long distance)", "value": 73.8, "unitText": "ms" }, { "@type": "PropertyValue", "name": "Surfshark – OpenVPN jitter (local)", "value": 9.8, "unitText": "ms" }, { "@type": "PropertyValue", "name": "NordVPN – OpenVPN jitter (local)", "value": 4.2, "unitText": "ms" }, { "@type": "PropertyValue", "name": "ExpressVPN – OpenVPN jitter (local)", "value": 6.8, "unitText": "ms" }, { "@type": "PropertyValue", "name": "Proton VPN – OpenVPN jitter (local)", "value": 7.3, "unitText": "ms" }, { "@type": "PropertyValue", "name": "Surfshark – OpenVPN jitter (long distance)", "value": 15.9, "unitText": "ms" }, { "@type": "PropertyValue", "name": "NordVPN – OpenVPN jitter (long distance)", "value": 4.7, "unitText": "ms" }, { "@type": "PropertyValue", "name": "ExpressVPN – OpenVPN jitter (long distance)", "value": 11.5, "unitText": "ms" }, { "@type": "PropertyValue", "name": "Proton VPN – OpenVPN jitter (long distance)", "value": 8.1, "unitText": "ms" } ]} OpenVPN performanceAverage download speeds, latency and jitter rates on local and long distance server connections.
< Prev OpenVPN speed (local) Next > Surfshark 978 NordVPN 974 ExpressVPN 1038 Proton VPN 240 03757501,1251,500 Mbps OpenVPN speed (local) Data ProductValue (Mbps) Surfshark 978 NordVPN 974 ExpressVPN 1038 Proton VPN 240 Surfshark 430 NordVPN 857 ExpressVPN 808 Proton VPN 173 02505007501,000 Mbps OpenVPN speed (long distance) Data ProductValue (Mbps) Surfshark 430 NordVPN 857 ExpressVPN 808 Proton VPN 173 Surfshark 33.4 NordVPN 14.6 ExpressVPN 15.5 Proton VPN 14.7 010203040 ms OpenVPN latency (local) Data ProductValue (ms) Surfshark 33.4 NordVPN 14.6 ExpressVPN 15.5 Proton VPN 14.7 Surfshark 174 NordVPN 83 ExpressVPN 73.5 Proton VPN 73.8 050100150200 ms OpenVPN latency (long distance) Data ProductValue (ms) Surfshark 174 NordVPN 83 ExpressVPN 73.5 Proton VPN 73.8 Surfshark 9.8 NordVPN 4.2 ExpressVPN 6.8 Proton VPN 7.3 02.557.510 ms OpenVPN jitter (local) Data ProductValue (ms) Surfshark 9.8 NordVPN 4.2 ExpressVPN 6.8 Proton VPN 7.3 Surfshark 15.9 NordVPN 4.7 ExpressVPN 11.5 Proton VPN 8.1 05101520 ms OpenVPN jitter (long distance) Data ProductValue (ms) Surfshark 15.9 NordVPN 4.7 ExpressVPN 11.5 Proton VPN 8.1 1 of 6 Proton VPN is way behind the other top VPNs for OpenVPN speeds, even when connecting to the nearest server to our lab. (function() { function initialize() { var chartWrapper = document.getElementById('fv-chart-1766054351107-296h633e6'); if (!chartWrapper) { console.error('Chart wrapper with ID fv-chart-1766054351107-296h633e6 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 ("Carousel" === "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 && "Carousel" !== "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 = "Subhead to describe the test and what's being measured and why"; var globalCaptionJSON = "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized"; var globalSubhead = globalSubheadJSON === placeholderSubhead ? '' : globalSubheadJSON; var globalCaption = globalCaptionJSON === placeholderCaption ? '' : globalCaptionJSON; var subheadOverrides = {"bar-OpenVPN speed (local)":"Average download speeds, latency and jitter rates on local and long distance server connections."}; var captionOverrides = {"bar-OpenVPN speed (local)":"Proton VPN is way behind the other top VPNs for OpenVPN speeds, even when connecting to the nearest server to our lab.","bar-OpenVPN speed (long distance)":"It's a similar story for Proton VPN on long distance connections too.","bar-OpenVPN latency (local)":"Proton VPN is, at least, comparable to the others for latency.","bar-OpenVPN latency (long distance)":"Again, Proton VPN's latency is fine over long distance.","bar-OpenVPN jitter (local)":"Only NordVPN performs significantly better for jitter on OpenVPN.","bar-OpenVPN jitter (long distance)":"Again, Proton VPN holds its own for jitter."}; var chartInfo = [{"id":"bar-OpenVPN speed (local)","title":"OpenVPN speed (local)"},{"id":"bar-OpenVPN speed (long distance)","title":"OpenVPN speed (long distance)"},{"id":"bar-OpenVPN latency (local)","title":"OpenVPN latency (local)"},{"id":"bar-OpenVPN latency (long distance)","title":"OpenVPN latency (long distance)"},{"id":"bar-OpenVPN jitter (local)","title":"OpenVPN jitter (local)"},{"id":"bar-OpenVPN jitter (long distance)","title":"OpenVPN jitter (long distance)"}]; 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() }); })();The main area we'd like to see improvements is with Proton VPN’s OpenVPN performance. It's better than it was but, at 449 Mbps download speeds over a local connection, it's still trailing behind the likes of NordVPN (688 Mbps), Surfshark (825 Mbps), and ExpressVPN (1038 Mbps).
OpenVPN is commonly considered more secure and stable than WireGuard. If you’re using Proton for security, you’ll likely find yourself using its Stealth Protocol instead, given it's far more security-focused.
In most other circumstances, WireGuard is more than up to the job. However, you'll definitely need to look elsewhere if you want to use OpenVPN on non-Windows platforms, as Proton now completely excludes OpenVPN support from its Mac, Android, and iOS apps.
Score: 9/10
Unblocking streaming servicesProton VPN has a good track record in successfully unblocking streaming service all around the world but it's by no means the best streaming VPN. The accolade goes to NordVPN.
We lab test VPNs for their unblocking capabilities with Netflix libraries in the US, UK, Japan, Australia, and Canada, as well as Amazon Prime Video, Disney+, and YouTube. To check its regional capacity, we also put them against BBC iPlayer, Channel 4, ITV, 7plus, 9Now, 10Play, and TVNZ+.
Proton handled every Netflix library with ease, just the same as all of our top VPN choices. However, it did hit a few snags this time around, failing with several Amazon Prime Video libraries and requiring a bit of initial trial and error on other major sites.
On the plus side, it comfortably dealt with the likes of iPlayer, 7plus, 9Now, 10Play, and even TVNZ+ (which it had failed to unblock in previous testing cycles). But server-side issues did crop up elsewhere.
Read more about Proton VPN's unblocking capabilities ▼
Trying to access Disney+ UK and ITV saw us blocked when trying to connect from Proton’s London servers; luckily, though, switching over to a Belfast server saw these issues quickly dissipate.
Similarly, un-signed-in US YouTube wouldn’t work via New York servers, but connecting to Colorado was a quick fix. This is still a great win for Proton, though it's worth noting that top rivals like NordVPN and ExpressVPN also successfully unlocked US YouTube from abroad this time around.
It was the local ad-funded streaming services where Proton VPN required a little extra troubleshooting. Beyond just switching server locations, we've found that services like Channel 4 in the UK can struggle unless you temporarily turn off the NetShield ad-blocker.
Fortunately, there are no special "streaming servers" you have to hunt down; you should theoretically be able to stream content from any server in any country. When faced with a block, as happened with Disney+ or YouTube in our tests, we were simply able to click a different city or server in the same country and try again.
A streaming-friendly network allows a greater spread of server load, reduces performance impact, and even allows you to pick servers with better latency to ensure a high-quality experience. So, while we can't claim that Proton is the absolute tip-top for streaming, it's certainly up there with most of the premium contenders.
Score: 7/10
P2P and torrentingProton VPN is arguably the best VPN for torrenting out there right now.
P2P is fully optimized and supported across its entire network of 145 countries for paid users. You can filter into the P2P-optimized servers at the click of a button. I downloaded several test torrents, and had no issues at any point in the process.
Proton VPN supports port forwarding which helps to get the best torrenting speeds. Many major VPNs lack this support owing to the known security risks it brings. That's understandable to a degree, but not only does Proton VPN have features to help people using P2P networks, it's also one of the few VPNs to have a wealth of information in its user base on how to actually do it with guides such as how to torrent safely with a VPN.
You can port forward across Proton VPN’s Windows, Linux, and Mac apps – the last of which was finally added in summer 2025.
If you’re confused or need guidance, Proton has more in-depth posts outlining the risks of port forwarding, how to set it up on its apps, how to manually set it up, and even how to manually set it up on the likes of qBittorrent and uTorrent.
This level of guidance is something we’d rarely expect, let alone the level of support on its apps.
If you want to use a VPN for torrenting, then given all this, and Proton's speeds and server network spread, then you really have to have it on your P2P shortlist.
Score: 5/5
CompatibilityProton VPN does a remarkable job of not only offering a strong spread of apps, but also ensuring there aren’t huge gaps in features from one app to another.
You can use Proton VPN on Windows, Mac, iOS, and Android as expected – plus it has a GUI client for Linux users. Android smart TVs also get an app, as well as Fire TV Sticks and Apple TV boxes.
The Proton VPN browser extension is available on Chrome or Firefox. As with ExpressVPN, PIA, and CyberGhost, you need to download the Chrome Web Store extension onto Edge to get Proton VPN on Microsoft's browser.
Proton VPN is also router-compatible and has a handy, detailed guide that explains what methods you can use to set this up.
In terms of parity across platforms, Proton VPN is near-perfect nowadays, unlike VPN providers such as NordVPN.
The anomalies for Proton to speak of are that its mobile apps lack advanced condition-based auto-connect rules (relying instead on a basic "Always-on" reconnect function), and non-Windows users completely lose native OpenVPN support. This makes Windows the exclusive home for OpenVPN on official desktop/mobile apps.
Proton has pulled native OpenVPN support from mobile and Apple apps to favor faster, more secure modern protocols like WireGuard and Stealth. Interestingly, while iOS lost IKEv2 support alongside OpenVPN, macOS actually still retains native IKEv2 support within its app settings. Should you wish to use OpenVPN on Mac, Android, or iOS, Proton does, however, offer in-depth guides to manually configuring those connections.
Prior to summer 2025, Proton users on Mac were also short of both port forwarding and split tunneling capabilities. These features have since both been introduced—though it's worth noting that split tunneling on macOS is currently labeled as an "experimental" feature, giving Mac users slightly less parity than Windows.
Score: 4/5
UsabilityAfter signing up for Proton VPN, you have two main ways to get your app downloaded.
First off, if you click the ‘Download’ tab at the top of your screen, you’re quickly presented with every app Proton has, including its extensions, mobile apps, and Smart TV apps – though I highly doubt you’ll be downloading Proton to your Smart TV via the website! If you’re on a smaller screen, the download tab is hidden in the hamburger (three-line) menu in the top right corner.
Alternatively, from the website, if you go into your Proton account (found in the top-right corner of your screen), you can access some more specific application types.
The Proton VPN website is a simple access point to downloading all of its apps and web extensions (Image credit: Future)Read more about Proton VPN's usability ▼
In the downloads section, you can quickly access APK, GitHub, and F-Droid versions of its Android, Android TV, and Chromebook apps. You’ll also find here your configuration settings to manually set up OpenVPN or WireGuard on Android, iOS, Windows, Mac, Linux, or a router.
Once you click the download button, you’re on your own, in the app, at least. The download client gives you the option to install Proton Drive, Proton Mail, and Proton Pass, alongside the VPN, and then, once Proton VPN is loaded, you log in, click ‘Get Started’, and go.
User ExperienceOnce you’re in, Proton’s hues of reddish purple and black could leave a beginner wondering quite how complex an experience they’re in for; luckily, all of Proton’s apps are simple.
This visual identity is consistent across all of Proton’s platforms, as is the simplicity. The key differentiator between Proton VPN on desktop and Proton VPN across other platforms is the map aspect of its interface. On Windows and Mac, the map can be used to identify and connect to a server.
On mobile, this map isn’t navigable, though it shows the country you're connected to from the list. On smart TVs, there isn't a map at all.
In reality, I rarely find myself using the map as a connection location tool with any VPN I use. A search field and list proves quicker in my experience.
No matter the platform you’re on, you’re directed towards everything you’d need straight away.
Smart TVs understandably have the fewest quick action options, but everything other than server location is found under settings, so you’re not left trawling a bunch of submenus using a TV remote – even though Android TVs have to go to the bottom of the locations menu to find the settings panel.
Finding the server you’re after couldn’t be simpler, either. The app doesn’t hide its Tor, Secure Core, or P2P servers entirely. Instead, it offers dedicated tabs across desktop and mobile, and shows each country’s server types in their server lists on Smart TVs. You can even search by individual server code if you know the one you want.
One area Proton previously struggled with was its browser extension, but it has bounced back significantly. While it used to suffer from poor user reviews, it has climbed to a solid 4.0 rating on the Chrome Web Store, matching rivals like Surfshark.
It still offers less customization than the main apps, allowing access only to standard or Secure Core servers, and its settings menu remains primarily focused on data sharing rather than technical features. However, it's a much cleaner experience than it used to be.
I’d also like to see Proton make more efficient use of space in its desktop apps. The Proton map interface takes up an extraordinary amount of space for fairly limited use – one reason why NordVPN completely overhauled its desktop dashboard layout in early 2026 to favor a search bar instead.
Meanwhile, key features such as protocol selection and auto-connect aren’t front and center where they could be.
Proton VPN's mobile and smart TV apps do a much better job of managing space. They prioritize quick access to server locations and connection types, with the map present only once connected.
Quibbles aside, I'm really impressed with the Proton VPN apps. Using features is simple thanks to high-quality explainers under each option, plus links out to some key guides when the setting is more advanced, such as port forwarding.
You can also tell what features are active by whether they’re greyed out or in full color, and on desktop platforms, you’re given a bunch of keyboard shortcuts to make accessing sections of the app quicker than it already is.
The main anomalies across platforms are that mobile apps only offer standard "Always-on" auto-reconnection rather than advanced condition-based rules, and native OpenVPN support is completely missing from Mac, iOS, and Android apps — making Windows the exclusive home for the protocol inside Proton's native software.
You also get full customization of your security options, should you wish, but equally, beginners won't feel pushed into making changes they're not ready for, and they won't get bombarded with complex terms.
Of course, the most prominent feature of any VPN app should be the big Connect button, and that's nice and clear with Proton. There's no fuss, no confusion, just simple security on every platform.
Score: 4/5
AccessibilityPutting ProtonVPN.com through accessibilitychecker.org’s accessibility scan gave us some interesting insights.
Proton VPN’s accessibility audit scored 53% overall, closing the gap on the likes of NordVPN (65%) and Mullvad (95%), while pushing well ahead of providers such as Surfshark (23%). PureVPN remains tied with Proton's historical baseline at 35%.
Diving into the report, the site's issues primarily surround screen reader testing. The automated auditing highlights that multiple page structure and coding problems remain, which greatly reduce its overall screen reader compatibility.
In relation to the industry as a whole, however, Proton’s new 53% score is quite respectable, placing it a mid-range 6th place out of 14 major tested providers. Accessibility is clearly an area that still needs greater focus across the entire industry.
Outside of web-based metrics, Proton VPN's actual application does a great job of accommodating people's physical needs.
Ditching our mouse still meant we rarely struggled using the desktop app with the keyboard alone. On a few instances, we were jumped to unintended areas of the app, and sometimes our selection rectangle just disappeared entirely, but never often enough to stop us from connecting successfully. We also never struggled to search servers specifically, nor did adjusting settings prove difficult.
From our experiences, you’ll likely only find a better keyboard experience using either PIA or ExpressVPN. ExpressVPN has long focused on simplicity in its apps, so success in this regard is no surprise. Proton VPN did a better job in this regard than NordVPN, though.
Proton also completely knocks other premium VPNs out of the water when it comes to localized language support. It natively offers 36 languages across its clients. That makes Proton VPN’s language total significantly larger than major competitors like NordVPN and Surfshark.
So, while Proton could still do better in terms of visual screen-reader compliance, it remains highly accessible in almost every other practical metric.
Score: 3/5
Customer supportAccessing support for Proton VPN is simple. First off, you can use its FAQs, guides, and resources hub to access guides on almost any topic.
Testing the depth of its guides using ‘DNS’ as a search, it was great to see guides on everything from DNS leaks, to flushing DNS caches, and how you can use custom DNS.
It even filed in instances where DNS was a related topic and highlighted the relevant text. For example, it pulled in Proton’s streaming troubleshooter guide since DNS over HTTPS can contribute.
These guides are easily accessible, too. Whether it’s via a couple of clicks in the Windows app or two taps on mobile, you can quickly enter the Proton Support Center, report issues with your service, or access debug logs to help support assistants troubleshoot your problem.
If you are a paid user on the VPN Plus or Unlimited plans, you also get access to priority support and a dedicated live chat feature to bypass the ticket queue entirely. Keep in mind that if you are using the completely free version, live chat is locked away and you'll be reliant solely on the help documents and email ticketing.
Alternatively, if you run into a unique technical glitch, Proton has one of the absolute busiest Reddit communities in the entire VPN space. With roughly 600+ weekly contributions, the r/ProtonVPN subreddit is a thriving hub for user-to-user troubleshooting that regularly beats out rivals like NordVPN or ExpressVPN for active community help.
The Proton support hub offers reams of depth, with explainers, how-to's and troubleshooting guides for even complex issues. (Image credit: Future)Read more about Proton VPN's customer support ▼
Next, we tested the skills of Proton’s support agents. We raised the question, “What do we do if we can’t access .onion websites while connected to Tor over VPN?” and got a reply via ticket in around five minutes!
What was more impressive was that our response wasn’t just an automated acknowledgment — we got some sensible suggestions right off the bat around testing different servers, switching browsers, and disabling NetShield. We were also asked for more details to help pinpoint the issue.
At this stage, though, the standard slipped a bit. Our agent became bogged down in browser troubleshooting, and response times jumped from five minutes to around three hours. What we received at the end of that wait felt a bit underwhelming for the amount of information we’d provided.
To be fair to the agent, browser and platform quirks are common culprit areas for Proton's Tor integration. For instance, desktop Firefox requires a manual configuration tweak to resolve onion URLs, Firefox for Android won't open them at all, and Apple users must have their app Kill Switch turned on just to get Tor traffic to pass cleanly.
Even so, the handling could have been smoother. By comparison, we’ve put the same question to NordVPN in the past, and, while the initial response was slower, we received a much more cohesive set of diagnostic questions and an all-around more reassuring experience.
Proton’s lightning-fast initial response does deserve credit, though. Plus, our broader experiences with their team over our months of testing have generally been highly reliable more often than not.
Score: 4/5
User reviewsWhile not perfect by any means, review sites often prove a good initial gauge of how trustworthy a VPN is, how well it performs, and what issues it’s had in the past.
Proton VPN’s mobile apps are among the best on the market. Its stellar ratings of 4.7 on the Google Play Store and 4.6 on the Apple App Store are a fair reflection of its capabilities and put the VPN provider very much on par with our other top recommended services.
Google Play
App Store
Trustpilot
NordVPN
4.6
4.7
4.2
Windscribe
4.6
4.6
4.7
Surfshark
4.6
4.7
4.3
Proton VPN
4.7
4.6
2.2
ExpressVPN
4.7
4.7
4.1
On the desktop side, its Chrome Extension has undergone a major redemption arc. While it historically lagged behind with a mediocre user rating due to early performance bugs, a series of major software overhauls has seen its score climb to a highly respectable 4.1/5 on the Chrome Web Store.
It’s a massive improvement that brings it right back into the conversation with competing browser extensions.
Proton’s Trustpilot reviews offer further food for thought, since scoring a 2.2 out of 5 is still quite low compared to its app store success. There isn’t a single trending theme driving the negative reviews either—unlike, for example, NordVPN’s frequently targeted auto-renewal policy.
It's also worth noting that Proton has a comparatively tiny footprint here with just 901 reviews in total, while the likes of ExpressVPN and Surfshark have accumulated over 25,000.
It is somewhat strange that these complaints aren't widely reflected in the highly positive mobile app store reviews. Ultimately, while a chunk of 1-star Trustpilot reviews shouldn't be ignored completely, the actual day-to-day performance of the product and our rigorous long-term lab testing simply do not tally with those specific negative metrics.
Track record: can you trust Proton VPN?Proton has a strong track record of proving its commitment to privacy. Since 2022, the VPN provider has undergone yearly no-logs audits. The latest was published by independent auditors in September 2025, but its history of transparency goes back long before this.
What’s more, all of Proton VPN’s apps are open source. This means that anyone can look at, and judge, the code found in each app. By going open source, anyone can check and confirm that Proton’s apps work properly and do everything they’re supposed to safely – providing peace of mind that there isn't anything malicious happening behind the scenes.
The company also helps fund external projects that work to protect people's privacy and in January 2026, it donated over $1.27 million to a variety of digital rights groups. Organizations included Transparency International, Witness, EDRi and Lighthouse Reports.
Despite this, there are a handful of high-profile legal incidents involving its sister product, Proton Mail, that continue to concern some privacy advocates.
In September 2021, Proton was compelled to log and hand over the IP address of a French climate activist. Later, in May 2024, Proton complied with a request to hand over the optional recovery email address of a Catalan independence activist, which authorities then used to identify them via Apple.
Most recently, in March 2026, Proton was forced to share credit card payment data with the FBI regarding an activist in Atlanta.
Read more about Proton VPN's track record ▼
What many critics fail to realize is that Proton did not directly cooperate with foreign governments in any of these cases. Foreign law enforcement agencies had to apply through international legal channels to Swiss courts.
Because Proton is a Swiss company, it cannot ignore a legally binding Swiss court order. Crucially, in none of these cases was Proton's end-to-end encryption broken — no email content, message text, or core data has ever been compromised. The users were ultimately exposed due to peripheral metadata they chose to provide, such as personal credit cards or personal recovery emails.
It also must be remembered that these cases strictly surround Proton Mail, not Proton VPN, and these products are handled entirely differently under Swiss law.
Proton’s privacy policy does a good job explaining this, explicitly noting that Swiss regulations do not force VPN providers to log data, whereas email services can be required to disclose IP logs or account metadata in the event of a Swiss criminal investigation.
The other sensible move for people using Proton Mail is not to register a recovery email address in the first place, although that comes with the obvious risk of losing access to your account.
While it's understandable why these legal disclosures shook the trust of some users who mistook privacy for total anonymity, they do not warrant concern about the VPN itself. To Proton’s credit, it goes to great lengths to remain transparent about its legal obligations, and its core zero-knowledge encryption architecture remains entirely intact.
Score: 4/5
Final verdict(Image credit: Future / Gemini)Proton VPN is, without doubt, a top VPN. It offers a huge array of locations, superb speeds, and rock-solid security. It's surprisingly good value too, when you compare it to the equivalently-featured tiers of other VPNs.
Proton VPN's track record and high levels of privacy are what it should be most proud of, though. Of all the VPNs we recommend, it's the one we'd bet our lives on if we really had to.
It’s also a highly customizable VPN with stunning apps. Its whole ecosystem of Big Tech alternative software is well worth using if you like them.
Who should use Proton VPN?✅ Torrenters: Proton’s breadth of P2P support, and, more importantly, port forwarding support, make it perfect for torrenting. Plus, it offers a wealth of knowledge guides to help you stay safe and effective.
✅ Those wanting to move away from Google: Picking up a Proton Unlimited plan opens the door to more than just Proton VPN, you can use its secure storage, email.
Right now, you can get Proton VPN for only $2.99/month on a 2-year deal. It’s got sleek, customizable apps, servers in 145 countries, and doesn’t struggle to unblock your favorite streaming services thanks to its full streaming optimization and high download speeds.
What’s more, unlike many top VPNs, it has port forwarding support, and guides to equip you to use this and all of its other tools to the maximum. Try risk-free with Proton’s 30-day money-back guarantee. View Deal
Who should try a different VPN instead?❌ Streamers: While Proton VPN can definitely unblock streaming services, it struggles more than some may like. You can likely find stronger streaming performance for a similar or cheaper price if this is a priority.
Also considerNordVPN – The best VPN overall ($3.39 $2.99)
While Proton VPN offers much to please privacy purists, our tests have found no better VPN than NordVPN right now. Like Proton, NordVPN has a 10-device limit, but it offers faster speeds, improved streaming performance, and unique tools such as Threat Protection Pro and Meshnet. You can try NordVPN risk-free with its 30-day money-back guarantee. View Deal
Proton VPN is based in Switzerland. This is because the country has strong privacy laws, and isn’t part of any intelligence-sharing agreements. This means it’s highly unlikely that any request from a country to access Proton’s data will be approved.
Does Proton VPN support port forwarding?Yes. Unlike many of the top VPNs, Proton VPN offers full port forwarding capabilities. While the provider is aware of the risks, it offers in-depth guides to explain what those risks are and how to go about port forwarding safely.
Is Proton VPN blocked by Netflix?No, our testing showed that Proton VPN has no issues accessing Netflix. We tested the provider with Netflix’s UK, US, Canadian, Australian, and Japanese libraries and saw no issues throughout.
Proton VPN testing methodologyAlongside the features that I've tested on my own devices, I'll also refer to what "we" have tested in this review. When I talk about "we", I'm referring to anything found during our lab testing. This testing is conducted by VPN Technical Editor, Mike Williams. Mike has been lab testing VPNs for over 11 years.
Each VPN is tested every six months. We measure speed, ad-blocking, anti-phishing and malware, streaming service unblocking, local IP address leaks, and more. Each server network is spot-checked to confirm that the VPN server locations are accurate. We also confirm a provider's security credentials, privacy policy, and executable files are secure and safe.
To find the full details of our VPN review processes, you can take a look at our VPN testing methodology.
This review has been fact-checked by the TechRadar VPN team, as well as with information provided by Proton. We update this review regularly to include any new features or information about the product. That means that this review is always up to date and as you would find the product if you downloaded and used it today.
If you notice anything in your experience of using Proton VPN 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.