Choosing a micro SD card for your Raspberry Pi is a mess
Like many other IT components, manufacturers seem to voluntarily hide the true potential of their products (often behind a good marketing, names for example: pro, pro+, extreme pro, ultimate mega pro++, etc ^^)
Yes, a micro SD card is not as expensive as a graphics card or a processor, so it’s not a big deal. But you need to know the truth 🙂
To help you best, I needed to choose my recommended products on real data, not only on my experience.
That’s why you’ll find in this post a complete review of the SD cards I currently have at home, and a few more I bought just for this comparison.
I’ll give you some general advices to choose a micro SD card the right way, then benchmark all my SD cards to know the real performances, and finally give you my opinion about this
How to Choose a Micro SD Card?
As I just said, choosing a SD card is not easy for most people
They probably choose it based only on their budget, their favorite brand or the Amazon recommendation 🙂
But if you are reading this, it’s probably to do better than that
You’ll learn here a few tips to better choose your next SD card for your Raspberry Pi, or any other device
The goal in this first part, is just to list what you can find in the products descriptions to help you to make this choice before buying
Things to consider
Many projects are possible on Raspberry Pi, and they don’t require the same hardware. So, I can’t really give you the “best” SD card for any situation.
But there are a few things to consider while choosing a SD card
Ok, the size of the SD card is probably the first filter you already use while buying online
A giant Retropie collection or a beginner just installing Raspbian for the first time doesn’t need the same product
By the way, if you are a beginner, avoid choosing a model under 16 GB
The minimum recommendation for Raspbian Desktop is 8 GB, but you’ll quickly run out of space
And there is almost no price difference between 16 and 32 GB, so I would recommend 32 GB as a minimum, even for a beginner on a low budget (you’ll save more on other components)
With 32 GB you can try any project on Raspberry Pi
You just need to increase this value if you want to store more files, for example with retro gaming or media center solutions
For information, it’s now possible to find 1 TB micro SD card for a decent price (Sandisk Extreme is available on Amazon for example), but I’m not sure if it’s really a good idea
An external hard drive will give you the same space for a small portion of this price (ex: Seagate 1TB on Amazon)
So, if you need a huge storage, check carefully if you can do the same thing with a small SD card for the system, and an additional drive for your files (USB or NAS)
On a standard micro SD card for Raspberry Pi (around 32 GB), prices are almost the same, whatever the brand or model you choose
In my comparison, they are all available around between $8 and $12, so it’s not the first criteria for me
I have just one around $15 that is over-priced for me, but even if you take this one, it’s not a big deal
For a bigger SD card, you will see the price spread depending on the model you choose
For a 256 GB SD card, I have two around $50, two around $60 and the over-priced one at $120!
So yes, in this case you can probably save $60 if you don’t buy the most expensive (and it’s not even the best!)
In short, keep an eye on the pricing versus other models, but don’t use this as your primary criteria
This one is funny 🙂
On websites, you’ll see for each model an indication of the “Write speed” and “Read speed”
Maybe it’s 100 MB/s and 80 MB/s, or 150 MB/s and 90 MB/s, etc.
You’ll read something around 100 MB/s for most of them, but none of them got this result in my benchmark, and they are even further from this in a real life usage
The only thing you could guess from this, is the best model in a same brand, by comparing the value given for each model. And it’s not always true 🙂
SanDisk also give you their own “performance rank” on each model, but different models have the same result, so it doesn’t help either
For me, the only things to check to filter results on these criteria is the Speed class
You’ll find it indicated on any SD card. Generally it would be formatted like ‘Class 10’, but you can also find it written on the SD card like ‘C10’
Each class level give you a general idea of the SD card performances. These levels are defined by the SD Association, with the following values :
- Class 2 : the minimum write speed is 2 MB/s
- Class 4 : 4 MB/s
- Class 10 : 10 MB/s
- Etc. You understood the logic
I highly recommend buying only Class 10 SD cards
You can also find something like the ‘UHS speed class’ (U1 on the SanDisk Ultra example) and ‘Video Speed Class’ on the same principle (V30 for example). They apply to video projects but are not essential for a Raspberry Pi.
The SD Card association is a good place to learn more about all these standards, here is the page to check on their website
In short, you have three criteria to take in consideration while buying a SD card :
- Filter by size, it’s the easiest thing to do.
Check 32 GB SD card for basic projects, or more depending on your needs and budget.
- Then keep only the “Class 10” results
Most of the SD card are now labelled as Class 10, but it prevents you from making a mistake by looking only at the price
- And finally the price is also important for most of us
Except for those who are looking for the best performance, the price will be decent criteria to take in consideration
But even with these filters, how do you choose which one to take?
In fact, there is no easy answer to this.
You can probably keep only the “serious brands” like SanDisk and Samsung
But even with these filters, I have still 34 results right now (direct link with all filters on Amazon)
That’s why I choose to make a benchmark to help you with the models that are still in your listing right now
SD Cards in competition
So, here are the competitors I have for this benchmark
Obviously, it’s not an exhaustive list, but you’ll find the most recommend brands and models
I’m using the one I already have, and I bought 3 new ones that are often in the top of other benchmarks: SanDisk Extreme and Extreme Pro, Lexar 1000X
This first one is not a real competitor 🙂
Even if Kingston is a good brand for some products, it’s not really the best one for SD card
Also, it’s an SD card I have for 2 years at least, probably included in a Raspberry Pi kit
This model should therefore have no chance against the competition
But it can help you to understand the real difference between Class 4 and Class 10, and why considering this information is important
For each SD card I will give you a price idea with symbols ($, $$ or $$$ for the more expensive). As they are constantly moving, the price I see now is not useful information.
And I also give you here the direct link to Amazon if you want the real price or more details about the product (by the way, these are affiliate links, no additional cost for you, but I get a small commission if you buy on the site after clicking on this link)
The link is often for the 32 GB version, but you can generally find other sizes on the same page.
Price range : $
Link : Amazon
This is a second one I use for a long time
I probably bought it separately when I started to try several projects simultaneously, but it’s a class 10!
I’m also recommending the Samsung Evo Plus since the beginning in my recommended products, as it was my favorite until today 🙂
Unfortunately, as I have done this comparison during the 2020 lockdown, I could not get other models from the Samsung brand
I will see if I can add them later, it’s probably interesting to see how to high-end products from Samsung compete with the SanDisk ones.
Edit: Post updated with the Samsung Evo Plus, check below 🙂
Price range : $
Link : Amazon
Samsung Evo Plus
When I saw the results with the basic Samsung Evo model, I wanted to test it on higher end products from Samsung how it works.
I finally find one, and I’m adding it to this benchmark
I really hope it will work as expected, but we’ll see that in the benchmark below
Price range : $
Link : Amazon
I have a few SanDisk Ultra at home, as they are cheap and I like them too.
They are tagged as Class 10 and U1, and we will see how they compete with the other ones
SanDisk is probably the best brand for micro SD card, and they often win this kind of benchmarks with their high-end products
We’ll see how the SanDisk Ultra, more affordable, compete with them
Price range : $
Link : Amazon
Ok, let’s move now to the serious competitors in this benchmark
The first one is the SanDisk Extreme. A golden card, it must go fast right? 🙂
It mainly targets video amateurs, with a product branded as Class 10, U3 and V30
But if you are looking for the best performances, this kind of model is often the one to look for
The price point is a bit higher than the previous one, but it remains accessible, even for larger sizes (up to 1 TB on this model!)
Price range : $$
Link : Amazon
SanDisk Extreme Pro
And the last model of SanDisk I will try here is the SanDisk Extreme Pro
Indicators are the same as the previous one: Class 10, U3 and V30 but higher theoretical speeds indicated in the product description (we will check that!)
It’s also a bit more expensive, but it’s correct, especially if you are looking for a small size (32 or 64 GB)
Price range : $$
Link : Amazon
This one is probably the last one I would have bought for best performance
I never bought anything from Lexar, and I didn’t know it was a serious brand (Lexar was founded in 1996 and still here, so they probably have some customers ^^)
But I saw this model in particular with a good position on several benchmarks, and I was curious to see how it competes with Samsung and SanDisk
Also, the price range is very high, which made me think it could be a great product
We’ll check that later …
Price range : $$$
Link : Amazon
We now have your competitors ready, and you know a bit more about them
Let’s see how it all works out in reality
Ok, so first thing, I made all these tests on a Raspberry Pi 4
It’s the same device for each test, so I think results are pretty close from the real benefits you can get of these SD cards
I will use here the most common benchmarking tools on Linux, and I added a bonus :
- dd and hdparm : I added them because they are often used as a reference for benchmarks. But they are not the best way to compare SD cards. As you’ll see, they give you a general idea about write and read speed, but in a real usage, you’ll not have the same results
- fio : fio is a much better tool for benchmarking SD cards. I have done a test with many small files, mixing reading and writing, to get a better idea of how it will work in a real usage
- ioping : you probably already know the “ping” command to see how fast a remote host is responding through the network. It’s the same thing for ioping but for storage devices. It measures the latency of your SD card, it’s good to have the fastest SD card, but if the system has to wait 10 seconds for each new file to read, it’s not so good in reality 🙂
- unzip : finally, I added a test with unzip to get a concrete comparison of the SD card with a real action you’ll probably do. All the previous tools are good indicators, but they don’t tell us what to expect
I will now give you all the results I got during these tests, with a graphic to make it more meaningful
After that, I will compare all of them and give you my opinion about the best SD card to choose in each case
Let’s start with dd
It’s available on Raspbian by default, and it’s mainly used to copy a disk or a partition to another device or file
You can use it to create or backup a SD card for example
But in this case, the goal was just to write and then read files and see how much time it takes
Here are the results I had with all the SD cards :
As you can see, the reading speed is the same for all class 10 SD cards, so it doesn’t help us to choose
You can also see that the class 4 SD Card (Kingston) will take twice as long to do the same operation. Moral of this test: buying a Class 10 SD card is essential
In the writing results, we start to see how each SD card compete with the others. It’s almost in the price range order except for the Lexar one
As I told you, it’s not the most important test, we’ll see in the next ones what we get
Hdparm is a tool to change the disk drive parameters on a computer, and you can also use it to test performance
On Raspbian, you need to install it if you want to try: sudo apt install hdparm
It’s only testing the reading speed and as you can see on the graphic below, we got something similar :
Same conclusion here, all class 10 SD card got the same results, and my old Kingston is the slowest one 🙂
Ok, so let’s move to really useful benchmark tools 🙂
Fio is often recommended as the best tool to analyze storage performance
It randomizes tests between writing and reading small files, so you can get a better overview of what you’ll get in a regular usage
Hum, interesting 🙂
I see three surprises for me :
- The Samsung Evo ranks second in this test, even if it’s an old model.
I’m a bit surprised to see that the Evo Plus get worse results than the Evo.
- The SanDisk Ultra is really close from the SanDisk Extreme model, and even a little better at reading. The SanDisk Extreme is probably better for video, but it doesn’t make a big difference here with the cheapest model
- The Lexar SD card is far from all the other ones. I had no hope for the Kingston, but I thought that the Lexar 1000x will at least compete with SanDisk and Samsung
In this test, I just checked the latency to see if there is a difference between all models
And to my surprise, yes:
I will not analyze this graph as I’m not sure to understand the reason
But the two first SanDisk models seems to get an awesome result compared to the others. How is this possible? Let me know in the comments if you have any idea
I even tested several times to see if there is another reason but always found something similar
If this difference is real, it’s probably why the SanDisk Ultra do so well in the other tests
Ok, all these results are interesting, but it doesn’t really speak to us
In real life, what does it change exactly?
My first idea was to test how much time does a big zip files to be extracted on each SD card, and give you the result as simple information
Yes, it’s basically a writing test, but I think it’s more meaningful
But as the results are not always corresponding to the benchmarks, I will add them all here in a similar graphic.
The test was made with a 200M zip file (in fact it was the Linux kernel source code from the Raspberry Pi GitHub repository)
These results seem more logical given the price of each item (except for Lexar as usual…)
We get the three SanDisk models in the correct order, and my two old cards at the end
And more generally, you can remember that some Class 10 SD card can write three times faster than others, so this indicator is really not enough to make a choice
I will probably destroy my Kingston SD card after seeing the results here 🙂
To conclude, I will give you my opinion about these results and which one I recommend choosing depending on your situation
Best SD card overall
If you have enough money and want the absolute best, the SanDisk Extreme Pro is definitely the one you need
This SD card ranked first in all my tests, often well ahead of others
Before writing this post, I wondered how to create a score to mix all the benchmarks and find the very best one
But I’m lucky, there is no need to do that as the winner is the same each time 🙂
Best SD card for the price
If you are just starting or Raspberry Pi, or need an additional card on a low budget, you can choose the SanDisk Ultra without any doubt
This card is always on the podium (except with dd but very close), so you’ll get excellent results without spending too much money
I have two like this one, and I often use them for all my tutorials on this website and personal projects, I never had any issue with it, and good performance if you’re not too demanding
Best large SD card
This one is harder to answer, but I just checked the current price on Amazon and compared them to the results
I think the SanDisk Extreme is the best model for this
The Extreme Pro is not available over 400 GB and is more expensive than the other choices
The SanDisk Ultra is available at 512 GB but almost the same price (3% less)
In addition, the SanDisk extreme is the only one available at 1 TB!
This is awesome, how many Retropie games could you keep on this SD card? 🙂
But remind what I told previously, you can buy 4 USB drives for the same price, is it really a good choice?
That’s it, you now have some advices on how to choose your next SD card, and even a comparison of the bestsellers
I hope this post was useful for you, either for the information part or the benchmarks
If you want to compare your SD card to these results, here are two things you can try:
- Unzip :
- Download the ZIP from the Raspberry Pi kernel here
- Try to unzip it with (for example) :
time unzip rpi-4.19.y.zip
- And compare the total time with the results I got
- Fio :
- Install fio on your Raspberry Pi
sudo apt install fio
- Run this command:
fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=32M --readwrite=randrw --rwmixread=75
- Note the read and write KiB/s values and compare them to my results
- Install fio on your Raspberry Pi
Let me know in the comments below if you tried this with other models
It could be awesome to build a “database” here with all the results
And if you have a Samsung card (Select, Evo Plus, …) on a Raspberry Pi 4, I’m very interested to see the results 🙂
If you want more of this kind of post, you can also answer in the comments and ask me for another comparison (on something else)
I’m the lead author and owner of RaspberryTips.com.
My goal is to help you with your Raspberry Pi problems using detailed guides and tutorials.
In real life, I’m a Linux system administrator with a web developer experience.