A games launcher for GOG, Amazon and Epic Games for Linux, Windows and macOS. https://heroicgameslauncher.com
  • TypeScript 90.4%
  • CSS 4.7%
  • SCSS 3.2%
  • Shell 0.7%
  • JavaScript 0.6%
  • Other 0.3%
Find a file
Nils 62ba7d4d81
chore: harden workflow permissions and standardize GITHUB_TOKEN usage (#5141)
* chore: Add permissions section to workflow files and update GITHUB_TOKEN references

* chore: Add permissions section to build and release workflows
2026-02-27 11:21:28 +01:00
.github chore: harden workflow permissions and standardize GITHUB_TOKEN usage (#5141) 2026-02-27 11:21:28 +01:00
.husky [Tech] Download helper binaries instead of storing them in the repo (#3849) 2024-07-21 17:27:13 +02:00
.idea [Tech] Move to the electron-vite build tool (#3218) 2024-06-14 23:21:06 +02:00
.vscode Added dbug option for vscode to be able to set breakpoints in the frontend and backend at the same time (#4225) 2025-11-15 17:23:03 +01:00
doc [OTHER] Add CLA and CLA Sign Workflow (#3290) 2023-12-04 11:59:31 +00:00
e2e [Tech] Remove unnecessary dependencies (#5155) 2026-01-21 10:22:27 -03:00
flathub Update ESLint and related packages (#4684) 2025-07-26 20:54:51 +02:00
flatpak Sync Flathub manifest changes with repo template (#5254) 2026-01-31 00:21:01 +01:00
meta [FIX] Update legendary release tag to version 0.20.42 and increment package version to 2.20.1 2026-02-26 19:53:15 +00:00
patches [FIX] Fix How Long To Beat implementation (#5334) 2026-02-20 21:51:50 +00:00
public [UX] Allow disabling GOG Presence updates (#5249) 2026-02-27 11:19:52 +01:00
signatures/version1 [CLA] 0xCmdrKeen has signed the CLA in Heroic-Games-Launcher/HeroicGamesLauncher#$pullRequestNo 2023-12-04 18:40:23 +00:00
snap [Fix] Try to fix Snap build (#4517) 2025-05-12 13:01:32 +01:00
src [FIX]: address some issues with Zoom Platform implementation (#5033) 2026-02-27 11:20:09 +01:00
.editorconfig [Tech] Disable eslint during development, added options to editorconfig (#1132) 2022-03-21 17:40:57 +01:00
.gitattributes [Tech] Move to pnpm (#3192) 2024-04-10 21:33:58 +02:00
.gitignore [UX] Some logger fixes (#4691) 2025-07-11 11:49:49 -04:00
.npmrc [Tech] Move to pnpm (#3192) 2024-04-10 21:33:58 +02:00
.prettierignore [Tech] Move to pnpm (#3192) 2024-04-10 21:33:58 +02:00
.prettierrc.json Adds Prettier Config + Prettify all files on Src and Electron Folder (#788) 2021-12-18 12:45:46 +01:00
.ts-prunerc [Tech] Refactor Game Managers (#2578) 2023-04-06 15:37:39 +02:00
.unimportedrc.json [Tech] Make IPC typing simpler & more expandable (#3819) 2025-05-23 13:26:53 +02:00
appveyor.yml [CI] Update Appveyor to sign portable windows files (#5214) 2026-01-26 17:12:34 +00:00
CHANGELOG.md [Chore] Fix Prettier/Lint 2022-04-06 15:37:58 +02:00
CODE_OF_CONDUCT.md prettier-fix 2023-01-11 00:40:45 +01:00
CONTRIBUTING.md fix: corrected url to CLA (#4714) 2025-07-04 23:01:27 +01:00
COPYING other: Added GPL License terms 2020-12-30 16:39:34 +01:00
downloadCount.js [General] Webview improvements and fixes (#836) 2022-01-11 21:17:02 +01:00
electron-builder.yml [CI] Remove Snap from Linux workflow and update Electron Builder 2026-02-20 22:25:45 +00:00
electron.vite.config.ts [Tech] Make IPC typing simpler & more expandable (#3819) 2025-05-23 13:26:53 +02:00
eslint.config.mjs Update ESLint and related packages (#4684) 2025-07-26 20:54:51 +02:00
i18next-parser.config.js [DX] Allow using br tags in translations to avoid confusion (#4380) 2025-03-06 00:12:29 -03:00
index.html [FIX/FEATURE] Make virtual keyboard compatible with all inputs (#3961) 2025-07-14 19:18:47 -03:00
jest.config.js [Tech] Switch from react-scripts to Vite & clean up everything to work with strict mode (#1633) 2022-08-25 19:23:42 +02:00
package.json [FIX] Update legendary release tag to version 0.20.42 and increment package version to 2.20.1 2026-02-26 19:53:15 +00:00
playwright.config.ts [Tech] Simplify our E2E tests (#3213) 2023-12-18 18:22:29 +01:00
pnpm-lock.yaml [CI] Remove Snap from Linux workflow and update Electron Builder 2026-02-20 22:25:45 +00:00
pnpm-workspace.yaml [FIX] Fix How Long To Beat implementation (#5334) 2026-02-20 21:51:50 +00:00
README.md Update Wine dependencies instructions in README (#5234) 2026-02-22 13:24:31 -03:00
shell.nix [Docs] Nix installation & development environment (#4664) 2025-07-14 15:59:26 +02:00
Support.md [Support] Updated ETH address 2022-12-05 20:50:34 +01:00
tsconfig.eslint.json [Tech] Update to ESLint 9 (#3885) 2024-08-11 01:15:23 +02:00
tsconfig.json [Tech] Update Typescript to 5.8.3 (#4471) 2025-05-16 21:10:39 +02:00

Heroic Games Launcher

GitHub release GitHub all releases Flathub GPLv3 license
Discord Patreon PayPal kofi

Heroic is an Open Source Game Launcher for Linux, Windows and macOS.
Right now it supports launching games from the Epic Games Store using Legendary, GOG Games using our custom implementation with gogdl and Amazon Games using Nile.

Heroic is built with Web Technologies:
Typescript React MUI NodeJS Electron electron-builder Jest Vite

Index

Features available right now

  • Login with an existing Epic Games, GOG or Amazon account
  • Install, uninstall, update, repair and move Games
  • Import an already installed game
  • Play Epic games online [AntiCheat on macOS and on Linux depends on the game]
  • Play games using Wine or Proton [Linux]
  • Play games using Crossover [macOS]
  • Download custom Wine and Proton versions [Linux]
  • Access to Epic, GOG and Amazon Games stores directly from Heroic
  • Search for the game on ProtonDB for compatibility information [Linux]
  • Show ProtonDB and Steam Deck compatibility information [Linux]
  • Sync installed games with an existing Epic Games Store installation
  • Sync saves with the cloud
  • Custom Theming Support
  • Download queue
  • Add Games and Applications outside GOG, Epic Games and Amazon Games
  • Define your categories to organize your collection

Planned features

  • Support Other Store (IndieGala, etc)

Supported Operating Systems

  • Linux:
    • Ubuntu 20.04LTS or newer
    • Fedora 33 or newer
    • Arch Linux & derivatives (Manjaro, Garuda, EndeavourOS)
    • Heroic will still work on most distros, but it is up to you to get it to work Chances are though that someone on our Discord can help you
  • SteamOS (downloading using Discover only)
  • Windows 10 & 11
  • macOS 12 or newer

Language Support

Expand

Thanks to the community, Heroic was translated to almost 40 different languages so far:

  • English
  • Azerbaijani
  • Basque
  • Belarussian
  • Bosnian
  • Bulgarian
  • Catalan
  • Czech
  • Croatian
  • Simplified Chinese
  • Traditional Chinese
  • Dutch
  • Estonian
  • Finnish
  • French
  • German
  • Greek
  • Hebraic
  • Japanese
  • Korean
  • Hungarian
  • Italian
  • Indonesian
  • Malayalam
  • Norwegian Bokmål
  • Persian
  • Polish
  • Portuguese
  • Portuguese (Brazil)
  • Romanian
  • Russian
  • Serbian
  • Spanish
  • Slovak
  • Swedish
  • Tamil
  • Turkish
  • Ukrainian
  • Vietnamese

Help with Translations Here

Installation

Linux

Flatpak

Flathub Badge

Heroic is available on Flathub, so you should be able to easily install it on most distros with Software Centers (Pop!_Shop, Discover, etc.)

Distribution-specific instructions

If you're not using the Flatpak version, keep GE-Proton as your Wine runner. With umu enabled by default, no additional Wine dependencies are required.

Debian, Ubuntu and Derivatives

Download the file ending in .deb from the latest release.
Double-click it to open it up in your Software Manager, or run sudo dpkg -i Heroic*amd64.deb to install it directly.

Arch (AUR)

We currently only support one AUR package: heroic-games-launcher-bin. Although you might find other packages there, do not ask support for them on this GitHub or on our Discord, ask their maintainers directly.

  • Stable version badge
    (stable release, recommended)

Please see the Arch Wiki on how to install them

Fedora

You can download the file ending in .rpm from the latest release and install it with sudo dnf install ./heroic-*.x86_64.rpm.

Alternatively, you can use the Flatpak package.

Nix(OS)

Two community-maintained versions are available in nixpkgs, named heroic (with an FHS environment) and heroic-unwrapped (without FHS).

  • Nix shell: nix-shell -p heroic

  • NixOS:

    # /etc/nixos/configuration.nix
    { config, pkgs, ... }:
    
    {
      users.users.example = {
        isNormalUser = true;
        description = "Example user";
        packages = with pkgs; [
          heroic
        ];
      };
    }
    

Other Distributions (AppImage and TAR.XZ)

Since these two distribution formats don't have a form of dependency management, make sure the curl command is available. You might run into weird issues if it's not.

AppImage
  • Download the file ending in .AppImage from the latest release
  • Make it executable (chmod +x Heroic*.AppImage)
  • Run it (double-click in most file managers, or run ./Heroic*.AppImage)
.tar.xz
  • Download the file ending in .tar.xz from the latest release
  • Extract it anywhere
  • Run the heroic file in the folder you extracted it to (double-click in most file managers, or run ./heroic)

Windows

WinGet

If you use WinGet (installed by default on Windows 11 and modern versions of 10), you can run winget install Heroic in a terminal to install Heroic.

Manual installl

Download the Heroic Installer (Heroic-x.x.x-Setup.exe) or the portable version (Heroic-x.x.x-Portable.exe) from the latest release. Run the executable you downloaded to install/run Heroic.
The Setup will create shortcuts to Heroic on your Desktop and in your Start Menu.

macOS

If you use Homebrew, you can run brew install --cask --no-quarantine heroic to install Heroic.
Otherwise, download the file ending in .dmg from the latest release, double-click it to mount it, and drag the "Heroic" application into the "Applications" folder.

Development environment

This part will walk you through setting up a development environment so you can build Heroic binaries yourself or make changes to the code.

  1. Make sure Git, NodeJS, and pnpm 10 are installed
    NOTE: On Windows, due to an issue with electron-builder, you'll need the standalone version of pnpm (@pnpm/exe) to build packages

  2. Clone the repo and enter the cloned folder, for example with these commands:

    git clone https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher.git --recurse-submodules
    cd HeroicGamesLauncher
    
  3. Make sure all dependencies are installed by running pnpm install

  4. Download all helper binaries using pnpm download-helper-binaries

Building Heroic Binaries

Run the appropriate command for your OS:

  • Build for Linux:

    pnpm dist:linux # Optionally specify a package to create (eg: deb, pacman, tar.xz, rpm, AppImage); default: AppImage
    
  • Build for Windows:

    pnpm dist:win
    
  • Build for Mac:

    pnpm dist:mac
    

Building with VS Code

Instead of using the above commands to build Heroic, you can also use the Tasks in VSCode to build. To do that, open up the command palette (Ctrl + P), type in "task" and press Space. You will then see 3 build tasks, "Build for Linux", "Build for Windows", and "Build for MacOS". Click the one you want to run.

Quickly testing/debugging Heroic on your own system

If you want to quickly test a change, or you're implementing features that require a lot of restarts, you can use Vite's development server to speed up the process:
Go to the "Run and Debug" tab of VSCode and start the "Launch Heroic (HMR & HR)" task (alternatively, if you're not using VSCode or just prefer the terminal, run pnpm start). Heroic will start up after a short while, and once you make any change to the code, it'll reload/restart.

Development on Nix

After cloning the repository, Nix users can use nix-shell to make Node.JS/pnpm available and automatically run installation step 3 and 4. See shell.nix for more information.

Sponsors

Thanks Weblate for hosting our translations

weblate

Thanks Signpath for providing free signing of Windows binaries

signpath

Screenshots

Expand

image image image image image image image

Credits

Weblate: Localization platform

Those Awesome Guys: Gamepad prompts images

jump

Tools We Use to Run Games

Heroic would not be possible without the work done in many other projects:

So be sure to follow and support those projects too!