How I Actually Use Roman Numeral Analysis in Keys That Fight Back

When you first learn Roman numeral analysis, every chord in a major key just lines up neatly. I, ii, iii, IV, V, vi, vii°. Clean, predictable, you memorize it and move on. Then you start analyzing real songs and you realize the system falls apart the moment a key changes or a borrowed chord shows up. That is where most people stop because they were never taught what to do when the math does not add up. The basic framework is simple enough. In C major, C is I, D minor is ii, E minor is iii, F is IV, G is V, A minor is vi, and B diminished is vii°. Uppercase means major, lowercase means minor, and a small circle marks the diminished chord on the seventh degree. That is the whole thing. The reason people struggle is that they treat it like a rigid formula instead of a shorthand for functional relationships.

Major Key Roman Numerals in Practice

Here is the part nobody tells you clearly. Roman numerals describe function, not absolute pitch. When a song modulates to G major, suddenly your G chord is no longer V in the original key, it is I in the new one. You have to decide whether you are analyzing relative to the home key or relative to each temporary tonic, and mixing the two without labeling it will make your chart unreadable in about thirty seconds. I spent years doing this by hand on manuscript paper before I built a small script that flags when a chord cannot be diatonically explained within the stated key. The first version took me about six hours to write and saved me roughly forty minutes per analysis session going forward. I use it all the time now. The script checks each chord against the key signature and highlights anything that is not in the expected diatonic set, then I decide whether it is a modal interchange chord, a secondary dominant, or a modulating passage. You can find my current version at github.com/tonal-analysis/roman-num-tools if you want something similar. The real pitfall with Major Key Roman Numerals is the augmented sixth chord. Students see an Italian sixth in the key of C and they try to force it into the diatonic framework, which does not work. An augmented sixth chord is an imported color tone, and the right move is to label it as it functions, not to pretend it belongs to the key you started with. I usually write it as it appears in its own resolution context, then I note the parent key separately so nobody gets confused.

Another thing that trips people up is the vii° chord. In first inversion it looks like a bass note that does not belong to the expected triad, and beginners often mislabel it as some kind of passing chord. It is not a passing chord. It is the leading-tone triad with the third in the bass. Write it as vii°6 and move on. The same applies to vii°43 and vii°42 in root position and the other figured bass inversions. Secondary dominants are the next layer. If you see a D major chord in C major, that is not a diatonic ii, it is V/V. The Roman numeral system handles this cleanly with a slash notation. The problem is that some teachers skip this entirely and leave students unable to read a common pop progression. You need to know how to write V/V, V/ii, and so on before you can analyze anything beyond folk songs and hymns. The system also breaks down when you hit pedal tones that last through multiple harmonies. A drone on the tonic while the harmony shifts beneath it makes every chord look like it belongs to the key when it actually does not. I run into this constantly in Baroque catalog numbers and in certain modern film scores. The workaround is to separate the pedal note from the harmonic analysis and label the pedal independently rather than letting it distort the Roman numerals above it.

Get the Full Details

Roman Numerals in Music: Definition + Full Chord Chart
Roman Numerals in Music: Definition + Full Chord Chart

Here is a practical workflow I use now that keeps everything from getting out of hand. First, state the home key. Second, analyze everything diatonically using uppercase for major, lowercase for minor, and circles for diminished. Third, flag any nondiatonic chords. Fourth, classify each flagged chord as a secondary dominant, modal interchange, borrowed chord, or modulation. Fifth, rewrite the full analysis with whatever notation you need to make it unambiguous. Step two takes about two minutes for a standard twelve-bar form. Step three through five usually takes another five to eight minutes depending on how much chromaticism is in the material. One more thing that saves a lot of headaches. When you encounter a Neapolitan chord in a major key, do not try to fit it into the diatonic scale. It is a flat-II major chord, written as bII. It comes from the parallel minor and has nothing to do with the diatonic construction of the major key. You will see this in classical repertoire and occasionally in film music. Labeling it correctly keeps the rest of the analysis from drifting. The biggest limitation of Roman numeral analysis is that it is not great for atonal or heavily chromatic music. It assumes a tonal center exists, and when that assumption is false, the system becomes noise. For that material, you need something else entirely. Roman numerals also struggle with polytonality and quartal harmony because the underlying logic is built on tertian functions. I do not recommend trying to force those into a Roman numeral framework because it will not help anyone understand what is actually happening.

If you are starting from zero, go through a major key, write out every diatonic triad and seventh chord, check that your case matches the quality, and then do the same for a few minor keys so you see how the pattern shifts. After that, pick a Bach chorale or a simple pop tune and analyze it yourself before you look at someone else's answer. The gap between knowing the system and using it is the practice step, and there is no shortcut around it.