Skip to main content

Gamepad Tester

Free tool, no download

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.

How this actually works: a browser cannot inject inputs into your games directly. This tool designs the layout and exports a Steam Input config file. Steam applies the remap when you launch a game through it.
Scanning for a controller Disconnected, live preview optional

Assign an action

Selected input
Click a button on the diagram

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

How it works

Five steps from a default layout to a working custom mapping in your games.

1

Connect

Plug in or pair your controller, live preview updates the diagram as you press buttons.

2

Click to assign

Click any button and pick a new action from the list, the diagram updates instantly.

3

Drag to swap

Press and drag one button onto another to swap their assigned actions in one move.

4

Save a preset

Name the layout and save it, so you can switch between different mappings instantly.

5

Export to Steam

Download the config and import it in Steam to actually apply the remap during play.

Common use cases

Different players use a mapping tool for different reasons, the same click to assign and drag to swap interface handles all of them.

Use caseHow to approach itWhy it helps
Broken button repairRemap the broken button to one you rarely useA controller with one failed button can stay usable for months by moving that action somewhere else, rather than being retired early.
Accessibility layoutsMove essential actions within reach of one handPlayers with limited mobility on one side benefit from a layout where every critical action is reachable, saved as a dedicated preset.
Fighting game layoutsReorganize face buttons into an attack rowA diamond face button layout is awkward for arcade style inputs, remapping into a row matches what fight stick players expect.
Per game loadoutsSave a distinct preset for each game you play seriouslyCompetitive players often want sprint, weapon switch, or build actions on different physical buttons per title, switching presets in seconds.
Fixing bad defaultsOverride a game's native mapping entirelySteam 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.
How the export actually works

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.

Compatible controllers

Any controller the browser recognizes as a standard gamepad can be mapped, including these commonly tested models.

PS5 DualSense DualSense Edge PS4 DualShock 4 Xbox Series X and S Xbox Elite Series 2 Nintendo Switch Pro 8BitDo Ultimate Generic USB or Bluetooth

See full specifications for these and more on the Devices page.

If your mapping is not working

Config imports but nothing changes

Confirm the game was launched through Steam, mappings only apply to titles Steam is actively intercepting.

Browse the Fix guides

Controller not detected while designing

Live preview requires the controller to be connected and recognized as a standard gamepad.

Read the fix

Confirm the original button first

Before remapping a suspected broken button, run the Button Test to confirm it truly is not registering.

Run the Button Test
Go further

Run 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 benchmark
Frequently asked questions
Does 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.