For a long time, using SD cards was the rule on Raspberry Pi, you didn’t have the choice. But now that most models support USB boot, you have the choice: SD cards, USB flash drives, or even SATA and SSD. I recently noticed that I’m using SD cards far less often these days, and in this guide, I will help you make your choice on which storage to use.
Overall, USB drives are cheaper and more convenient when switching OS all the time, but SD cards are internal and supported by all operating systems. Reliability and performances are not extremely different, so both solutions are good choices.
Obviously, this is the short answer. Keep reading to understand which one to pick in which situation, and why I almost never use SD cards now.
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.
Can I use USB instead of SD card on Raspberry Pi?
If you are lost in all these new words and abbreviations, request my free Raspberry Pi glossary here (PDF format)!
The current Raspberry Pi bootloader officially supports USB boot. If it’s up-to-date, you can switch from an SD card to USB boot in the Raspberry Pi configuration tool (raspi-config). Most operating systems will support it out-of-the-box.
So, if you have a recent Raspberry Pi model and your firmware is up-to-date, you have the choice for any new system you try: SD card or USB. If, like me, you choose USB keys by default, it should work with most systems, but it may fail with some exotic OS. The latest that comes to mind for me was OSMC. But I think everything else I tried in the last 3 months worked fine on flash drives.
According to a survey made on the RaspberryTips YouTube channel, 78% of the Raspberry Pi users are still using SD cards rather than USB alternatives (flash drive or SSD), so SD cards are still the norm.
I will talk more about convenience later in this article. But typically, if you have a laptop without an SD card slot and don’t have your Raspberry Pi hidden somewhere without access to its USB ports, USB boot is something to consider seriously.
Note: if you don’t know how to select USB boot or update your bootloader, I explain everything in my beginner course. Make sure to check this page for more details, and join me if you need help getting started.
Is USB faster than SD card on Raspberry Pi?
According to benchmarks, the performance of a good SD card and USB flash drive aren’t very different. It’s faster to flash a USB drive than an SD card on your computer, but the time to boot or open an app on Raspberry Pi OS is similar.
These results were surprising to me. I thought that the USB would be faster than SD cards in any test I conducted, but this was not the case. Let’s start with my results from real usage, comparing SD cards and USB flash drives:
|SD Card||USB drive|
|Model||Sandisk Extreme Pro||Sandisk Ultra Flair|
|Time to flash RPI OS||3:12||2:13|
|Time to boot RPI OS||21s||21s|
|Time to open Scratch 3||28s||28s|
|Time to unzip the RPI kernel||38s||89s|
As you can see, you’ll save one minute when you flash a new operating system (so if like me, you test a lot of them, it’s interesting), but after that, there’s no major difference between either. Weirdly, the SD card is even faster than the USB drive in operations such as extracting a large number of files from a ZIP.
Don’t take these results at face value. I used the best SD card, and results can vary a lot depending on the model you use (as tested in this benchmark of all the SD cards). The USB drive is a decent one, but I haven’t done a test to find the best one.
Here are the results of other tests I did. It shows that there isn’t an absolute winner in terms of performance between SD cards and USB flash drives:
|SD Card||USB drive|
|Model||Sandisk Extreme Pro||Sandisk Ultra Flair|
|Time to write 1G||13s||39s|
|Time to read 1G||23s||7s|
|FIO Read||7416 kB/s||2139 kB/s|
|FIO Write||2529 kB/s||729 kB/s|
Once again, there is no clear winner. USB is slightly faster at reading small files due to a better latency, but in some tests, the SD card performed better.
Are USB sticks more reliable than SD cards?
Both USB sticks and SD cards are designed to last for at least 10 years. In both cases, media doesn’t degrade because of age, it mainly depends on the number of write cycles (most manufacturers promise around 100,000 write cycles).
The truth is that the lifespan of your storage doesn’t really matter for a Raspberry Pi system. Who knows what the Raspberry Pi storage type is in 10 years? Will you really keep your system installed for 10 years? Or even worse, flash a new system 100,000 times on it?
If you are looking for something reliable to host some critical services, the Raspberry Pi is probably not the best choice in the first place, so being picky about the type of support doesn’t make sense.
Personally, I’ve had more corrupted USB sticks than broken SD cards. But I have also used more flash drives over the years, and they aren’t always the best quality (I tend to buy the cheaper ones). However, I have lost tons of SD cards, so convenience and pricing are probably more important than reliability. The following sections deal with these aspects.
USB vs SD card: which one is cheaper?
The price of a USB drive is generally less expensive than an SD card. According to my research, USB drives are about 40% cheaper than SD cards for the same amount of space.
Storage is cheap nowadays, but when you can get the same disk space and similar performance for half the price, it’s not something to be overlooked. Here is the price I got for the two models I previously tested:
As for performance, the price may vary depending on the model you choose in each case. The SanDisk Extreme Pro is one of the best SD cards available, and the SanDisk Ultra Flair is a good USB drive, but I can’t say if there are better options available, as I haven’t tested everything.
On average, an SD card costs $0.16 per gigabyte, while a flash drive is $0.09 per gigabyte. The smallest model tends to be more expensive, and the bigger ones cheaper, so I don’t include them in this average price per gigabyte.
Also, consider that SD cards with more than 256G start to become rare and expensive. The biggest SD card available is 1T. If you need a lot of space, USB drives (flash or SATA/SSD) will be easier to find and generally cheaper.
By the way, SSD is another option to consider if you need performance and space, but the price is generally higher than the two options we are comparing today. And you also need to add a USB adapter, as the Raspberry Pi does not have a SATA port or M.2 slot by default (consider at least $40 for a basic 120G SSD with a USB adapter, like this one for example, and this adapter, which is twice the price of a 128G SD card).
USB vs SD card convenience: a personal choice
The Raspberry Pi is built to use SD cards, so it’s a better choice for a long-term setup, with the SD card hidden in the SD slot. USB drives are not well integrated into the design but are easier to manage when switching often from one system to another.
This is the point where using an SD card or a flash drive becomes a personal choice. After pricing, the second main criteria will be your usage of your Raspberry Pi:
- Keeping tons of SD cards on your desk and knowing which one is which system isn’t convenient. You can lose or break them easily if you are not well organized.
- But keeping a flash drive connected to your Raspberry Pi, especially if you are traveling with it, is not the best option. If you always use the same SD card, switching to USB makes no sense.
Personally, I bought several USB drives of the model tested previously and added a sticker to each in order to differentiate them. I generally try a lot of systems and setup, and move quickly to another one. So, for me, USB is better because I can easily find the USB sticks (even on a messy desk), and switching from one to another is easier than SD cards.
But if you always use the same media, and aren’t worried about a $10 difference initially, SD cards are fine. And they work with any system, so you’ll never have a bad experience. Also, most tutorials explain how to use SD cards, so it might be easier for beginners to start with an SD card.
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.
Anyway, if you are reading this article, you’re probably wondering if there is a better option, so I recommend testing both and picking the one you prefer. You can obviously use both, even if I now tend to use USB drives more than SD cards, I still have some SD cards lying around and use them from time to time.
Support me: Join the community on Patreon to show your support, get behind-the-scenes content and other awesome perks!
How To Copy a Raspberry Pi SD Card to a Flash Drive
Grab your free PDF file with all the commands you need to know on Raspberry Pi!
Raspberry Pi OS includes a tool to copy the SD card content to another SD card, as a backup. This tool also works to copy the SD card content to a USB drive. This would be the easiest way to migrate to a USB drive.
So, if you want to try to a USB drive, here is how to copy the content of your current SD card to the flash drive:
- Find the SD card copier tool in the main menu (under Accessories).
- In the first field, choose the SD card with your system on it.
In general, it should be something like /dev/mmcblk0.
- In the second field, pick your USB drive (probably /dev/sda):
- Click on start to start the file copy.
You’ll get a confirmation message, to make sure you want to erase the USB disk, click “Yes” to accept.
The copy process will begin and may take a few minutes depending on your SD card size.
If you are not on Raspberry Pi OS, and can’t find a similar tool, I recommend taking a look at another tutorial, where I explain different ways to back up a Raspberry Pi. You’ll probably find a solution that works on your system.
Overall, using SD cards or USB drives on Raspberry Pi is more of a personal choice than a fact-based decision. There are no major differences in performance, reliability, and even price. So, the main criterion is how you use your Raspberry Pi daily and how comfortable you are with each support.
I chose to use USB drives because they are more convenient in my case, but I truly understand if you prefer to stay with SD cards. Moving from SD cards to USB drives is easy, so I hope you’ll at least give it a try, and let me know how it goes for you.
Remember that performances can vary a lot from one SD card to another, so even if you prefer to continue to use SD cards, you should check this complete benchmarks of all models, and make sure you are using a good one. Switching to a better model may improve your performance even more than switching to a USB drive.
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 multiple 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 building 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.