Free. Easy
Coded with Python, PyMacroRecord is one of the best free macro recorder you will find.
No ads, no premium, everything FREE
PyMacroRecord works with a GUI made using tkinter, making it easier for users to interact with it.

- Very easy to use
- Free. No limitations. No "premium" purchase.
- Infinite repeat
- Change speed
- Interval
- For
- Schedule
- Save, Load, Sharing
- Universal Files (work with json).
- After-playback options, e.g., Standby or shutdown computer.
- Can choose from recording mouse movement, click and keyboard input
- Custom Hotkey for starting a record and stop it, start playback and stop it
- Mouse Movement, click, and keyboard recording.
- Smooth recording of the mouse.
To start recording, you simply have to press the red button
From there, you can move your mouse, click, and type on your keyboard, and everything will be recorded. (You can choose what will be recorded.)
Then, to stop the recording, you simply click on the black square.
To play a recording, you just need to click on the green play icon
And to stop the playback, press the f3 key (By default).
showcase_pmr_windows.mp4
showcase_pmr_linux.mp4
If you encounter a bug or want to request an update, simply create an issue here
- First, install Python
- Download the last source code release here
- Extract it wherever you want.
- Open the terminal and type
cd <PATH TO SOFTWARE FOLDER> - Install dependencies:
pip3 install -r requirements.txt
- On Linux, you might need to install Tkinter manually:
sudo apt install python3-tk(or equivalent for your distro) - On Linux, the app requires an X11 session. Wayland is not supported.
- On Linux, you might need to install Tkinter manually:
- Run:
cd src && python3 main.py
The project uses cx_Freeze to build the application.
Requirements: cx_Freeze, imagemagick (convert), curl
./build.shThis will produce a PyMacroRecord-x86_64.AppImage (or the current arch) in the project root.
Note: The AppImage runs in X11 mode only. Wayland is not supported.
Requirements: cx_Freeze
python setup_cx.py buildThe output will be in the build/ directory.
Requirements: PyInstaller
Run
build.batThe output will be in the dist/ directory.
Developing a software is not an easy task. If you really like this project, please consider making a small donation, it really helps and means a lot! <3
By making a donation, your name will appear in the "Donors" section of the PyMacroRecord software and among the last 5 donors on the PyMacroRecord website as a thank you!
This program is under GNU General Public License v3.0
- Fooinys, who playtested my program.
- Lenoch, for code enhancement.
- Takiem for the Italian and Brazilian-Portuguese translation.
- DennyClarkson for the Chinese-Simplified translation.
- SerdarSaglam for the Turkish translation.
- superstes for the German translation.
- SqlWaldorf for the Dutch translation.
- jorge-sepulveda for the Spanish translation.
- expp121 for the Bulgarian translation
- DvaMishkiLapa for the Russian translation.
- sjw1980 for the Korean translation.
- Mineeagle for the Esperanto translation.