What is the Best Micro SD Card for the Raspberry Pi model 2, 3, or 4

By | July 7, 2023


The Raspberry Pi model 2, 3, or 4 all use a Micro SD Card format along with a few other requirements.

When it comes to SD Cards there are three things to look at physical size, format, and speed.

And of course this applies when it comes to buying a Micro SD Card for the Raspberry Pi model 2, 3, or 4, each of these things need to be examined. So lets take a look at each.

Raspberry Pi Micro SD Card Requirements

  1. Physical Size
  2. There are different physical Card sizes with a Standard SD card being the largest. The original Raspberry Pi used this size but moved on the to Micro SD card size with the B+ 512 version.
    Raspberry Pi model 2 sd card

    A Raspberry Pi 2, 3 and 4 all use a Micro SD Card format.

    Micro SD cards are commonly used in cell phones and other small electronics that need a very small storage device.

  3. The Micro SD Card Should be Rated Class 10
  4. How fast a SD card can move data is rated by a Class number from 2-10. With 2 being the slowest and 10 being the highest.

    A SD Card with a class rating of 2 is good for taking pictures and storing them since there is no need to transfer large amounts of data quickly. For this reason class 2 SD cards are often used in digital cameras.

    Class 10 SD cards are used in video equipment since they can transfer data quickly with no buffering.

    A Raspberry Pi basically uses a Micro SD card as a hard drive and to store any information. For this reason having a class 10 Micro SD card in your Raspberry Pi is very much recommended.

    There’s also a separate, even faster category called UHS Class 1 (for Ultra High Speed), often both are used. If a UHS classification is used than get UHS class 1.

  5. Capacity
  6. Since the SD card holds all the information to run a Raspberry Pi, including the operating system to applications, very small SD cards are simply not reasonable.

    For example, a minimal install size to run Kodi on a Pi 2 is 4 GB with a suggested 8 GB micro SD card.

    Most installs use a 8 GB capacity micro SD card but things can move quickly with software so getting a larger SD card is recommended.

    The largest sized micro SD card a Raspberry Pi can use is listed as 32 GB although some forums have people talking about using a 64 GB SD card with no problems.

    If you are just starting out stick with a 8-32 GB sized micro SD card.

  7. Wear leveling
  8. One last note is that many people in the RasPi community recommend getting a SD card that utilizes Wear Leveling.

    Wear leveling is when the same spot on a SD card is not written to over and over again when there is another space to write to.

    This extends the life of a SD card since multiple spots are written to and from instead of the same open spot over and over again.

10 thoughts on “What is the Best Micro SD Card for the Raspberry Pi model 2, 3, or 4

  1. Steve

    Another reason this is factually inaccurate is that the size limit is wrong. The post says that 32GB is the highest listed, but some people have gotten 64GB to work… it’s not just that, but I tested 128GB on a Pi 4 and it works no problem, parted sees the entire partition. That might not be the wisest thing to do, since you wouldn’t want to rely on that much MicroSD internal storage, but it’s still possible regardless. You could at least use it as Shared Public storage for temporary file sharing purposes over the network.

    Reply
  2. salvio007

    I own the Extreme Pro uhs-1 16gb and it’s flawless with Kodi. It’s by far, the fastest card I’ve used yet when compared to my other class 10 cards.
    Highly recommended!!

    Reply
  3. RichardS

    While a valid recommendation to use larger cards (16GB or 32GB) I also use keep smaller cards available (2GB, 4 GB) which I use as follows. Each separate system I have is stored on the smallest card possible and any upgrades are accomplished and tested on those cards. What that provides is far shorter times to image copy for backup purposes and also saves considerable space on my HDD. This is important if you do a lot of experimentation and have multiple configurations of an OS.

    Once the card is ready for “production”, I then image copy to a larger card and use raspi-config to expand the image to use all available space on the larger card.

    Even with wear leveling, running anything 24×7 on a smaller card will eventually damage the card as the system writes more frequently to the same sectors – not as problematic when you have a lot of extra space to write to and read from. And on small cards you can easily run out of space unintentionally (large log files, upgrades, adding a new app, etc).

    Reply
  4. GarryG

    I’ve bought a 64GB and two 32GB SD cards that won’t work with the PI2. I can only seem to get lower memory cards to work 4GB, 8GB, and 16GB, and I have formatted the 32 and 64 cards as fat 32 with noobs.

    I also made direct images of working 4,8,16GB cards and wrote them to the 32 and 64GB cards and although they worked on the lower cards tthey didn’t work on the higher ones.

    Do 32 and 64GB cards need to be of a particular make? I have tryed both branded (samsung) and generic cards but none worked.

    Reply
  5. Re4son

    Careful with SanDisk Extreme PRO. They can cause problems. The following setup doesn’t work at all and others are hit and miss:

    16GB Sandisk microSDHC UHS-I Extreme PRO (SDSDQXP-016G-XQ46)
    Raspberry Pi 2
    Kali Linux 2.0.1

    Sometimes it boots up, sometimes it doesn’t. It Kali freezes during heavy read/write operations and requires a cold reboot causing file corruption.

    Reply
  6. anyname

    This is factually inaccurate…admittedly the higher the class of the sd card the quicker it can move data, but these class 10 cards are optimized for large file read/writes…yet they really struggle when moving tiny files, as it would be doing when being used to run an operating system.
    I’m getting quicker 4k read/writes from a class 4 card than i am from a class 10 card.
    And to be honest the raspbian operating system is doing more of these in everyday use so it makes sense to have this as a priority when choosing a card.

    Reply
    1. Don

      If moving data quickly is not your goal than a lesser Class SD-card can be used. A Class 10 SD-card can move data much quicker than a class 4 SD-card, that’s just a fact any performance test will show.

      Some programs dont require a lot of reading and writing so a lesser class SD-card can always be used in those scenarios.

      If you want the the best SD-card for a Raspberry Pi I would try and stick with a class 10 or UHS SD-card. Especially since they dont cost much more than a lesser class card.

      In the end is is what work best for you and what you are doing with the RasPi.

      Reply
      1. GF

        I think you might be missing the point. Yes, in a typical benchmark, there is a direct correlation between higher class and higher performance. Class 10 > class 4.

        However, a typical benchmark looks at read/write performance of moving massive files. This is not what your Raspberry Pi spends most of its life doing. It is using this card as a system hard drive. There are hundreds of thousands of tiny files that it reads and writes regularly. The performance of this kind of operation is much more important than the performance of moving large files.

        The class of the SD card does not necessarily reflect the read/write performance of small files. This means that there may be cards out there with a lower class rating that outperform cards with a higher rating when it comes to this use case. Therefore, when selecting a card for your Raspberry Pi, looking at the class rating alone is not sufficient.

        I am in the process of trying to find a micro SD card for a Raspberry Pi 2 with high-performance 4k read/write. Does anyone have any suggestions?

        Reply
        1. Herbert

          For running a Raspberry Pi with an MicroSD Card, the IOPS are more important than the sequential performance.
          As of Android Marshmallow (which helps users to run applications from the installed memory card), this is relevant for modern Android phones too.
          This is now considered in the SD Specification 5.1, which will introduce the so-called Application Performance Classes that will specify minimum read and write IOPS performance supported by the upcoming SD cards. The App Performance Classes are designed to help end users to ensure that memory cards they get are capable of providing decent experience when running applications.
          The new A2, introduced in SD 6.0 specification, is the next class level and provides more flexibility in the market for cost-performance optimization per product or application need and various market segments. The newly introduced functions of Command Queuing, Cache, and Self-Maintenance are SD protocol functions that enable higher performance levels.
          see

          Reply
      2. Greg

        I just want to say that anyname is 100% correct, and this article-while generally correct in that class 10 cards have higher sequential read/write times- is misleading since the most important factor for raspberry pi-related performance will be random read/write times.

        So a class 10 card with high sequential speed may move large files faster than a class 4 card, but that same class 4 card could have faster random read/write speed, and therefore be better for the smaller files that will be used when booting/loading programs in raspberry pi.

        Reply

Leave a Reply

Your email address will not be published. Required fields are marked *