Skip to main content

Writing chords

Chord lines​

To create a chord line, simply write chords symbols one after the other on a empty line, excluding any other character that are not part of the ChordMark syntax.

Chord lines are special lines that have the following characteristics:

  • they will be rendered with bar separators |
  • if followed by a lyric line with chord position markers, the chords will be placed over the relevant lyrics
  • if not, they will be neatly aligned between them across the whole song

Leave as many spaces as you want between symbols, but know that ChordMark will ignore them and use its own algorithms to position the chords.


If you write anything else than chord symbols on a line, then it won't be considered as a chord line and won't benefit from any of the special features mentioned above. That is also true if a chord symbol is not recognized as such.


Chord duration​

The default chord duration is the whole bar, eg. 4 beats. If you want a chord to be shorter, you need to specify for how many beats it should by played by writing dots . right after the symbol. Use one dot per beat.


The example above creates two bars:

  • the first bar has 2 chords (A7 and D7) lasting 2 beats each
  • the second bar has one chord lasting 3 beats (E7) and another one on fourth beat (A7).

By default, ChordMark renders the duration markers only when a bar contains chords with uneven duration. If all chords in a bar share the same duration, then the dots are not rendered.

Be careful that the math needs to be correct on a per-bar basis. If the chords durations don't add up, the line won't be considered as a chord line.


Time signature​

If your song is not in 4/4, you can just specify the time signature on a separate line.


You can mix multiple time signatures per song.


The most commonly used time signatures are recognized by ChordMark.

Repeating bars​

You can use the % symbol to repeat the last declared bar on the current line.


Whenever possible, ChordMark will render repeated bars with the % symbols, even if they were not explicitly specified as such.


Repeating chord lines​

When used alone on a given line, the % character instructs ChordMark to repeat the last declared chord line.


You can go two level ups and repeat the before-last declared chord line by using %%


Repeating whole sections​

Please check the section labels documentation to learn how you can repeat all the chords defined in a given section.

No chords​

If no chord should be played at a given moment, just use the special NC symbol


Chords symbol normalization​

For more consistency, ChordMark normalizes the chords symbols at rendering time.


Under the hood, ChordMark uses the powerful ChordSymbol library, which is capable of parsing virtually any chord symbol and performs the normalization based on widely recognized conventions.

This normalization can also, sometimes, speed up the writing process: