ChordSmith Song Sheet Editor


Screen shot of ChordSmith's main window

What is ChordSmith?

ChordSmith can create and transpose song sheets containing chords and lyrics from one key to any other. It can also edit and convert song sheet formats  (including Harmonica tabs) between ChordPro format (chords in square brackets in line with lyrics) and two-line format (chords above lyrics). You can find many free sources of song sheets in both formats on the Internet. Some sources of song sheets are listed at the end of this document. Here are just a few of ChordSmith's many features:

Who can use ChordSmith?

If you play a chordal instrument such as guitar, piano, etc., and you play "by ear" based on chords from song sheets, you can use ChordSmith to transpose your chords into any key you prefer.

If you use an app, such as OnSong, Chordinator, SongBook or Setlist Helper on your iPad or Android tablet, which requires its input to be in ChordPro format, you can use ChordSmith to convert your song sheets from two-line format to ChordPro. If you already have a large number of songs in two-line format, you can use ChordSmith's batch feature to convert hundreds of files in seconds to ChordPro (or the reverse).

What is a song sheet?

A song sheet is a text file that has the chords and lyrics of a song. Sometimes they are called "fake sheets" or "lead sheets". There are three styles of song sheets that are most common on the Web: "Two-line" style, ChordPro style, and "Rise Up" style. A fourth kind of song sheet is the Harmonica tab sheet, which uses numbers instead of chord names to indicate which hole to play on the harmonica.

Two Line Style Song Sheets

The first style, which for want of a better name I call "two-line" style, is easiest for humans to read. In two-line style, the chords are above the words where the chord changes are to be made. It looks like this:
 D               C      D7      Em               A    
Once she came in-to my room, feathered hat, and all,
Here is the result of transposing the above two-line example from the key of D to the key of F#:
 F#              E      F#7     Abm              C#   
Once she came in-to my room, feathered hat, and all,

ChordPro Style Song Sheets

The second song sheet style is called "ChordPro" and was developed to be easy for a machine to read. Software exists (for example, Chord  and Songsheet Generator) to convert ChordPro text into HTML or PostScript. ChordSmith incorporates an updated version of Chord, called Chord5, to produce printed output.The ChordPro format has the chords embedded in the lyrics using square brackets as delimiters. Here is a ChordPro equivalent to the above:
 O[D]nce she came in-[C]to my r[D7]oom, fea[Em]thered hat, and a[A]ll,
And here is the transposed version:
O[F#]nce she came in-[E]to my r[F#7]oom, fea[Abm]thered hat, and a[C#]ll,
ChordSmith can convert files from two-line format to ChordPro and the reverse. The files must be text-only files without tabs--no HTML, no Word files, etc. ChordSmith doesn't know how to handle the formatting features of those files. But see below in the section "What if my song sheets are not in pure text files".

The following figure shows a song in the ChordPro format. The figure also shows ChordSmith in its "Dark Background" mode with a different color choice for the chord names.

ChordPro Example

Rise Up Style Song Sheets

The third style, popularized by Rise Up Singing: The Group Singing Songbook, is designed to minimize space by putting the chords for an entire verse on a single line following the verse like this:
A long, long time ago
I can still remember how that music used to make me smile
And I knew if I had my chance
That I could make those people dance
And maybe they'd be happy for a while

/ GD Em / Am7 C Em D / GD Em / Am7 C / Em Am D /
The above example was borrowed from http://www.guntheranderson.com/v/charts.htm, which describes the format in detail. ChordSmith cannot convert this format (which I will refer to as "rise-up" format) to or from ChordPro or two-line formats, but it can transpose it from one key to another.

Harmonica Tab Song Sheets

Harmonica players use a two-line format to describe how to play a song using the harmonica. The first line of a pair has numbers representing which hole to use and other characters to represent whether to blow,or draw, or bend the note. Since these notations do not represent note names or chords, ChordSmith cannot transpose them between keys but it can convert them to and from ChordPro format.

There are two main harmonica tab notation schemes. The more prevalent one uses numbers to represent hole position on the harmonica and a minus sign to represent drawing a breath, no sign to represent blowing. It has a few other conventions the details of which you can find at http://en.wikipedia.org/wiki/Tablature#Harmonica_tablature. The second main notation scheme uses numbers for the harmonica hole positions followed by a "B" for "Blow" and "D" for Draw. You can find details for this method at http://www.harmonicainstruction.com/songs_marylamb.shtml.  

The following snippet of Oh Susanna (from
http://www.harptabs.com/song.php?ID=4297) illustrates the first notation scheme mentioned.

4-4   5    6   6-6  6  5 
 I  came from Al-a-bam-a
 4  -4  5  5  -4  4  -4
with my ban-jo on my knee;

Chord Notation Systems

There are a number of different notation systems in use to designate which chords to use in a song. ChordSmith handles three major systems, Letter Notation, Nashville Notation, and Sofège Notation. These are described next.

Letter Notation

The letter naming system uses the capital letters A through G to name the notes of the octave. To indicate the half-steps above and below the named note it uses the "#" for a sharp note and the lower case B, "b", for a flat note. ChordSmith allows you to convert between Letter notation and the other notations (Nashville notation and solfège notation).

Nashville notation

The Nashville Numbering System (NNS) is a method of using the numbers 1 through 7 instead of names to designate the chords of a song. The advantage of the Nashville Numbering System is that you can play a song in any key without changing your song sheet. It requires that you know what the chords are in each key for the given numbers. Using numbers means that a song sheet is valid in any key as long as you remember the corresponences between the numbers and the chords of whatever key the song is to be played in. ChordSmith allows you to convert between Nashville notation and the other notations (Letter notation and solfège notation).

Solfège Notation

Some countries prefer to use the names DO, RE, ME... instead of letters to name their notes and chords. This is called "solfège" notation. ChordSmith can convert among solfège, Nashville and Letter names. It can also convert between two-line and ChordPro format for all three notations. Here is an example in two-line format, where Do represents the C chord:
Do            Fa                           Sol Sol Fa
Where is the moment when we need it the most
Do                  Fa                     Sol Sol Fa
You kick up the leaves and the magic is lost
ChordSmith allows you to change the solfège names if the defaults are not to your liking. You define your preferred names in a text file in the ChordSmith folder. See the ChordSmith Help file after installation for instructions.

Where can I find song sheets?

You can enter your own chords and lyrics into Chordsmith to create your own song sheets, but you can also find song sheets for thousands of songs on the internet. One way is to do a Google, Yahoo or Bing search for the name of the song you are interested in, enclosed in quotes, followed by the search words "chords lyrics", like this:
"You've got a friend" chords lyrics
Here are a few websites that provide free song sheets:

What if my song sheets are not pure text files?

OODocBatchConverter is another program I wrote that can help you convert a bunch of files from one format, say DOC or RTF, to another format, say TXT. (It won't convert from PDF to TXT.) The program uses the free Apache OpenOffice program to do the conversions. It can do any conversion that Apache OpenOffice can perform because it uses Apache OpenOffice to do the actual conversion. Without OODocBatchConverter you would have to convert the files one at a time. Apache OpenOffice is an excellent office suite that includes a word processer (Writer), a spreadsheet (Calc), a presentation program (Impress), a drawing program (Draw), and a database program (Base), all for no cost. 

After conversion to pure text format you will probably have to edit most of the chords to position them properly over the lyrics. That's because most people use tabs to position the chords in the DOC, DOCX, or RTF formats and the tabs need to be replaced by unpredictable numbers of spaces in the pure text format.


John Grosberg

Download ChordSmith

Click here to download the ChordSmith program, version 11.11 - Updated May 25, 2024.  What's new.

NOTE: After downloading, if double-clicking does not launch the installer, then your machine probably does not have Java installed. Click on the "Java Download" button below to download and install the Java Runtime Environment. Mac users can get  the latest Java for Mac at this URL:  http://www.java.com/en/download/faq/java_mac.xmlMac users who want Java 1.6 can get it from http://support.apple.com/kb/DL1572.

Get Java Software  

If you have trouble installing ChordSmith:

Mac Users:
  • Normally, you can get java for the macOS from https://www.java.com/.   
  • Upgrading your Mac operating system to OS X 10.9 probably removed Java from your system. If the installer won't start by double-clicking it, or the ChordSmith.jar file won't start by double-clicking it, then you probably do not have Java installed on your system. You can get  Java 1.7 for Mac here: http://www.java.com/en/download/faq/java_mac.xml. You can get Java version 1.6 from this link: http://support.apple.com/kb/DL1572.
  • If you have Mountain Lion or OS X Lion v10.7.5 and you get a warning that the OS won't open the program (either the installer or the ChordSmith.jar file itself) because it was created by an "Unidentified Developer", then go to http://support.apple.com/kb/ht5290 and scroll down to the heading “How to open an app from a unidentified developer and exempt it from Gatekeeper”. Follow those instructions. Those instructions will override the Gatekeeper only for the program you choose (ChordSmith) and not affect any other program.
Windows, Mac and Linux users:

If you are running a Java version later than version 8 and you get this error message:
 Fatal Error Message

then follow the instructions below. They guide you to create a pair of files that you use to launch ChordSmith with the necessary options. You launch the program by double-clicking an Alias in macOS, a vbs file in Windows, and from a terminal in Linux.

For macOS or Linux:
  1. Use TextEdit in macOS (or a Linux text editor in Linux) to create a pure text file (in TextEdit select Format>Make Plain Text) with the following commands in it. You can copy them from here and paste them in the editor:
    #!/bin/bash
    DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
    cd "$DIR"
    java --add-exports java.desktop/com.apple.eawt=ALL-UNNAMED -jar ChordSmith.jar &
    cd Chord
    java --add-exports java.desktop/com.apple.eawt=ALL-UNNAMED -jar Chord.jar
  2. Save the file to the ChordSmith installation folder, i.e., the folder containing the ChordSmith.jar file, as a file named ChordSmith.command  (macOS) or ChordSmith.sh (Linux).
  3. Make the file executable by running one of the following commands in a Terminal window: chmod +x <path to ChordSmith.command> for macOS, or chmod +x <path to ChordSmith.sh> for Linux.
  4. For macOS Create an Alias for the command file. (Right-click the command file and choose "Make Alias".)  For Linux, create a link.
  5. Move the Alias or link to your desktop or any other convenient location.
  6. When you want to launch ChordSmith, in macOS, double-click the Alias file. In Linux, run the ChordSmith.sh file in a terminal window. It will also launch the Chord program so it can be used by ChordSmith when needed.
For Windows:
  1. Use a text editor such as Notepad to create a pure text file with the following contents. You can copy them from here and paste them in the editor:
    CD %cd%
    start /B java  --add-exports java.desktop/com.apple.eawt=ALL-UNNAMED -jar ChordSmith.jar
    CD Chord
    start /B java --add-exports java.desktop/com.apple.eawt=ALL-UNNAMED -jar Chord.jar
  2. Save as a file named ChordSmith.bat in the folder where you installed ChordSmith (the folder that contains the ChordSmith.jar file), probably C:\users\public\ChordSmith_vv.vv, where vv.vv is the version number.
  3. Use Notepad to create a second file, called runChordSmith.vbs. In that file put the following lines. You can copy them from here and paste them in the editor:
    Set WshShell = CreateObject("WScript.Shell")
    WshShell.Run chr(34) & "<chordsmith folder path>\ChordSmith.bat" & Chr(34), 0
    Set WshShell = Nothing
  4. Replace <chordsmith folder path> in the second line with the full  path to the ChordSmith installation folder, where you put the ChordSmith.bat file, for example, C:\users\public\ChordSmith_vv.vv, where vv.vv is the version number.
  5. Save the runChordSmith.vbs file to your desktop or other convenient place. To launch CordSmith, double-click the runChordSmith.vbs file. It will also launch the Chord program so it can be used by ChordSmith when needed. 
If the above steps don't fix the problem, then write me at the email address given in the Warning dialog above.

Windows users: If Java is installed but double-clicking on the installChordSmith.jar file (or any other *.jar file) doesn't launch the installer (or other *.jar file), then your PATH variable is probably not set. Go here to find out how to set it.

Windows users, please note: IF YOUR OS WON'T LET THE INSTALLER INSTALL THE PROGRAM, then do one of the following:
  • Download the zip file instead of the installer and extract the zip file into your "C:\users\public" folder, OR
  • using the installer:
    1. Start the Chordsmith Installer by double-clicking on the file "installChordSmith.jar" that you downloaded from this web page.
    2. Step through the installer until you get to where it asks you "Select the installation path:".
    3. Click the "Browse..." button and navigate to the "C:\Users\Public" folder on your desktop.
    4. Add "\ChordSmith" to the folder name so it becomes: "C:\Users\Public\ChordSmith"
    5. Select that folder and click the "Next" button.
    6. Proceed until the installer completes the installation.
If you want a shortcut to ChordSmith on your desktop, find the "ChordSmith.jar" file inside the "Chordsmith" folder. Create a shortcut by right-clicking on the file and selecting "Create shortcut". Move the shortcut to your desktop.

Linux users, please read the following:
The easiest way to install ChordSmith is to download the zip version of the file and unzip it . Then set the permissions on the "ChordSmith.jar" file to "Executable".  You can make a link to it and put the link on your desktop. Double-clicking the executable jar file or the link file should start the program.

To use the ChordSmith installer under Linux:
Download the installer from the website. It should work with Linux if you have Java properly installed. Don't let your Archive program try to extract files from it. Set the permissions on the installChordSmith.jar file to allow execution. You might have to run the installer in a command terminal like this:
  cd <directory containing the installer>
  java -jar installChordSmith.jar
Make sure you install the program into a directory in which you have full permissions. 
You might need to set the execute permission on the installed ChordSmith.jar file.
Once the program is installed, it must be run such that its working directory is the directory containing the ChordSmith.jar file. So, probably the easiest thing to do is to create a command file containing commands similar to the following two, perhaps named "launchChordSmith":
   cd <directory containing the ChordSmith.jar file>
   java -jar ChordSmith.jar
Then, whenever you want to launch the program, just invoke the command file.


Click here to download the ChordSmith program

Change Log:

Changes for Version 11.11 Changes for Version 11.10

Changes for Version 11.00

Changes for Version 10.12

Changes for Version 10.11

Changes for Version 10.00

Changes for Version 9.00
Changes for Version 8.9

Changes for Version 8.8

Changes for Version 8.7

Changes for Version 8.6


Changes for Version 8.5

Changes for Version 8.4

Changes for Version 8.3

Changes for Version 8.2

Changes for Version 8.1
Changes for Version 8.0
Changes for Version 7.9
Changes for version 7.8
NOTICE: Version 7.6.1 had a bug that disabled the "Check for Update" feature, so if you have that version you won't be notified of newer versions. Make sure you download the latest version by clicking on the link above.

Changes for version 7.7

Changes for version 7.6.1

Changes for version 7.6

Changes for version 7.5


Changes for version 7.4:

Changes for version 7.3:

Changes for version 7.2:
Changes for version 7.1:
Changes for version 7.0:
Changes for version 6.0:

Changes for version 5.6:
Changes for version 5.5:
Changes for version 5.4:
Changes for version 5.3:
Changes for version 5.2:
Changes for version 5.1:
Changes for version 5.0:
Changes for version 4.9:
Changes for version 4.8:
Changes for version 4.7:
Changes for version 4.6:
Changes for version 4.5:
Changes for version 4.0:
Changes for version 3.85:
Changes for version 3.80:
Changes for version 3.70:
Changes for version 3.69:
Changes for version 3.68:
Changes for version 3.67:
Changes for version 3.66:
Changes for version 3.65:
Changes for version 3.64:
Changes for version 3.63:
Changes for version 3.62:
Changes for version 3.61:
Changes for version 3.60:
Changes for version 3.50:
Changes for version 3.40:
Changes for version 3.30:
Changes for version 3.20:
Changes for version 3.10:
Changes for version 3.00: