Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm thinking about getting a new sd card and read that the class of them really matters. I'm looking at getting a 16gb one with a class not less than class 6. How do I check for the class?

share|improve this question

closed as off topic by Richard Borcsik, Al E., roxan, Chahk, Zuul Sep 21 '12 at 3:47

Questions on Android Enthusiasts Stack Exchange are expected to relate to Android within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

It's either displayed on the packaging or on the card, most likely on both. If you buy online, check the description. – Richard Borcsik Sep 19 '12 at 12:06
While Android devices use SD cards, this really isn't an "Android question". – Al E. Sep 19 '12 at 16:34
up vote 10 down vote accepted

An SD Card class basically the minimum sequential write speed that the SD card supports. Testing the class of an SD is quite easy, just copy a 1 GB file to an empty card and measure the time it took for the copy. A class 6 SD card should support at minimum 6MB/s.

Also check out the markings on the SD card, there should a logo like the following:

enter image description here

the number in the logo describes the speed class.

share|improve this answer

Specification sheets lie, packaging lies, the mark stamped on the card itself lies.

I have lost track of the number of "class 10" SD cards that only run at a couple of MB/s or the number of 8/16/32GB cards that have an actual capacity of 2GB!

If you really want to know how fast a card is (and whether you have been duped with a card which is smaller than it reports and will thus corrupt your data when it gets full) I would highly recommend testing every single SD card you buy.

Testing under Windows

The best testing tool out there is h2testw on the PC.

This writes a unique, verifiable pattern to the drive, completely filling it. Since the pattern is unique, it can verify that the data read back is actually the same as was written and that the card isn't reporting that it has a higher capacity than it actually has.

Since the class is related to the minimum write speed and SD cards get slower as they get full, this also ensures that you are testing speed under the worst case conditions. Loosing one complete rewrite of the drive is a small price to pay for peace of mind.

Testing under Linux & OSX

There is an open source project called F3 (which is short for Fight Flash Fraud or Fight Fake Flash) which is very similar to h2testw for Linux and Mac, but I don't have any personal experience of this. It might however form the basis for an Android port (the source code is on github).

Testing under Andoid/IOS

If anyone knows of a similarly robust and reliable Android application to test the SD card in a tablet/phone directly, I would happily update my answer.

share|improve this answer

You can test SDcard speed in command line :

adb shell
dd if=/dev/zero of=/mnt/sdcard/test bs=512 count=2048000
rm -f /mnt/sdcard/test

that will write a 1GB file with zeros bits in sdcard.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.