Unlike most other modern computing devices, Raspberry Pis have no internal storage, relying instead on removable microSD cards as their primary boot drives. While it’s true that you can boot a Raspberry Pi 4 off of an USB SSD or Flash Drive, most of the time, it’s easier, more affordable and an overall better idea to stick with a microSD card.
But which microSD card should you buy for your Raspberry Pi? To help find the answer, we tested ten different 32GB cards on a Raspberry Pi 4, a Raspberry Pi 3 B+ and a Raspberry Pi Zero W to see which offers the best performance for the money.
We chose the 32GB capacity because it offers more than enough room for most use cases while not being appreciably more expensive than 16 or 8GB cards. Raspberry Pi OS can run on a card that’s as small as 8GB, but that leaves you very little extra space. And even if you are running a game emulation system with lots of ROMs, you are unlikely to exceed 32GB (though some have).
The Best microSD Cards for Raspberry Pi
We’re honestly shocked that the best performing Raspberry Pi microSD card in our roundup is also the cheapest one and comes from a lesser-known brand. It’s also rated UHS Speed 1 rather than 3, although these ratings are largely meaningless (at least for Pi owners). In fact, we were so surprised at this card's performance that we tested a second unit to make sure the first one wasn’t a fluke.
For a price of just $6.99 (£5.99) at publishing time, the Silicon Power 3D NAND achieved the highest speeds on the Raspberry Pi 4 in almost all the IOzone tests, especially with 4K random writes. It also, by a hair, loaded all of our apps fastest on the Pi 4, though its boot time was second slowest. The Silicon Power NAND 3D card also performed well on Raspberry Pi 3 B+ and Pi Zero W, though it didn’t lead in as many categories.
In addition to its performance, the card has one huge advantage over most of its competitors: the ability to physically write on it. Because the surface is partially white, you can scribble on it with a Sharpie marker. That helps immensely when you have multiple cards in a drawer and don’t know which is which.
SanDisk claims that the Extreme Pro can read at up to 100 MBps and write at up to 90 MBps and has labeled it with a UHS rating of 3, a Video Speed Rating of 30 and an Application Speed rating of A1. As we note below, these ratings aren’t very useful, but nonetheless, this card is indeed one of the fastest around.
On the Raspberry Pi 3 B+, the SanDisk Extreme Pro finished first in six out of eight IOzone tests, including random 4K reads and writes. On Raspberry Pi 4, the card was within a few tenths of a second of the fastest application open times on the Raspberry Pi 4 and it was 0.5 MBps or less behind the leader in the all-important 4K random read and write speeds on IOzone. It also had the fastest sequential write speed on the Raspberry Pi Diagnostic test.
SanDisk backs the Extreme Pro with a limited lifetime warranty and claims that it is waterproof, shockproof and X-ray-proof.
The Kingston Canvas React was in the upper performance tier on nearly all of our Raspberry Pi microSD card tests and it stood out by being the fastest booter on both the Raspberry Pi 4 and Raspberry Pi 3 B+. It also provided application open times that were consistently among the best.
The card’s only real downside is modest (but not terrible) 4K reads and writes on the Raspberry Pi 4. On the Raspberry Pi 3 and Zero, which have a slower microSD card reader, its 4K scores were better relative to the competition.
Kingston backs the Canvas React with a limited lifetime warranty, but it does not claim that the card is waterproof or shockproof in its market materials.
While it doesn’t win every test, the Samsung Pro Endurance is a great all-around Raspberry Pi microSD card that promises up to 25 times greater longevity than a typical card. While we can’t prove or disprove this claim, we do know that Samsung has an excellent reputation in the industry and backs the card with a limited lifetime warranty. The company also says that the card is waterproof, temperature-proof and X-ray-proof.
The Samsung Pro Endurance comes close to the leaders on application open times and boot times while achieving fast transfer speeds on every test on every Pi model. On the Raspberry Pi 4, it achieved the fastest 4K random reads on IOzone and the speediest sequential transfer rate in the Raspberry Pi Diagnostics tool. Though it is labeled as UHS 1 speed, it hangs with or outpaces cards that are labeled UHS 3. At $10.99 at publish time, it’s not the cheapest card, but also not the most expensive.
Selling for a modest $8.51 (£7.29) at publication time, the Samsung Evo Plus offers solid performance from a highly-trusted brand at a very reasonable price. Samsung backs the Evo Plus with a 10 year warranty and claims that the card can survive X-rays, magnetic radiation and even 72 hours in seawater. Most of us probably aren’t worried about submerging a card in water, but it’s nice to know that if you waterproof your Raspberry Pi, the card will be fine too.
In our tests on the Raspberry Pi 4, the Samsung Evo Plus offered consistently strong application opens, coming within 0.2 to 0.3 seconds of the leader. It also booted in a speedy 24.7 seconds, only 0.7 seconds slower than the Kingston Canvas React. The card had solid transfer rates in IOzone, though its 4K random writes were a little disappointing (rates were much higher in the Raspberry Pi Diagnostic test). On the Raspberry Pi 3 B+, the Evo Plus got really good application open times and slightly better 4K writes.
Other Raspberry Pi microSD Cards We Tested
Not every product deserves to be listed as one of the best Raspberry Pi microSD cards. Here are some other cards we tested and our brief take on each.
- SanDisk Extreme: This card really was not bad, offering solid all-around performance for, at press time, a little more than $10 or £10.
- PNY Performance Turbo: The most expensive card we tested at $14.90 (UK price N/A), this card did not live up to its name or its price tag. The Raspberry Pi Diagnostic tool gave the Performance Turbo a failing grade, thanks to an awful 4K random write speed of 0.8 MBps. Its sequential numbers were also subpar.
- Lexar 633x: The second least expensive card we tested, the Lexar 633x isn’t all bad. Its app open and boot times were good, but its 4K random write speed and its sequential write speed were poor enough for it to flunk the Raspberry Pi Diagnostic test.
- Silicon Power Elite: This card costs a few dollars more than the Silicon Power 3D NAND and yet it performs so much worse. It was the slowest card to boot by far, taking more than twice as long as the fastest booting card on both the Pi 4 and Pi 3 B+, the Kingston Canvas React. It had the slowest app open times and also failed the Raspberry Pi Diagnostic Test.
- Fatty Dove: You wouldn’t expect much of a no-name brand like Fatty Dove so you won’t be disappointed. This card was rated UHS 3, proving how meaningless these speed numbers are. It failed the Raspberry Pi Diagnostic test, thanks to really poor 4K random writes and overall sequential writes.
MicroSD Speed Ratings and Types: What Do They Mean?
When you’re shopping for a microSD card, whether it’s for Raspberry Pi, a phone, a camera or a Nintendo Switch, you’ll see as many as four different types of speed ratings listed, the first three of which measure minimum sequential write speed in MBps. The SD Association provides a detailed explanation by to keep it simple, here’s a brief list:
- Speed Class: The oldest class system appears with a circle around the number. The highest class, class 10, is a mere 10 MBps so any new card will meet this standard.
- UHS Speed Class: This is the most common spec and appears as either a 1 or a 3 inside of a U symbol. The 1 promises 10 MBps and the 3 offers 30 MBps. However, in practice, we’ve tested cards rated as UHS 1 that were just as fast as 3s.
- Video Speed Class: This is shown as a V with a number after it and is commonly shown as V30 (30 MBps), V60 (60 MBps) or V90 (90 MBps).
- Application Speed Class: This is a newish metric that measures IOPS rather than sequential throughput. Cards can be rated either A1 (1,500 IOPS random read / 500 IOPS random write) or A2 (4,000 IOPS random read / 2,000 IOPS random write). Few of the cards we tested were rated for A1 (and none for A2) as 32GB cards don’t tend to have this classification. However, several users in the Pi community report that the A2 cards make no difference in Pi performance. Jeff Greeling has a comprehensive article comparing A2 and A1 microSD card performance on Raspberry Pi where he finds zero benefit.
Almost all cards are marked with the UHS rating or 1 or 3, fewer have the Video Speed and only a few high-end cards are marked with the Application Speed. In addition to labeling their cards with some of these classes, vendors will offer their own estimates that are much more generous. For example, Samsung claims that its Pro Endurance card can get up to 100 MBps reads and 30 MBps writes, even though it is only labeled as UHS class 1 (10 Mbps). In practice, these classes meant nothing, because cards with UHS class 1 often outperformed those with class 3.
You’ll also see that some cards are listed as microSDHC while others are specked as microSDXC. These standards mean nothing for performance and only tell you something about the capacity that you already know from the number of GB. microSDHC (high capacity) cards are those that go up to 32GB and microSDXC cards support higher capacities (but could also be 32GB). Either type works fine in a Raspberry Pi.
How We Tested Raspberry Pi microSD Cards
We used a combination of synthetic and timed tests to measure microSD card performance on Raspberry Pi. Because it has the highest possible transfer speeds, we ran the full suite of tests on the Raspberry Pi 4, including FIO (Flexible Input / Output tester), which usually took more than five hours to complete. On the Pi 3 B+, we ran just IOZone and the application and boot time tests and, on the Pi Zero W, which is slow to open every app, we used IOZone alone.
IOZone Results on Raspberry Pi microSD Cards
IOzone is a popular Linux storage benchmark that measures read and write speeds. We owe a huge hat tip to Jeff Geerling whose excellent article on microSD card benchmarks inspired us to use IOzone in our testing. We configured it to test both random and sequential reads of 4K and 1,024K blocks with a total file size of 100MB. We also enabled the direct I/O option that bypasses the operating system’s cache so we’re getting a better idea of the card’s performance on its own.
When we tested on the Raspberry Pi 4, the Silicon Power 3D NAND card, which coincidentally is listed as UHS Speed 1, comes out on top in the all-important 4K random write, 4K sequential write, 4K sequential read, 1,024K random read and 1,024K sequential read tests. The SanDisk Extreme Pro, Samsung Pro Endurance and Kingston Canvas React all put in strong showings as well. The Silicon Power Elite, while more expensive than the company’s 3D NAND did very poorly as did the Lexar 633x, the PNY Performance Turbo and the Fatty Dove 32GB card.
The SanDisk Extreme Pro dominated the IOzone tests on the Raspberry Pi 3 B+, placing first in every category but 1,024K random writes and 4K sequential writes. The same cards that did poorly on the Raspberry Pi 4 were equally awful on the Pi 3 B+.
IOZone performance on the Raspberry Pi Zero W was more of a mixed bag, with a more even spread of top performers in different rounds. However, the SanDisk Extreme Pro won the most rounds.
Application Open Times of Raspberry Pi microSD Cards
One of the most visible manifestations of Raspberry Pi microSD card performance is how quickly your favorite apps load. To measure, we timed four popular pieces of software: Chromium Browser, GIMP, LibreOffice Calc and Scratch Desktop 3. For better or worse, on both the Raspberry Pi 4 and 3 B+, there was very little difference between the best and worst open times, with differences of tenths of a second separating the competitors.
Despite the minor differences between cards, on the Pi 4, the Silicon Power 3D NAND had the fastest times on every app while different cards came out on top for each application on the Pi 3 B+.
Boot Times on Raspberry Pi microSD Cards
Eight out of the ten cards booted Raspberry Pi 4 in between 24 and 26 seconds, with the Kingston Canvas React taking the crown at 24 seconds. Though the Silicon Power 3D NAND card did so well on application opens, it had a significantly slower boot time. And, at 49.3 seconds, the Silicon Power Elite card was a disaster.
The boot times on the Raspberry Pi 3 B+ told a similar story. All of the non-Silicon Power cards were within two seconds of each other, with the Kingston Canvas React again taking the booting crown. The Silicon Power 3D NAND card wasn’t awful at 28.9 seconds, but the Elite took a leisurely 50 seconds.
Raspberry Pi Diagnostics SD Card Speed Test
The Raspberry Pi Foundation has its own speed test, which measures 4K random reads and writes, along with sequential writes (of an undisclosed size). The test not only provides numbers, but also a pass or fail rating, based on the results.
We tested all of our cards on the Raspberry Pi 4, using the Diagnostics test and four of them -- the PNY Performance Turbo, Lexar 633x, Silicon Power Elite and Fatty Dove outright failed -- due to horribly slow 4K random writes. While the numbers were sometimes higher than we saw for the same cards in IOzone, they told a similar story.
The fastest card for 4K random writes was the Silicon Power 3D NAND while the leader in 4K random reads was the Samsung Evo Plus and the sequential winner was the SanDisk Extreme Pro.
The differences between the best cards are subtle enough that you may not be able to tell our top choice from one further down the list in every workload. However, our testing shows that clearly not every Raspberry Pi microSD card is the same and there are many poor performers you should avoid. And just because a card carries a particular speed rating, for example UHS 3, that doesn’t mean that it will be faster than another card that has a lower rating.