ForHosting KIT · Developer Utilities

Chord inversion calculator

The chord inversion calculator takes notes already arranged in root-position order and places them in the order required for a selected inversion.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

Use zero for the original order, one for first inversion, two for second inversion, and so on. The calculator preserves every note label exactly as supplied, so sharps, flats, octave markers, and custom spellings remain intact. It performs a deterministic rotation rather than guessing chord names or enharmonic equivalents, making the result suitable for lessons, voicing tools, practice sheets, and music software pipelines.

Enter the chord tones in root-position order

Start with an ordered list of the notes that define the chord. For a C major triad, that list is C, E, G; for a G dominant seventh chord, it could be G, B, D, F. The order matters because the calculator treats the first item as the root-position bass and rotates notes from the front of the list to the back. It does not analyze a chord symbol, infer a missing tone, remove duplicates, or decide whether two spellings are enharmonically equivalent. That deliberate rule makes the operation predictable for theory exercises and software. Note labels are preserved exactly, including values such as F#, Gb, C4, or a notation used by your own application. Each item must be a non-empty string, but it does not need to follow one particular notation system. Before submitting, make sure the supplied list represents the root-position ordering you intend. If you begin with an already inverted voicing, the result is still a valid rotation of that input, but the inversion number will be relative to the supplied order rather than to an independently detected root.

Choose the zero-based inversion number

The inversion number tells the calculator how many notes to move from the beginning of the chord to the end. Inversion zero moves nothing and returns a copy of the original order. Inversion one moves the first note behind all remaining notes, so C, E, G becomes E, G, C. Inversion two moves the first two notes, producing G, C, E. A seventh chord has four valid choices numbered zero through three, while a five-note chord has choices zero through four. The number must be a non-negative integer and must be smaller than the note count. A three-note chord therefore rejects inversion three because rotating all three notes would merely repeat root position rather than name a distinct inversion. This validation also catches common indexing mistakes before they silently create misleading results. The operation changes only order; it does not add octave numbers or raise notes by twelve semitones. If octave placement matters in your workflow, interpret each moved note as belonging above the notes that remain, or supply explicit octave labels that already express your desired register convention.

Use the reordered notes in practice and software

The response contains the reordered notes as a JSON array, which makes it straightforward to display, store, compare, or pass into another music tool. Teachers can generate answer keys for inversion drills without rewriting each chord manually. Students can check whether the bass note and remaining sequence match first, second, or later inversions. Arrangers can explore note order before choosing a playable voicing, and developers can place the deterministic result inside chord diagrams, MIDI preparation steps, or progression-analysis interfaces. Remember that an inversion is not a complete voicing prescription: instruments may double chord tones, omit tones, spread notes across octaves, or choose a different internal arrangement while keeping the same bass class. This calculator answers the narrower question of cyclic note order, which is useful precisely because it avoids instrument-specific assumptions. The same input always produces the same output, with no network lookup, randomness, or chord dictionary involved. Browser use is convenient for individual calculations, while API automation costs $0.002 per request when a lesson generator, composition aid, or notation service needs repeatable processing at scale.

Build music theory exercises

Generate consistent reordered note lists for inversion questions, worksheets, and answer keys.

Check chord practice answers

Compare a student's proposed inversion with the deterministic note order for the requested number.

Power chord and voicing interfaces

Feed reordered chord tones into diagrams, notation previews, or later instrument-specific voicing logic.

How are inversion numbers counted?

They are zero-based: zero is root position, one is first inversion, two is second inversion, and so on.

What happens to the notes when I request an inversion?

The requested number of notes is moved from the beginning of the array to the end while their relative order is preserved.

Can the inversion number equal the number of notes?

No. It must be smaller than the note count because moving every note would simply repeat the original order.

Does the calculator recognize chord symbols or correct note spelling?

No. It works only from the ordered notes you provide and preserves their spelling exactly.

Does it assign octaves to moved notes?

No. It returns note order only; octave placement and instrument-specific voicing remain under your control.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/hobby/chord-inversion

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/hobby/chord-inversion \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"notes":["C","E","G"],"inversion":1}'
{
  "notes": [
    "C",
    "E",
    "G"
  ],
  "inversion": 1
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "hobby.chord_inversion",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Read the full KIT documentation →