MouseTracks is an application designed to track and visualize mouse movements, clicks, keyboard activity, and gamepad inputs over time. It's designed to be unobtrusive, allowing you to leave it running indefinitely - even for years - and return later to render colourful visualisations of the data.
Questions? Check out the FAQ, or raise an issue if you can't find an answer.
MouseTracks is and will always remain free, but if you enjoy using it and would like to buy me a pint in appreciation (as I don't like coffee), then that would be very kind.
"Peter Hunt has taken r/dataisbeautiful by storm by dropping some incredible heatmaps tracking his mouse movements.".
— Motherboard - VICE, May 2017
"MouseTracks turns your everyday clicks, moves, and key presses into a kind of digital diary. You can watch heatmaps of where your mouse spends the most time, see just how much you actually type, or even compare your gaming sessions over weeks or years. It’s like getting a quirky little behind-the-scenes replay of how you really use your PC.
Oddly addictive."— MajorGeeks Newsletter, September 2025
-
Continuously monitors mouse movements and clicks. Older movements gradually fade, keeping the view focused on recent activity.
Keyboard heatmaps and gamepad inputs are also supported.
-
The GUI displays an optimised real-time render of tracking data.
-
Renders are generated at full quality, regardless of resolution changes. Each resolution is tracked independently and merged during the render process.
-
Mouse and gamepad thumbsticks: Track maps and position heatmaps.
-
Mouse clicks: Heatmaps.
-
Key presses: Heatmap overlaid on a keyboard image.
-
(Gamepad rendering is not yet supported.)
-
-
Includes predefined colour maps for all render types, with the option to customise or create your own.
-
Use separate tracking profiles depending on which application has focus.
(New applications must be added via the GUI.)
-
Tracks activity across multiple monitors. If linked to a specific application, the rendering bounds will automatically adjust to the application's window geometry.
-
Designed to run silently in the background. It can be configured to launch on startup and minimise directly to the System Tray.
-
The application was designed with multiple components that communicate but run independently of each other, ensuring the live tracking remains fully stable, even during resource intensive tasks like rendering or waiting on GUI operations.
-
A lot of effort has been put into making this as error free as possible, so it will happily keep running for years without any issues.
-
All internal rendering settings can be edited and previewed live in the GUI. Go one step further and use the layer blending modes to combine multiple renders together.
- Fully compatible with Windows.
- Mostly compatible with Linux (tested with Ubuntu + Arch Linux) and macOS (tested with 11.6.1).
On Linux, MouseTracks requires an X11 (Xorg) session to work. On modern distributions like Ubuntu, you may need to select "Ubuntu on Xorg" from the gear icon on the login screen.
Install MouseTracks for the current user, with automatic updates whenever a new version is released. Each release is digitally signed and verified to prevent tampering.
- Go to the latest release page.
- Download the installer (e.g.
MouseTracks-2.0.0-windows-x64-setup.exe). - Install and launch the application.
This is the simplest way to get started. No installation is required.
- Go to the latest release page.
- Download the appropriate file for your system (e.g.
MouseTracks-2.0.0-windows-x64.exe). - If on Linux, make the file executable:
chmod +x MouseTracks-2.0.0-linux-x64 - Run the executable to launch the application.
Note that the releases may not be compatible with every Linux / macOS system. If this is the case, you'll have to check the instructions below to either build or run from source.
MouseTracks requires the XCB cursor library to be installed.
- Ubuntu/Debian:
sudo apt install libxcb-cursor-dev
- Arch Linux:
sudo pacman -Syu xcb-util-cursor
Because this app is not signed with an Apple Developer ID, you may see a warning that it "cannot be checked for malicious software".
- Right-click the app and select Open.
- Click Open in the dialog box.
This only needs to be done once.
These are not guaranteed to be the latest version.
- MouseTracks has been tested, reviewed and hosted by the amazing team over at MajorGeeks.
This is recommended if you want to view or contribute to the code. Python 3.11 or higher is required.
-
Clone the repository and create the virtual environment:
git clone https://github.com/huntfx/MouseTracks.git cd MouseTracks python -m venv .venv -
Run the launch script. It will automatically install dependencies and start the app:
- Windows:
launch.bat
- Linux / macOS:
./launch.sh
- Windows:
PyInstaller is used for the build process. There is also support for Nuitka if preferred.
-
Build bootloader (optional): Helps reduce Antivirus false positives by compiling a clean version of the PyInstaller bootloader locally.
build-pyinstaller-bootloader.bat
-
Generate cryptographic keys (optional): Only required if you want to sign your own builds.
- If keys are generated: The launcher will only run executables signed with your unique private key. Note that official updates from GitHub will be rejected as they are signed with a different key.
- If keys are not generated:: The launcher skips signature checks, allowing you to run any build.
launch.bat --generate-keys
-
Build application: Creates the launcher (
MouseTracks.exe) and application (MouseTracks-VERSION-windows-x64.exe) in thedistfolder.build-pyinstaller.bat
-
Build installer (optional): Packages the built files into a setup file for easy installation.
build-installer.bat
./build-pyinstaller-bootloader.sh
./build-pyinstaller.shThe v1.0 version is no longer supported, but the launch process has been updated to bring it in line with v2.0.
- Fully compatible with Windows.
You will be prompted with a choice to start tracking or generate images. This can be skipped by passing the --start-tracking or --generate-images flags.
Any version of Python may be used.
-
Clone the repository and create the virtual environment:
git clone https://github.com/huntfx/MouseTracks.git cd MouseTracks python -m venv .venv-legacy -
Run the launch script. It will automatically install dependencies and start the app:
launch-legacy.bat
Multiple data types can be rendered.
There are additional options, but the main ones are highlighted below.
The majority of these renders are from 500 hours of general PC use, excluding coding and gaming.
The gamepad renders are from a game that was played for 30 hours.
Each render is given a colour map.
There are additional options, but the main ones are highlighted below.
It's also possible to define your own.
This option is hidden under the "Advanced" settings, and was more of a fun side project rather than serious feature. Multiple layers can be rendered live together, with a few presets to get started.
Uses the "Hard Light" blend mode to create high contrast and deep colours.

Basic example of drawing the click heatmap over the tracks, using "Luminance Mask" to make the black parts transparent.

Three identical black and white click renders, each with only with a single colour channel enabled.
The left mouse button is red, middle is green and right is blue.

Combines both movement and speed data for an effect that's like moss growing on concrete.

Subtracts the clicks from the movement, resulting in what looks like a pencil drawing that's been rubbed out.

All data recorded or generated by MouseTracks is stored entirely locally on your computer. You have full control over this data, including the ability to change the storage location, export your data, and delete it.
MouseTracks does not transmit any of your personal data or usage information over the internet - the only connection made is to check for updates, and this feature can be completely disabled with the --offline flag if required.





























