Markdown music notation maker

Write sheet music from ABC notation. Enter the tune as text and get rendered notation you can read, play back and share.

ABC notation syntax

ABC notation writes a tune as text. A short header sets the tune number, title, metre, default length and key. The key line ends the header, then the body lists the notes bar by bar. Here is each piece you can write.

Header fields

Each header field is one line, a letter, a colon and a value. Put them in this order. The key line K: comes last and starts the tune body.

X:Tune number. Starts a tune. Use X:1.
T:Title of the tune.
C:Composer.
M:Metre, the time signature, such as 4/4 or 6/8.
L:Default note length, such as 1/4 or 1/8.
Q:Tempo, such as 1/4=120.
K:Key signature, such as C or Am. Ends the header.

Writing notes

A note is a letter A to G. Upper case notes sit in the middle octave. Lower case notes sit one octave up. A comma lowers a note an octave, an apostrophe raises it. Put an accidental before the note and a length after it.

C D E F G A BThe middle octave, low to high.
c d e f g a bThe octave above.
C, C c c'Down an octave, middle, up one, up two.
^C _E =FSharp, flat, natural.
C2 C3 C/2 C3/2Twice, three times, half and one and a half the default length.
z z2A rest, and a rest twice the default length.
|A bar line between measures.

Header and notes

Set the tune number, title, metre, default note length and key, then write the notes.

You write
X:1
T:Simple scale
M:4/4
L:1/4
K:C
C D E F | G A B c |
You get

Octaves and length

Lowercase notes sit an octave up, and a number after a note holds it longer.

You write
X:1
T:Octaves
M:4/4
L:1/4
K:C
C c C2 | G g G2 |
You get

Rests and accidentals

Use z for a rest, ^ for a sharp and _ for a flat before a note.

You write
X:1
T:Accidentals
M:4/4
L:1/4
K:C
^C _E z G | A2 z2 |
You get

A full tune

Add a composer and a tempo, then write the tune across several bars and lines.

You write
X:1
T:Ode to Joy
C:Beethoven
M:4/4
L:1/4
Q:1/4=120
K:C
E E F G | G F E D | C C D E | E3/2 D1/2 D2 |
You get

Cheat sheet

Write this You get
Header
X:1Tune number, starts a tune
T:TitleThe title
C:NameThe composer
M:4/4Time signature
L:1/4Default note length
Q:1/4=120Tempo in beats per minute
K:CKey signature, ends the header
Notes
C D E FNotes A to G in the middle octave
cThe same note an octave up
C,An octave down
c'Two octaves up
C2Hold a note twice as long
C/2Half as long
C3/2One and a half times as long
zA rest
|A bar line
^CA sharp
_EA flat
=FA natural