Skip to content

Repository files navigation

Automated MP3 Tag Editor GUI

GitHub · Releases · Issues

GitHub last commit GitHub license

Automated MP3 Tag Editor GUI

Local desktop app (Tauri + Next.js + Rust) for scanning a music library, scraping metadata from a companion API, editing tags/cover art, downloading tracks, and browsing library stats.

Current version: 2.0.2


What it does

Area Capability
Library Pick a folder, scan MP3s into a local SQLite cache, refresh individual tracks
Scrape Batch-fetch metadata via an external scrape API; review suggestions or apply tags immediately
Edit Manual tag edits, embed/replace album art (ID3v2.3 + JPEG), fetch art from a URL
Download YouTube/other URLs via yt-dlp; Spotify via spotDL
Player Built-in library playback (Windows taskbar media controls when available)
Stats Library summaries, genre/artist breakdowns, artist-country map (MusicBrainz)
Settings Thread count, scrape providers, scrape mode, library path, appearance

App data lives under ~/.config/auto-mp3 (on Windows: %USERPROFILE%\.config\auto-mp3).


Prerequisites


Setup

git clone https://github.com/Mp3-Automated-Tag-Editor/Automated-Mp3-Gui
cd Automated-Mp3-Gui
npm install

Environment

Create .env.development at the repo root (or in src-tauri/):

ENV=development
DEV_API_ENDPOINT=http://127.0.0.1:8000/api/scrape/
HEALTH_ENDPOINT=http://127.0.0.1:8000/api/
Variable Used for
DEV_API_ENDPOINT POST target for per-track scrape requests (must be a valid URL; trailing path is fine)
HEALTH_ENDPOINT Base URL for /health checks in the UI
ENV Optional label logged at startup

Production builds compile in src-tauri/.env.production (same keys). That file must exist before npm run tauri build.

Download sidecars

Windows (from repo root):

npm run fetch:sidecars

This places bin/yt-dlp-x86_64-pc-windows-msvc.exe and bin/spotdl-x86_64-pc-windows-msvc.exe for Tauri externalBin. Other platforms: put matching yt-dlp / spotdl binaries under bin/ per Tauri externalBin naming.

Run / build

npm run tauri dev      # development
npm run tauri build    # production installer / binary

Usage

  1. Set a library folder (Edit or Settings).
  2. Wait for the scan to finish (progress events update the UI).
  3. Scrape incomplete tracks — choose review (suggestions only) or apply (write tags to disk).
  4. Review/edit tags and cover art on the Edit page; save when ready.
  5. Optional: Download into the library; Music to play; Statistics for overview.

Scraping will fail if DEV_API_ENDPOINT is unset or the API is down. Local edit/playback/library scan work without it.


Screenshots

Dashboard Edit Library Player Stats Download

Stack

  • UI: React, TypeScript, Tailwind, Next.js
  • Shell: Tauri 1.x
  • Tags: Lofty / ID3 (JPEG APIC, ID3v2.3 for player compatibility)
  • Local data: SQLite library cache + scrape response cache under ~/.config/auto-mp3

License

MIT © Mp3 Automated Tag Editor. See LICENSE.

About

A Tauri and Next.js based Desktop Application as a one stop solution to all your downloadable music needs.

Resources

Stars

10 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages