A macro recorder is a piece of software that records user actions for playback at a later time. The main advantage of using a macro recorder is that it allows a user to easily perform complex operations much faster and with less effort without requiring custom computer programming or scripting.
Most word processors, text editors and other office programs come with built-in macro recorder tools which automate the user's actions.
Not all software comes with a built-in macro recorder. A standalone macro-recorder program allows a user to "record" mouse and keyboard functions for "playback" at a later time. This allows automating any activity in any software application: from copy-pasting spreadsheet data to operating system maintenance actions.
Most macro recorders do not attempt to analyze or interpret what the user did when the macro was recorded. This can cause problems when trying to play back a macro if the user's desktop environment has changed. For example, if the user has changed their desktop resolution, moved icons, or moved the task bar, the mouse macro may not perform the way the user intended. That's one of the reasons for preferring keyboard macros over the mouse-oriented ones.
However, some recorders do attempt to analyze user actions, trying to record mouse activity in window-related, not screen-related coordinates, for instance, or to detect exactly what widget a user selected.
Possible features of standalone macro recorders include:
The emacs text editor is well known for its macro-recording ability, whose name is an acronym for Editing MACroS.