A small local tool that downloads a Songsterr tab
and saves it as a Guitar Pro 5 (.gp5) file you can open in Guitar Pro or
TuxGuitar (free).
Songsterr stores each tab's notes as JSON (one file per track) on its CDN.
Many tabs — including all AI-generated ones — have no original Guitar Pro
file to grab, so this tool fetches that note data and reconstructs a .gp5
from it. Songsterr's note model lines up closely with the Guitar Pro format
(string/fret, durations, bends, tuplets, etc.), so the reconstruction is
faithful.
Download SongsterrToGuitarPro.exe from the
Releases
page and double-click it. It's a single self-contained file (~11 MB) with Python
and everything bundled in, so it runs on a machine that doesn't have Python
installed. Saved tabs go to your Downloads\Songsterr Tabs folder by default
(changeable in the window).
First launch may take a few seconds (it unpacks to a temp folder), and Windows SmartScreen / antivirus may warn about an unsigned exe — that's normal for a self-built PyInstaller binary; choose "More info → Run anyway".
If you change the code and want a fresh exe:
pip install pyinstaller
pyinstaller --onefile --windowed --noconfirm --clean --name SongsterrToGuitarPro songsterr_gui.py
The exe lands in dist\. (The build is verifiable via a hidden self-test:
SongsterrToGuitarPro.exe --selftest <folder> downloads one tab headlessly and
exits 0 on success.)
Requires Python 3 and one package:
pip install PyGuitarPro
For a point-and-click version (no extra dependencies — uses Python's built-in Tkinter):
python songsterr_gui.py # or: pythonw songsterr_gui.py (no console window)
Paste one or more Songsterr URLs / song IDs (one per line), choose a folder, and click Download. Progress shows in the log; Open folder reveals the saved files.
python songsterr_dl.py <songsterr-url-or-id> [more urls/ids ...] [options]
Examples:
# By full URL
python songsterr_dl.py https://www.songsterr.com/a/wsa/brian-fallon-a-wonderful-life-tab-s2580013
# By bare song id, into a folder
python songsterr_dl.py 2580013 -o tabs/
# Several at once
python songsterr_dl.py 2580013 455118 60 -o tabs/
# Also keep the raw Songsterr JSON
python songsterr_dl.py 2580013 --json
Options:
| Option | Meaning |
|---|---|
-o, --output PATH |
Output file or directory. With multiple songs, treated as a directory. Default: current directory, named Artist - Title.gp5. |
--json |
Also save the raw per-track Songsterr JSON. |
-q, --quiet |
Less output. |
All tracks (guitars, bass, drums as a percussion track), tunings, time signatures, tempo including mid-song tempo changes, multiple voices, and rhythm (note values, dots, tuplets, rests). Articulations: hammer-ons/pull-offs, slides, bends, tremolo bar, natural/artificial/pinch/tapped harmonics, palm mute, let ring, vibrato, staccato, dead/ghost/accented notes, grace notes, tapping, pick strokes, dynamics, section markers, repeats, and chord-name/beat text.
- Output is GP5. Guitar Pro 5 supports up to 7 strings; 8-string tabs are truncated to 7 (the lowest string's notes are dropped) because the format can't represent them.
- Drums are placed on a percussion track. Notes/rhythm are preserved; exact staff-line placement of each drum is best-effort.
- For personal use — please respect Songsterr's terms and tab authors' work.
SongsterrToGuitarPro.exe— standalone Windows app (no Python required), on the Releases page.songsterr_gui.py— point-and-click GUI (Tkinter).songsterr_dl.py— command-line entry point.songsterr.py— fetch layer (URL/id → metadata + per-track note JSON).convert.py— Songsterr JSON → PyGuitarPro model →.gp5.
