campfire-android
Your songbook, on every screen you own.
Campfire is a chord sheet viewer and editor built around the plain-text ChordPro format. It runs natively on Android, iOS, macOS, Windows, Linux and the web.

The interface is designed around practical use, whether you’re organizing a song library, building setlists, or playing a gig. Songs automatically adapt with multi-column layouts and customizable section ordering to make reading easier on stage. It also includes on-the-fly transposition, adjustable font sizing, a lyrics-only view for singers, customizable themes, and a Performance mode to lock the app against accidental edits. Songs and setlists can be exported as printable PDFs, with a page preview, song selection, and saved paper, sizing and content options.

The app works offline (the web app after its first visit), requires no account, and doesn't rely on a central server. Syncing the library across devices is handled directly through your own Dropbox storage. Campfire is free, open-source, and has no ads or tracking. Check out the Privacy Policy for more information.
Get Campfire
The app is currently available for the following platforms:
macOS is coming really soon (under final review):
Under the hood
Campfire is a Kotlin Multiplatform project targeting Android, iOS, desktop (JVM) and the web (Kotlin/Wasm). The whole interface is written once with Compose Multiplatform and Material 3 Expressive, with navigation handled by Navigation 3 and dependencies wired together at compile time using Koin Annotations. Platform-specific code is limited to thin shells: file pickers, system bars, share and "open with" intents, and the storage behind the library, which is a plain folder on Android, iOS and desktop and the Origin Private File System in the browser.
The code is split into small modules with a strict api / implementation boundary at every layer: a presentation module with the screens and the ViewModel, a domain layer of single-method use cases, repositories on top of local and remote data sources, and the app modules that hold each platform's entry point.
The ChordPro parser, transposer and serializer live in a dependency-free chordpro module, so the format logic can be tested and reused independently of any UI or storage.
Everything the app owns is a plain file: songs are .cho files and setlists are small JSON documents, so nothing is locked inside a database.
Syncing is a pure planning step over file hashes and a remote listing, run against a provider interface that Dropbox implements through OAuth with PKCE, which is why no backend of Campfire's own is needed.
License
Copyright (c) Péter Pandula 2017-2026. This software is licensed under the Mozilla Public License 2.0.
The MPL is a file-level copyleft license, which means you are welcome to reuse any part of Campfire — the ChordPro parser, the sync engine, a single screen — in your own project, open source or not. If you modify one of the files in this repository, that file has to stay under the MPL and its source has to be available; anything new you write alongside it is yours, under whatever license you choose.
The name Campfire, the app icon and the other branding assets are not covered by the license and remain the author's. The MPL grants no trademark rights (section 2.3), so a fork has to ship under a name and an icon of its own.
The web build bundles JetBrains Mono, copyright The JetBrains Mono Project Authors, which is licensed under the SIL Open Font License 1.1 rather than the MPL, and Inter, copyright The Inter Project Authors, licensed under the same license.






