KeyLine is a lightweight timeline-based macro recorder and editor for Windows.
Create macros visually, arrange actions on timelines, assign shortcuts, and run them against a selected target window without writing scripts.
Download the latest version from the Releases page.
KeyLine is distributed as a portable Windows executable.
No installation is required.
Most macro tools feel either too old, too complicated, or too focused on recording everything.
KeyLine focuses on making macro creation fast, visual, and easy to understand.
One of KeyLine’s main goals is background keyboard input: it can send keyboard actions to a selected target window without taking focus from what you are currently doing.
This means a macro can run against another application while you continue using your PC normally.
Background input currently applies to keyboard actions. Mouse background input is experimental and depends heavily on how the target application handles input.
KeyLine focuses on:
- Fast macro creation
- Visual timeline editing
- Background keyboard input to a selected target window
- Shortcuts and remapping
- Multiple timelines
- Window-aware automation
- Reusable macro workflows
- Keeping the UI clean and understandable
Build macros by adding actions such as key presses, text, delays, mouse input, and blocks directly onto the timeline.
KeyLine uses timelines instead of long script-like action lists. Nodes can be moved, edited, copied, duplicated, deleted, and arranged visually.
Assign a shortcut to a macro and trigger it without pressing the Start button manually.
Shortcuts are useful for repeated actions, quick text input, game/app automation, toggle-style macros, and remap behavior.
Remap lets a shortcut key trigger a macro without sending the original key to the target window.
For example:
Shortcut: 1
Macro: Q > Q > Q
Result: Q > Q > Q
Not: 1 > Q > Q > Q
Remap only works when the selected target window is focused, so it does not consume inputs while you are using other apps.
Global Remap can be turned off temporarily when you want to type normally, such as in an in-game chat.
A macro can contain multiple timelines.
This makes it easier to separate actions instead of forcing everything into one long sequence.
Loop modes control how timelines run:
- Async — timelines run independently.
- Sync — timelines wait and restart together.
- Cycle — one loop of each available timeline runs in order.
- Chain — each timeline fully completes before the next starts.
Repeat blocks let you loop a group of nodes without duplicating them manually.
Condition blocks let part of a macro run only when the given condition is true.
Current condition types:
- Held key
- Random chance
- Every N loop / repeat
- Pixel color
- Target Window Focused
- Window Exists
- Macro Running
- Time Passed
Macros can trigger other macros using the Run Macro node.
This allows larger workflows to be split into smaller reusable pieces instead of duplicating the same timeline logic multiple times.
Only macros from the active profile can be selected and executed.
KeyLine supports keyboard recording.
Recorded input is converted into editable timeline nodes, so you can record first and then clean up the macro manually.
Macros can be organized into profiles.
Profiles make it easier to separate different macro groups, such as different games, apps, or workflows.
KeyLine also supports import/export for sharing macros, moving profiles, or backing up all app data.
KeyLine sends input to a selected target window, but not every application handles simulated or background input the same way.
Some games or programs may block, ignore, or handle simulated input differently.
Background mouse input is experimental and may work in some applications but not others.
Use KeyLine responsibly and follow the rules of any software or game you use it with.
KeyLine is in active development.
The goal is to keep it simple to use while gradually adding more powerful macro-building tools.
--
KeyLine is developed in my spare time and is still evolving.
If you encounter bugs, compatibility issues, confusing behavior, or have feature suggestions, please open an issue on GitHub.
When reporting a problem, include:
- KeyLine version
- Windows version
- Target application (if relevant)
- Steps to reproduce the issue
Feedback from real users is the most valuable way to improve KeyLine.
Possible future improvements include:
- More examples and tutorials
- More condition options
- More polish for block editing
- Further background input improvements where possible
- Mouse recording and playback improvements
- Controller support
- More advanced macro organization tools
KeyLine is licensed under the GNU General Public License v3.0.
See the full license here: GNU General Public License v3.0






