Extract banner/icon images from Nintendo DS ROM files (.nds) and save them as PNG images.
- Python 3.6+
- Pillow (PIL)
pip install Pillow- Place the script in the same folder as your .nds ROM files
- Run the script:
python nds_banner_extractor.pyThe script will automatically:
- Scan the current directory for all .nds files
- Create a subfolder called
extracted_banners - Save all PNG files in that subfolder
# Process ROMs in a specific folder
python nds_banner_extractor.py path/to/roms_folder
# Or specify both input and output
python nds_banner_extractor.py path/to/roms_folder -o path/to/output_folderThe script will:
- Find all .nds files in the specified directory
- Extract the banner image from each ROM
- Save all PNGs in the output folder, named after each ROM
When you run the script in your ROM folder, it will create:
your_rom_folder/
├── nds_banner_extractor.py (the script)
├── Game1.nds
├── Game2.nds
├── ...
└── extracted_banners/ (created by script)
├── Game1.png
├── Game2.png
└── ...
# Extract banners from all ROMs in the 'nds_roms' folder
python nds_banner_extractor.py nds_roms -o extracted_banners
# Output will be in extracted_banners/- Banner images are 32x32 pixels (standard NDS icon size)
- The script handles the NDS-specific 4bpp tiled format and BGR555 color palette
- ROMs without banners will be skipped with a message
- The script prints progress as it processes each file