The replay statistics for the rest of us.
The "Year-In-Review" experience for iTunes and iPod users.
Spotify has Wrapped. Apple Music has Replay. But what about iTunes and iPod users?
TunesBack fills that gap. Streaming services provide year-end analytics, but local music libraries don't... until now. TunesBack brings that experience to your local library: track listening habits, discover top artists, albums and songs, and see how your taste evolves over time.
Works with both iTunes and Apple Music libraries. Cross-platform support for Windows, macOS, and Linux.
Powered by libpytunes for robust iTunes XML parsing.
- Compare periods or analyze single snapshots (XML files be properly named. See guide below)
- Top Artists, Albums & Songs with customizable rankings (5-100 items)
- Flexible display: Hours/minutes, sort by time/plays
- Beautiful dashboard with dark/light mode
- 100% private: All processing happens locally on your machine
Download from Releases
Note: On first launch, macOS may show a security warning. Go to System Settings → Privacy & Security and click "Open Anyway"
From source:
git clone https://github.com/mooseses/TunesBack.git
cd TunesBack
pip install -r requirements.txt
python main.py- Open iTunes/Music → File → Library → Export Library
- Save as
.xmlwith a date in filename (e.g.,2025-12-01.xml) - Export again later to compare!
- Click Select Folder and choose your XML files location
- Pick date range or single snapshot
- Click Generate Recap
How TunesBack Parses Dates
TunesBack uses fuzzy date parsing to automatically extract dates from your XML filenames and displays them as YYYY-MM-DD in the app.
2025-12-01.xml
2025_12_01.xml
December-01-2025.xml
Dec-01-2025.xml
01 December 2025.xml
2025-12-01 iTunes Library.xml
Library_2025_12_01_backup.xml
Best Practice: Use ISO format YYYY-MM-DD.xml or include month names to avoid confusion.
library.xml(no date)v2.1.3-export.xml(version numbers confused with dates)backup.xml(no date information)01-12-2025.xml→ Could be Jan 12 or Dec 112-01-2025.xml→ Could be Dec 1 or Jan 12
Set up a scheduled task (cron/Task Scheduler) to automatically copy and rename your iTunes Library XML to a snapshots folder weekly/monthly:
macOS/Linux:
# Add to crontab: Run monthly on the 1st at midnight
0 0 1 * * cp ~/Music/iTunes/iTunes\ Library.xml ~/Music/Snapshots/$(date +\%Y-\%m-\%d).xmlWindows PowerShell (Task Scheduler):
$date = Get-Date -Format "yyyy-MM-dd"
Copy-Item "$env:USERPROFILE\Music\iTunes\iTunes Library.xml" "$env:USERPROFILE\Music\Snapshots\$date.xml"You can also integrate this with cloud-based iTunes Library XML parsers like this one to sync playlists to Plex while backing up snapshots.
- Flet - Modern Python UI framework
- libpytunes - iTunes XML parser
- pandas - Data analysis and aggregation
- python-dateutil - Fuzzy date parsing
Distributed under the GPL-3.0 License. See LICENSE for details.