(This is a short version meant to serve as a reminder of the key features of ChordPro. The detailed guide to the file format is available here.)
Important: please maintain the specified order of our items!
Even though the official ChordPro format is much less restrictive, the script that reads the files and creates html page and pdf needs the structure (and consistency makes curation a lot easier).
You’re very welcome to use our Chordpro Format Checker to verify you’ve got the structure right.
All submitted files should follow this format:
File names
Use the following format:
Submitter__Title.pro
Separate the submitter from the song title with 2 underscores, and please use the filk name of the submitter! Spaces are fine, length is generally not critical – subtitles of song titles (the part one usually puts in parentheses) can be omitted.
Examples:
Lastalda__Fallen.proSagensang__Der schwarze Ritter.proSteve Macdonald__Crossroads.pro
Template:
{title: Song title}
{artist: Filk-Name} <= separated with + if needed; for derivatives: include original artist (most well-known performer for non-filk sources)
{c:Lyrics: Artist, Date or Year} <= feel free to combine Lyrics & Music in one line
{c:Music: Artist, Date or Year} <= if applicable {c:Original lyrics & music: Artist, "Title"}
{meta:year: YYYY} <= if known
{meta:filkers: Filker1,Filker2} <= list of all participating filkers (use filk names)
{meta:nonfilkers: Artist1,Artist2} <= list of all participating non-filkers (only if needed for derivatives. Composer + well-known performers/bands)
{meta:original_song: Title} <= only for derivatives, title only
{c:This song was inspired by...} <= optional
{c:Capo X} <= optional
Verse 1 with chords
{c:Chorus:} <= or {c:Refrain:}
{soc}
Chorus with chords
{eoc}
Verse 2 with chords etc. (chords throughout the entire song text, not just 1st verse! Repeat choruses in full every time!)
{c:Bridge}
{sob}
Bridge with chords
{eob}
{c:Album: "Album title" by Artist} <= optional, if at least 1 exists; 1 such line per album
{c:Recording:} <= optional
https://www.myname.bandcamp.com/trackname <= optional
{c:Sheet music:} <= optional
https://www.filksongbook.com/sheet_music/filename.pdf <= optional
{c:License (Lyrics): Filksongbook Minimal License V1.0, http://filksongbook.com/info/minimal-license-1-0} <= or whatever
{tag:theme:history} <= or whatever, see "supported tags", 1 tag per line!
<= any other invisible directives (define, key, tempo etc.)
Tags, Credits & Licenses
Credits
These must be human-readable and make clear who contributed what part to the song. For example:
{c:Lyrics & Music: Sagensang, 2020}
or
{c:Lyrics: Draketo, 2016}
{c:Music: Lastalda, 2025}
or: (e.g. for translations)
{c:Lyrics: Lastalda, 2013}
{c:Original lyrics & music: Talis Kimberley & Phil Allcock, "Grief in little pieces"}
or: (e.g. for rewrites)
{c:Lyrics: Gavran, 2023}
{c:Based on: "Dragons in the Deep" by Cynthia McQuillin, 1985}
{c:Music: "Fly Me to the Moon" by Bart Howard, 1954}
Chords
- Always go in square brackets:
[Am],[C7],[F#m] - Write them in English format, not German:
B,Bb(notH,B)- Always capitalize the first letter (
Am, notamorAM)
- Position: before (not in!) the syllable on which it’s played
Examples:
[Am] I was the one who [G]had it all and [C]threw it all aw[Em]ay
Directives
The following directives are actively supported:
{title:...}or{t:...}→ Title{artist:...}or{a:...}→ Filk name{c:Comment}or{c:...}→ Comment (always without space after thec:){soc}/{eoc}or{start_of_chorus}/{end_of_chorus}→ Start/end of chorus{sob}/{eob}or{start_of_bridge}/{end_of_bridge}→ Start/end of bridge{define:...}→ Chord definition (if needed, instructions see here).{meta:year:...}→ Year in which the filk song was written{meta:filkers:...}→ List of filkers involved in creating the song (includes the original artist for derivatives){meta:nonfilkers:...}→ List of artists involved in creating the song who are not filkers (only if necessary and only for derivatives, incl. composer and band(s)){meta:original_song:...}→ Title of the original song (for derivatives)
You may also use other official ChordPro directives if you need them and know what you’re doing.
Invisible directives should always be placed at the end of the file.
