In a previous article, SD Card Basics, I covered the different SD Cards and their abilities. The member 'aeiou' commented that the SD Card Association has an SD Card Formatter for Linux. There is one for Windows and Mac as well, but we'll look at the Linux version.
The page for the Formatter is here.
Keep in mind that this is a command-line program only. Maybe someone can write a Graphical User Interface for it.
Requirements
The SD Card Formatter can be used on specific Linux distros for either x86_64-bit or ARM64 systems. The following are listed as compatible:
Installation
The tool is portable, so this means you do not install it. It is a stand-alone program that you can copy from machine to machine, or run off an external drive, such as flash drive.
So, on the above mentioned page, select either 'For Linux_x86_64' or 'For Linux_ARM64', depending on your system type.
Once you make a selection, you will be switched to the page containing the End User License. Scroll to the bottom and select to 'Accept' the license so you can download the file. Once downloaded, you can switch to the folder in a terminal and issue the command:
If the filename has changed, usually because of the version number, change the filename accordingly. The resulting files should be in a folder named ‘SDCardFormatterv1.0.3_Linux_x86_64’, or appropriate to the version number:
Usage
Before you can format an SD Card, you need to unmount any partitions that are mounted.
To check the SD Card to see if it is mounted, use the command ‘lsblk’. You should see a listing of all connected drives. Find your SD Card and check the last column, which shows the mount point. If the column is empty, then you are fine to continue. If any partition on the SD Card has a mount point, then you need to remove the mount. Use the following command:
If you removed the mount point, then you can run the command ‘lsblk’ again to verify it was removed.
You are now ready to format the SD Card.
From the ‘lsblk’ command, you can also see the name of the SD Card, such as ‘sda’, ‘sdb’ or another name. This is the device name you will use to format the SD Card.
You can assign a Volume Label to the SD card when it is formatted. The Volume Label can be up to eleven characters. The parameter use to specifying a volume label is ‘-l <volume-name>’.
Depending on your language, you can specify the code page to use characters for your language, the default is English. The Code Page value for English is ‘437’ and is usually found under the Locale, which is UTF-8.
Another default is to perform a Quick Format. Doing a Quick Format will remove the file and folder entries, but leave the data intact on the device. The files and folders do not appear when listing the contents, but you can easily recover the files and folders.
If you want to make sure the files and folders cannot be restored, then use the ‘--overwrite’ parameter. In this manner, the sectors will be overwritten with zeros. Keep in mind that this can take more time, especially if the SD Card has a lot of storage.
You could also use the Block Discard (BLKDISCARD) method ‘--discard’ which may or may not remove data. If the devices, such as the SD Card and adapter, do not support a BLKDISCARD, then a Quick Format is performed. If this is the case that it just performs a Quick Format, the data is recoverable.
To format an SD Card, you must specify which card you want to perform that formatting. If a device is not specified, then no formatting will occur and you will receive an error. The device is in the form ‘/dev/sdX’.
There is also a parameter to check if a newer version of the SD Card Formatter software is available. The parameter is ‘--update-check’. This parameter requires access to the Internet to perform the check.
After a proper command is specified, there is a progress amount listed to show the percentage of the format completion.
Once the format has been started, you can use the ‘CTRL+C’ combination to stop the formatting process.
To get the current version number of the SD Card Formatter, use the ‘--about- parameter.
If you need to see the options for the command, you can use the ‘--help’ parameter.
Keep in mind that any data on the SD Card will be erased, but sometimes it may be recoverable if you use Quick Format.
Troubleshooting
If the SD Card is not recognized, by some chance, you may need to restart your computer.
Some systems have an SD Card slot, but it is the standard SD Card size. If you are inserting a micro-SD Card, then you may have a faulty adapter card you are using. Also, check that the write tab on the SD Card Adapter is not set to read-only.
If you do not have an SD Card slot in your PC, then you are probably using an adapter that plugs into a USB port. Check and make sure that the adapter supports the SD Card type you are using. Older adapters may not support the newer SD Card standards and will not recognize a newer SD Card.
If the card keeps saying it is read-only, and you have tried to switch it to writable, but it still doesn’t work, the SD Card may be faulty or past its use.
Examples
If we determine, after inserting an SD Card, that it is at ‘/dev/sda’ and we want to format the SD Card with a Quick Format, we can use:
Since a Quick Format is the default, we do not need to specify the format type.
If we wanted to get rid of all existing data, so it is not easily recoverable, we can use the command:
The beginning of the format can be seen in Figure 1.
FIGURE 1
Once the format is complete, you will get a summary, as shown in Figure 2.
FIGURE 2
Reasons for Using SD Card Formatter
The SD Card Association states that general format utilities, like GParted, do not format the SD Cards to their full potential.
SD Cards can have a portion of space that is used to store ‘protected data’. The protected area is the Content Protection for Recordable Media (CBRM). This area is used to keep encryption keys and is not part of the usable storage. The SD Card uses the area to store what is needed for CBRM.
The SD Card Formatter by the SD Association does not touch this part of the storage area.
Another standard for better performance and comparability is that each SD Card is formatted to a specific file system depending on its size:
Conclusion
Using the SD Card Formatter is completely a choice, but I have not tried to test if the format is more optimal than, say, GParted.
Using the SD Card Formatter is one that you should test to see if it is what you need when you format an SD Card.
The page for the Formatter is here.
Keep in mind that this is a command-line program only. Maybe someone can write a Graphical User Interface for it.
Requirements
The SD Card Formatter can be used on specific Linux distros for either x86_64-bit or ARM64 systems. The following are listed as compatible:
- Debian 10+
- Ubuntu 20.04+
- Raspberry PI OS
- Fedora 41+
- Mint Cinnamon 21+
- Manjaro 24 1.2+
- Arch Linux
Installation
The tool is portable, so this means you do not install it. It is a stand-alone program that you can copy from machine to machine, or run off an external drive, such as flash drive.
So, on the above mentioned page, select either 'For Linux_x86_64' or 'For Linux_ARM64', depending on your system type.
Once you make a selection, you will be switched to the page containing the End User License. Scroll to the bottom and select to 'Accept' the license so you can download the file. Once downloaded, you can switch to the folder in a terminal and issue the command:
Code:
tar -xvzf SDCardFormatterv1.0.3_Linux_x86_64.tgz
If the filename has changed, usually because of the version number, change the filename accordingly. The resulting files should be in a folder named ‘SDCardFormatterv1.0.3_Linux_x86_64’, or appropriate to the version number:
- format_sd
- License.txt
Usage
Before you can format an SD Card, you need to unmount any partitions that are mounted.
To check the SD Card to see if it is mounted, use the command ‘lsblk’. You should see a listing of all connected drives. Find your SD Card and check the last column, which shows the mount point. If the column is empty, then you are fine to continue. If any partition on the SD Card has a mount point, then you need to remove the mount. Use the following command:
Code:
umount <mountpoint>
If you removed the mount point, then you can run the command ‘lsblk’ again to verify it was removed.
You are now ready to format the SD Card.
From the ‘lsblk’ command, you can also see the name of the SD Card, such as ‘sda’, ‘sdb’ or another name. This is the device name you will use to format the SD Card.
You can assign a Volume Label to the SD card when it is formatted. The Volume Label can be up to eleven characters. The parameter use to specifying a volume label is ‘-l <volume-name>’.
Depending on your language, you can specify the code page to use characters for your language, the default is English. The Code Page value for English is ‘437’ and is usually found under the Locale, which is UTF-8.
Another default is to perform a Quick Format. Doing a Quick Format will remove the file and folder entries, but leave the data intact on the device. The files and folders do not appear when listing the contents, but you can easily recover the files and folders.
If you want to make sure the files and folders cannot be restored, then use the ‘--overwrite’ parameter. In this manner, the sectors will be overwritten with zeros. Keep in mind that this can take more time, especially if the SD Card has a lot of storage.
You could also use the Block Discard (BLKDISCARD) method ‘--discard’ which may or may not remove data. If the devices, such as the SD Card and adapter, do not support a BLKDISCARD, then a Quick Format is performed. If this is the case that it just performs a Quick Format, the data is recoverable.
To format an SD Card, you must specify which card you want to perform that formatting. If a device is not specified, then no formatting will occur and you will receive an error. The device is in the form ‘/dev/sdX’.
There is also a parameter to check if a newer version of the SD Card Formatter software is available. The parameter is ‘--update-check’. This parameter requires access to the Internet to perform the check.
After a proper command is specified, there is a progress amount listed to show the percentage of the format completion.
Once the format has been started, you can use the ‘CTRL+C’ combination to stop the formatting process.
To get the current version number of the SD Card Formatter, use the ‘--about- parameter.
If you need to see the options for the command, you can use the ‘--help’ parameter.
Keep in mind that any data on the SD Card will be erased, but sometimes it may be recoverable if you use Quick Format.
Troubleshooting
If the SD Card is not recognized, by some chance, you may need to restart your computer.
Some systems have an SD Card slot, but it is the standard SD Card size. If you are inserting a micro-SD Card, then you may have a faulty adapter card you are using. Also, check that the write tab on the SD Card Adapter is not set to read-only.
If you do not have an SD Card slot in your PC, then you are probably using an adapter that plugs into a USB port. Check and make sure that the adapter supports the SD Card type you are using. Older adapters may not support the newer SD Card standards and will not recognize a newer SD Card.
If the card keeps saying it is read-only, and you have tried to switch it to writable, but it still doesn’t work, the SD Card may be faulty or past its use.
Examples
If we determine, after inserting an SD Card, that it is at ‘/dev/sda’ and we want to format the SD Card with a Quick Format, we can use:
Code:
sudo format_sd /dev/sda
Since a Quick Format is the default, we do not need to specify the format type.
If we wanted to get rid of all existing data, so it is not easily recoverable, we can use the command:
Code:
sudo format_sd /dev/sda --overwrite
The beginning of the format can be seen in Figure 1.
FIGURE 1
Once the format is complete, you will get a summary, as shown in Figure 2.
FIGURE 2
Reasons for Using SD Card Formatter
The SD Card Association states that general format utilities, like GParted, do not format the SD Cards to their full potential.
SD Cards can have a portion of space that is used to store ‘protected data’. The protected area is the Content Protection for Recordable Media (CBRM). This area is used to keep encryption keys and is not part of the usable storage. The SD Card uses the area to store what is needed for CBRM.
The SD Card Formatter by the SD Association does not touch this part of the storage area.
Another standard for better performance and comparability is that each SD Card is formatted to a specific file system depending on its size:
- FAT12/FAT16 - 2GB or less
- FAT32 - 4GB to 32GB
- exFAT - 32GB and above
Conclusion
Using the SD Card Formatter is completely a choice, but I have not tried to test if the format is more optimal than, say, GParted.
Using the SD Card Formatter is one that you should test to see if it is what you need when you format an SD Card.

