Search packages, repositories and app categories

GitHub repositoryharmonoid/harmonoid

Harmonoid

🎵 Beautiful music player for desktop & mobile.

Harmonoid project cover
Stars
4.8K
Forks
264
Last push (UTC)
Nov 9, 2026
Project status
Active

Original README

English project snapshot. Visit GitHub for the latest content.

Harmonoid

🎵 Plays & manages your music library. Looks beautiful & juicy.

Website • Download • Discord • Available for Windows, GNU/Linux, macOS, Android & iOS!

Features

  • Performant media library & tag reader.
  • Material Design 3 & 2.
  • Light & dark themes.
  • Lyrics (LRC, tags & online).
  • Lyrics translations.
  • Notification lyrics.
  • Artist images.
  • Playlists.
  • Gapless playback.
  • Speed adjustment.
  • Pitch adjustment.
  • Volume boost.
  • Crossfade.
  • ReplayGain.
  • Exclusive audio.
  • Tag editor.
  • Last.fm integration.
  • Discord RPC integration.
  • mpv/FFmpeg backend. Supports all file formats.
  • Multiple artist & genre support.
  • Fallback cover support. e.g. cover.jpg, Folder.jpg etc.
  • Small installer (≈ 35 MB) & low RAM usage (≈ 150 MB).
  • Excellent backward compatibility, Windows 10+, macOS 10.15+, Android 7.0+ & iOS 14.0+.
  • Portable.
  • Cross-platform (Windows, GNU/Linux, macOS, Android & iOS).
  • System Media Transport Controls & Taskbar Thumbnail Toolbar for Windows.
  • D-Bus MPRIS controls for GNU/Linux.
  • MPNowPlayingInfoCenter for macOS & iOS.
  • Notification.MediaStyle for Android.

Why

It's really hard to find software with good design & animations on desktop. It's almost like desktop app developers don't have faith in adding animations to their UI. Other music players, which look kind-of good don't work properly, refuse to support an audio format, read tags incorrectly, don't have my favorite feature or simply use electron.js.

Harmonoid very strictly implements Material Design to be a consistent, cohesive & modern music player for all platforms. There are no inconsistent paddings, spacings or weird alignments to make me feel uncomfortable. It's built with care & proper time is given to everything.

Localizations

You can help the project by adding or updating localizations at harmonoid/localizations.

License

This project & the work under this repository is governed by PolyForm Strict License 1.0.0 that can be found in the LICENSE file.

Harmonoid GitHub avatar
GitHub author

Harmonoid ↗

🎵 Beautiful music player for desktop & mobile.

The Internet
LanguagesDartInno SetupC++SwiftKotlinCMakePythonRubyCObjective-C

Categories

Flutter dependencies

Dependencies used

Dependency list 66 items

  • flutter{"sdk":"flutter"}
  • adaptive_layouts{"path":"external/adaptive_layouts"}
  • animations^2.0.0
  • audio_service^0.18.18
  • audio_session^0.2.3
  • auto_size_text^3.0.0
  • collection^1.18.0
  • crypto^3.0.3
  • draggable_float_widget^0.1.0
  • drift^2.30.1
  • dynamic_color^1.8.1
  • ffi^2.1.2
  • file_picker^12.0.0-beta.7
  • fluentui_system_icons^1.1.136
  • flutter_discord_rpc1.0.0
  • flutter_displaymode^0.7.0
  • flutter_local_notifications{"git":{"url":"https://github.com/alexmercerind/flutter_local_notifications.git","ref":"54c397a","path":"flutter_local_notifications"}}
  • flutter_markdown_plus^1.0.5
  • flutter_svg^2.2.1
  • freezed_annotation^3.1.0
  • go_router^16.3.0
  • http^1.2.1
  • identity{"path":"external/identity"}
  • image^4.5.4
  • in_app_review^2.0.12
  • json_annotation^4.9.0
  • lastfm{"path":"external/lastfm"}
  • lrc{"git":"https://github.com/alexmercerind/dart_lrc.git"}
  • m3_expressive_shapes{"git":{"url":"https://github.com/kekland/m3_expressive_shapes.git","ref":"e023ce817dc087247b59e10660b2eaf3e00ffc38"}}
  • measure_size^4.0.0
  • media_kit{"git":{"url":"https://github.com/media-kit/media-kit.git","ref":"c533e446755f51cf53c7e57aea873f2aa5355f81","path":"media_kit"}}
  • media_kit_libs_android_audio{"git":{"url":"https://github.com/media-kit/media-kit.git","ref":"c533e446755f51cf53c7e57aea873f2aa5355f81","path":"libs/android/media_kit_libs_android_audio"}}
  • media_kit_libs_ios_audio{"git":{"url":"https://github.com/media-kit/media-kit.git","ref":"c533e446755f51cf53c7e57aea873f2aa5355f81","path":"libs/ios/media_kit_libs_ios_audio"}}
  • media_kit_libs_linux{"git":{"url":"https://github.com/media-kit/media-kit.git","ref":"c533e446755f51cf53c7e57aea873f2aa5355f81","path":"libs/linux/media_kit_libs_linux"}}
  • media_kit_libs_macos_audio{"git":{"url":"https://github.com/media-kit/media-kit.git","ref":"c533e446755f51cf53c7e57aea873f2aa5355f81","path":"libs/macos/media_kit_libs_macos_audio"}}
  • media_kit_libs_windows_audio{"git":{"url":"https://github.com/media-kit/media-kit.git","ref":"c533e446755f51cf53c7e57aea873f2aa5355f81","path":"libs/windows/media_kit_libs_windows_audio"}}
  • media_library{"path":"external/media_library"}
  • mesh_gradient^1.3.7
  • mpris_service{"git":{"url":"https://github.com/alexmercerind/mpris_service.git","ref":"master"}}
  • path^1.9.0
  • path_provider^2.1.2
  • permission_handler^12.0.3
  • pool^1.5.2
  • provider^6.0.1
  • safe_local_storage^2.0.6
  • share_plus^13.2.0
  • sqlite3^2.9.4
  • sqlite3_flutter_libs^0.5.40
  • syncfusion_flutter_sliders24.2.7
  • synchronized^3.0.0+2
  • system_fonts^1.0.1
  • system_media_transport_controls{"path":"external/smtc-win32/bindings/system_media_transport_controls"}
  • tag_reader{"path":"external/tag_reader"}
  • taglib{"path":"external/taglib/taglib"}
  • taglib_libs{"path":"external/taglib/taglib_libs"}
  • uri_parser^3.0.2
  • url_launcher^6.3.2
  • uuid^4.3.3
  • wakelock_plus^1.6.1
  • win32^6.3.0
  • windows_taskbar{"git":{"url":"https://github.com/alexmercerind/windows_taskbar.git","ref":"c1fe0c37171521af8b55bc8ce89734cfe13262c1"}}
  • build_runnerDevelopment^2.4.8
  • drift_devDevelopment^2.30.1
  • flutter_lintsDevelopment^6.0.0
  • freezedDevelopment^3.2.3
  • json_serializableDevelopment^6.9.0

App categories

Rankings

How do I choose a repository?

Start with your use case, compare repository activity, and check the original project before adopting it.

  1. Search by repository name, owner or description, then narrow the results by topic.
  2. Compare stars, forks and recent pushes. Stars show community interest, not a guarantee of quality.
  3. Read the README, license and issues on GitHub before using a project.

Sources and maintenance

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗