A powerful Windows desktop application designed to help you automatically find and download missing cover art for your retro gaming ROM collection. It supports Bing Web Image Search, Google Web Image Search, and Google Custom Search API to fetch high-quality game cover images.
- ๐ Smart Search: Automatically searches for game covers using cleaned ROM filenames.
- ๐ฏ MAME Integration: Leverages MAME database for accurate game titles and descriptions.
- ๐ Batch Processing: Scan entire ROM directories to identify missing covers.
- ๐ผ๏ธ Multiple Sources:
- Bing Web Image Search: Uses an embedded browser (WebView2) to display Bing image search results.
- Google Web Image Search: Uses an embedded browser (WebView2) to display Google image search results.
- Google Custom Search API: Fetches image results directly via API (requires an API key).
- โก Real-time Preview: Thumbnail previews with configurable sizes (100-500px).
- ๐จ Customizable UI: Light/Dark themes with 20+ accent colors.
- ๐ Missing Covers List: Automatically generates a list of ROMs without corresponding cover art (checks for PNG, JPG, BMP, GIF, TIFF, WebP, AVIF).
- ๐ง Flexible Configuration: Support for custom file extensions and search queries.
- ๐ Automatic Image Conversion: Automatically converts downloaded images (JPG, BMP, GIF, TIFF, WebP, AVIF) to PNG format using SixLabors.ImageSharp. Also, automatically converts newly saved images in the image folder to PNG.
- ๐ Detailed Logging: Built-in log viewer for troubleshooting and
app.log/error.logfiles. - ๐ต Sound Feedback: Optional audio feedback for user actions.
- ๐ Command-line Arguments: Start the application with pre-set ROM and Image folders for quick scanning.
By default, the application supports:
- Archive formats: ZIP, RAR, 7Z
- Nintendo: NES, SNES, Game Boy (GB, GBC, GBA)
- Sega: Genesis/Mega Drive (MD, SMD, GEN), 32X, Game Gear (GG), Master System (MS, GG, SGG, SC)
- Other: ROM, BIN, CDI, CHD, ISO, 3DS, RVZ, NSP, XCI, WUA, WAD, CSO, NDS, LNK, BAT, EXE, ARC, D64, D71, D81, G64, LNX, NBZ, NIB, PRG, SDA, SFX, T64, TAP
You can add or remove supported extensions through the Settings > Edit Supported Extensions... menu.
Recognized Cover Image Formats: The application recognizes and converts .jpg, .jpeg, .bmp, .gif, .tiff, .tif, .webp, and .avif files to .png format.
- Windows 10 or later
- .NET 10.0 Runtime (automatically installed if using the provided executable)
- Microsoft Edge WebView2 Runtime: Essential for Bing and Google Web Image Search. Most Windows 10/11 systems have this pre-installed. If missing, the application will prompt you with a direct download link.
- (Optional) Valid API key for Google Custom Search API if you choose to use that search method.
- Download the latest release from the Releases page.
- Extract the archive to a folder of your choice.
- Run
GameCoverScraper.exe. - Configure API keys (if using Google API search, see Setup section below).
The "Bing Web Search" and "Google Web Image Search" options do not require any API keys. They use an embedded browser to display results.
To use the Google Custom Search API:
- Open the application.
- Navigate to
Settings > API Settingsin the menu. - Google Custom Search API:
- Go to Google Cloud Console.
- Enable the "Custom Search JSON API".
- Create an API key.
- Enter your Google API key into the
API Settingswindow. - Click "Save".
-
Setup Directories
- ROM Folder: Where your game files are stored.
- Image Folder: Where you want cover images saved.
- Click "Browse..." to select folders.
-
Scan for Missing Covers
- Click "Check for Missing Images".
- The app will list all ROMs without a corresponding
.png,.jpg,.jpeg,.bmp,.gif,.tiff,.webp, or.avifcover in your image folder.
-
Find Covers
- Select a game from the missing covers list.
- The app automatically searches for cover images using your selected search engine.
- If using "Web Search" (Bing/Google Web), the results will appear in the embedded browser.
- If using "Google API", image suggestions will appear as clickable thumbnails.
-
Download Covers
- For API Search: Click on the cover image you want from the suggestions. The image is automatically downloaded, converted to PNG (if necessary), and saved as
[gamename].png. - For Web Search: Right-click on an image in the embedded browser and choose "Save image as...". Save it inside the Image Folder. The application's
FileSystemWatcherwill then detect the new image, convert it to PNG if needed, and remove the game from the missing list. Note: Automatic saving directly from the web view is not available due to browser security restrictions. - The game is removed from the missing covers list once a corresponding PNG is detected in the image folder.
- For API Search: Click on the cover image you want from the suggestions. The image is automatically downloaded, converted to PNG (if necessary), and saved as
Add extra search terms in the "Extra Query" field:
"box art"- for box art specifically"front cover"- for front covers only"game cover"- for cover images
Access through the menu:
- Theme > Base Theme - Switch between Light and Dark.
- Theme > Accent Colors - Choose from 20+ color schemes.
Switch between "Bing Web Search", "Google Web Image Search", and "Google API" via:
- Select Search Engine menu.
Adjust preview sizes for API search results:
- Set Thumbnail Size menu (100-500px).
Toggle the use of MAME descriptions for search queries:
- Settings > Use MAME Descriptions - When enabled, the app will use the full MAME game description instead of the cleaned ROM filename for searches.
Access detailed logs for troubleshooting:
- Settings > Show/Hide Log Window.
- Log files are also saved as
app.loganderror.login the application folder. error_user.logcontains a simplified list of errors for user reference.
You can launch GameCoverScraper.exe with command-line arguments to pre-fill the ROM and Image folders:
GameCoverScraper.exe "C:\Path\To\ImageFolder" "C:\Path\To\RomFolder"- If only one argument is provided, it will be treated as the Image Folder.
- If both are provided, the application will automatically trigger a scan for missing images on startup.
All settings are stored in settings.xml in the application folder. This file is managed by the application, but you can inspect it:
<Settings>
<ThumbnailSize>300</ThumbnailSize>
<SearchEngine>BingWeb</SearchEngine>
<BaseTheme>Light</BaseTheme>
<AccentColor>Blue</AccentColor>
<UseMameDescriptions>true</UseMameDescriptions>
<BugReportApiKey>your-bug-report-key-here</BugReportApiKey>
<BugReportApiUrl>https://www.purelogiccode.com/bugreport/api/send-bug-report</BugReportApiUrl>
<SupportedExtensions>
<Extension>zip</Extension>
<Extension>nes</Extension>
<!-- ... more extensions ... -->
</SupportedExtensions>
<GoogleKey>your-google-api-key-here</GoogleKey>
<GoogleSearchEngineId>your-search-engine-id-here</GoogleSearchEngineId>
</Settings>"API Key is not set" error (for Google API search)
- If prompted, ensure your Google API key is correctly entered in
Settings > API Settings. - Verify the key is active and has sufficient quota in your Google Cloud Console.
"WebView2 Runtime Missing" or "WebView2 component is not ready" error
- On first launch, or if the component is missing, the application will prompt you to download the Microsoft Edge WebView2 Runtime. This is required for the "Bing Web Search" and "Google Web Image Search" features.
- Follow the prompt to download and install the runtime from Microsoft's official website.
- After installation, you may need to restart GameCoverScraper.
- If the issue persists, ensure your Windows installation is up to date.
No search results
- Check your internet connection.
- Try different search terms in "Extra Query".
- Switch between "Bing Web Search", "Google Web Image Search", and "Google API" search engines.
- If using Google API, check your API key and Search Engine ID.
Images not saving or converting automatically
- Ensure the image folder has write permissions.
- For web searches, remember that you need to manually save images from the embedded browser. The application's
FileSystemWatcherwill then detect the new file, convert it to PNG if needed, and update the missing list. - If a file already exists, you'll be prompted to overwrite it.
- Check the
app.logfor any errors related to file access or image conversion.
Missing or Corrupted MAME Data File (mame.dat)
- If you encounter errors about a missing
mame.datfile, ensure it is present in the same directory asGameCoverScraper.exe. - If the file is present but errors about corruption occur, try obtaining a fresh copy of
mame.dat. - MAME descriptions will not be available if this file is missing or corrupted.
Access detailed logs via:
- Settings > Show/Hide Log Window.
- Log files are saved as
app.loganderror.login the application folder. error_user.logcontains a simplified list of errors for user reference.
- MahApps.Metro for the beautiful WPF UI framework.
- SixLabors.ImageSharp for robust image loading and conversion (used for automatic PNG conversion).
- MessagePack for efficient binary serialization.
- MAME team for the comprehensive arcade game database.
- Microsoft.Web.WebView2 for embedding web content.
- AngleSharp for HTML parsing.
- Polly for transient fault handling and retries.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Donations: Support Development
Made with โค๏ธ by Pure Logic Code

