Skip to content
Raw SVG templates

Circle of Fifths

Major keys + their relative minors arranged in fifths.

Template previewRaw SVG
Rendering…

Make it your own.

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 360 360" width="360" height="360">
  <style>
    text { font:13px Inter, sans-serif; fill:#0f172a; font-weight:700; text-anchor:middle; }
    .small { font-size:11px; font-weight:500; fill:#475569; }
    circle.ring { fill:none; stroke:#0f172a; stroke-width:1.4; }
  </style>
  <circle class="ring" cx="180" cy="180" r="140"/>
  <circle class="ring" cx="180" cy="180" r="95"/>
  <!-- 12 positions -->
  <g>
    <text x="180" y="50">C</text><text x="180" y="65" class="small">Am</text>
    <text x="246" y="68">G</text><text x="246" y="83" class="small">Em</text>
    <text x="295" y="115">D</text><text x="295" y="130" class="small">Bm</text>
    <text x="313" y="180">A</text><text x="313" y="195" class="small">F#m</text>
    <text x="295" y="245">E</text><text x="295" y="260" class="small">C#m</text>
    <text x="246" y="292">B</text><text x="246" y="307" class="small">G#m</text>
    <text x="180" y="312">F# / Gb</text><text x="180" y="327" class="small">D#m</text>
    <text x="114" y="292">Db</text><text x="114" y="307" class="small">Bbm</text>
    <text x="65"  y="245">Ab</text><text x="65"  y="260" class="small">Fm</text>
    <text x="47"  y="180">Eb</text><text x="47"  y="195" class="small">Cm</text>
    <text x="65"  y="115">Bb</text><text x="65"  y="130" class="small">Gm</text>
    <text x="114" y="68">F</text><text x="114" y="83" class="small">Dm</text>
  </g>
</svg>