1. Home
  2. Docs
  3. ChordPress Manual

ChordPress Manual

ChordPro for WordPressThe ChordPress plugin for WordPress reads and processes ChordPro formatted text, including several content and formatting directives, and renders it for WordPress sites.

What is ChordPro?

The ChordPro site introduces this text format as follows:

In 1992 Martin Leclerc and Mario Dorion developed a simple text file format to write lead sheets, songs with lyrics and chords, and a tool to create neatly printed lead sheets out of these text files. The tool was called  chord, and the text files were called chord files. It soon became a popular way to write lead sheets and many users and tools adopted this format for similar purposes. For still unknown reasons people started calling the files chordpro files.

The simplicity of this text format is amazing and offers powerful options for rendering software to display lead sheets. Let’s have a look at an example:

# ---------------------------------------------------
# Artist: Neil Young
# Album: Harvest
# Released: 1972
# ---------------------------------------------------
{title:Heart Of Gold}
{subtitle: A song about looking for true love}
{artist: Neil Young}
{composer: Neil Young}
{year: 1972}
{album: Harvest}

{comment: Verse 1}
[Em]I wanna l[C]ive, [D] I wanna g[G]ive.
[Em]I've been a m[C]iner for a h[D]eart of g[G]old.
[Em]It's these expr[C]essions [D] I never g[G]ive.

[Em] That keep me searchin’ for a [G] heart of gold
[C] And I'm getting’ old. [C] [Cmaj7] [C6] [G]
[Em] Keep me searchin’ for a [G] heart of gold
[C] And I'm getting’ old. [C] [Cmaj7] [C6] [G]

There are three distinctive characters used, identifying specific content:

  • # :  A line starting with a hash is a comment and not supposed to be rendered
  • {} : Text enclosed in curly brackets identifies meta information or start/end of a lyrics section.
  • [] : Text enclosed in square brackets identifies a chord.

Lastly, the letter/sylible following the chord is where the chord is supposed to be played.

What is ChordPress?

ChordPress is a WordPress plugin that processes ChordPro text and renders it on your website (click the image for an example).

Or look at this live page: https://sayandsound.lewe.com/heart-of-gold/

The original plugin was developed by “rlisle” . He did a great job with it but it seems that he did not maintain it anymore. I had some ideas for enhancing it and created ChordPro for WordPress as a branch of it.

Simply insert a ChordPro text inbetween the [chordpress] and [/chordpress] tags and it will be rendered based on the options set for the plugin. You can change these settings on the plugin’s option page.

The shortags allow specifying custom options.
For example: [chordpress transpose="1"] will transpose the chords rendered up by one semitone.


  • ChordPress renders the lyrics/chord format of ChordPro.
  • ChordPress supports the following ChordPro tags:
    • {album}
    • {artist}
    • {capo}
    • {composer}
    • {key}
    • {subtitle}
    • {tempo}
    • {time}
    • {title}
    • {year}
    • {meta} (for all of the above)
  • ChordPress supports custom CSS for the following ChordPro tags:
    • {comment}
    • {start_of_chorus}, {end_of_chorus}
    • {start_of_verse}, {end_of_verse}
  • ChordPress supports note/chord translations


  1. Download the plugin ZIP file from here
  2. Unpack the ZIP file locally
  3. Upload the ‘chordpress’ folder to your ‘/wp-content/plugins/’ directory
  4. Activate the plugin on the ‘Plugins’ page of your WordPress backend


  1. Enter a [chordpress] shortcode in your page or post editor
  2. Paste your ChordPro text right after it
  3. Enter the closing [/chordpress] shortcode

Optional shortcode parameters

  • float= => Force the rendered text block to float left or right
  • format= => Render the output or not
  • hbnotation= => Input is H/B notation (using H for B and Bb for B). Wether it is displayed as such is defined on the Options page.
  • transpose= => Enter a positive or negative number for the amount of semitones to transpose the chordsdefined on the Options page.

Use the “ChordPress” sub-menu of your backend Settings to change the default settings.

Frequently Asked Questions

Why are empty ChordPro lines not rendered ?
Empty lines are stripped from shortcode content. The plugin doesn’t know they were there. A good way to work around that is to use the {start_of_verse}/{start_of_chorus} tags and give them a top/bottom margin on the options page.



I would like to thank:

  • The ChordPro team of course
  • @rlisle for his work on the ChordsAndLyrics plugin that he started about 10 years ago
  • Ahkâm for the beautiful Guitar Drawing Icon I used for the plugin
  • The developers of the SVGuitar chord rendering module


Was this article helpful to you? Yes 3 No