A complete, cross-interface SD card formatting utility for Windows, designed for safety, flexibility, and ease of use.
This repository contains three versions of the formatter:
sdFormatterGUI.py— English version with a full graphical user interface (GUI) built with PySide6/Qt.sdFormatterTerminal-english.py— English terminal/CLI version.sdFormatterTerminal-italian.py— Italian terminal/CLI version.
- Safe disk selection — System and boot disks are locked to prevent accidental formatting.
- File system options — FAT32, exFAT, NTFS, or AUTO (auto-selects based on capacity).
- Quick or full format — Choose between fast formatting or a complete overwrite.
- Deep clean option — Securely wipes all data (can take significantly longer).
- Camera compatibility mode — Optimized FAT32 with 32 KB clusters for SD cards ≤ 32 GB.
- Cluster size selection — Manual or automatic allocation unit size.
- Dry-run mode — Simulates the process without making changes.
- PowerShell backend — Uses native Windows PowerShell commands for reliability.
- Modern, responsive interface with:
- Disk table with capacity, bus type, name, letters, and status.
- Option panels for label, file system, cluster size, and format type.
- Real-time log output and progress bar.
- Confirmation dialog requiring typed code before formatting.
- Threaded execution — UI remains responsive during operations.
- Built-in privilege check and one-click restart as administrator.
- English CLI (
sdFormatterTerminal-english.py) — Interactive prompts and clear status messages in English. - Italian CLI (
sdFormatterTerminal-italian.py) — Interactive prompts and messages in Italian. - Lightweight, no GUI dependencies.
- OS: Windows 10 or 11
- Python: 3.10 or newer
- PowerShell: Installed and available in PATH
- Privileges: Administrator rights required for actual formatting
- PySide6 — Install via:
pip install PySide6
Clone the repository:
git clone https://github.com/bocaletto-luca/SDFormatter.git
cd SDFormatterInstall dependencies:
pip install -r requirements.txt(For GUI: ensure PySide6 is included in requirements.txt or install manually.)
python sdFormatterGUI.py- Select a disk from the table.
- Configure options (label, file system, cluster size, quick/full, etc.).
- Confirm by typing the required code.
- Monitor progress and logs in real time.
python sdFormatterTerminal-english.pypython sdFormatterTerminal-italian.py- Dry-run mode is enabled by default in the GUI. Disable it only when ready to perform the actual format.
- Always double-check the selected disk number before confirming.
- Deep clean mode will securely erase all data and may take hours on large drives.
This project is released under the GPL v3 License. See LICENSE for details.
Luca Bocaletto
GitHub: bocaletto-luca