A lightweight, local-only Windows auto-clicker and macro recorder.
MiniClick is a compact Windows desktop utility for repeat clicking and local macro playback. It provides the focused automation tools most people need without a browser runtime, account, background service, telemetry, network client, or updater.
MiniClick runs only when its window is open. Recordings stay in local JSON files and playback starts only when you request it.
| Capability | MiniClick approach |
|---|---|
| Auto click | Fixed or randomized interval from 1 ms to 24 hours |
| Mouse input | Left, right, or middle button with single or double click |
| Position | Current cursor location or a selected screen coordinate |
| Repeat | Fixed cycle count or continue until stopped |
| Macro capture | Keyboard, mouse buttons, wheel, and optional mouse movement |
| Playback | Local JSON recordings at 0.25x, 0.5x, 1x, 2x, or 4x |
| Shortcuts | Configurable global hotkeys for clicking, recording, and playback |
| Runtime | Native WinForms interface with no third-party dependency |
Download mini_click.exe from the
latest release,
place it anywhere you like, and run it.
The published executable is not digitally signed, so Windows may display a warning the first time you start it. The complete source and build scripts remain available in this repository for auditing and local builds.
Clone the repository and run the installation script from PowerShell:
git clone https://github.com/Mirochill/MiniClick.git
cd MiniClick
.\install.ps1The script builds MiniClick, runs the automated tests, removes any legacy
local copy, and creates a Start Menu shortcut that points to the current
build\mini_click.exe. Keep the cloned repository in place while that
shortcut is registered. MiniClick does not create a startup entry.
To preview the installation without changing the machine:
.\install.ps1 -WhatIfTo remove the Start Menu registration and any legacy local copy:
.\uninstall.ps1| Action | Result |
|---|---|
| Configure timing | Choose a fixed interval or a randomized range |
| Choose a mouse button | Send left, right, or middle clicks |
| Enable double click | Send two clicks during each cycle |
| Select target | Store the next clicked screen coordinate |
| Configure cycles | Stop after a fixed count or continue until stopped |
Press F6 |
Start or stop auto-clicking with the default shortcut |
| Action | Result |
|---|---|
Press F7 |
Start or stop recording with the default shortcut |
| Choose capture options | Record keyboard, mouse click, wheel, and optional movement events |
| Save recording | Write a local *.miniclick.json file |
| Load recording | Validate and load a local recording |
| Choose playback speed | Replay at 0.25x, 0.5x, 1x, 2x, or 4x |
Press F8 |
Start playback or stop it immediately |
MiniClick recordings contain only a narrow list of validated keyboard and
mouse events. Loaded files are rejected when they exceed 50 MB, contain an
unsupported event type, or use invalid timestamps.
Recordings are never uploaded and do not execute scripts. High-frequency adjacent mouse movements are coalesced to reduce memory use and file size without materially changing the final cursor path.
- Windows 10 or Windows 11.
- Windows PowerShell 5.1 or PowerShell 7.
- .NET Framework 4.x with
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe. - No additional SDK, NuGet package, or third-party dependency.
MiniClick intentionally uses the .NET Framework compiler already available on Windows. The project stays easy to audit and quick to build:
.\build.ps1
.\test.ps1The automated suite validates settings, randomized interval bounds, buttons, hotkey parsing, coordinates, JSON recording round trips, timestamp validation, mouse-move coalescing, command-line handling, the embedded logo, the executable icon, UI construction, global hook attachment and detachment, installation previews, isolated temporary installation, uninstallation, and test-only safety guards.
GitHub Actions runs build.ps1 and test.ps1 on windows-latest.
The following optional checks briefly send controlled synthetic input and may
move the cursor. They remain separate from test.ps1:
.\build\mini_click.exe --input-check
.\build\mini_click.exe --record-check
.\build\mini_click.exe --picker-checkThe input and recording checks use a small controlled MiniClick window. The picker check confirms that target selection stores the next global click rather than the click that armed the selector.
MiniClick keeps automation local and explicit. The interface starts and stops the click timer, installs low-level input hooks only while they are needed, and validates recording data before playback.
flowchart LR
U[User action or hotkey] --> M[MiniClick window]
M --> A{Selected mode}
A --> C[Repeat click timer]
A --> R[Local macro recorder]
A --> P[Validated macro playback]
R --> J[Local JSON recording]
J --> P
| Path | Purpose |
|---|---|
src/ |
WinForms interface, automation logic, and Win32 interop |
tests/ |
Self-contained tests without third-party dependencies |
assets/ |
Application logo and multiresolution Windows icon |
docs/assets/ |
README artwork |
build.ps1 |
Optimized compilation of mini_click.exe |
test.ps1 |
Test compilation, execution, and lifecycle checks |
install.ps1 |
Local build, verification, and Start Menu registration |
uninstall.ps1 |
Safe removal of local registration |
app.manifest |
Windows compatibility, DPI awareness, and asInvoker privileges |
Focused fixes and measurable improvements are welcome. Read CONTRIBUTING.md before opening a pull request. All participation in this project must follow the Code of Conduct.
To report a vulnerability, follow SECURITY.md instead of opening a public issue.
MiniClick is available under the MIT License.
