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 ^^).
A micro SD card is not as expensive as a graphic card or a processor, so it’s not a big deal. However, you need to know the truth :).
To help you best, I needed to choose my recommended products on real data and not only based 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 advice to help you choose a micro SD card the right way, then benchmark all my SD cards to showcase the real performance, and also give you my personal opinion.
If you need help getting started on Raspberry Pi, I have an entire course to guide you through your first steps. I’ll help you use the perfect hardware, plug everything in and install your first system. You’ll also do your first project with me, just to make sure you are ready for the next level. Get all the information on this page if you are interested.
How to Choose a Micro SD Card?
If you are lost in all these new words and abbreviations, request my free Raspberry Pi glossary here (PDF format)!
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 often don’t require the same hardware. So, I can’t really give you the “best” SD card for any situation. However, there are a few things to consider while choosing a SD card
SD card size is probably the first filter you use while buying online.
A giant Retropie collection or a beginner just installing Raspberry Pi OS for the first time won’t need the same product.
If you are a beginner, avoid choosing a model under 16 GB.
The minimum recommendation for Raspberry Pi OS Desktop is 8 GB, but you’ll quickly run out of space.
There is barely a price difference between 16 and 32 GB, so I would recommend 32 GB as a minimum – even for a beginner on a small budget (you’ll save more on other components).
With 32 GB you will be able to try any project on Raspberry Pi.
If you want to store more files (i.e. with retro gaming or media center solutions), you will need to increase this value.
It’s now possible to find 1 TB micro SD card for a decent price (Sandisk Extreme is available on Amazon for example), but an external hard drive will give you the same space for a fraction of the price (ex: Seagate 1TB on Amazon).
So, if you need a lot of storage, check carefully to see 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 one around $15 which 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 an over-priced one at $120!
So yes, you can probably save $60 if you don’t buy the most expensive product (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 each model will list 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.
Most will likely read around 100 MB/s, but none of them got this result in my benchmark, and they are even further from this in a real life.
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 gives you their own “performance rank” on each model, but different models have the same results, so it doesn’t help much either.
For me, the only things to check to filter results 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 likely understand this logic.
I highly recommend buying only Class 10 SD cards.
You can also find the ‘UHS speed class’ (U1 on the SanDisk Ultra example) and ‘Video Speed Class’ (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, there’s 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 SD cards 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 use?
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 am providing 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 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’ve had for at least 2 years, and it was 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 prices are constantly changing, the price listed now is not useful information.
And I’ll also give you the direct link to Amazon just in case you you want the real price or more product details (these are affiliate links; there’s 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
I’ve used this SD Card 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 been 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 to see 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.
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 ones, 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
Sale: 10% off today.
Get the eBook.
Do more with your Raspberry Pi, learn the useful concepts and take the shortcuts.
You miss half of the fun of using a Raspberry Pi if you don’t know anything about Python.
This is probably the last one I would have bought for best performance.
I haven’t 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.
I used 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 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 won’t 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 use.
- 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 the best :).
- 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 from 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.
Let’s start with dd
It’s available on Raspberry Pi OS 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 an 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 choose.
You can also see that the class 4 SD Card (Kingston) will take twice as long to do the same task. 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 what happens in the next tests.
Hdparm is a tool to change the disk drive parameters on a computer, and you can also use it to test performance.
On Raspberry Pi OS, you will 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 had similar results across the board:
Same conclusion here, the 10 SD cards received 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 :).
There are 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 is 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 would 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 that I understand the reason.
But the two first SanDisk models seem to get an awesome result compared to the others. How is this possible? Let me know if you have an idea.
I even tested several times to see if there is another reason but always received similar results
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 it take for a big zip file 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 of 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 in each test :).
Best SD card for the price
If you are just starting on 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 my tutorials on this website and my personal projects. I’ve never had any issue with it, and it has good performance if you’re not too demanding.
Best large SD card
This one is harder to answer, but after checking the current price on Amazon and comparing 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 always remember that you can buy 4 USB drives for the same price, so is it really a good choice?
Grab your free PDF file with all the commands you need to know on Raspberry Pi!
That’s it, you now have advice 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 or the benchmarks.
If you want to compare your SD card to these results, here are two things you can try:
- 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.
- 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 if you have 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 have any comment, suggestion or just want to chat with us about this tutorial,
you can post your messages in the community on Patreon. See you there!
Raspberry Pi Resources
Not sure where to start?
Understand everything about the Raspberry Pi, stop searching for help all the time, and finally enjoy completing your projects.
Watch the Raspberry Pi Bootcamp course now
Master your Raspberry Pi in 30 days
Don’t want the basic stuff only? If you are looking for the best tips to become an expert on Raspberry Pi, this book is for you. Learn useful Linux skills and practice multiples projects with step-by-step guides.
Download the e-book
If you just want to hang out with me and show your support, you can also join the Patreon community. I share behind-the-scenes content there and give you early access to my content. You’ll also get a shoutout when you join.
More details here
Need help to build something with Python?
Create, understand and improve any Python script for your Raspberry Pi.
Learn the essentials, step-by-step, without losing time understanding useless concepts.
Get the e-book now
You can also find all my recommendations for tools and hardware on this page.