Profile & Macro Tester

Record exact input sequences, play them back to verify timing, and check your controller for the kind of suspiciously linked presses that point to a hidden remap or macro already configured on the hardware itself.

What this can check, and what it cannot

Profiles and macros configured inside a controller's own firmware, or through a vendor's desktop software, generally live in a part of the hardware a browser is never allowed to see. The Gamepad API only reports the final result, which buttons and axes are active right now, with no way to ask the controller whether a press you just saw was a genuine single input or something a macro silently expanded into several. That means this tool cannot read out an existing macro configuration directly, and no browser based tool honestly can.

What it can do is something just as useful in practice. It can record the exact sequence and timing of real presses coming through right now, so you have a precise reference to test against. It can play that sequence back against a target pattern to check your own manual execution. And it can watch for a specific tell tale sign of a hardware macro already running, multiple buttons firing within an impossibly tight window of each other, far closer together than a human finger is capable of producing on separate physical inputs.

Record, play back, and check

Live status

Checking for a controller…

No controller detected

Connect a controller by USB or Bluetooth, then press any button. Most browsers will not notice it until you do.

How to read your results

The sequence recorder

Every button press while recording is captured with the exact gap in milliseconds since the previous one, building a precise, timestamped reference of a real input sequence. This is useful on its own for documenting exactly how a combo or rapid sequence was executed, separate from whether anything about it looks automated.

The target pattern comparison

This checks your live presses against a sequence you define, marking each step as matched the moment the correct next button in line is pressed, and flagging a mismatch if a different button arrives first. It is a genuinely useful way to practice and verify manual execution of a specific combo or input string, confirming you are actually pressing what you believe you are pressing, in the order you believe you are pressing it.

The linked input check

This is the part most relevant to suspecting a hidden macro. It tracks the gap between every pair of button presses continuously in the background. Two unrelated buttons that a human is pressing with separate fingers will almost always show at least a small, irregular gap between them, even when pressed about as fast as humanly possible. A cluster of presses repeatedly landing within an extremely tight, suspiciously consistent window of each other, especially the same exact pair of buttons every time, is the kind of pattern that points toward an automated trigger rather than manual execution.

Reading the flagged clusters honestly

A single flagged cluster is not strong evidence on its own, since an unusually fast but genuine human press can occasionally land close enough to trip the same detection. A repeated pattern, the same pair of buttons clustering tightly together across many separate presses rather than just once, is a far more meaningful signal worth taking seriously.

Why this matters even without reading a macro directly

Plenty of legitimate situations call for exactly this kind of check. Buying a second hand controller and wanting to confirm it has not been left in a configuration from a previous owner's macro software. Verifying your own muscle memory actually matches the input string you think you are performing for a fighting game combo or a speedrun trick. Or simply wanting concrete, timestamped proof of how a sequence was executed, separate from any question of whether software was involved at all, useful context to have on hand regardless of the reason you started looking.

None of this requires reading a macro's internal configuration, since the actual evidence that matters, real timing between real presses, is something this tool can observe directly and honestly, which is a more reliable foundation than trying to guess at hidden software from the outside.

Troubleshooting

The recorder is not picking up my presses

Confirm you clicked Start recording before pressing, and that the controller is shown as connected at the top of the tool. Press a button first if the controller has not been detected at all, since browsers will not notice a controller until they see its first input.

The target comparison keeps marking correct presses as mismatched

Check that your target pattern uses the exact button names this tool expects, A, B, X, Y, and so on, separated by commas, and that there are no extra spaces or typos in a name that would prevent it from matching what the controller reports.

I am seeing flagged clusters but I am confident I am not using a macro

A single flagged cluster from one unusually fast press is not unusual and is not strong evidence of anything. Only treat this as meaningful if the same pair of buttons keeps clustering tightly across many separate attempts rather than appearing once.

Nothing happens when I connect a controller

Press a button first. Many browsers will not register a controller until they see its first input.

Need help?

If a recorded sequence looks wrong, the linked input check keeps flagging something you cannot explain, or you want a second opinion on what a result actually means, reach out directly. A short description of what you are seeing, along with your controller model and what you were trying to test, is normally enough to help track down what is going on.

info.gpadviewer@gmail.com