A Flutter-based Android application that converts NSZ files to NSP format locally on your device, designed specifically for Nintendo Switch emulation enthusiasts using Android gaming handhelds.
- Local Conversion: All processing happens on your device - no internet connection required
- Progress Tracking: Real-time conversion progress with estimated time remaining and transfer speed
- File Size Support: Handles large NSZ files (tested with 6+ GB files)
- Material Design: Modern, intuitive interface following Material Design 3 guidelines
- Error Handling: Comprehensive error reporting with recovery options
- Orientation Support: Works in both portrait and landscape modes
This app is particularly beneficial for users of Android-based gaming handhelds, including:
- Retroid Pocket series (Retroid Pocket 2, 3, 4)
- Ayn Odin series
- Anbernic RG series (Android models)
- Steam Deck (via Android dual-boot)
- Any Android device running emulators like Yuzu, Ryujinx, or Skyline
Download the latest APK from the Releases page.
Current Version: v1.0.4
- File:
nsz-to-nsp-converter-v1.0.4.apk - Size: ~44 MB
- Minimum Android: 8.0 (API 26)
- Download the APK file to your Android device
- Enable "Install from unknown sources" in your device settings
- Open the downloaded APK file and follow the installation prompts
- Grant storage permissions when prompted
- Launch the App: Open NSZ to NSP Converter
- Legal Notice: Read and accept the legal notice (shown only once)
- Select NSZ File:
- Tap "Select NSZ File"
- Choose your .nsz file from storage
- The app will validate and display file information
- Convert:
- Tap "Continue to Conversion"
- Press "Start Conversion" to begin
- Monitor real-time progress with time estimates
- Complete: View conversion results and locate your .nsp file
- Real-time progress bar with percentage completion
- Estimated time remaining based on processing speed
- File transfer speed indicator (MB/s)
- Detailed status messages throughout conversion
- Automatic output directory creation
- Uses app-specific storage (no additional permissions needed)
- Original file preservation (original NSZ file is not modified)
- File size validation and error checking
- Comprehensive error messages with technical details
- Retry functionality for failed conversions
- Stack trace information for debugging
- Recovery options with clear user guidance
- Platform: Flutter 3.32.7
- Target: Android 8.0+ (API level 26+)
- Architecture: ARM64, ARM32 support
- Storage: Uses app-specific external storage
- Permissions: Storage access for file selection
- Flutter SDK 3.32.7 or higher
- Android SDK with API 26+
- Android Studio or VS Code with Flutter extensions
# Clone the repository
git clone https://github.com/gabrielvaz/nsz-to-nsp-android.git
cd nsz-to-nsp-android
# Install dependencies
flutter pub get
# Build APK
flutter build apk --releaselib/
├── main.dart # App entry point
├── screens/
│ ├── splash_screen.dart # Initial loading screen
│ ├── onboarding_screen.dart # Legal notice (first run)
│ ├── file_selection_screen.dart # NSZ file picker
│ ├── conversion_screen.dart # Conversion progress
│ └── result_screen.dart # Conversion results
├── services/
│ ├── nsz_converter.dart # Core conversion logic
│ └── permission_manager.dart # Storage permissions
└── [other files]
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Follow Flutter/Dart best practices
- Maintain Material Design consistency
- Add comprehensive error handling
- Include progress tracking for long operations
- Test on various Android devices and versions
This project is licensed under the MIT License - see the LICENSE file for details.
This tool is for personal use only. Users are responsible for ensuring they own the games they are converting and comply with all applicable laws and Nintendo's terms of service. The developers are not responsible for any misuse of this application.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Enhanced progress tracking with time estimation
- Added file loading progress bar
- Improved conversion speed indicators
- Better error handling and recovery
- UI/UX improvements
- Fixed storage permission issues
- Improved file validation
- Added comprehensive logging
- Enhanced error reporting
- Fixed file picker compatibility
- English localization
- UI improvements
- Initial public release
- Basic NSZ to NSP conversion
- Material Design interface
- Progress tracking
Made for the Android gaming handheld community 🎮
Support emulation enthusiasts using devices like Retroid Pocket, Ayn Odin, and other Android gaming handhelds!