Chord Progressions, Explained
After reading this you will understand how a roman numeral like vi turns into a concrete chord with three named notes, why some chord orders sound like they resolve and others drift, and how to build progressions in any of the 24 major and minor keys.
What a chord progression actually is
A chord progression is an ordered list of chords played in one key. The famous pop loop is four chords: I V vi IV. In the key of C major those become C, G, A minor, F. Play them in a loop and you have the harmonic skeleton of hundreds of songs.
The roman numerals are the important part. They describe chords by their position in the key rather than by name. I is the chord built on the first scale degree, V the chord on the fifth, and so on. Uppercase means a major chord, lowercase means minor. This notation lets you move the same progression to any key by changing one thing: the tonic note. The same I V vi IV in G major gives G, D, E minor, C.
Once you can read the numerals, you can hear the function. The tool shows all three layers at once: the numeral, the chord name, and the notes inside each chord.
When roman numerals help, and when they do not
Roman numerals are the right tool when a passage stays in one key and uses chords drawn from that key's scale. That covers most pop, folk, blues and a large slice of classical writing. The numeral vi means the same functional thing whether you are in C or in F#, so you learn one pattern and reuse it 12 times.
They start to strain when music changes key often, uses chords borrowed from outside the scale, or leans on chromatic voice leading that no single key explains. A dense jazz reharmonization with tritone substitutions is technically writable in numerals, but the notation stops helping you hear anything. For those cases you name chords directly.
The tool assumes one fixed key for the whole progression. If your idea modulates halfway through, build the two halves separately and stitch them, or accept that some chords will look like accidents rather than the key change they really are.
How a numeral becomes notes
Start with the major scale. In semitones above the tonic, the seven degrees sit at 0, 2, 4, 5, 7, 9 and 11. A triad on any degree stacks that scale note plus the note two scale steps up plus the note four scale steps up. Because the gaps between scale degrees are uneven, the resulting triads come out as a fixed pattern of qualities.
Here the third interval is the distance from the root to the middle note, and the fifth interval is the root to the top note. A major triad is 4, 7 semitones. A minor triad is 3, 7. A diminished triad is 3, 6. Apply this to the major scale and the qualities fall out in a pattern that never changes:
| Degree | Numeral | Root offset | Quality | Chord in C |
|---|---|---|---|---|
| 1 | I | 0 | major | C E G |
| 2 | ii | 2 | minor | D F A |
| 3 | iii | 4 | minor | E G B |
| 4 | IV | 5 | major | F A C |
| 5 | V | 7 | major | G B D |
| 6 | vi | 9 | minor | A C E |
| 7 | vii° | 11 | diminished | B D F |
To find the notes of any chord, add its root offset to the key's tonic, then add the third and fifth intervals for its quality. For A minor (vi in C): tonic C is pitch class 0, root offset 9 gives A. A minor triad adds 3 and 7, giving A, C, E. That matches the table.
Function: why chord order matters
Chords fall into three functional groups. Tonic chords (I, vi, iii) feel like home. Subdominant chords (IV, ii) feel like departure. Dominant chords (V, vii°) feel like tension that wants to resolve back to tonic.
The strong pull comes from the dominant. The V chord in C is G B D. That B is the leading tone, one semitone below the tonic C. When B moves up to C, your ear hears arrival. This is why V to I is the most common cadence in Western music, and why the randomizer walks a chain from tonic through subdominant to dominant and back.
If a progression sounds like it never settles, check whether it ever reaches a dominant chord before returning to tonic. I IV I IV loops pleasantly but softly, because it never builds the tension that a V provides. Swap one IV for a V and the resolution appears.
A worked example: the pop progression in C
Building I V vi IV in C major
This reproduces the tool's default: the pop preset, key of C major.
- Write the tonic as pitch class 0. C = 0, and the scale degrees sit at 0, 2, 4, 5, 7, 9, 11.
I: root offset 0 gives C. Major triad adds 4 and 7: C, E, G.V: root offset 7 gives G. Major triad adds 4 and 7 to G: G, B, D.vi: root offset 9 gives A. Minor triad adds 3 and 7 to A: A, C, E.IV: root offset 5 gives F. Major triad adds 4 and 7 to F: F, A, C.
The full progression is C major, G major, A minor, F major. Notice the shared notes: C appears in three of the four chords, and E appears in I, vi and (as the third) is close to the F chord's neighborhood. That overlap is why the loop feels smooth. Neighboring chords share tones, so your ear glides rather than jumps.
Now transpose. Move to G major (tonic G = pitch class 7) and every offset shifts up by 7 semitones. I becomes G, V becomes D, vi becomes E minor, IV becomes C. The pattern is identical; only the letters changed.
Reading the output and spotting the enharmonics
For each chord the tool gives you three things to check. The numeral tells you the function. The chord name tells you the root and quality. The note list lets you verify the pitches or play them on an instrument.
Spelling can look surprising. In Db major the IV chord is Gb major, spelled Gb, Bb, Db. The Gb is the same pitch as F#, but flat keys use flats. This is the enharmonic convention noted on the tool: the pitch is identical in equal temperament, but the name follows the key so the scale reads cleanly. If you see a note name you did not expect, confirm the pitch class rather than the letter.
Minor keys add one twist. The V chord is built on the fifth degree, and in a pure natural minor scale that chord would be minor. In practice the leading tone is raised so V becomes major, which is what supplies the pull back to i. That is why the tool plays V as major in minor keys by default.
Common mistakes
Reading case carelessly is the frequent error. V and v are different chords: G major (G B D) versus G minor (G Bb D). In a major key the fifth is major; writing lowercase v removes the leading tone and kills the cadence.
A second mistake is treating vii° as a plain triad. The diminished quality means a flattened fifth: B, D, F, not B, D, F#. The interval from root to top is 6 semitones, not 7. If you build it as major or minor by habit, the chord will not fit the key.
A third is expecting a progression to resolve when it has no dominant. Loops built only from tonic and subdominant chords (I IV vi IV) sound stable but static. That is a valid choice for a calm verse, but if you want a sense of arrival, you need a V or vii° somewhere before the return to I.
Related tools
To go the other direction, from notes to a name, use the Chord Identifier: type or pick a set of notes and it tells you the chord. If you want to know which keys or scales contain a group of notes, the Scale Finder lists every match. And once you have chords, the Euclidean Rhythm Generator gives you patterns to place them in time.
Frequently asked questions
Why does the same chord get two different names in different keys?
Equal temperament makes F# and Gb the exact same pitch, but written music picks the spelling that keeps the scale consistent. Sharp keys use sharps, flat keys use flats. The pitch is identical; only the label changes.
What does the little circle after vii mean?
It marks a diminished chord. A diminished triad has a minor third and a flattened fifth: 3 and 6 semitones above the root. In C that is B, D, F.
Why is V major even in a minor key?
The raised leading tone. Harmonic minor sharpens the seventh degree, which turns the chord on the fifth degree from minor into major. That major V is what makes the resolution back to i feel final.
Can I write chords with sevenths, like V7?
Yes. A seventh adds a fourth note stacked another third above the triad. V7 in C is G, B, D, F. The tool accepts numerals like ii V7 I and shows the extra note.
How does the randomize button decide what sounds good?
It walks the functional chain: start on a tonic chord, move to a subdominant, then a dominant, then resolve back to tonic. Because it only picks diatonic chords and follows that order, the result almost always sounds coherent even before you edit it.