leftcoast-apps23 downloadsBuild ChordPro charts, organize setlists and run sheets, transpose on the fly, and perform from a tablet or desktop.
Write the chart. Build the set. Perform the plan.
Stage Binder is an Obsidian plugin for building ChordPro charts, organizing setlists and run sheets, transposing on the fly, and performing from a tablet or desktop. Songs remain ordinary Markdown or .chordpro files in your vault: no database, no cloud account, no lock-in.

Get started · Download the latest release · Report an issue
Most music tools manage a list of songs. A service or show is more than a list of songs.
Stage Binder keeps the whole plan together: charts, the Form each song is actually played in, performance keys, clock times, assignments, readings and notes, PDFs, images, and the running order. When the set begins, the same files become a touch-friendly performance view.
Charts, setlists, and run sheets remain ordinary files in your Obsidian vault. They stay searchable, work offline, and remain yours if you stop using the plugin tomorrow.
Stage Binder was built first for a small church with a volunteer band and no room in the budget for another subscription. The same workflow also fits gigging musicians, bandleaders, and songwriters who need more than a folder of disconnected charts.
ChordPro is a plain-text format that puts chord names inline with lyrics using square brackets: [G]Amazing grace, how [C]sweet. It has been the standard for musician-readable chord charts since the 1990s, and for good reason.
Transpose in seconds. Because chords are symbolic text, not fixed images or formatted cells, Stage Binder can shift every chord in a song up or down by any interval instantly. No retyping, no copy errors, no reformatting. A guitarist who needs the song in Bb instead of G changes one setting and the entire chart updates.
Capo-aware transposition. Set a capo fret and the chart shows the open-position shapes you actually play, while the sounding key stays correct for the rest of the band. Pianists see concert pitch; guitarists see capo shapes. Same chart, same source file.
Nashville Number System. Toggle any chart to Nashville numbers (1, 4, 5, etc.) so session players and readers comfortable with that system can use the same song without a separate chart.
Rich metadata, zero lock-in. ChordPro directives like {key}, {tempo}, {artist}, {ccli}, and {form} travel with the song as plain text. Your music library is a folder of readable files you own forever.
Obsidian treats every note as a local file: Markdown, ChordPro, PDF, image. That makes it a natural home for a music library built on plain-text formats.
Your songs are just files. A .chordpro file in your vault is the same file you could open in any text editor, sync to any device, or check into version control. Obsidian adds structure on top without changing the file underneath.
Link anything to anything. Obsidian's [[wikilink]] syntax means a setlist is just a note with links to songs. A run sheet links to songs, PDFs, liturgy notes, and images. No import/export step, no separate database. Reorganize by dragging files; links update automatically.
Metadata that works. Obsidian's YAML properties (key, artist, tempo, ccli) and ChordPro directives both store song metadata as readable text. Use Obsidian's search, Dataview, or Bases to query your entire library: find every song in the key of E, list all songs by a specific artist, or pull a CCLI report across hundreds of songs in seconds.
One vault, every device. Sync your vault through iCloud, Obsidian Sync, or any file-sync tool. The same song library is on your laptop for rehearsal prep and your tablet on the music stand.
Community ecosystem. Stage Binder builds on Obsidian's plugin API and works alongside the tools you already use: Templates for new-song scaffolding, QuickAdd for rapid chord entry workflows, Dataview for smart setlist queries.
[ in your note to trigger the chord insertion popup.{key} directive. If your song is in G, you see G, Am, Bm, C, D, Em first, not every chord in Western music.Declare a song's structure with the {form} directive: V1 C V2 C B C. The performance view follows the form, so the band sees sections in performance order even if the source file only writes each section once.
Preview a chart while adjusting its key, Nashville numbers, lyrics, text size, columns, and autoscroll from one compact Tools panel.

Build the song's Form as the roadmap you will actually perform.

Mix songs, Markdown notes, images, PDFs, clock times, roles, and durations in one running order.

Use the same stage controls with transposable charts or fixed PDF material.

Keep a source PDF beside a ChordPro file while rebuilding it as a transposable, searchable chart.

Install Stage Binder from the Obsidian Community directory:
For prerelease or manual testing, download main.js, manifest.json, and styles.css from the latest GitHub release and place them in:
<your-vault>/.obsidian/plugins/stage-binder/
Reload Obsidian, then enable Stage Binder under Community plugins.
Requires Obsidian 1.8.7 or later. Desktop and mobile are supported.
The repository includes one small public-domain demo set that can be copied into a scratch vault. Stage Binder never creates demo files automatically.
For the complete first-use walkthrough, read Getting started with Stage Binder.
Songs can be .chordpro files or Markdown notes. Metadata can use ChordPro directives:
{title: Amazing Grace}
{artist: John Newton}
{key: G}
{form: V1 V2 V3 V4}
{comment: Verse 1}
Amazing [G]grace, how [C]sweet the [G]sound
That saved a wretch like [D]me
Markdown songs can keep the same values in YAML properties and place the chart in the note body or a fenced chordpro block.
A setlist is a Markdown note containing links in performance order:
# Saturday set
1. [[Songs/Amazing Grace.chordpro]] in G
2. [[PDF/Aura Lea.pdf]]
A run sheet may also contain a start property, headings, durations, and leaders:
---
start: 7:30 PM
---
## Set one
- [[Songs/Amazing Grace.chordpro]] in G (4 min) @Band
- Changeover (2 min) @Stage
Stage Binder does not include telemetry, analytics, advertising, accounts, payments, or automatic network requests.
The plugin reads files only from the current Obsidian vault. It writes or rewrites files only after an explicit user action, such as creating a song, committing a transpose, exporting a chart, or generating a report. A user may attach an external reference-audio URL to a song; Stage Binder displays that URL as a link and connects only when the user chooses to open it.
npm install
npm run lint
npm test
npm run build
To install a build in a scratch vault:
CHORDPRO_VAULT="/absolute/path/to/scratch-vault" npm run install:vault
Do not test development builds in a vault containing irreplaceable material.
Tagged releases include GitHub artifact attestations for main.js and styles.css. After downloading the release assets, verify both files with:
gh attestation verify main.js --repo IngloriousPSTR/stage-binder
gh attestation verify styles.css --repo IngloriousPSTR/stage-binder
Rendered chart HTML passes through Obsidian's sanitizer. The plugin does not include song libraries or licensed lyrics. Users are responsible for having permission to store, display, print, or share the music they add to their vault.
The files under examples/ use public-domain works. Their provenance is documented in examples/README.md.
Stage Binder is released under the MIT License. Third-party notices are preserved in THIRD_PARTY_LICENSES.