back to top

Choosing the Best Memory Card for Your Camera

A- A+

Our Top 3 Picks

BEST VALUE

SanDisk Ultra 16GB UHS-I Class 10 SDHC Card

Price Range: $$$
Our Rating:
#1 PICK

Sandisk Extreme Pro 64GB UHS-I Class 10 SDXC Card

Price Range: $$$
Our Rating:

SanDisk Extreme PRO 64GB UDMA7 CF Card

Price Range: $$$
Our Rating:

Have you ever felt confused by all the brands, sizes, or types of memory card for your camera? Which card gets the best out of your digital camera?

Today we’ll clarify all the questions that might arise, and provide some memory card recommendations.

A wristwatch, a mobile phone, and a memory card on an open laptop

[Note: ExpertPhotography is supported by readers. Product links on ExpertPhotography are referral links. If you use one of these and buy something, we make a little bit of money. Need more info? See how it all works here.]

Memory Card Types

The first, most basic thing is the type of memory card your digital camera accepts.

In most consumer-oriented cameras, it’s a single SD card. That’s the one type that you’ve undoubtedly met before. But there are many more. Here’s a list on the main card types that at least a few cameras use:

SD Cards

SD-type memory cards are the most popular and wide-spread format memory card type. They range from cheap to high-end, fast cards. The first generation is standard SD. They go up to 2GB in size.

SDHC and SDXC cards are bigger. SDHC ranges from 2GB to 32GB, SDXC is anything above 32GB.

In terms of speed, there are five categories. Default Speed and High Speed were introduced with the SD card standard. Ultra High Speed or UHS (I-II-III) cards are available in SDHC and SDXC.

A UHS-I memory slot is in most modern cameras, which allows for 104 MB/s data transfer. MB/s and Mb/s are different units. MB/s is 8 times faster. UHS-II and UHS-III are quicker and used in semi-pro or pro cameras.

 

A Sandisk memory card

MicroSD Cards

MicroSD cards are the little brothers of SD memory cards. Apart from widely being used in smartphones, some smaller cameras accept them too. You’ll also find microSD card slots in almost all drones.

Speed ratings and classes are similar to those of an average size SD card.

A microSD card being placed into a mobile phone

CF Cards

The first DLSRs introduced Compact Flash (CF). It is physically of greater size than an SD card. Traditional CF memory cards are currently being phased out, but some cameras still employ it. Notably, Canon’s flagship 5D MkIV and 1DX MkII bodies both accept CF in one of their slots.

Speed-wise they sit between the UHS-I and UHS-II SD card. The upper limit for CF is 160 MB/s.

If you have a digital camera that uses CF, you’ll need an external card reader. You can’t plug them directly into a laptop, like an SD card.

They are being replaced by CFast cards, which look identical but use different protocols.

3 different CF cards

CFast Cards

CFast cards are the latest derivation of the CF format. They have identical size and design but use SATA protocol, like computer hard drives. So, you cannot interchange them despite looking similar.
CFast improves significantly upon CF in terms of speed. The best CFast memory cards currently on the market reach writing speeds around 400 MB/s.
You can find a CFast card slot, most notably in the Canon 1DX MkII. It’s widely used in professional movies and broadcast cameras, as well.
A Sandisk CFast card

XQD Cards

The first XQD cards were released in 2012. They have a completely new form factor and offer excellent writing and read speeds.

You can find XQD memory cards in some professional cameras. Nikon has used them since 2017. For example, in the D500, the D850, the D5, the Z6, and the Z7.

An XQD card being placed into a camera

CFexpress Cards

CFexpress cards are not a continuation of the CFast, as the name suggests. The format has been developed as the successor for the XQD, offering blazingly high speeds.

Cameras with XQD slots will be compatible with CFexpress, as well. You need a software update for that.

The first digital camera to exclusively use dual CFexpress cards will be the upcoming Canon 1DX MkIII. The camera will record RAW 4K video, so a high-speed class card is crucial.

A Sandisk CFexpress card

How to Decide Which Card to Buy

So far, we have covered all memory card types that you’ll potentially come across in a digital camera.

To find the best memory card for your camera, you have to consider a few aspects:

1. Size

Think about how many photos you want to take on a single occasion.

Take a look at the file sizes your camera produces. A standard, 20MP jpg file is around 10-15 MB. Raw files vary a lot in size. They can be anywhere between 25 MB and 150 MB. It depends on resolution, bit depth,  and compression.

Multiply this file size by the number of photos you’ll take. Shooting videos alongside photos makes the equation a bit more complicated. If you’re planning on that, count with slightly bigger memory cards.

So, you can calculate your ideal memory card size. But the world is not perfect, you have to take safety into account.

If you have a single slot in your camera, you will not want to buy a single, large memory card for your camera. If that card goes missing or broken, you will lose all your data. So instead, we recommend purchasing a few smaller memory cards.

You can swap them on the run, and even back them up at the same time.

If you’ve got dual slots, this is not an issue. Record to both of them simultaneously, and you’re good to go. You can buy two large memory cards.

2. Speed

First, it’s important to distinguish between writing and read speeds. The read speed is usually printed onto the memory cards in large. But, it’s not what you’re looking for.

Writing speed is much more critical. It sets your limitations in terms of recording photos or videos.

Consider whether you want to shoot a high framerate burst. Photographing wildlife, sports, or action usually requires that. In that case, you’ll need the fastest card your camera can handle.

Have a glance at the specifications of your camera – maximum writing speed should be there. Alternatively, you can calculate it yourself.  Multiply the biggest possible file size by the highest frame rate. Then, choose a card that has writing speeds slightly above that.

Video recording, notably 4K, also requires fast cards. In that case, take a look at your bitrate, and choose your card accordingly. The writing speed of the card should at least match the bitrate. Note that writing speeds are usually given in MB/s. Bitrate is marked in Mb/s.

If you’re not doing either of these, don’t purchase an expensive high-speed memory card for your camera. Buying reliable products is essential, though.

3. Quality

In terms of reliability and durability, memory cards can vary a lot. It’s not an issue with newer, top-grade formats like XQD or CFast. But it’s very much an issue with the CF and SD card.

If you’re buying cards from well-known brands, you’re good to go. Sandisk, Lexar, Kingston, and Transcend are renowned manufacturers.

Before purchasing a memory card from a less-known brand, do a little research about it. Check the ratings on Amazon, as well as user reviews.

Also, if you’re not buying directly from an authorized dealer, take extra care. SD cards are particularly easy to counterfeit. You might still get a working memory card for your camera, but it can be slow or die in a few days.

Our Recommendations

So, without specific ranking, here’s a quick list of the cards we use and trust.

Price Range: $$$

SanDisk Ultra 16GB UHS-I Class 10 SDHC Card

This card is not big, and not fast either. But it’s inexpensive and most importantly reliable. If you’ve got only one slot, choosing small cards makes a lot of sense.

I personally use four of them, they are perfect for general shooting. There’s always one or two spares in my bags, just in case.

Our Rating:
Price Range: $$$

Sandisk Extreme Pro 64GB UHS-I Class 10 SDXC Card

This is the SD card that (together with a similar CF card) I put in my Canon 5D MkIII when shooting professionally.

It’s the best you can get with UHS-I connection, providing a writing speed around 90-110 MB/S.

Our Rating:
Price Range: $$$

Samsung PRO Endurance 64GB Micro SDXC Card

This microSD card is perfectly suited for shooting 4K movies with drones. 64GB is big enough to store your footage from the whole holiday.

There’s a small chance of losing your data, sometimes together with your drone. If you’re afraid of that, purchase two 32GB cards, or always back your footage up.

Our Rating:
Price Range: $$$

Sony SF-G128/T1 128GB SDXC UHS-II SDXC Card

This card is our workhorse for shooting high-bitrate movies with our Panasonic GH5. It’s a very fast and reliable card with plenty of space.

Our Rating:
Price Range: $$$

SanDisk Extreme PRO 64GB UDMA7 CF Card

When I shoot professionally, I need speed and reliability. I put this card (along with its SD card counterpart) in my camera to get that.

It maxes out around 150 MB/s. It’s perfect for burst shooting on lower-framerate, high-resolution cameras, like the 5D MkIII.

Our Rating:
Save this article to your Pinterest profile to access it later!
2 comments
  1. Great article. It sounds like you have a 5D Mk 3. When you shoot professionally (using the two cards as you implied in your post), how do you have your 2 memory cards set up?

    1. Hi Richard,
      Most of the time I use “record to multiple”, which saves everything to both cards.
      I had a card failure not long ago, and this setting saved my photos.
      However, the SD slot can’t keep up with H+ continuous bursting. I only use the much faster CF slot in that case.

Leave a Reply

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

[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]