SmoothFrame records your mouse and keyboard, then plays it back with physically modeled motion, tunable human variance, and a visual editor where you drag click points over the real screen. All in one portable executable.
Single .exe · No installer · No admin rights · Zero network calls
A basic recorder snaps the cursor to each coordinate at a fixed interval. SmoothFrame draws a spline through your recorded path and moves along it with a minimum-jerk velocity profile — fast in the middle, decelerating into the target, exactly how an arm moves. Play with the dials; this is the real algorithm running in your browser.
Lock the seed and every run is identical to the pixel and millisecond — unlock it and no two runs match. That's the whole idea: realistic by default, reproducible on demand.
Movement, left/right/middle/side clicks, scroll, and optional keyboard — through a non-blocking global hook that never makes your cursor stutter.
Catmull-Rom splines, minimum-jerk velocity, perpendicular noise, and overshoot-and-correct. Or switch to WindMouse. Or Linear, if you really must.
0.1× to 10×. Paths are re-sampled, not skipped, so 4× still looks like a smooth, fast human. Explicit wait blocks stay real-time unless you say otherwise.
Log-normal timing, Gaussian click scatter, hold-duration jitter, micro-pauses, and fatigue drift across long loops. Five presets, every value tunable.
Your path is drawn over a screenshot taken the moment you hit record. Drag click points onto the right button, nudge with arrow keys, edit on a timeline.
Bind any recording to a global hotkey. Launch from the tray. Script it headless from the command line with speed, loops, seed and humanization flags.
Most tools that offer "random delay" add uniform jitter: every value in a range equally likely. Real human timing doesn't look like that. It's right-skewed — mostly quick, occasionally slow, never below reaction time. SmoothFrame models it with a log-normal distribution, the standard model for human response latency.
Grab any glowing click point below and drag it. The path re-flows, the inspector updates, and the coordinates scale to the real recording resolution. That's how editing works in SmoothFrame.
Esc or F9 stops playback from any focused application, checked between every single output tick. Under 50 ms from keypress to full stop.
Slam the physical mouse into any screen corner and SmoothFrame detects you fighting the playback and gets out of your way instantly.
A stalled playback thread is killed within two seconds. Every exit path — even a crash — releases every button and modifier. No stuck Ctrl, ever.
If your monitor layout changed since recording, SmoothFrame asks how to adapt — scale, remap, or refuse — instead of silently clicking the wrong thing.
No installer, no runtime, no registry entries. Drop SmoothFrame on a USB stick and it keeps its recordings right beside itself. Built on Rust and Tauri, so the whole app is a fraction of the size of browser-based tools.
$ smoothframe play report.sfr --speed 1.5 --loops 3 ▸ humanize natural · seed 0x9f3a1c · 3 loops ▸ loop 3/3 complete in 29.4s $ smoothframe play report.sfr --seed 0x9f3a1c ▸ identical run reproduced $ smoothframe info qa-login-flow.sfr ▸ 9.3s · 11 clicks · 142 anchors · 2 monitors $ smoothframe validate *.sfr ▸ 5 files ok
| Capability | Typical recorder | SmoothFrame |
|---|---|---|
| Cursor movement on replay | ✕Jumps to each point | ✓Spline path, min-jerk velocity |
| Speed changes | Shortens delays; motion unchanged or skipped | ✓Re-samples the path, 0.1×–10× |
| Timing variance | None, or flat uniform random | ✓Log-normal, clamped, per event |
| Position variance | ✕Exact pixel every time | ✓Gaussian scatter, overshoot & correct |
| Reproducible random runs | ✕ | ✓Seeded — replay run #47 exactly |
| Editing clicks | Numbers in a list | ✓Drag over the real screenshot + timeline |
| Preview before running | ✕ | ✓Dry run animates without moving your mouse |
| Resolution / monitor changes | Clicks land in the wrong place | ✓Detects and adapts, or refuses |
| Emergency stop | Often focus-dependent | ✓Global hotkey + corner failsafe + watchdog |
| Portability | Installer, runtime dependencies | ✓One file, runs off a USB stick |
| Recording format | Proprietary binary | ✓Plain, hand-editable JSON |
"Typical recorder" reflects common behavior of basic record-and-replay utilities; individual tools vary.
Exports, report pulls, and form entry you do every morning — recorded once, tuned, and bound to a hotkey.
Seeded variance exercises the same flow with realistic timing differences, and any failing run can be reproduced exactly.
Screen recordings where the cursor glides like a person is presenting, not snapping around like a robot.
Offload long click sequences to reduce strain, with editing precise enough to get every target right.
No. The app makes zero network calls — no accounts, no cloud sync, no telemetry, no update pings. Your recordings never leave your machine unless you copy them somewhere yourself.
Hit Esc or F9 from anywhere, or shove the mouse into a screen corner. Playback stops, and every button and key SmoothFrame was holding is released. A watchdog covers the case where the playback thread itself hangs.
Yes. It's per-monitor DPI aware and stores every point both in physical pixels and as a position normalized to its monitor, so recordings survive resolution and scaling changes.
All variance comes from a seeded random generator. The same seed produces a byte-identical run — same path, same timings, same click offsets — which makes debugging and tuning dependable. The seed of every run is shown so you can always get it back.
Yes. Recordings are plain JSON in .sfr files. The visual editor is the easy way, but you can open any file in a text editor, and run smoothframe validate afterward to check it.
Only if you turn it on — keyboard capture is off by default. When enabled, a mask option stores typed text as redacted so passwords never land in a recording file.
Windows comes first. The input layer is built to be cross-platform; macOS and Linux builds will follow. On macOS you'll grant Accessibility permission, which the OS requires for any input tool.
SmoothFrame is a general-purpose productivity and testing tool. Some games and online services prohibit automated input in their terms — respect the rules of whatever you run it against.
One file. No install. The best-moving mouse recorder you can put on a USB stick.
Windows 10 / 11 · x64 · SmoothFrame.exe