MongoDB Exporter GUI is a desktop application built with PySide6 that exports MongoDB collections into JSON backups with a modern interface. It supports optional compression, AES encryption, and in-app decryption.
- Elegant neumorphism-based UI.
- Theme switcher with
System(default),Light, andDarkmodes. - Connect to any MongoDB database using URI.
- Export all non-empty collections as JSON.
- Auto-create a dated backup folder in output directory.
- Optional backup compression to
.zip. - Optional backup encryption to
.encusing AES-GCM. - Optional Google Drive upload for generated backup files.
- In-app backup decryption from
File -> Decrypt Backup. - Real-time progress updates during export/compress/encrypt/decrypt.
- Export/Import backup scripts using
.mdbexport. - Built-in update checker.
- About dialog with developer info.
- Python 3.x
pymongoPySide6requestscryptographygoogle-api-python-clientgoogle-authgoogle-auth-httplib2
pip install -r requirements.txtPrerequisites:
pyinstallerdpkg-deb(for Debian package)curl(only ifappimagetoolis not already installed)
Build commands:
# Build both .deb and .AppImage
./build_linux.sh --all
# Build only Debian package
./build_linux.sh --deb
# Build only AppImage
./build_linux.sh --appimage
# Clean build artifacts
./build_linux.sh --cleanCompatibility wrappers:
./build.sh-> same as./build_linux.sh --deb./build_appimage.sh-> same as./build_linux.sh --appimage
Output artifacts are generated in release/.
- Launch the app.
- Enter MongoDB URI, database name, and output directory.
- Choose backup options:
Compress Backup (.zip)Encrypt Backup+ password (minimum 8 characters)Upload to Google Drive+ service account JSON (+ optional folder ID)
- Click
Export.
Light theme:
Dark theme:
- Set
MongoDB URI,Database Name, andOutput Directory. - Click
Export. - App creates a dated folder with JSON exports.
- If
Compress Backup (.zip)is enabled, a ZIP archive is created.
- Enable
Encrypt Backup. - Enter a password (minimum 8 characters).
- Run export.
- App creates encrypted backup file:
.zip.enc.
- Open
File -> Decrypt Backup. - Select encrypted backup file (
.enc). - Enter password.
- Choose save location for decrypted file (usually
.zip).
- Open Google Cloud Console:
https://console.cloud.google.com/
- Create or select a project:
https://console.cloud.google.com/projectcreate
- Enable Google Drive API:
https://console.cloud.google.com/apis/library/drive.googleapis.com
- Create a Service Account:
IAM & Admin -> Service Accounts- Direct link:
https://console.cloud.google.com/iam-admin/serviceaccounts
- Open the service account ->
Keystab ->Add Key -> Create new key -> JSON. - Download the JSON credentials file and use this file in the app (
Credentialsbutton). - Share your target Google Drive folder with the service account email.
- Example:
my-service-account@project-id.iam.gserviceaccount.com
- Example:
- Copy Drive Folder ID from folder URL (optional).
- Example URL:
https://drive.google.com/drive/folders/<FOLDER_ID>
- Example URL:
- Enable
Upload to Google Drive. - Select service account JSON using
Credentialsbutton. - Optionally enter
Drive Folder ID. - Start export.
- App uploads generated backup artifact:
- If encryption enabled: uploads
.enc - Else: uploads
.zip
- If encryption enabled: uploads
- Final success message includes Google Drive file ID and web link.
File -> Create Backup Script: saves connection + export options (password is not stored).File -> Load Backup Script: restores saved values and optionally starts export.
- Added neumorphism QSS UI styling.
- Added theme switcher (
System,Light,Dark). - Added backup options for compression and encryption.
- Added optional Google Drive upload using service account credentials.
- Added AES-GCM encrypted backup generation (
.enc). - Added in-app encrypted backup decryption flow.
- Added
cryptographydependency. - Improved progress messaging for processing stages.
Previous Versions
- Add About Page
- Add Developer Info
- Add new file extension
.mdbexport - Make code modular
- Add Check For Update option
- Introduced
.mdbexportfile format - Refactored into a modular codebase
- Add Export/Import script support
- Auto-dated output folder
- Zip after export
- Change default font to Roboto
- Add watermark logo
- Confirmation dialog before export
- Abort button with progress tracking
- Fixed UI freeze during large exports
- Windows: MongoDBExporter-Setup.exe
- Linux
.deb: mongodbexporter_2.3.0_amd64.deb - Linux AppImage: MongoDB_Exporter-x86_64.AppImage
Report issues or suggestions at: https://github.com/Sarwarhridoy4/MongoDB-Exporter/issues
Licensed under the MIT License.

