GuitarTheory

How To Use GuitarTheory

A guide to everything available in the app — from the Circle of Fifths to the REST API.

🧭Learning Path

New here, or not sure what to study next? Start at the Learning Path. It puts every lesson, tool, and practice activity in the right order — from your first interval to advanced harmony — across five stages, so you always know the next thing to do.

✅ How progress works — you tick the steps

The path doesn't track you automatically. Each step has a round check-circle on its left. When you've finished a step, click that circle to mark it done — it turns green, and your overall progress bar and the Continue button move forward to the next step. Opening a lesson does not tick it off on its own; you decide when a step is complete.

Clicking the step's title opens the lesson/tool. Clicking the check-circle marks it done. They're two separate actions on the same row.

Following the Path

  • ›Open Learn from the top navigation (or the “Learn” tab).
  • ›Press Start learning (or Continue) at the top to jump straight to your next unfinished step.
  • ›Work through a step — read the article, explore the tool, or run the practice trainer.
  • ›Come back and click the round check-circle on that step to mark it complete. It turns green and the progress bar advances.
  • ›The Continue button always points at your first unfinished step, so you can leave and pick up exactly where you left off.

Saving Your Progress

  • ›Your ticks are saved automatically — on your device even when signed out, and synced to your account when you sign in.
  • ›Sign in to carry the same progress across phone, tablet, and computer.
  • ›Need a fresh start? Use Reset progress near the top of the page to clear every tick.

Prefer to Browse Freely?

  • ›You don’t have to follow the order — every lesson also lives in the Knowledge Hub.
  • ›The Learning Path is simply the recommended sequence if you want a clear plan rather than picking topics at random.

🎵Circle of Fifths

The home page. An interactive visualization of all 12 keys and their relationships. Start here to explore any key.

Selecting a Key

  • ›Click any segment on the outer ring to select a major key.
  • ›Click the inner ring to select the relative minor key.
  • ›The selected key plays a note on click so you can hear the root.
  • ›Toggle between Major and Minor view using the button below the circle — the mode selector adapts accordingly.

Key Information Panel

  • ›Once a key is selected, the right panel shows the key signature (e.g. 2♯, 3♭) and related keys: dominant (a fifth up), subdominant (a fifth down), and relative major/minor.
  • ›The scale for the selected key and mode is displayed with all notes listed.
  • ›Clicking a related key loads it instantly.

Enharmonic Keys

  • ›Three positions on the circle have two valid spellings: B/Cb, F#/Gb, and Db/C#.
  • ›When one of these is selected, a pill button (e.g. "= Cb") appears in the info panel.
  • ›Click it to switch the entire view to the enharmonic spelling — scale notes, diatonic chords, related keys, and the fretboard all update together.
  • ›Click again to switch back.

Mode Selector

  • ›Seven church modes available in major view: Ionian, Dorian, Phrygian, Lydian, Mixolydian, Aeolian, Locrian.
  • ›Minor view adds Harmonic Minor and Melodic Minor.
  • ›Changing the mode updates the scale notes displayed in the info panel.

Diatonic Chords

  • ›Below the circle controls, all seven diatonic chords for the selected key are shown (I through vii°).
  • ›Color-coded by quality: gold = major, indigo = minor, red = diminished.
  • ›Click any chord to hear it played — clicking a different chord stops the previous one.
  • ›Click the active chord again to stop playback.

Chord Progression Builder

  • ›Build progressions by adding chords from the palette below the circle.
  • ›Choose from 11 chord types per chord: triads, suspended, 7ths, extended, and power (5th) chords.
  • ›Switch chord type mid-progression with the per-chord dropdown on each card.
  • ›Each chord card shows a live mini diagram — use the ← → arrows to cycle through available voicing positions. Diagram size (Small/Large) is controlled in Preferences.
  • ›Reorder chords with the ← → move buttons on each card.
  • ›Set BPM with the tempo slider (40–240 BPM) — affects playback timing.
  • ›Hit Play to hear the full progression with the Rhodes-style FM piano sound.
  • ›Load from the template library — 28 curated progressions across Pop, Rock, Metal, Blues, Jazz, Country, Funk, R&B, and more, each with difficulty badges and famous song examples.
  • ›Templates automatically transpose to your selected key.
  • ›Sign in to save progressions — chord voicings are saved alongside chord symbols and restored when you reopen them.
  • ›Export any saved progression as PNG or PDF from the library page.

🎸Chord Library

Accessible at /chords. An interactive chord diagram viewer with hand-crafted standard-tuning voicings and algorithmically generated voicings for alternate tunings.

Browsing Chords

  • ›Select a root note and chord type from the controls at the top.
  • ›The info panel shows the chord's notes, interval degrees, staff notation, and a list of compatible scales.
  • ›All voicing positions appear as clickable diagrams below — click any to hear it played.
  • ›Chord diagrams show finger positions, fret numbers, open strings (green circles), and muted strings (✕).
  • ›Purple dots indicate the root note; blue dots indicate other chord tones (amber marks the bass note of an inversion).

Diagram Labels — Fingers, Notes, Intervals, Dots

Use the Show: toggle above the diagrams to change what each dot displays — the same idea as the Fretboard Explorer.

  • ›Fingers (default) — suggested fretting fingers (1–4).
  • ›Notes — the actual note each dot plays (C, E, G, B♭…), spelled to match the chord (a Cm shows E♭, not D♯). Open strings show their note too.
  • ›Intervals — each tone's degree relative to the root (1, ♭3, 5, ♭7, 9…), so you can see the chord's shape by function.
  • ›Dots — plain color-coded dots (root / tone / bass) with no text.
  • ›Your choice is included when you export the chord as a PNG or PDF.

Alternate Tuning Voicings

  • ›Select a tuning from the Tuning dropdown alongside the root and chord type selectors.
  • ›Available tunings span five groups: Standard (6 and 7-string), Drop Tunings (Drop D, Double Drop D, Drop C), Transposed (Half Step Down, Full Step Down), Modal/Celtic (DADGAD, FACGCE), and Open Tunings (Open G, Open D, Open E, Open A).
  • ›For standard 6-string, the hand-crafted voicing library is used — the same named positions (Open Position, Barre shapes, CAGED) you're used to.
  • ›For any other tuning, voicings are computed automatically: the algorithm maps each string's chord tones across fret windows and searches for valid, playable shapes. Open strings are preferred for their resonant character in alternate tunings.
  • ›The diagram string labels update to reflect the actual open string notes for the selected tuning, so what you see matches what you're playing.
  • ›Audio playback for each shape uses the tuning's actual open string pitches — not standard tuning — so it sounds correct.
  • ›The positions header shows a tuning badge when a non-standard tuning is active so you always know the context.
  • ›Open tunings like Open G or Open D often reveal simpler chord shapes — a G major in Open G is all six strings open.
  • ›Drop D unlocks one-finger power chords across the lowest three strings.

Chord Information Panel

  • ›Notes — the chord tones spelled with correct enharmonic accidentals (flats for minor/dominant chords, sharps for major/augmented).
  • ›Degrees — interval names (1, ♭3, 5, ♭7, etc.) with the formula shown below.
  • ›Staff — treble clef notation for the chord tones, with the root highlighted in purple.
  • ›Works With — up to five scales that contain all of this chord's tones, helpful for improvisation and songwriting.
  • ›Play button — hear the chord as a piano voicing.

Identify Chord from Notes

Not sure what chord you're playing? Click Identify Chord from Notes at the top of the Chord Visualizer to open the chord identifier.

  • ›Click any of the 12 note buttons to select the notes you're playing — toggle them on or off.
  • ›With 2 or more notes selected, the tool instantly shows all matching chords.
  • ›Exact matches (green) mean the selected notes form that chord exactly.
  • ›Superset matches (blue) mean that chord contains all your notes plus additional ones — notes marked with * are what you'd need to add. A +1 or +2 badge shows how many extra notes are needed.
  • ›Click any result to load it into the Chord Visualizer — the root, chord type, voicing diagrams, info panel, and compatible scales all update immediately.
  • ›Other results stay visible so you can compare multiple chords side-by-side.
  • ›Example: selecting A, C#, E shows "A Major" as an exact match and "A Major 7th" as a +1 superset (needs G#).

🎼Scale Visualizer

Accessible at /scale-visualizer. Explore 20+ scales across 7 categories with fingering patterns, notation, and TAB.

Choosing a Scale

  • ›Select a root note from the 12-button grid.
  • ›Choose a scale type from the categorized list: Modes, Pentatonic, Blues, Melodic Minor, Harmonic Minor, Symmetric, and World scales.
  • ›The fretboard, notation, and TAB update instantly.

Controls Menu & Floating Toolbar

  • ›On desktop, a "Collapse Menu" button shrinks the left controls into a compact floating toolbar that sticks to the top as you scroll — root, scale, favorites, and the metronome stay within reach while you study the notation. "Menu" expands it again.
  • ›Your collapsed-or-open choice is remembered on this device, so the page opens the way you left it.
  • ›On phones and tablets the menu is always collapsed — the floating toolbar is the interface, so the long scale list never dominates the screen (same idea as the mobile Circle on the home page).
  • ›The metronome tempo carries over between the toolbar and the full menu — it's one shared setting.

Fretboard View

  • ›Full fretboard diagram showing all scale tones highlighted — standard orientation with low E at the bottom, high e at the top.
  • ›Toggle between 6, 7, and 8-string guitar.
  • ›Switch between 12-fret and 24-fret views.
  • ›Display modes: Dots, Note Names, Intervals, or Scale Degrees.
  • ›Hover a note dot to see the note name, string, fret, and interval.

Fingering Patterns

  • ›CAGED system shapes — 5 positions covering the full neck.
  • ›3-Notes-Per-String (3NPS) patterns for speed and economy of motion.
  • ›Box patterns for compact, position-based playing.
  • ›Each pattern shows a mini fretboard diagram — low E at bottom, high e at top, matching the main fretboard orientation.
  • ›Clicking a pattern updates the Notation & TAB section below.
  • ›When an alternate tuning is active, CAGED / 3NPS / Box patterns are dimmed (they are calculated for standard tuning). Instead, five Neck Position patterns are generated automatically for the current tuning — Open, Position 2, Position 3, Position 4, and Position 5.

Alternate Tunings

  • ›Select a tuning from the dropdown in the Fretboard View — the entire visualizer updates together: fretboard, fingering patterns, notation, and TAB.
  • ›Available tunings include standard (6, 7, 8 string), Drop D, Double Drop D, Drop C, half-step and full-step down, DADGAD, FACGCE, Open G, Open D, Open E, Open A, and more.
  • ›The fretboard always reflects the actual open string pitches for the chosen tuning.
  • ›Notation & TAB uses absolute semitone arithmetic so written positions are correct for every tuning — not just standard.
  • ›The context header in Notation & TAB shows the active tuning name so you always know what you're looking at.

Notation & TAB

  • ›Standard staff notation displayed alongside guitar TAB for the selected pattern.
  • ›Guitar transposing convention applied (written one octave higher than concert pitch — standard for guitar notation).
  • ›The header shows the scale name, pattern, fret range, and tuning (when non-standard).
  • ›Play Scale button plays exactly the notes shown in the notation, in the correct octave — and the currently sounding note lights up in both the staff and the TAB so you can follow along.
  • ›If the notation is wider than the screen, it auto-scrolls during playback to keep the sounding note in view — in both directions when playing up & down.
  • ›TAB note columns are aligned precisely with the staff notes above.
  • ›6, 7, and 8-string TAB supported.

Practice Playback (tempo-synced)

  • ›The scale plays at the page Metronome's BPM — set the tempo on the Metronome (or in the small bpm field next to Play Scale; they're the same setting) and playback follows it.
  • ›Note value selector — play the scale as whole, half, quarter, 8th, or 16th notes against the beat, and the notation & TAB re-render to match (beamed 8ths/16ths). Start slow with quarter notes, then move to 8ths at the same BPM.
  • ›Up & down — play the scale ascending, then descending, repeating the top note as the turnaround (the classic practice pattern). The highlight follows back down the notation.
  • ›Count-in — one measure of clicks before the first note, so you can get your fretting hand ready and come in on the downbeat.
  • ›Loop — repeats the scale until you stop it (the count-in only happens on the first pass). With Up & down on, the whole up-and-down pass loops. Combine with Click for a ready-made practice drill.
  • ›Click — a metronome click on every beat while the scale plays, so you hear exactly where the notes land against the pulse.
  • ›A "Sound" picker sits in the Notation & TAB header — switch the guitar sample right where you're practicing.

Favorite Scales

  • ›Sign in to save specific root + scale combinations as favorites (e.g. "E Harmonic Minor").
  • ›Click the ♡ heart button next to the scale name in the info panel to save it.
  • ›Your favorites appear as chips at the top of the left panel — click any to instantly reload it.
  • ›Favorites are stored to your profile and persist across sessions.

Exporting

  • ›Click the Export button (↓ download icon) next to the scale name to open the export preview.
  • ›The export includes: scale title and character description, notes in scale, scale degrees with interval labels, step pattern (W/H/W+H), a full fretboard diagram, and standard notation + TAB (when a fingering pattern is selected).
  • ›The fretboard diagram shows all scale notes across the neck — root notes in purple, scale tones in blue, open strings as unfilled circles. String labels and inlay dots aid orientation.
  • ›If you have the 24-fret view active, the fretboard diagram is split into two rows (frets 0–12 and frets 13–24) so notes remain large and easy to read.
  • ›The diagram reflects your current tuning — alternate tuning names appear in the export header when non-standard.
  • ›Export as PNG (high resolution, 2× pixel density) or PDF (portrait A4).

📚My Progressions

Accessible at /progressions when signed in. Your personal library of saved chord progressions.

Saving & Managing

  • ›Build a progression in the Circle of Fifths, then hit Save — give it a name, key, mode, tags, and BPM.
  • ›Edit or delete saved progressions from the library page.
  • ›Search across names, chords, and tags. Filter by key or mode. Sort by date, name, or views.

Playback

  • ›Each progression card has a ▶ play button — hear it at the BPM it was saved with.
  • ›Chord cards display mini fretboard diagrams showing the saved voicing and position label.
  • ›Only one progression plays at a time — clicking another stops the current one.
  • ›The BPM is shown on every card.

Sharing

  • ›Make a progression public to generate a unique share link.
  • ›Share links work without an account — anyone can view and hear the progression.
  • ›View counts track how many times a shared progression has been visited.

🎼Setlists

Accessible at /setlists when signed in (also under My Setlists in the menu). Group your saved songs into ordered lists — a practice set, a lesson plan, or a gig running order.

Creating & Managing

  • ›Type a name and hit Add to create a setlist. Click any setlist to open it.
  • ›Add songs from your saved songs with the “Add songs” picker at the bottom.
  • ›Reorder with the ▲ / ▼ buttons, remove a song with ✕ (this never deletes the song itself — only its place in the setlist).
  • ›Rename or delete a setlist from its header. Deleting a setlist leaves all your songs untouched.

Playing a setlist

  • ›Click any song in a setlist to open it — public songs open in their shared view; your own open straight into Song Lab, ready to play.
  • ›Work through the list top to bottom for a practice session, or arrange songs in your gig order.

🎶Song Lab

Accessible at /song-lab. Song Lab is an integrated songwriting workspace that combines key analysis, guitar tab entry, MIDI import/export, and song persistence in one place.

For a deeper walkthrough of every feature — including MIDI workflow, custom lick library, and advanced tab techniques — see the full guide.

Full Song Lab Guide →

Chord Progression Input

  • ›Add chords using the + Add Chord button — pick a root note and chord type.
  • ›Load an existing saved progression using the "Load saved progression" dropdown (requires sign in).
  • ›Drag chords to reorder them; click × to remove.
  • ›Set Style (Rock, Metal, Blues, Jazz, Country, etc.) and Tuning to tailor scale/lick suggestions.
  • ›At least 3 chords are required to enable key analysis.
  • ›Use the Play button to hear the progression with the current guitar sample.

Key Analysis

  • ›Once you have 3 or more chords, Song Lab automatically analyses which keys your progression fits.
  • ›Keys are scored by how many of your chords are diatonic (naturally belong) to that key.
  • ›Full matches show all your chords fitting the key; partial matches show how many fit with the outside chords listed.
  • ›Click any key to open the Key Detail view.

Key Detail View

  • ›Shows the full diatonic chord structure for the selected key (I, ii, iii, IV, V, vi, vii°), with your chords highlighted.
  • ›Any chords outside the key are flagged as borrowed or passing chords.
  • ›Scale Suggestions tab: lists the most relevant scales for your style, each with a note preview.
  • ›Lick Ideas tab: descriptive lead guitar approaches tailored to your style and key.
  • ›Use the back arrow to return to the full key list.

Tab Sheet Editor

  • ›Click any cell in the 6-string grid to enter a fret number (0–24). Press Enter to confirm.
  • ›The notation panel below the grid renders both a TAB stave and treble clef staff in real time (VexFlow).
  • ›Add as many beats as you need using + Add Beat. Remove beats with the × above each column.
  • ›Add multiple sheets (Intro, Verse, Chorus, etc.) using + Add Sheet. Double-click a tab to rename it.
  • ›Insert Scale: select a scale from key suggestions or your saved favourite scales to insert its notes at the cursor position.
  • ›Notes are inserted as individual beats, one note per beat, on the most practical string for the active tuning.

Saving Songs

  • ›Name your song in the title field and click Save (requires sign in).
  • ›A dot or asterisk on the Save button means you have unsaved changes.
  • ›Saved songs appear in My Songs (top right of the Song Lab) where you can re-open or delete them.
  • ›Tick "Link to Progressions" before saving to also create a saved progression linked to this song — changes made in Song Lab will sync back to that progression.
  • ›If a progression is already linked, edits to the chord list are synced automatically when you save.
  • ›Deleting a saved progression severs the link but does not affect the song or its chord data.

🏫Classroom Mode

Accessible at /classes when signed in (also under Classes in the menu). A private teaching layer: a teacher creates a class, students join with a short code, and the teacher assigns lessons, scales, songs, progressions or Game levels and tracks each student’s progress.

Thinking about using this with students? The full guide walks through both the teacher and student experience so you can decide if it fits how you teach or learn.

Full Classroom Guide →

For teachers

  • ›Create a class and share its join code with your students — no special account type needed; anyone signed in can run a class.
  • ›Assign any existing content: a Knowledge lesson, a scale, a song, a chord progression, a Game level, a Learning-Path step, or a free-form instruction — with optional due dates.
  • ›See a roster of who’s started, submitted and been reviewed; open submissions to leave written feedback and a score.

For students

  • ›Join a class with the code your teacher gives you (Classes → “Join a class”).
  • ›Start each assignment — lessons/levels open to do; songs and progressions give you your own copy to work on — then mark it submitted.
  • ›See your teacher’s feedback and score once it’s reviewed. You only ever see your own work.

Is it for you?

  • ›Great for private teachers, schools/academies, and study groups who want to direct and track a cohort.
  • ›Learning solo? You don’t need it — the Learning Path already sequences everything for you. Classroom Mode is an optional, group/teacher-led layer; the rest of the app is unchanged.

👤Your Account

Signing In

  • ›Open the menu (☰ top right) and tap Sign In.
  • ›Create an account with an email and password, or sign in if you already have one.
  • ›An account unlocks: saving progressions, saving favorite scales, and your personal profile.

Profile Page

  • ›Access your profile from the menu or the avatar card at the top right.
  • ›Upload a custom avatar photo (JPEG/PNG/WebP, up to 2 MB) — or let the app generate one from your initials.
  • ›Edit your display name and change your password.
  • ›View your stats: total progressions saved, favorite scales, and member since date.

Preferences

  • ›Choose from four themes: Dark Purple, Dark Blue, Dark Green, and Dark Slate.
  • ›Set a default key — the Circle of Fifths and Scale Visualizer start with this key selected.
  • ›Set default guitar type (6, 7, or 8 string) and tuning.
  • ›Choose your Guitar Sound — Acoustic Steel, Electric Jazz, Distortion, or Overdriven. This controls the sample library used for all audio playback across the app. Defaults to Acoustic Steel if you're not signed in.
  • ›You can also switch the Guitar Sound right where you're playing — look for the small "Sound" picker in Song Lab, the Scale Visualizer, and at the top of every Knowledge article with play buttons. It changes playback instantly and saves to your preferences.
  • ›Toggle fretboard display mode: Dots, Note Names, or Intervals.
  • ›Enable colorblind mode — replaces color-only cues in the Circle of Fifths with patterns.
  • ›Set Progression Diagram Size (Small or Large) — controls the size of chord voicing diagrams in both the Chord Progression Builder and the My Progressions library.
  • ›All preferences are saved to your account and applied automatically on every page.

🎮GT Game

How It Works

  • ›GT Game is a timed music theory quiz with 20 progressively harder levels organised into Bronze (1–5), Silver (6–10), Gold (11–15), and Master (16–20) tiers.
  • ›Each level contains 10 questions drawn from that tier's topic set — scales, intervals, chords, modes, and more.
  • ›Answer correctly within the time limit (20 seconds at Level 1 down to 5 seconds at Level 20). Wrong or timed-out answers show the correct answer and a detailed explanation.
  • ›Pass a level by hitting its passing threshold (6–9 out of 10 depending on tier) to earn that level's badge and unlock the next level.
  • ›You can replay any completed level to improve your score. Your best score per level is saved.

Level Select & Badges

  • ›The Level Hub shows all 22 levels as hexagonal badges arranged by tier — including two ear-training capstone levels (Golden Ears, Chord Whisperer). Locked levels appear greyed out until the previous level is passed.
  • ›Earned badges display in full colour; locked badges are dimmed. Your current highest badge is shown at the top of the hub.
  • ›Badge colours follow the tier: bronze, silver, gold, and a purple–pink gradient for the Master tier.
  • ›Clicking a level card shows the level name, description, time limit, passing score, and your best previous score before you start.

Playing a Level

  • ›A 3-second countdown plays before each level starts.
  • ›Questions are drawn randomly from that level's topic pool, so replaying the same level gives different questions.
  • ›Each question shows a text prompt and optionally a visual hint — coloured note chips for scale/chord questions, or a semitone pattern for mode/interval pattern questions.
  • ›Select one of the four multiple-choice answers. The timer bar drains as time counts down; if it hits zero the question counts as wrong.
  • ›After each answer you see whether you were right or wrong, the correct answer, and a plain-English explanation.
  • ›Ear-training levels (21–22): the sound plays automatically — listen and identify the interval or chord by ear. Use Replay sound as many times as you need; the notes stay hidden until you answer, then are revealed in the explanation. These levels give you extra time for listening.

Progress & Profile

  • ›GT Game requires a free account — your progress and badges are saved to your profile automatically.
  • ›Visitors without an account can browse the game page and see how it works, but must sign up to play and save progress.
  • ›Your game progress card on the Profile page shows your highest level, total points, and a mini strip of all 22 badges.
  • ›Enable "Show game badge on avatar" in Preferences to display a small badge overlay in the lower-right corner of your avatar throughout the app.
  • ›Access GT Game from the hamburger menu or navigate directly to /game.

Challenge Links & Leaderboard

  • ›Challenge a friend: After passing a level, click Challenge a Friend — copy link. The link opens that exact level's info screen when your friend visits, so they can try to beat your score.
  • ›You can also click the Share button on any level info screen to copy a challenge link for that level before playing.
  • ›Leaderboard: Click the Leaderboard button on the GT Game hub to open the top-scores panel.
  • ›Use the level dropdown in the leaderboard to see the top 10 scores for any of the 25 levels. 🥇🥈🥉 medals mark the top three.
  • ›Leaderboard scores are refreshed every 60 seconds so rankings stay current as others play.

💬Ask Assistant

A built-in help assistant. Tap the 💬 Ask button in the corner of any page, type a question in plain language, and get an instant answer with links to the right tool or guide. It answers concrete music-theory questions on the spot — chords, scales, keys, progressions, intervals, and the fretboard — computed from the same engine the app uses (so it's always correct), and it runs privately on-site with no third-party AI. Suggested links carry your question's context: ask about G major and “Open the Scale Visualizer” opens it already set to G major.

It's a focused helper, not a general chatbot — see the full Ask Assistant guide with example questions →

⚙️REST API

GuitarTheory exposes a public music theory REST API at /api/v1. All endpoints are read-only, require no authentication, and return JSON. Responses for deterministic queries are cached for one year.

Base URL: https://www.guitartheory.com/api/v1

Scales & Modes

GET/modesList all available modes with their interval patterns and descriptions.
GET/scales/{root}/{mode}Get the notes, intervals, and metadata for a specific scale. Example: /scales/E/harmonic_minor

Chords

GET/chord-typesList all supported chord types with symbols and interval patterns.
GET/chords/{root}/{type}Get voicings and fingerings for a chord. Example: /chords/G/dom7

Keys

GET/keys/{note}/{quality}Analyze a key — diatonic chords, key signature, related keys. Example: /keys/D/minor
GET/circle-of-fifthsFull Circle of Fifths data: all 12 keys with their relationships and color assignments.

Fretboard

GET/fretboard/notesComplete note mapping for the fretboard across all strings and frets.
GET/fretboard/scale/{root}/{mode}Scale positions on the fretboard for a given root and mode. Example: /fretboard/scale/A/dorian

Intervals

GET/intervals/{note1}/{note2}Calculate the interval between two notes. Returns semitone count, interval name, and quality. Example: /intervals/C/E

All endpoints include CORS headers and are suitable for use from any frontend. See the Developer API section below for code examples, or check the OpenAPI 3.0 spec at designs/openapi.yaml.

💻Developer API

The GuitarTheory REST API is open for use in your own projects — apps, tools, chord generators, fretboard visualizers, and more. No key is required for basic use; register a free key for higher rate limits and usage tracking.

Getting an API Key

  • ›Without a key: up to 60 requests/minute per IP address — fine for testing.
  • ›With a free key: up to 200 requests/minute, plus a usage dashboard.
  • ›Register at /api/v1/keys/register with your name and email. The key is shown once — save it.
  • ›Send the key with every request via the X-API-Key header.
  • ›Check your usage at /api/v1/keys/usage (requires X-API-Key header).
  • ›Full interactive docs (Swagger UI) available at /docs.
# Register (one-time — key is shown once, save it)
curl -X POST https://www.guitartheory.com/api/v1/keys/register \
  -H "Content-Type: application/json" \
  -d '{"name":"My App","email":"you@example.com"}'

# Use your key on every request
curl -H "X-API-Key: gt_live_..." https://www.guitartheory.com/api/v1/scales/C/major

# Check your usage
curl -H "X-API-Key: gt_live_..." https://www.guitartheory.com/api/v1/keys/usage

JavaScript / TypeScript

const BASE = 'https://www.guitartheory.com/api/v1'

// Get scale notes
const res = await fetch(`${BASE}/scales/D/dorian`)
const scale = await res.json()
console.log(scale.notes)
// ['D', 'E', 'F', 'G', 'A', 'B', 'C']

// Get diatonic chords for A minor
// key.chords is a record keyed by Roman numeral (i, ii°, III, iv, v, VI, VII)
const key = await fetch(`${BASE}/keys/A/minor`).then(r => r.json())
Object.entries(key.chords).forEach(([numeral, c]) =>
  console.log(`${c.numeral}: ${c.root}${c.type === 'minor' ? 'm' : c.type === 'diminished' ? 'dim' : ''}`)
)
// i: Am   ii°: Bdim   III: C   iv: Dm   v: Em   VI: F   VII: G

// Get guitar voicings for G7
// chord.shapes is the array of fretboard voicings
const chord = await fetch(`${BASE}/chords/G/dom7`).then(r => r.json())
chord.shapes.forEach(s => console.log(s.name, s.frets))

Python

import requests

BASE = 'https://www.guitartheory.com/api/v1'

# E Phrygian scale
scale = requests.get(f'{BASE}/scales/E/phrygian').json()
print(scale['notes'])
# ['E', 'F', 'G', 'A', 'B', 'C', 'D']

# Interval between D and F#
interval = requests.get(f'{BASE}/intervals/D/F%23').json()
print(interval['intervalName'])   # 'Major Third'
print(interval['semitones'])      # 4

# Scale on fretboard
positions = requests.get(f'{BASE}/fretboard/scale/A/minor?frets=12').json()
roots = [p for p in positions['positions'] if p['isRoot']]
print(f"Root notes on fretboard: {len(roots)}")

URL Encoding for Sharp Notes

  • ›Notes with # must be URL-encoded: C# → C%23, F# → F%23, G# → G%23
  • ›Flat notes (Db, Eb, Gb, Ab, Bb) do not need encoding.
  • ›Example: /scales/F%23/lydian (not /scales/F#/lydian)

All responses are cached by the browser and CDN for 1 year — the same query is essentially free after the first request. Rate limits: 60 req/min (no key), 200 req/min (free key). Full interactive docs at /docs.

🧪API Demo Game

A self-contained music theory quiz built entirely on the GuitarTheory REST API — no frameworks, no build step, just one HTML file. It's a live example of how to use the API in a real project.

🎸

GuitarTheory Challenge

10 questions · Live API data · 4 question types · 12-second timer

🎼
Scale Degrees
📏
Intervals
🔑
Key Relations
🌊
Modes

What It Demonstrates

  • ›GET /api/v1/scales/{root}/{mode} — generates scale degree questions from live scale data.
  • ›GET /api/v1/intervals/{note1}/{note2} — generates interval identification questions.
  • ›GET /api/v1/keys/{note}/major — generates relative key questions using the relativeMinor field.
  • ›GET /api/v1/modes — fetched once at load, cached in memory for mode character questions.
  • ›Every question shows the exact API endpoint being called so you can see exactly what's happening.

Using It in Your Project

  • ›Download the single HTML file — no npm, no build step, no dependencies.
  • ›By default it calls the GuitarTheory public API at guitartheory.com/api/v1, which has CORS enabled so it works from any domain.
  • ›Self-hosting GuitarTheory? Change the one BASE_URL constant at the top of the script to your server URL.
  • ›The documentation section within the file explains each API call with annotated code snippets and full response shapes.
  • ›Use it as a starting point — adapt the question generators and build your own UI on top of the API.
GuitarTheory.com — built for guitarists who want to understand music theory, not just memorize it.