Skip to content

Modern sync for classic iPods.

Keep the stock firmware and ditch the old software. A CLI that makes syncing your iPod a breeze.
podkit demo — syncing music to an iPod from the terminal

Features

Clean Artist Browsing

No more dozens of “Artist feat. X” cluttering your iPod. The ftintitle transform tidies up artist names on the fly — your source files stay untouched.

Automatic Transcoding

Music and video transcoded on the fly with device-aware quality presets. Keep your high-quality collection — podkit optimises for your iPod.

Non-Destructive

Your music collection is never modified. Transforms, transcoding, and format conversion only affect what lands on the iPod.

Incremental Sync

Only new, changed, or removed tracks are touched. Re-syncing a large library takes seconds, not hours.

Multiple Sources

Sync from local directories or a Subsonic-compatible server like Navidrome. Define multiple collections and sync independently.

Every Classic iPod

Stock firmware on all classic iPod models, including modded iPods with iFlash adapters.

Install

Terminal window
brew install jvgomg/podkit/podkit

Other install methods are available — see the Installation guide.

Quick Start

Terminal window
# Add your music (or Navidrome — see docs)
podkit collection add music main ~/Music/library
# Add a video collection
podkit collection add video movies ~/Movies
# Register your iPod
podkit device add myipod
# Mount, sync, and eject
podkit device mount
podkit sync --dry-run
podkit sync
podkit device eject
# See all available commands
podkit --help

Supported Devices

podkit works with iPods that use USB Mass Storage mode with the iTunesDB database format:

  • iPod Classic — all generations
  • iPod Video — 5th and 5.5th generation
  • iPod Nano — 1st through 5th generation
  • iPod Mini — 1st and 2nd generation
  • iPod Shuffle — 1st and 2nd generation

Modded iPods with iFlash SD card adapters are fully supported. See the complete compatibility list.

Not supported: iOS devices (iPod Touch, iPhone, iPad) use a different sync protocol.

Documentation