Install
There are two official ways to get WinRemap, and they install the same build from
the same source. The Microsoft Store is the recommended one — Windows installs it
without a SmartScreen warning and updates arrive on their own. Take GitHub Releases if you want a
portable winremap.exe, or if you would rather verify the download yourself.
| Microsoft Store | GitHub Releases | |
|---|---|---|
| SmartScreen warning | None — Microsoft signs the package | Possible on a new download (see below) |
| Updates | Automatic | You download the new version |
| Config file | Kept in the app's own folder; the settings window shows you where | %APPDATA%\winremap\config.toml |
| Portable use | No | Yes — a single winremap.exe |
From the Microsoft Store
Open the Store page, press Get, and Windows does the rest. WinRemap appears in the Start menu and a keyboard icon appears in the task tray when you run it. To have it start with Windows, turn it on under Settings → Apps → Startup.
Windows only. This button hands off to the Store app, so it does nothing on macOS, Linux or a phone, and your browser will ask for permission the first time. Use the Store page below if the button does not work.
From GitHub Releases
- Download
winremap-setup.exeand run it. No administrator rights are needed — WinRemap installs per-user. - Choose whether WinRemap should start automatically when you sign in (recommended for daily use; you can change this later).
- Finish the wizard. WinRemap starts and a keyboard icon appears in the task tray.
SHA256SUMS file and a GitHub build-provenance
attestation proving it was built from this repository's public source.
See SECURITY.md for the two commands.
Installing from the Store avoids the warning entirely.Install from a package manager
Once the manifest is accepted, winget works too — it pulls the same official binaries from GitHub Releases:
winget install winremap
Portable use (no installer)
Prefer a single file? Download
winremap.exe
and run it from anywhere. It reads the same
%APPDATA%\winremap\config.toml, or any file you pass with
--config path\to\file.toml. There are no other files or registry entries.
Your config file
WinRemap creates a starter config on first run if you don't already have one, and your existing config is never touched — uninstalling keeps it.
Where it lives depends on how you installed. The installer and the
portable exe use %APPDATA%\winremap\config.toml. Windows gives Store apps a
private copy of that folder, so a fresh Store install keeps the file under
%LOCALAPPDATA%\Packages\SUGANUMADaiki.WinRemap_pktmgf1zdhxe0\LocalCache\Roaming\winremap\
instead. You never have to type that: the settings window names the folder it is actually
using and opens it in Explorer for you. And if you already had a config from the installer,
the Store version keeps using that one — switching channels does not lose your
rules.
Quick start
WinRemap lives in the task tray. The tray menu has everything:
- Enabled — toggle all remapping on/off without quitting
- Settings — see the config in effect right now, and hand
config.tomlto your text editor - Reload config — apply config changes instantly (no restart, no lost keystrokes)
- Show log — watch what WinRemap does with each keystroke, live
- Quit
Open the config and describe what you want, per application:
# Ctrl+H sends a plain Backspace, but only inside Notepad
[[keymap]]
name = "notepad"
application = ["notepad.exe"]
[keymap.remap]
"C-h" = "Back"
Save, choose Reload config from the tray, and press Ctrl+H in Notepad — it now deletes one character, while every other app still sees a normal Ctrl+H.
application? Pick
Show log from the tray and switch to the target window: the log shows each
foreground app's full path, the exact application value to use, and
which of your keymaps would apply.Ready-made configs to copy from: minimal.toml (the example above), emacs.toml (fakeymacs-style Emacs bindings), and personal-ja.toml (a full personal setup with exclusion lists, macros, and prefix keys).
Every option explained, the full key-notation table, and worked examples for CapsLock, Emacs bindings, per-app exceptions and macros.