Onyx Launcher

A modern, fast, zero-bloat Minecraft launcher for Windows and Linux, built with Electron, React, and TypeScript. Onyx features 1-click universal migration from all major launchers, built-in 3D skin & cape studio, automated crash bisect diagnostics, and isolated instance management.
Download the latest release (v1.6.11) · 💬 Discord Community · Good first issues · Contribute
💬 Community & Support
Got questions, hit a crash, want to suggest a feature, or test upcoming beta builds? Join our official Discord server:

- 🚨 Instant Crash Troubleshooting: Paste logs and get help directly from the developers.
- 🧪 Beta Testing: Test new engine updates, memory tweaks, and performance tools before release.
- 💡 Ideas & Feedback: Share suggestions and discuss what gets built next.
Screenshots
| Home | Library |
|---|
 |  |
| Modrinth Catalog | CurseForge Official Catalog |
|---|
 |  |
| Mod Details (Overview & Gallery) | Mod Versions & 1-Click Install |
|---|
 |  |
| Curated Onyx Picks | Universal 1-Click Migration |
|---|
 |  |
| Instance Details & Flight Recorder | 3D Skin & Cape Studio |
|---|
 |  |
| Settings & Live Auto-Updater |
|---|
 |
All screenshots are generated from the current English UI with npm run capture:screenshots.
Highlights
Minecraft and Java
- Official Mojang release and snapshot manifests.
- Vanilla, Fabric, Quilt, Forge, and NeoForge support.
- Shared asset and library caches without duplicating files between instances.
- Automatic Eclipse Temurin Java 8, 17, or 21 selection and installation.
- SHA-1, SHA-256, and SHA-512 verification for downloaded files.
- Official Minecraft demo mode without a Microsoft account.
- Per-instance memory, resolution, fullscreen, Java, JVM arguments, and Quick Join settings.
- Onyx AutoTune recommendations based on system memory, Java, and mod count.
- Launch progress, process controls, live logs, and actionable crash diagnostics.
Instances and data safety
- Dedicated instance pages for health, sessions, content, servers, storage, and actions.
- Multiple saved servers per instance, DNS SRV support, status checks, and Quick Join.
- Ghost Mode releases the launcher window, WebContents, and GPU process while playing.
- Crash Bisect narrows a suspected mod conflict across controlled test launches.
- World Guard creates manual and automatic world snapshots with safe restoration.
- Update Preview shows added, changed, and removed modpack files before installation.
- Onyx Sync exports reproducible settings and exact Modrinth mod versions to
.onyxprofile.
- Flight Recorder tracks memory, CPU, startup, GC pauses, and per-session performance.
- Optional FPS and frame-time recording powered by Onyx Probe (JVM agent) or MangoHud on Linux.
- Performance baselines compare FPS, 1% lows, memory, and startup time between sessions.
- Safe deletion through the operating-system trash,
.onyxpack backups, and repair tools.
- Transactional mod profiles, mod update history, storage analysis, and safe cleanup.
- Safe instance-directory migration with verification and rollback.
Modrinth, CurseForge, and Discovery
- Searchable Modrinth and CurseForge modpack & mod catalogs with official vector branding, filters, and pagination.
- Detailed mod and modpack view with high-res screenshot gallery, rich HTML/Markdown descriptions, environment sidebars, and 1-click version installers.
- Curated Onyx Picks with play-style and hardware match filters.
- Complete
.mrpack and CurseForge manifest installation, dependency resolution, and updates.
- Universal 1-click migration from Prism, CurseForge, Modrinth App, MultiMC, PolyMC, ATLauncher, Feather Client, and Vanilla.
- Built-in GitHub Releases Auto-Updater with streaming downloads, byte-level progress bar, speed, ETA, and 1-click restart.
- Resumable HTTP downloads with cancellation and partial-file cleanup.
- Microsoft/Xbox device-code sign-in without exposing the account password to Onyx.
- Minecraft: Java Edition entitlement checks and multiple saved Microsoft accounts.
- Offline accounts and per-profile skin management with native 3D WebGL Three.js character & cape studio.
- Refresh-token encryption through Electron
safeStorage; tokens remain memory-only when secure storage is unavailable.
Install
Windows
Via Scoop:
scoop bucket add onyx https://github.com/lonestill/scoop-onyx
scoop install onyx/onyx-launcher
Direct download:
Download an installer or portable archive from the latest GitHub Release:
- NSIS installer:
Onyx.Launcher.Setup.1.6.8.exe
- Portable executable:
Onyx.Launcher.1.6.8.exe
Windows builds are unsigned, so SmartScreen may display a warning on first launch.
Linux
Arch Linux (AUR):
yay -S onyx-launcher-bin
# or build manually with makepkg from packaging/aur
Direct download:
Download from the latest GitHub Release:
- AppImage:
Onyx-Launcher-1.6.8-x86_64.AppImage
- Portable archive:
Onyx-Launcher-1.6.8-linux-x64.tar.gz
Verify a download
The SHA-256 checksum files attached to each release can be used to verify that a downloaded file matches the published release asset.
Windows
Open PowerShell in the directory containing the downloaded .exe file and run:
Get-FileHash -Algorithm SHA256 .\*.exe
Compare the resulting Hash value with the matching entry in SHA256SUMS-windows.txt.
Linux
Open a terminal in the directory containing the downloaded AppImage and run:
sha256sum --ignore-missing --check SHA256SUMS-linux.txt
The command prints OK when the downloaded AppImage matches its entry in SHA256SUMS-linux.txt.
A matching SHA-256 checksum confirms that the downloaded file matches the published release asset. It does not provide a code signature or prove who created the file.
Contributing
Small, focused pull requests are welcome. You can start with a curated good first issue, pick any task marked help wanted, or discuss a larger change in Ideas.
The contribution guide contains the codebase map, local setup, and verification commands. If an issue is unassigned, leave a short comment and start working on it; you do not need to wait for a formal assignment.
Development
Requirements:
- Node.js 22 or newer.
- Windows 10/11 x64 or a modern x64 Linux distribution.
npm ci
npm run dev
Run the complete local verification suite:
npm run check
Individual commands are also available:
npm run typecheck
npm run lint
npm test
npm run build:renderer
Regenerate every README screenshot from a deterministic local fixture:
npm run capture:screenshots
Automated releases
The repository uses two GitHub Actions workflows:
CI validates every pull request.
Release batches merged changes into a weekly Friday release and can also be started manually for an urgent release. A scheduled run exits without creating a version when there are no commits since the latest tag.
A successful release workflow:
- installs locked dependencies with
npm ci and runs npm run check;
- increments the patch version in
package.json and package-lock.json;
- commits the version as
chore(release): vX.Y.Z and creates the matching Git tag;
- builds Windows and Linux x64 packages on native runners;
- generates SHA-256 checksum files and publishes a GitHub Release with generated notes.
Set Settings → Actions → General → Workflow permissions to Read and write permissions. If the release branch is protected, allow github-actions[bot] to push the release commit and tag.
Local packaging
# Windows NSIS installer and portable executable
npm run dist:windows
# Linux AppImage
npm run dist:linux
# Linux portable tar.gz
npm run dist:linux:archive
Build output is written to release/ and is intentionally excluded from Git.
Data locations
On Windows:
- launcher state:
%APPDATA%\onyx-launcher\state.json;
- encrypted accounts:
%APPDATA%\onyx-launcher\account.json;
- instances:
%APPDATA%\.onyx\instances;
- shared assets and libraries:
%APPDATA%\.onyx\shared;
- Java runtimes:
%APPDATA%\.onyx\runtimes;
- modpack cache:
%APPDATA%\.onyx\packs;
- update backups:
%APPDATA%\.onyx\backups.
On Linux, launcher state follows XDG under ~/.config/onyx-launcher, while game data is stored in ~/.local/share/onyx. A legacy ~/.config/.onyx data directory is detected automatically.
Architecture and security
src/ is an isolated React renderer without Node.js access.
electron/preload.cjs exposes a narrow IPC bridge.
electron/main.cjs owns windows, state, filesystem access, and system operations.
electron/services/ contains authentication, Minecraft installation, Modrinth, networking, backups, diagnostics, performance, and data-safety services.
The renderer uses contextIsolation, Electron sandboxing, and disabled nodeIntegration. Navigation, webviews, and browser permissions are restricted. Network and filesystem operations stay in the main process.
Diagnostic exports redact tokens, personal paths, email addresses, and server IPs. Please review SECURITY.md before reporting a vulnerability.
Microsoft OAuth
Onyx currently defaults to the public Prism Launcher Microsoft OAuth client ID and its consumer device-code flow. A custom client ID can be supplied for development:
$env:ONYX_MICROSOFT_CLIENT_ID="your-client-id"
npm run dev
Refresh tokens are tied to the client ID. Accounts must be added again after changing it.
Contributing
See CONTRIBUTING.md for the development and pull-request workflow.
Legal
Onyx does not distribute Minecraft or bypass its license. Game files are downloaded directly from Mojang, and third-party content is downloaded from URLs provided by Modrinth APIs and manifests. A licensed Microsoft account is required for the full Minecraft: Java Edition experience.
Onyx Launcher is an independent project and is not affiliated with Microsoft, Mojang Studios, or Modrinth. Minecraft is a trademark of Microsoft.
Released under the MIT License. Third-party attributions are listed in THIRD_PARTY_NOTICES.md.