A standalone MTG Arena deck tracker that automatically reads your game logs
- Automatic Match Tracking - Detects matches as you play in real-time
- Format Grouping - Tracks stats for Standard, Alchemy, Historic, Explorer, Pioneer, Timeless, Brawl, and more
- Deck Detection - Automatically identifies your decks with full card lists
- Win/Loss Tracking - Accurate match results based on game state
- Card Database - Auto-updating database from Scryfall with 16,000+ Arena cards
- Inventory Tracking - Shows gems, gold, vault progress, wildcards, and packs
- Real-time Status - Status bar updates with match progress and results
- System Tray - Runs in the background with tray notifications
- Data Export/Import - Backup and restore your match history
- No Account Required - All data stays local on your machine
This tracker reads MTG Arena's log file (Player.log) in real-time and extracts:
- Match start/end events
- Game results (win/loss/draw) with proper team detection
- Deck information and card lists
- Format played
- Player inventory (gems, gold, wildcards, packs)
- Node.js installed (v16 or higher recommended)
- Enable Detailed Logs in MTG Arena:
- Open MTG Arena
- Go to Settings → Account
- Check "Detailed Logs (Plugin Support)"
- Restart MTG Arena (important!)
# Clone or download this repository
cd mtg-arena-auto-tracker
# Install dependencies
npm install
# Run the tracker
npm start- Start the tracker - Run
npm start - Launch MTG Arena - Make sure detailed logs are enabled
- Play a match - The tracker will automatically detect it
- Check your stats - Open the tracker window to see your performance
The tracker runs in your system tray and will notify you when matches complete.
On first launch, the tracker will:
- Download the card database from Scryfall (~16,000 Arena cards)
- Start watching your MTG Arena log file
- Show the dashboard with your stats
The tracker automatically looks for the log file at:
%USERPROFILE%\AppData\LocalLow\Wizards Of The Coast\MTGA\Player.log
If your game is installed elsewhere, you can configure the path in Settings.
The main dashboard shows:
- Match Summary - Total matches, wins, losses, win rate
- Your Collection - Gems, gold, wildcards, vault progress, packs
- Performance by Format - Win rates for each format
- Recent Matches - Last 10 matches with deck and result
- View all your decks and their win rates
- Click any deck to see the full card list
- Card names are resolved using the Scryfall database
- Export decks to clipboard in standard format
First, check the status bar:
- Green pulsing = Connected and watching
- Yellow = Match in progress
- Red = Error or disconnected
Run the debug check:
node debug.jsOr go to Settings → Scan Now to manually refresh.
❌ Log file not found at: ...
Fix:
- Make sure MTG Arena is installed
- The log file is created only after you launch the game with detailed logs enabled
⚠️ No events detected
Fix:
- Open MTG Arena
- Go to Settings → Account
- Check "Detailed Logs (Plugin Support)"
- Restart MTG Arena completely
- Play at least one match
Go to Settings → Card Database → Update Now to download the latest card database.
The log only updates inventory when MTG Arena starts. If you earned packs during gameplay, restart MTG Arena to refresh the count.
Note: MTG Arena clears the log file when the game starts. You must:
- Start the tracker after MTG Arena has launched
- Keep the tracker running during matches
- The tracker only sees matches played while it's running
To see what the parser is doing in real-time:
- Open the tracker
- Go to Settings
- Click "Scan Now" button
- Check the console output
You should see messages like:
[AutoScan] Parsed 5 events from full log
[AutoScan] Found match: xx-xx-xx - Result: win
[Inventory] Updated: 1420 gems, 4350 gold
- Make sure you have Node.js 16+ installed
- Make sure you ran
npm installin the tracker folder - Try running the tracker from command line to see errors:
npm start
- Check if your antivirus is blocking file access
- Try running the tracker as Administrator (if on Windows)
Your match data is stored locally in:
- Windows:
%APPDATA%\mtg-arena-auto-tracker\data\
The card database is stored at: cards.json
You can export your data anytime from the Settings page.
- Electron - Desktop app framework
- Chokidar - File watching for real-time log parsing
- Scryfall API - Card database (bulk data)
- Node.js - Backend runtime
mtg-arena-auto-tracker/
├── main.js # Electron main process, file watcher
├── logParserV5.js # Parses MTG Arena log files
├── dataStore.js # Manages match data storage
├── cardUpdater.js # Downloads card database from Scryfall
├── renderer.js # UI logic
├── index.html # App interface
├── cards.json # Card database (auto-downloaded)
├── package.json # Dependencies
└── README.md # This file
| Feature | MTG Arena Auto Tracker | Other Trackers |
|---|---|---|
| In-game overlay | ❌ No | ✅ Yes |
| System resource usage | ✅ Low | |
| No third-party accounts | ✅ Yes | ❌ Account required |
| Auto-tracking | ✅ Yes | ✅ Yes |
| Privacy | ✅ Local only | ☁️ Cloud synced |
| Card database | ✅ Auto-updating | Varies |
| Free | ✅ Yes | ✅/💰 Varies |
This tracker is perfect if you want:
- A lightweight alternative to others
- Privacy (data stays on your machine)
- No account creation required
- Just the stats, no bloat
- No in-game overlay (by design - runs separately)
- Requires manual viewing of stats (not while playing)
- Inventory updates only when MTG Arena starts (game limitation)
- Some very new cards may not be in the database yet
Feel free to submit issues or pull requests. This is a community project.
Based on research from:
- MTG Arena Tool - Log parsing approach
- gathering-gg/parser - Log format documentation
- rconroy293/mtga-log-client - 17Lands client reference
- Scryfall - Card database
MIT - Free to use, modify, and distribute.