A tool for exporting Bambu Studio printer presets in both INI and JSON formats. Works only for WSL+ZSH environments.
Bambu Studio stores printer, filament, and process presets, but as far as I'm aware there isn't an easy way to import/export these settings for a particular print.
Yes the 3mf files have all of this information and more for a print, but often I want to share and import print profiles independently. This repo is a super early first pass at doing so.
-
Exports presets to standard INI or JSON formats for external use
-
Resolves inheritance chains from abstract templates to specific configurations
-
Organizes output by vendor, machine, and nozzle variants
-
Filters nozzle variants from base machines for easier selection
-
Normalizes data by linking machine profiles with printer definitions
-
✅ Interactive vendor/machine/nozzle selection
-
✅ Batch export (all vendors, all machines, all nozzles)
-
✅ Selective export (specific vendor → machine → nozzle)
-
✅ Export INI or JSON (INI for Slic3r/PrusaSlicer should be compatible)
- WSL (Windows Subsystem for Linux) with zsh
- Node.js (installed on WSL)
- Bambu Studio (installed on Windows at default location)
clone this repo to a destination in WSL. Then chmod the scripts:
# Ensure scripts are executable
chmod +x bambu_dump_presets_wsl.zsh
chmod +x bambu_dump_runner.mjs
chmod +x bambu_data_normalizer.mjs./bambu_dump_presets_wsl.zsh./bambu_dump_presets_wsl.zsh --debugEnables verbose logging to stderr for troubleshooting.
Can be used once you've dumped the existing data from the install dir.
# List available vendors
node bambu_dump_runner.mjs list-vendors
# List machines for a vendor (no nozzles)
node bambu_dump_runner.mjs list-machines "Bambu Labs"
# List nozzles for a specific machine
node bambu_dump_runner.mjs list-nozzles "Bambu Labs" "Bambu Lab X1 Carbon"
# Export specific machine presets
node bambu_dump_runner.mjs dump-built-in \
--dest /tmp/output \
--vendor "Bambu Labs" \
--model "Bambu Lab X1 Carbon" \
--format json/output/
Bambu Labs/
Bambu Lab X1 Carbon/
BBL__Bambu Lab X1 Carbon__printer.ini
BBL__Bambu Lab X1 Carbon__process.ini
BBL__Bambu Lab X1 Carbon__filament.ini
Nozzles/
BBL__Bambu Lab X1 Carbon 0.4 nozzle__filament.ini
BBL__Bambu Lab X1 Carbon 0.6 nozzle__filament.ini
/output/
Bambu Labs/
Bambu Lab X1 Carbon/
BBL__Bambu Lab X1 Carbon__printer.json
BBL__Bambu Lab X1 Carbon__process.json
BBL__Bambu Lab X1 Carbon__filament.json
Nozzles/
BBL__Bambu Lab X1 Carbon 0.4 nozzle__filament.json
BBL__Bambu Lab X1 Carbon 0.6 nozzle__filament.json
{
"vendor": "BBL",
"model": "Bambu Lab X1 Carbon",
"type": "filament",
"presets": [
{
"name": "Bambu PLA Basic @BBL X1C",
"properties": {
"filament_type": "PLA",
"temperature": "220",
"bed_temperature": "60",
...
}
}
]
}bambu_dump_presets_wsl.zsh- Interactive shell script for WSLbambu_dump_runner.mjs- Node.js preset extraction logicbambu_data_normalizer.mjs- Links machine profiles with printer definitions
Ensure Bambu Studio is installed at:
C:\Program Files\Bambu Studio\(default location)
This is just due to my personal preferences and how I normally work. It for sure is not going to work for any other set up. Feel free to get your own Claude to add some new functionality and contribute if you can :).
I believe Bambu Studio presets use inheritance chains, so this tool walks these chains (up to base templates) and merges all properties to produce complete configurations.
GNU General Public License v3.
Ya go for it.
Claude and Codex are my coding serfs and I am their feudal vibe lord.