๐ŸŽน Chord Progression Generator

One-click Pop/Jazz/Rock chord progressions with Web Audio API playback, multiple modes and preset styles

Zero Dependencies ยท Works Offline

๐ŸŽ›๏ธ Settings

100
70%

๐ŸŽญ Presets

๐ŸŽคPopI-V-vi-IV
๐ŸŽทJazzii-V-I-vi
๐ŸŽธRockI-IV-V-IV
๐Ÿ˜ขSadvi-IV-I-V
๐Ÿ”๏ธEpicI-vi-IV-V
๐ŸŽตLo-Fiii-V-I-vi
๐ŸŽบBluesI-I-IV-V
๐ŸŽฒRandomRandom

๐ŸŽน Progression

Click "Generate" or choose a preset

What Can the Chord Progression Generator Do?

The Chord Progression Generator is a free online tool that supports Major, Minor, Blues, and other modes. Generate Pop, Jazz, Rock style progressions with one click. Uses Web Audio API for real-time playback with BPM control, volume adjustment, presets, and random generation. Perfect for songwriting, arranging, music learning, and teaching.

Core Features

How to Use

1. Choose root note and mode to set the musical key

2. Click a preset or "Generate" to get a chord progression

3. Click Play to hear the progression

4. Adjust BPM and volume

5. Click "Copy" to export the progression text

Use Cases

Songwriting

Stuck on chord progressions? Use the generator for quick inspiration. Discover unexpected combinations from random progressions to break through creative blocks.

Music Learning

Hear different progressions in real-time while studying music theory. Understand why I-V-vi-IV is the "pop four chords" and ii-V-I is the jazz core.

Arranging & Production

Test different progressions before implementing in your DAW. Find satisfying combinations quickly, then build your arrangement on top.

Background Knowledge

Chord progressions are the foundational structure of Western music. Roman numeral notation (I-IV-V) represents chord scale degrees, independent of key, making transposition easy. The famous "pop four chords" I-V-vi-IV has been used by The Beatles, Adele, Green Day, and countless others โ€” it's called the "magic four chords." Jazz's core ii-V-I progression comes from functional harmony theory: the ii chord prepares the V (dominant), which resolves to I (tonic), creating a perfect tension-release cycle.

FAQ

What is a chord progression?โ–ผ
A chord progression is a sequence of chords played in a specific order, forming the foundation of music. Common examples include I-V-vi-IV (pop) and ii-V-I (jazz). Different progressions create different emotional atmospheres.
What do Roman numerals mean?โ–ผ
Roman numerals indicate a chord's scale degree. Uppercase = major triad, lowercase = minor triad, ยฐ = diminished. In C major: I=C, ii=Dm, V=G. This notation is key-independent, making transposition easy.
Why is I-V-vi-IV so common?โ–ผ
I-V-vi-IV is called the "pop four chords" because it satisfies both tension (V) and resolution (I), with the vi providing emotional contrast and IV adding brightness. It creates a perfect emotional arc that sounds natural and pleasing.
Can I use this for commercial music?โ–ผ
Chord progressions themselves are not copyrightable and can be freely used. However, specific melodies, lyrics, and arrangements are protected. Using progressions from this tool for composition is completely legal.

Chord Progression Generator | No Signup, Client-Side ยท No Server Uploads

Feedback: dexshuang@google.com

`).join('')} function playChord(index){initAudio();const chord=currentProgression[index];if(!chord)return;const vol=parseInt(document.getElementById('volume').value)/100;const now=audioCtx.currentTime;chord.notes.forEach((note,i)=>{const freq=440*Math.pow(2,(note-9)/12);const osc=audioCtx.createOscillator();osc.type='triangle';osc.frequency.value=freq;const gain=audioCtx.createGain();gain.gain.setValueAtTime(vol*0.15,now);gain.gain.exponentialRampToValueAtTime(0.001,now+1.5);osc.connect(gain);gain.connect(audioCtx.destination);osc.start(now);osc.stop(now+1.5)});document.querySelectorAll('.chord-card').forEach(c=>c.classList.remove('playing'));document.getElementById('chord-'+index).classList.add('playing');setTimeout(()=>{const el=document.getElementById('chord-'+index);if(el)el.classList.remove('playing')},1500)} function togglePlay(){if(isPlaying){stopPlay();return}if(currentProgression.length===0)generateProgression();isPlaying=true;playIndex=0;document.getElementById('play-btn').textContent='โธ Pause';playNext()} function playNext(){if(!isPlaying||playIndex>=currentProgression.length){if(isPlaying){playIndex=0;playNext()}return}playChord(playIndex);const bpm=parseInt(document.getElementById('bpm').value);playTimer=setTimeout(()=>{playIndex++;playNext()},60000/bpm)} function stopPlay(){isPlaying=false;if(playTimer)clearTimeout(playTimer);playIndex=0;document.getElementById('play-btn').textContent='โ–ถ Play';document.querySelectorAll('.chord-card').forEach(c=>c.classList.remove('playing'))} function copyProgression(){if(currentProgression.length===0)return;navigator.clipboard.writeText(currentProgression.map(c=>c.name).join(' - ')).then(()=>{const t=document.getElementById('copy-toast');t.classList.add('show');setTimeout(()=>t.classList.remove('show'),2000)})} function updateChords(){if(currentProgression.length>0)generateProgression()}