How Fret works
A fretboard for guitar, bass and ukulele, a chord identifier, a song builder, a chord-sheet reader and an ear trainer. No account, no ads, no server. Everything you make stays on the device you made it on.
Diagrams read the same everywhere in the app: × means don't play that string, o means play it open.
Start here
Two things to know before you build anything you'd be sad to lose.
Your work lives in this browser
There is no account and nothing is uploaded. Songs, chord sheets, saved chords, drill scores and settings are stored by the browser you're using. That's why the app is fast and works with the internet off — and it's why the same songs won't appear on your phone if you made them on a laptop.
Clearing your browsing data erases everything. Refreshing, closing the tab and restarting the device are all safe.
Back up now, not later. Every page has Back up all in the sidebar, and the Songs page has it too. It downloads one file holding your songs, sheets, saved chords, custom tunings, scores and settings. Restore reads it back and asks whether to merge or replace before touching anything.
That file is also how you move everything to another device — email it to yourself and restore on the other end.
Muted, open and fretted are three different things
Every string is in one of three states, and the app treats them as genuinely distinct. A muted string contributes nothing to the chord; an open string sounds. If a chord isn't being named the way you expect, a string is usually open when you meant it muted.
Songs /songbook
Everything you've written or imported, in one list, browsable the way a music library is.
Chord sheets and playable songs sit together, most recently opened first, each
showing the chords it uses. Search by name, artist or album, or by a chord — type
Bm and you get every song with a Bm in it.
A sheet and a song with the same name collapse into one row with both
Read and Play, so importing a chart as both
doesn't clutter the list. Press / to jump to the search box.
Browse by artist or album
The Browse by buttons switch between Recent, Artists and Albums. Pick an artist or an album to see its songs, and use Back to return. Songs with no artist yet gather under Unknown artist until you tag them.
Setting the artist and album
The ✎ on any row opens a small panel for the name, artist and album. It changes the sheet and the song of that name together, so they never disagree. You can also set them from the line under the title on Lyrics and Strum, or in the Artist and Album boxes when you import.
Tagging a lot at once
Select puts a tick box on every row. Tick some songs — or use All, No artist yet or None — type an artist and/or an album once, and press Apply to selected. A box you leave empty leaves that detail as it was.
Guess from names… is for a library full of names like Pink - Aerosmith. Tell it which way round your names are written, Title - Artist or Artist - Title, check the preview, and it splits each one into a title and an artist. With songs ticked it looks at only those; otherwise it looks at every song with no artist yet.
Undo lasts until you leave the page. After a bulk tag or a guess, an Undo link restores exactly what was there. Once you navigate away it's gone, and the ✎ on each row is how you fix anything after that.
Share a song as a link. The ⇗ on any playable song copies a link that contains the song — it's packed into the address itself, not stored on a server. Send it to your phone or to someone else and it opens as their own copy. The artist, album and capo note travel with it.
Lab /
The fretboard. Put your fingers somewhere and find out what you're playing, or type a chord name and find out where the fingers go. It works for guitar, bass and ukulele.
Guitar, bass or ukulele
The switcher above the chord name changes the board to the instrument you're holding. Fret remembers your choice, and the tuning you last used on each one.
A5 shows just the root and its fifth.Each instrument keeps its own tunings, its own custom tunings and its own strip of saved chords, so a ukulele chord never turns up in your guitar progression. The CAGED shapes and the ear-training chords are guitar shapes, so they hide on bass and ukulele.
The bass and ukulele tuners are new. The pitch detection is tested down to a five-string bass's low B, but it has had little time with real instruments and real microphones. A phone speaker or microphone that can't reproduce the lowest notes still works, because the tuner listens for the overtones too.
Putting notes on the board
- Click any fret to place a dot. Click the same fret again to clear that string back to open.
- Click the string letter on the headstock to mute it. Click again to unmute.
- Shift-click any fret cell to mute that string without hunting for the headstock.
- Type a name —
Am,Cadd9,F#m7,Bbmaj7,G13— and press Show on board. It works in any tuning: where there's no ready-made shape, Fret works one out.
Tunings
Open the tuning box in the sidebar to pick one. The board's string names, the chord names, the shapes for typed chords, the sound and the tuner all follow it. In anything other than standard tuning the strings are labelled with their real notes.
- Guitar: Standard, Drop D, Open G, DADGAD, Half down, Full down, Open D, Open E, Drop C, Double drop D and Open C.
- Bass: Standard, Drop D, Half down and Full down.
- Ukulele: Standard, Low G, Baritone and D tuning.
+ Custom tuning… opens a small editor: choose the note for each string, first string first, and name it if you like. It's saved on this device and listed with the others, and the × beside it deletes it.
What it tells you back
The chord name appears as you play, with a plain-English note on how it sounds and a difficulty rating. Barre chords draw as a single bar with the finger number on it, rather than separate dots, because that's what your hand actually does.
It accepts chords with notes missing. Guitarists drop the fifth constantly. Play one and Fret still names it, with the missing note in brackets — G (no D) — instead of refusing to recognise it.
One note short and it offers to finish. If what you've placed is a single note away from a real chord, a card appears naming the chord and telling you exactly where to put the missing finger. Accept it or dismiss it.
Finding an easier way to play something
Another way to play it cycles through every playable voicing of the current chord, ranked so the easiest comes first. The line beside it tells you which one you're on and whether something easier exists. Easier version jumps straight to the simplest shape. On a ukulele the ranking avoids muting strings, since a ukulele is strummed across all four.
Tuner
The Tuner button below the fretboard opens a panel. Press Start listening — the microphone is only requested at that moment, never on page load — then play one string at a time. You get the note, the frequency, how many cents sharp or flat, and a needle that centres when you're right.
The string targets follow the instrument, the tuning and the capo — six for a guitar, four for a bass or ukulele — so with a capo on the third fret the guitar's low E target becomes G. Tap any target to hear a reference tone. The bass tuner listens all the way down to a five-string's low B.
Microphone access needs a real click. Browsers refuse it otherwise. If you blocked it by accident you'll need to re-allow Fret in your browser's site settings — the app can't re-ask.
Saving chords
Save chord adds the current shape to the strip at the bottom. The strip shows the chords for the instrument you're on. Click any saved chord to load it back. Send to Strum turns the strip into a playable song — guitar chords only, since Strum is guitar for now.
Print sheet lays them out as proper chord charts — strings vertical, nut at the top, × and ○ above the strings you skip or play open, numbered dots for which finger goes where, and a fret label when the shape sits up the neck. Bass and ukulele sheets are drawn with four strings and say which instrument they're for.
Practice /practice
Five modes. Three test whether you know a chord, one builds the skill everyone gets stuck on, and one shows whether any of it is working.
Hear a chord · Hear a note · See a chord
Fret plays or draws something and you identify it from four options. Difficulty moves you from open chords through barre chords to extended shapes. After each answer you see where those notes sit on the full neck and on a piano keyboard.
Tap or play it. On See a chord and Hear a note there's a small toggle. Switch to Play it and the answer buttons are replaced by a microphone: play the chord on your guitar and Fret listens.
It's forgiving on purpose — any voicing, any octave. It's listening for the right notes, not the exact shape it drew. The target notes light up as it hears them, and holding a correct chord for about half a second counts it.
Chord changes
The one-minute-changes exercise, which is how guitar teachers actually fix the beginner wall. Pick two chords, hit start, and switch between them as many times as you cleanly can in sixty seconds. Tap anywhere on the big area each time you change — the highlight flips so you always know which chord you're heading to.
Scores save per pair, so next session you're chasing your own number. Only count a change if it rang cleanly; the app can't hear buzzing, so that part is on you.
Progress
Everything you've done, gathered in one place: days practised, total questions and accuracy, and a bar chart of your recent drill runs with personal bests in gold.
The centrepiece is a radar web showing every chord you've drilled. Each spoke is a chord, and how far it reaches from the middle is how quickly you change into it compared with your own best. A balanced web means you're even; a dent means you've found a weak spot.
It works out the chord, not the pair. If you're slow on both F ⇄ C and F ⇄ G, the problem is F. The reading beside the web names your slowest chord and offers a button that loads the drill with that chord paired against your strongest — which is the usual way to drag a weak one up.
Progress fills up slowly, and that's the point. A session is banked when you switch mode, change difficulty or leave the page. One evening of use won't tell you much. Two weeks will.
Strum /strum
Build a song out of chords, give it a tempo and a strumming pattern, and listen back. Export it as audio if you want to keep it.
Writing a song by typing it
The fastest way in is the text box. One section per line:
Verse: Am D7 C E x2 Chorus: Cadd9 Bm G D Bridge: Fmaj7 Em Am
The section name and the x2 are both optional. Build song
replaces everything; Append adds to the end. Chords it can't read are
listed rather than silently dropped.
Each section also has its own small input, so you can add to one section without retyping the rest.
Sections and repeats
A song is a list of sections, each with its own chords, repeat count and strumming pattern. Reorder them with the arrows, duplicate one with Copy, rename by clicking the title. The repeat count means a verse can play twice before the chorus without you entering it twice.
Length is measured in beats
Set the song's tempo in BPM, or tap Tap four times at the speed you want. Chord lengths are then musical — one beat, half a bar, one bar, two bars — rather than arbitrary seconds. Click a chord's length label to cycle through the options.
Click turns on a metronome with an accented downbeat. Count-in gives you a bar of clicks before playback starts.
Strumming patterns
Each section can have a pattern — eight slots to a bar, down-strokes and up-strokes. Pick a preset like Classic pop and then click any individual slot to cycle it between down, up and skip. Up-strokes genuinely sound different: they sweep from high string to low, drop the bass strings, and sit quieter.
Patterns are ignored on arpeggio chords. A strumming pattern on a broken chord is a contradiction, so if a pattern seems to do nothing, check whether those chords are set to Arp rather than Strum.
Editing a lot of chords at once
Select chords puts checkboxes on every chord. Pick some — or use All, or Select section in a section header — then apply a length, style, speed or delete to the whole selection. For a long imported song this is the difference between four clicks and four hundred.
The dropdown beside it applies one strumming pattern to every section at once.
Practising one section
The ↻ in any section header loops that section on its own. A bar appears where you set a starting tempo as a percentage of the song's, how much to speed up each time round, and where to stop. Play, and it runs that section over and over, a little faster each pass, with a breath between so you hear the change. It tells you how many passes it took to reach the target.
Capo note, artist and album
The Capo dropdown beside the title tags a song with where the capo goes, from 1 to 9. It's a note for you: it shows as a pill above the song and travels in share links and the text export, but it never changes a chord. The line under the title is the artist and album — tap it to set them, and the lyric sheet with the same name is tagged to match.
Changing key
The Key control shifts the whole song up or down. Chord names, diagrams, playback and exports all follow. It's a view, not an edit — the song is stored in its original key and reset is always one click away.
Keyboard
Press ? or hit ⌨ Shortcuts for the list. Space plays and
stops, the arrows scrub between chords and change tempo, square brackets transpose,
and Esc backs out one layer at a time — loop, then selection, then edit, then stop.
Sound and export
Four tones — steel string, nylon, clean electric, and the original synth. The guitar sounds are generated by modelling a plucked string, not by playing back recordings, which is why they work offline and add nothing to the download.
WAV renders instantly. MP3 takes a moment longer. Text writes out the structure, chords, lengths and any notes you've added.
Lyrics /lyrics
Chord sheets with the chords sitting above the words, and a performance mode that scrolls them past you while both your hands are busy.
Making a sheet
Switch to Edit lyrics and type or paste the words. Switch back to Chord sheet and every word becomes clickable — click the word where a chord starts, then type the name or pick from the quick list.
Chords land exactly where you put them. Click one to change it, remove it, or nudge it a character left or right. If two chords overlap, the left one turns amber as a warning rather than silently shifting.
Hover a chord to see the shape. On a computer, resting the pointer on any chord name pops up a small diagram above it — barres and all.
Raw text
The Raw text tab shows the whole sheet as plain text, chords above the words, the same way Import reads it. Fix a chord, add a forgotten verse, or retype a line, then press Save changes. The name, capo note and key stay put, and it warns you before you lose edits you haven't saved.
There's one level of undo if a save wasn't what you wanted. If a Strum song has the same name, a tick box offers to rebuild its sections from the new text too. Repeat markers such as { C D } x3 show as small chips on the sheet; click one to jump into Raw text and edit it.
Capo note, artist and album
The Capo dropdown tags a sheet with where the capo goes, from 1 to 9. It shows as a pill above the lyrics, in performance mode and in its title bar, in the text export and in share links. The chords are never changed. The line under the title is the artist and album; tap it to set them.
Performance mode
Takes over the whole screen: large type, chords above words, section names picked out. Scroll starts it creeping down the page at your chosen speed, and the controls fade out while it runs.
0 for automaticText size fits itself to the screen by default so a whole line stays visible. Once you use T+ or T− your choice sticks until you reset it.
Long lines wrap. A line too wide for the screen carries on in an indented row below it, breaking between words and keeping each chord with its word. It re-wraps by itself when you change the text size or turn the phone.
Changing key
The Key control in the toolbar shifts every chord name on the sheet, including in performance mode and in the text export. Like Strum, it's a view — the sheet keeps its original chords and reset restores them.
On a phone, hold a finger on the sheet to pause. It resumes when you lift. Dragging scrolls by hand and leaves it parked wherever you let go — start it again with the button.
Import /import
Paste a chord chart from anywhere and Fret works out which lines are chords, which are lyrics, and which word each chord belongs to.
Select a chart on any site, copy it, paste it in, and press Save it —
or Cmd+Enter. It reads the chart, names it from the title or
first line, and saves it the way the Save as selector says:
Sheet + song (the default), Sheet only or
Song only. Fret remembers your choice.
The preview only appears when something needs your attention: tab lines were skipped, or no sections were found. The Check it first button gives you the step-by-step flow whenever you want it.
[Verse 1] G Em Walking home along the quiet shore C G Counting every light I can find
The chord positions carry across exactly — a chord at the twenty-first character lands on the word at the twenty-first character.
Who it's by
Import has optional Artist and Album boxes. Leave them empty and Fret looks at the first line: Pink - Aerosmith is read as the song Pink by Aerosmith, and you can correct it in the boxes before you save. Import another keeps what you typed, so a whole album goes in quickly.
Telling it what's a chord line
A line of chords with no words under it, an intro for example, is the hardest thing to read. Wrap it in curly braces and Fret takes it as chords without argument. A repeat after the braces carries over.
[Intro] { Am F C G } x2 [Verse] G Em { C D } x3
Repeats can also sit inside an ordinary chord row, like the last line above. The sheet shows it as typed, and in the Strum song the braced group plays that many times in a row.
How it decides
- Anything in brackets —
[Verse],[Chorus]— becomes a section, and the lines beneath it belong to that section. - A line where every item is a valid chord name is a chord line.
- A lone letter like
Con its own line is resolved by what follows it: chords sit above words. - A chord-only row gets no empty lyric line underneath it.
- Guitar tab lines are skipped, and the count is shown so you know they were dropped.
- Everything else is lyrics.
Check the preview when it appears. Unusual spacing, chords written inline inside a lyric, and tab notation will all confuse it. That's exactly when the preview shows itself — so you catch it before saving rather than after.
If something still slips through, open the sheet in Lyrics and fix it in Raw text.
Shared settings
Live in the Lab. Capo, tone and handedness follow you to every page; instrument and tuning are the Lab's for now.
The capo renames things, it doesn't just move them. Set it to the third fret and a G shape is offered as B♭, because that's the note coming out of the guitar. Practice does the same, and tells you the capo position alongside the answer.
There are two different capos. The Lab's capo changes what chords are called. The Capo note on a sheet or a Strum song is only a label that says where to put your capo; it never touches a chord.
On a narrow screen the sidebar becomes the menu button in the top corner. Each page puts something different in there — the Lab its settings, Strum your songs, Lyrics your sheets, Practice the difficulty and your scores.
Offline & install
Fret is a website that behaves like an app. Nothing it needs to run comes from the internet.
Visit it once with a connection and it caches itself. After that it opens with the wifi off — the fretboard, the chord maths, the audio, the tuner, even MP3 export. There are no API keys, no fonts fetched from elsewhere and no analytics.
Installing it
- iPhone or iPad: Share, then Add to Home Screen.
- Android: Chrome offers to install it, or use Add to Home Screen in the menu.
- Computer: Chrome shows an install icon at the right of the address bar.
Installed, it opens in its own window with no browser chrome.
Installing does not back anything up. The installed app and the browser tab may not even share storage. Use Back up all, and use Restore on the installed copy if you want your songs there too.
Every quirk in one place
The things that surprise people, collected. Most are deliberate.
- Nothing syncs. Laptop and phone keep separate libraries. The backup file, or a share link, is the bridge.
- Clearing browsing data erases your work. Refreshing and restarting are safe.
- Muted and open are different states. Most misnamed chords trace back to this.
- Instrument and tuning belong to the Lab for now. Strum, Lyrics and the Songs page treat every song as a standard-tuned six-string guitar.
- Saved chords belong to an instrument. A ukulele chord never shows up in a guitar progression, and Send to Strum sends guitar chords only.
- On a bass, a typed chord shows its notes, not a fingering. A ukulele shows a real fingering and names chords by their root, with no slash chords.
- The microphone only opens on a button press, and a blocked permission has to be undone in browser settings.
- The bass and ukulele tuners are new and have had little time with real instruments.
- Listening mode is forgiving by design. Right notes, any shape, any octave.
- Chord-change scores are on your honour. The app can't hear a buzz.
- Strumming patterns don't apply to arpeggio chords.
- There are two capos. The Lab's capo renames chords; the Capo note on a sheet or song is only a label.
- The capo changes chord names, not just the diagram.
- Transposing is a view, not an edit. The original key is always one click away, and each song or sheet remembers its own setting.
- A share link holds the whole song. It's long by design, and very long songs get flagged because some chat apps cut links off. The artist, album and capo note ride along.
- A looped section ignores its own repeat count. The loop is the repetition.
- Select and Guess from names change real names. Undo is there until you leave the Songs page; after that, the ✎ on each row is how you fix things.
- Saving in Raw text replaces the sheet. There's one level of undo, and an optional rebuild of the Strum song with the same name.
- The import parser can be fooled by unusual spacing or inline chords. The preview shows up when it isn't confident, braces force a chord line, and Raw text fixes the rest.
- The radar compares you to yourself, not to anyone else. A full web means you're even, not that you're finished.
- Progress needs weeks, not evenings, before it says anything useful.
- Chords are always spelled with sharps unless the key naturally reads flat.