Experience your music like never before with word-by-word synchronized lyrics, rich artist metadata, and beautiful album artwork. A floating, always-on-top companion for Spotify, Apple Music, and YouTube Music.
π Free & Open Source β’ π Apple Silicon & Intel β’ β‘ Fast & Lightweight β’ π Privacy-First
Features β’ Screenshots β’ Installation β’ Usage β’ Development
Real-time synchronized lyrics with smooth word-by-word highlighting and rich metadata
| 
 
 
 
 | 
 
 
 
 | 
| Full Mode Complete experience with all features enabled | Compact Mode Essential player controls and lyrics | 
| Lyrics-Only Mode Distraction-free focused reading | RTL Language Support Perfect rendering for Arabic, Persian, Hebrew | 
| Live Lyrics in Menu Bar Real-time animated updates | Menu Bar Static View Current lyric line display | 
Smooth synchronized lyrics animation with word-by-word highlighting
- Download LyricGlow-arm64.dmg from the latest release
- Open the DMG file
- Drag LyricGlow.app to /Applicationsfolder
- Right-click LyricGlow β Select "Open"
- Click "Open" in the security dialog
- Download LyricGlow-x64.dmg from the latest release
- Follow steps 2-5 above
β οΈ First Launch Security Note: macOS Gatekeeper will show a warning because LyricGlow uses ad-hoc signing (not notarized). Right-clicking and selecting "Open" bypasses this check. This is required only on first launch.
System Requirements:
- macOS 11.0 (Big Sur) or later
- 100 MB free disk space
- Internet connection for lyrics fetching
- Spotify, Apple Music, or any music player using macOS Now Playing API
# Clone repository
git clone https://github.com/ateymoori/lyricglow.git
cd lyricglow
# Install dependencies
npm install
# Run in development mode
npm start
# Build DMG for distribution
npm run dist:macDeveloper Requirements:
- Node.js 22.x or later
- npm or yarn
- Xcode Command Line Tools
- Launch LyricGlow - The app will appear as a floating window
- Play music in Spotify, Apple Music, or YouTube Music
- Watch lyrics sync automatically with word-by-word highlighting
- Customize your experience - Click βοΈ to open settings
- Play/Pause - Click the center button or spacebar
- Skip tracks - Use previous/next buttons
- Seek - Click or drag the progress bar to jump to any timestamp
- Full lyrics - Click π button to view complete lyrics
ποΈ General Settings
- Launch at Login - Auto-start LyricGlow when you log in
- Menu Bar Lyrics - Display current lyric line in system tray
- Spotify Integration - Connect your account for enhanced features
π¨ Display Settings
Toggle visibility for each section:
- β Music Player (album art, controls, progress bar)
- β Synchronized Lyrics
- β Artist Images Carousel
- β Artist Biography
- β Artist Metadata (country, genre, social links)
- β Top Tracks (Spotify login required)
- β Top Albums (Spotify login required)
- β Similar Artists
πΎ Cache Management
- View cached items - See all stored lyrics, metadata, and images
- Clear individual items - Remove specific cached songs
- Clear all cache - Fresh start (7-day auto-cleanup by default)
π Logs & Troubleshooting
- View log statistics - Monitor app performance
- Open logs folder - Access detailed logs at ~/Library/Logs/LyricGlow/
- Clear logs - Remove old log files
π‘ Drag to reposition - Click and drag anywhere on the window π‘ Click album art - Opens track in Spotify (if installed) π‘ Menu bar control - Right-click tray icon for quick actions π‘ Keyboard shortcuts - Spacebar for play/pause (when focused) π‘ RTL support - Automatically detected for Arabic, Persian, Hebrew
lyricglow/
βββ app/                        # Main application code
β   βββ main.js                # Electron main process
β   βββ renderer.js            # UI logic & event handling
β   βββ preload.js             # Secure IPC bridge
β   βββ index.html             # Main window markup
β   βββ styles.css             # Complete styling
β   βββ auth/                  # Spotify OAuth
β   βββ cache/                 # Caching system
β   βββ lyrics/                # Lyrics fetching (LRCLIB)
β   βββ metadata/              # Artist metadata (TheAudioDB, Spotify)
β   βββ utils/                 # Logger, SecureFetch
βββ build/                     # Build assets (icons, entitlements)
βββ assets/fonts/              # Embedded fonts (Inter, Vazirmatn)
βββ electron-builder.yml       # Packaging configuration
npm start              # Launch app (production mode)
npm run dev            # Launch with verbose logging
npm run pack           # Build unpacked app for testing
npm run dist:mac       # Build DMG for macOS (both architectures)
npm run release        # Auto version bump + build| Category | Technology | 
|---|---|
| Framework | Electron 33.4.11 | 
| Language | TypeScript 5.9.3 (Strict Mode) | 
| Build System | electron-vite + Vite 5.4.21 | 
| Lyrics API | LRCLIB - Synchronized lyrics database | 
| Metadata API | TheAudioDB - Artist information | 
| Music Integration | Spotify Web API - OAuth & enhanced features | 
| System Integration | macOS AppleScript, Now Playing API | 
| Storage | electron-store | 
| Logging | electron-log | 
| Packaging | electron-builder | 
- Security-First: Context isolation, no Node.js integration in renderer, CSP headers
- Event-Driven: IPC communication between main and renderer processes
- Efficient Polling: Smart interval adjustments (500ms-1s) based on playback state
- Multi-Source: Lyrics from LRCLIB, metadata from TheAudioDB and Spotify
- Offline Support: 7-day intelligent caching with automatic cleanup
- Multilingual UI (Spanish, French, German, Persian, Arabic, Chinese)
- Additional lyrics sources (Genius, Musixmatch fallback)
- Romanization for non-Latin scripts
- Customizable themes and colors
- Keyboard shortcuts configuration
- Windows 10/11 support
- Linux (Ubuntu, Fedora) support
- Chrome/Firefox browser extension
- iOS companion app (view lyrics on mobile)
- AI-powered lyrics generation for missing songs
- Karaoke mode with vocal removal
- Lyrics translation (50+ languages)
- Music recommendations based on lyrics mood
- Export lyrics with timestamps
- Animated backgrounds sync to music
We welcome contributions! Here's how you can help:
- πͺ Windows Support - Port to Windows 10/11 with native APIs
- π§ Linux Support - MPRIS integration for Ubuntu/Fedora
- π UI Translations - Localize interface to your language
- π€ Lyrics Sources - Integrate additional APIs (Genius, Musixmatch)
- π¨ UI/UX improvements
- π Documentation & tutorials
- π Bug reports & testing
- π‘ Feature suggestions
- Fork this repository
- Clone your fork: git clone https://github.com/YOUR_USERNAME/lyricglow.git
- Create branch: git checkout -b feature/your-feature-name
- Make changes and commit: git commit -m "Add: your feature description"
- Push to your fork: git push origin feature/your-feature-name
- Open Pull Request with detailed description
Development Guidelines:
- Follow existing code style (ES2022, async/await)
- Test on both Apple Silicon and Intel Macs
- Update README for new features
- Add error handling and logging
MIT License - Copyright (c) 2025 AmirHossein Teymoori
Permission is hereby granted, free of charge, to use, modify, and distribute this software.
See LICENSE file for full details.
- LRCLIB - Free synchronized lyrics database
- TheAudioDB - Artist metadata and biography
- Spotify Web API - Music metadata and OAuth
- Electron - Cross-platform desktop framework
- electron-store - Settings persistence
- electron-builder - macOS packaging and DMG creation
- electron-log - Logging system
Senior Full-Stack Developer & Open Source Enthusiast
If LyricGlow enhances your music experience, please consider:
Star this repository β’ Share with friends β’ Report bugs β’ Contribute code
Every star helps more people discover LyricGlow! π
π GitHub Repository β’ π¦ Build from Source β’ π Report Issues
synchronized-lyrics real-time-lyrics spotify-lyrics apple-music-lyrics youtube-music-lyrics macos-app electron-app music-player lyrics-display now-playing desktop-lyrics floating-widget lyrics-widget music-companion karaoke rtl-support arabic-lyrics persian-lyrics hebrew-lyrics multilingual music-metadata artist-biography album-artwork spotify-integration free-app open-source mit-license electron typescript macos-big-sur apple-silicon m1-m2-m3 lyrics-automation lyrics-synchronization lrc-format music-visualization transparent-overlay always-on-top music-widget desktop-widget lyrics-api
Made with β€οΈ for music lovers | Last updated: October 2025 | Version 0.4.0