Button Mapping Tool | Design Your Controller Layout Free
Design a custom button layout visually, save named presets, and export a Steam Input config to apply it when you play. Click a button to reassign it, or drag one button onto another to swap them.
Assign an action
Click a button to assign it a new action from the list. To swap two buttons at once, press and hold a button, drag it onto another, then release.
No saved presets yet
Five steps from a default layout to a working custom mapping in your games.
Connect
Plug in or pair your controller, live preview updates the diagram as you press buttons.
Click to assign
Click any button and pick a new action from the list, the diagram updates instantly.
Drag to swap
Press and drag one button onto another to swap their assigned actions in one move.
Save a preset
Name the layout and save it, so you can switch between different mappings instantly.
Export to Steam
Download the config and import it in Steam to actually apply the remap during play.
Different players use a mapping tool for different reasons, the same click to assign and drag to swap interface handles all of them.
| Use case | How to approach it | Why it helps |
|---|---|---|
| Broken button repair | Remap the broken button to one you rarely use | A controller with one failed button can stay usable for months by moving that action somewhere else, rather than being retired early. |
| Accessibility layouts | Move essential actions within reach of one hand | Players with limited mobility on one side benefit from a layout where every critical action is reachable, saved as a dedicated preset. |
| Fighting game layouts | Reorganize face buttons into an attack row | A diamond face button layout is awkward for arcade style inputs, remapping into a row matches what fight stick players expect. |
| Per game loadouts | Save a distinct preset for each game you play seriously | Competitive players often want sprint, weapon switch, or build actions on different physical buttons per title, switching presets in seconds. |
| Fixing bad defaults | Override a game's native mapping entirely | Steam Input runs before the game sees the controller, so it can correct a poor default layout that a game does not let you rebind itself. |
The diagram is a live SVG bound to your controller through the Gamepad API. Every physical press highlights the matching button so you can verify a mapping by feel, and every button is clickable so you can assign it a new logical action, such as button_a, left_bumper, or dpad_north.
When you export, the tool writes a Steam Input configuration file using the same action vocabulary and format Steam itself uses when you build a layout in its own controller settings. That means the file is interchangeable with a Steam authored config, and can be edited further inside Steam after you import it.
The browser never touches your games directly. It designs the layout and hands off a config file, and Steam is what actually performs the remapping the moment you launch a game through it with that controller connected.
Any controller the browser recognizes as a standard gamepad can be mapped, including these commonly tested models.
See full specifications for these and more on the Devices page.
Config imports but nothing changes
Confirm the game was launched through Steam, mappings only apply to titles Steam is actively intercepting.
Browse the Fix guidesController not detected while designing
Live preview requires the controller to be connected and recognized as a standard gamepad.
Read the fixConfirm the original button first
Before remapping a suspected broken button, run the Button Test to confirm it truly is not registering.
Run the Button TestRun the full controller benchmark
Mapping is one part of getting the most out of your controller. Run every diagnostic in sequence and get one overall score for your hardware.
Run the benchmarkDoes this tool actually remap my controller
Not by itself. A browser cannot inject inputs into your games. This tool helps you design a custom layout visually, then exports a Steam Input config file. You load that file in Steam, and Steam performs the actual remapping when you launch a game through it. If you do not use Steam, you would need a separate runtime remapper such as reWASD or DS4Windows and recreate the layout there.
My controller button is broken, can I remap it
Yes, this is one of the most common reasons people use a mapping tool. Click the broken button on the diagram, assign it to an action you rarely use, then export and load the config in Steam. The broken button now fires the new action, and the original action stays accessible on whatever button you assigned it to.
How do I import the exported config into Steam
Open Steam, click your username in the top corner, choose Controller Settings, then browse configs and import the file you downloaded. Apply it to a specific game or as your default layout, and Steam will use it whenever that controller is connected.
Will the remap work for games outside Steam
Only if the game is launched through Steam. Non Steam games can be added to your library and launched from Steam so Steam Input can intercept the controller. For games launched entirely outside Steam, a separate runtime remapper is needed instead.
Can I save multiple mapping layouts
Yes. Name the current layout and save it as a preset, stored locally in your browser. Saved presets can be reloaded with one click, which is useful for keeping separate layouts for different game genres.
What happens to the original action when I remap a button
The physical button now fires the new action instead of its original one. If you still want the original action available, assign a different physical button to it. Dragging one button onto another swaps their actions in a single move, so both remain reachable.
Does this affect DualSense adaptive triggers or haptics
Steam Input passes through standard button and trigger values but does not expose the DualSense's adaptive trigger resistance or fine grained haptic detail in its config format. Remapping a trigger to a non trigger action can reduce adaptive trigger behavior in some games.
Why export a Steam Input config instead of a generic file
Steam Input ships with Steam, supports essentially every major controller, and works with any game launched through the platform, which means the exported file has somewhere real to run. A generic format with no compatible runtime would not actually remap anything for most people.
Can I test a PS5 DualSense controller's mapping here
Yes. The DualSense is fully supported, and its buttons appear on the same diagram as any other controller.
Can I test an Xbox controller's mapping here
Yes. Xbox Series X and S, Xbox One, and Xbox Elite controllers are all supported over USB and Bluetooth.
Does this work with a Nintendo Switch Pro Controller
Yes, when the controller is connected and recognized as a standard gamepad by your browser.
Do I need to install anything to design a mapping
No installation is needed to design the layout, that runs entirely in your browser. Steam itself is required afterward to actually apply the exported config during play.
Are my saved presets stored anywhere other than my browser
No. Presets are saved locally in your browser only and are not uploaded anywhere. Clearing your browser data will remove them, so export any layout you want to keep long term.
Does this work on mobile phones
The diagram and live button highlighting work on mobile browsers that support the Gamepad API, though designing a layout and exporting a config is generally easier on desktop.
Is my controller input data sent anywhere
No. Every reading happens locally in your browser, and your mapping never leaves your device unless you choose to export the config file yourself.