Screen shot of ChordSmith's main window

What is ChordSmith?

ChordSmith is a Giftware program that can transpose song sheets from one key to any other. It can also convert between standard chord notation and the Nashville Numbering notation, and it can convert song sheets (including Harmonica tabs) between two popular formats (ChordPro and Two-line). ChordSmith runs on any computer, PC, Mac, or Unix/Linux that has Java 1.6 or higher.

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. ChordSmith has a batch feature that can convert multiple files all at once.

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. ChordPro 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; 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".

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, 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 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  

The following snippet of Oh Susanna (from 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;

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 in 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.  

What is Giftware?

ChordSmith a giftware program. I have enjoyed creating it and I give it to you in hopes that you will enjoy using it. It is my gift to you.  If you use it and like it, you might feel moved to make a gift to me. If so, you can do so with the PayPal  links below, with complete security. Any amount will make me happy. If you decide to make a gift, you will be helping me pay for the maintenance of the program and this website. If you decide not to donate money, maybe you'd like to send me a note about your experiences with ChordSmith (hopefully good, but if not good, I need to know that too).  I will consider your note a gift, for it is an investment of your time and interest.

Thanks for your interest, 

John Grosberg

Make a Gift

$5 Gift 
$10 Gift 
$15 Gift 
$20 Gift 
Other Gift 

Download ChordSmith

Click here to download the ChordSmith program, version 3.64 - Updated Mar. 9, 2014.  What's new.

NOTE: If double-clicking does not launch the installer, then your machine probably does not have Java installed. Click on the "Get Java" button below to download and install the Java Runtime Environment. Mac users can get  Java 1.7 for Mac at this URL: users who want Java 1.6 can get it from

GetJava Download Button  

If you have trouble installing ChordSmith:

Mac Users:
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 Vista and Windows 7 users, please note: If your OS won't let you install the program, download the zip file instead of the installer, or do the following with the installer:
  1. Create a folder called "Chordsmith" on your desktop.
  2. Start the Chordsmith Installer by double-clicking on the file "installChordSmith.jar" that you downloaded from this web page.
  3. Step through the installer until you get to where it asks you "Select the installation path:".
  4. Click the "Browse..." button and find the "Chordsmith" folder on your desktop.
  5. Select that folder and click the "Next" button.
  6. Proceed until the installer completes the installation.
  7. You can leave the "Chordsmith" folder on your desktop or move it to any place you prefer.
  8. If you want a shortcut to ChordSmith on your desktop, find the "ChordSmith_INTL.jar" file in the "Chordsmith" folder. Create a shortcut by right-clicking on the file and selecting "Create shortcut".
  9. Move the shortcut to your desktop.
Windows 8 only: If, when trying to install the program you get the message "This directory can not be written! Please choose another directory!", then either follow the instructions above for Windows 7 or do the following:
  1. Move the installer to your desktop if it is not already there.
  2. Start the Task Manager by holding down Ctrl and Shift keys and pressing and releasing Esc. You can also start it by searching the Start Screen for "Task Manager".
  3. Click on the File menu and select "Run new task".
  4. In the text box type "java -jar c:\users\YOUR_USER_NAME\desktop\installchordsmith.jar" without the quotes and replacing YOUR_USER_NAME with the name of your user account on your computer.
  5. Make sure the "Create this task with administrative privileges." is checked.
  6. Click OK. The installer will then run with admin privileges and will be able to write to the restricted directory.
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_INTL.jar" file to "Executable".  You can make a link to it an 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_INTL.jar file.
Once the program is installed, it must be run such that its working directory is the directory containing the ChordSmith_INTL.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_INTL.jar file>
   java -jar ChordSmith_INTL.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 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: