Audio Tag Stripper is a powerful desktop application built with PyQt6 and Mutagen that removes cover art and normalizes metadata from MP3, FLAC, and M4A files — replacing titles with their filenames.
🎯 Perfect for: Musicians, DJs, archivists, and anyone who wants clean, consistent audio metadata without embedded covers.
- 🙌 Who is this for?
- 💡 Why use Audio Tag Stripper?
- ✨ Features
- 📸 Screenshot
- 🚀 Getting Started
- 🧩 How It Works
- 📊 Table Columns Explained
- 🐛 Troubleshooting
- 🔧 Development
- 🤝 Contributing
| Category | Description |
|---|---|
| 🎧 DJs & Musicians | Clean up metadata and remove unwanted cover art from music libraries |
| 🗄️ Archivists | Standardize audio files for long-term storage |
| 💻 Developers | Prepare audio files for batch processing or testing |
| 📀 Music collectors | Remove bloat from embedded album art and fix mismatched titles |
| 🧹 Minimalists | Keep only filename-based titles and zero embedded images |
| Problem | Solution |
|---|---|
| ❌ Embedded cover art wastes storage space | ✅ Removes all covers from MP3, FLAC, M4A |
| ❌ Titles don’t match filenames | ✅ Replaces title tag with filename |
| ❌ Batch cleaning takes hours manually | ✅ Batch processes entire folders instantly |
| ❌ Inconsistent metadata across formats | ✅ Works with MP3, FLAC, and M4A |
| ❌ No visual feedback on tag status | ✅ Table shows covers & status before/after |
💡 Pro Tip: Use this tool before uploading music to cloud storage or embedding in documentation.
| Feature | Description |
|---|---|
| 🎯 Batch Processing | Load an entire folder — process all supported files at once |
| 🖼️ Cover Removal | Removes APIC, PICT, covr, and FLAC pictures |
| 🏷️ Tag Normalization | Sets TIT2 (MP3), title (FLAC), or ©nam (M4A) to the filename |
| 📊 Visual Table | Shows filename, current title, format, cover presence, and name match status |
| ✅ Smart Detection | Detects already-clean files and skips unnecessary writes |
| 📁 Non-destructive | Only tags are modified — audio data remains untouched |
| 🧹 Clean UI | Simple progress bar, clear buttons, and status icons |
| 🖼️ Icon Feedback | ✅ / ❌ icons for covers and name matching |
git clone https://github.com/YOUR_USERNAME/AudioTagStripper.git
cd AudioTagStripperpip install PyQt6 mutagenpython AudioTagStripper.py| Step | Action |
|---|---|
| 1️⃣ | Enter a folder path or use the UI to select one |
| 2️⃣ | Click Load Files — scans for .mp3, .flac, .m4a |
| 3️⃣ | Table shows current tags, covers, and name match status |
| 4️⃣ | Click Start — removes covers, updates title to filename |
| 5️⃣ | Progress bar updates in real time |
| 6️⃣ | Final summary shows how many files were cleaned |
| Column | Meaning |
|---|---|
| Name | Actual filename (without extension) |
| Title | Current title tag from file metadata |
| Format | MP3, FLAC, or M4A |
| Cover | ✅ = cover exists / ❌ = no cover |
| Status | ✅ = filename matches title / ❌ = mismatch |
After processing:
- Cover always becomes ❌
- Status always becomes ✅
| Issue | Solution |
|---|---|
| No files found | Make sure folder contains .mp3, .flac, or .m4a |
| MP3 header error | File may be corrupted or not a valid MP3 |
| Tags not clearing | Check file permissions — some files are read-only |
| UI file not loading | Ensure ./ui/AudioTagStripper.ui exists |
| Icons not showing | Place icons in ./assets/ (OK.png, Error.png, Warning.png) |
Project Structure:
AudioTagStripper.py
├── class AudioTagStripper(QMainWindow)
│ ├── __init__() # Load UI, connect buttons
│ ├── customize_ui() # Table settings, window size
│ ├── show_message() # Custom message boxes
│ ├── load_files() # Scan folder, populate table
│ └── start_process() # Strip covers, fix titlesSupported formats & tag mappings:
| Format | Cover Tag | Title Tag |
|---|---|---|
| MP3 | APIC, PICT | TIT2 |
| FLAC | pictures | title |
| M4A | covr | ©nam |
Pull requests and feature suggestions are always welcome! Feel free to:
- Fork the repository
- Create a feature branch
- Submit a pull request
If this tool helps you clean your music library, please give it a ⭐ on GitHub!