ONSONG CHARTS AVAILABLE NOW! LEARN MORE HERE

Read The Bleepin’ Manual

ChordPro (aka The Nerd Bible)

The ChordPro file format is like, totes a thing that other music apps use. OnSong gets it. Natively. Which is rad, we guess. OnSong recognizes files that look like this: .chordpro, .chopro, .cho, .crd, .pro

So ChordPro basically lets you cram song info into curly braces & pretend you're a programmer. This stuff breaks down into two buckets: metadata tags (boring behind-the-scenes stuff) & inline tags (the spicy bits that live in your actual song).

The Boring Stuff (Metadata Tags)

These are ChordPro tags you dump at the top of your song file. In the following tags, three dots (...) are where you type whatever, between the colon & the closing curly brace. Like this:

{title: Amazing Grace}
{key: G}

OnSong's got your back on these ChordPro tags:

  • {title: ...} or {t: ...} The name of the banger.
  • {subtitle: ...}, {st: ...} or {su: ...} Artist name or whatever byline you wanna flex. Stack multiple peeps by droppin' a semicolon between 'em. - Kim Walker-Smith; Chris Quilala
  • {album: ...} Which album this bop came from.
  • {artist: ...} or {a: ...} The awesome peep or byline vibes. Separate multiple artists with semicolons. - Kim Walker-Smith; Chris Quilala
  • {author: ...} The legend who charted this chord masterpiece. Shows up at the bottom of your chart & in lyric projections.
  • {key: ...} or {k: ...} or {ok: ...} What key you're in, written fancy with flats/sharps & an optional "m" for when it's all moody & minor. - alphabetic, e.g. Bb or Em
  • {capo: ...} Where you clamp that thing down - numeric fret number
  • {tempo: ...} Beats per minute (BPM) so you don't sound like a robot or a sloth. - numeric
  • {time: ...} How many beats per measure, mathematically speaking. - numeric, like 3/4
  • {duration: ...} How long the song actually lasts, for autoscroll shenanigans. - seconds or mm:ss
  • {book: ...} Playlists or collections or whatever you wanna call 'em. Comma-separated list of book names. Make 'em up if they don't exist; OnSong will create 'em for ya.
  • {number: ...} Song number for hymns, years, or if you're just obsessed with organization. - numeric, sort by this if you're into that
  • {flow: ...} How the sections stack up. List of section labels. Peep Flow for the nerdy details on arranging your song's vibe.
  • {midi: ...} MIDI commands that fire when you open the song. Check out MIDI Syntax to learn how to write that gobbledygook in OnSong.
  • {midi-index: ...} MIDI commands that make OnSong jump to this song in the Song Viewer. See MIDI Syntax for the tech-speak.
  • {pitch: ...} What notes to play when you're flexin' the Pitch Pipe feature.
  • {keywords: ...} or {topic: ...} Tags for searchin' by vibe. See Topics for how to find stuff by what it's actually about.
  • {copyright: ...} or {footer: ...} or {f: ...} Copyright text that shows at the bottom of your page or projected lyrics, 'cause lawyers.
  • {ccli: ...} The CCLI number if you're fancy & legal.
  • {restrictions: ...} Rights management rules & stuff. Comma-delimited list of what you can't do. See Restrictions for the fine print.
  • {composer: ...} The peeps who made up the music. Separate with semicolons if there's a bunch.
  • {lyricist: ...} The peeps who wrote the actual words. Also semicolon-separated if you've got a crew.

The Spicy Bits (Inline Tags)

These tags hang out inside your song & either mark sections or make text look fancy.

  • {define: ...} DIY chord diagrams for when you're feelin' creative. Peep Defining Chords for the how-to.
  • {comment: ...} or {c: ...} A note to yourself (or your bandmates). Shows up like a musical instruction.
  • {comment_bold: ...} or {cb: ...} Text that gets YELLED IN BOLD.
  • {comment_italic: ...} or {ci: ...} Text that's all fancy & slanted.
  • {guitar_comment: ...} or {gc: ...} Nerdy guitar instructions.
  • {start_of_verse: ..} or {sov} Marks the beginning of a verse. Optional label if you're into labeling.
  • {end_of_verse} or {eov} Verse is done. Srsly.
  • {start_of_chorus: ...} or {soc} Chorus incoming & maybe a label.
  • {end_of_chorus} or {eoc} Chorus over. Time for the next bit.
  • {start_of_bridge: ...} or {sob} Bridge time, optionally with a name.
  • {end_of_bridge} or {eob} Bridge finished. You made it.
  • {start_of_part: ..} or {sop} Marks the start of some random part. Label it if you want.
  • {end_of_part} or {eop} Part's done.
  • {start_of_tab} or {sot} Tablature incoming. OnSong makes it look all monospaced & nerdy.
  • {end_of_tab} or {eot} Tab section concluded.
  • {new_page} or {np} New page, digital or whatever.
  • {new_physical_page} or {npp} New page for real, like physically.

Font & Size Shenanigans (Formatting Tags)

Customize how your lyrics & chords look if you're feeling extra.

  • {textsize: ...} How big the lyrics are, in points. - numeric
  • {textfont: ...} What font to use for lyrics. Has to actually exist on your device, obvs.
  • {chordsize: ...} How big the chords are, in points. - numeric
  • {chordfont: ...} What font the chords wear. Must be supported, or OnSong will judge you silently.

File Extensions That Don't Suck (Supported File Extensions)

ChordPro is weird because everyone agrees on the format but nobody agrees on the filename. So there's like a million file extensions. OnSong plays nice with all of these when you're importing ChordPro stuff:

  • .chopro
  • .cho
  • .chordpro
  • .crd
  • .pro
  • .cpm
OnSong 2026 — Last Refreshed April 11, 2022