Track your packages from multiple carriers — one app, no API keys required.
A modern Windows desktop app that tracks packages from Cainiao, DHL, China Post, AliExpress Standard Shipping, FedEx, UPS and 50+ carriers via the 17Track public API. No registration, no API keys, no nonsense.
- ➕ Add tracking numbers — paste any number, press Enter
- 🧠 Duplicate detection — won't add the same code twice
- 🏷️ Name your packages — click the name to rename (e.g. "Batterie LiPo 3S")
- 🔄 Auto-tracking — updates automatically on startup + manual refresh button
- 📋 Full timeline — click a package card to see every tracking event
- 🗑️ Delete anytime — red ✕ button removes a package
- 💾 Persistent — data saved to
%APPDATA%\PackageTracker\packages.json - 🌑 Dark neon GUI — modern customtkinter interface
┌─────────────────────────────────────────────────────────┐
│ 📦 PackageTracker [+ Add] [🔄] │
├─────────────────────────────────────────────────────────┤
│ 📦 Batterie 3S CJ407227209DE ✅ Consegnato │✕│
│ ▸ Package delivered to recipient │
│ │
│ 📦 Vite M3 CD662746933DE 🌍 In transito│✕│
│ ▸ Departed from sorting center - Shenzhen │
│ │
│ 📦 Sensori IR 9C1729J277178 ⏳ In attesa...│✕│
│ │
└─────────────────────────────────────────────────────────┘
- Grab the latest
PackageTracker.exefrom Releases - Double-click — no installation needed
- Start adding tracking numbers
git clone https://github.com/RuggeroCadamuroITA/PackageTracker.git
cd PackageTracker
pip install -r requirements.txt
python tracking_app.pypip install pyinstaller
pyinstaller --onefile --windowed --name "PackageTracker" tracking_app.pyThe .exe will be in dist/.
Works with any carrier supported by 17Track's public API, including:
| Carrier | Code prefix |
|---|---|
| Cainiao | 9C... |
| Deutsche Post DHL | ...DE, CJ...DE |
| AliExpress Standard | ... |
| China Post | ... |
| FedEx | ... |
| UPS | ... |
| DHL Express | ... |
50+ carriers auto-detected. If 17Track knows it, PackageTracker can track it.
All data is stored locally at:
%APPDATA%\PackageTracker\packages.json
Your tracking numbers and package names never leave your machine except when querying 17Track's public tracking API.
- Python 3.14+
- customtkinter — modern dark-themed GUI
- requests — 17Track API communication
- PyInstaller — standalone .exe bundling
MIT — do whatever you want with it.
Made with ⚡ by RuggeroCadamuroITA