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, right-click WinRemap in the Start menu, choose App settings, and turn on Runs at log-in. The same switch is in the Settings → Apps → Startup list, but the right-click gets you there faster.
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
winget works too — it pulls the same official binaries from GitHub Releases. A manifest is submitted after every release, so it can trail the newest version by a few days:
winget install DaikiSuganuma.WinRemap
Use the full id. The name winremap matches
the Microsoft Store listing as well, and winget refuses an ambiguous query. The Store
one is winget install 9N6TQDXRX5WV.
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.