Macro Toolkit

1,545,945 Downloads Last Updated: Oct 21, 2020 Game Version: 9.0.1  

 Macro Toolkit - Updated for Shadowlands

If you need to report a bug please use the ticketing system on Curseforge. I don't get notifications of comments left on Curse, so if you need me to see something,either PM me or comment/ticket on Curseforge.

Macro Toolkit is an enhanced macro frame that adds the following features to the default macro UI:

  • Macro Shortening
  • Key Binding and key bind only macros
  • Extended Macros
  • Condition Builder
  • Extended, Searchable Icon Frame
  • Syntax Highlighting
  • Syntax Checking
  • Drag and Drop Moving
  • Movable Macro Frame
  • Scalable Macro Frame
  • Insert Special commands
  • Easy Slot Selection
  • Backup
  • Restore
  • Clear all Macros
  • Share Macro
  • Add Custom Slash Sommands
  • Slash Commands for Common Lua Script Functions
  • Copy macros between characters
  • ElvUI Skin
  • Add certain types of macro to a data broker (new in

Using Macro Toolkit

By default Macro Toolkit overrides the built in macro UI and can be accessed in the same way. If you chose to keep the default UI as well, Macro Toolkit can still be accessed using the following slash commands:

  • /mac
  • /mtoolkit
  • /macrotoolkit

Be warned though that if you chose this option the two macro frames may not play well together .

Macro Shortening

Macro Toolkit will attempt to shorting your macros without affecting functionality. It does by looking for the shortest options for each command used, removing unnecessary spaces and optionally replacing known common Lua script functions with Macro Toolkit commands. This is more involved than it may sound, so it's worth checking that nothing has been removed that you kinda wanted left alone once you've used this function.

Key Binding and key bind only macros

Macros can be bound directly to keys without the need to place the macro on an action bar. Macro Toolkit also has a special tab that adds 18 keybind only macros - these macros can only be used with key binds, they cannot be put onto action bars.

Extended Macros

Macro Toolkit can extend macros beyond the 255 character limit.

Condition Builder

Macro Toolkit has a tool to help you build conditional statements for use in macros using dropdown boxes with easy to understand descriptions of the conditions.

Extended, Searchable Icon Frame

When creating a new macro or changing an existing one, the default macro UI offers you a small window showing 15 of the available icons for your macro at a time. As of version Macro Toolkit uses LibAdvancedIconSelector to make more icons visibible at the same whilst also offering a search facility and icon filtering by means of options.

Syntax Highlighting

Macro Toolkit can optionally highlight commands, conditions and parameters in macros by changing the colour (yeah, I'm British :-)) of each keyword. These colours can adjusted using the in game options menu.

Syntax Checking

Basic syntax (which can be switched off if required) is performed on the macro as you type (or after they've been typed). Any errors found, along with suggestions for mistyped keywords are shown in an adjacent window.

Drag and Drop Moving

Macros can be moved from General to Character Specific, or vice versa by a simple drag and drop operation

Movable Macro Frame

Macro Toolkit's frame can be moved to anywhere you want it on your screen. The position will be remembered for future use.

Scalable Macro Frame

Macro Toolkit's scale can be adjusted. This allows you to increase or decrease the size of the frame in relation to the rest of the game UI which can help considerably in making your macros easier to read.

Insert Special Commands

Macro Toolkit contains a dropdown list of common Lua script functions used in macros that can be inserted into your macro. The scripts have been converted to slash commands - see below for an explanation of those commands

Easy Slot Selection

To make is easier to work out which slot number equates to which equipment slot on your character, Macro Toolkit includes a dropdown that list all available slots by name, and inserts the appropriate number into your macro.

Backup / Restore / Clear All

Macros can be backed up to your saved variables file and restored later. Macro backups are performed by group, so, if you have the character specific tab selected, then only those macros will be backed up. The same is true for restore. There is also a function to clear all your macros (subject to which tab is selected) if you just want to wipe them all and start again.

Share Macro

Macro Toolkit will print the selected macro to either the Guild, Raid or Party frame if required so that you can share you macros with other people. As of version macros can also be sent directly to other Macro Toolkit users, either individually or to whole group.

Add Custom Slash Commands

If you have a Lua script function that you often use, or just want to shorten, you can create your own custom slash command and add the script to it. Parameters to your script can be accessed using the variables arg1, arg2, arg3 and arg4.

Copy macros between characters

When you log into a character with Macro Toolkit enabled, that character's macros will be recorded (with the right option set) so they can be used with other characters.

Slash Commands for Common Lua Script Functions

Macro Toolkit has the following built in slash commands designed to be used within macros:

  • /mtce - Clears UI Errors
  • /mtex - Stops errors being sent to the Errors Frame
  • /mteo - Allows errors to be sent to the Errors Frame
  • /mtrp - Summons a random non combat pet
  • /mtso - Enable sound effects
  • /mtsx - Disable sound effects
  • /mtrt - Set raid target marker
  • /mtev - Exit vehicle
  • /mtmc - Print the player's map position
  • /mtep - Eject all passengers
  • /mtsg - Sell all grey quality items at the vendor screen
  • /mtdg - Destroy all grey quality items
  • /mtnb - Print a list of all people in your raid with no food buff
  • /mtnf - Print a list of all people in your raid with no flask buff
  • /mtfm - Summons a random favourite mount, like the mount journal button, but this command accepts conditionals
  • /mtc - Add conditionals to conditionally execute insecure commands (i.e. not /cast, /target, etc) - new in

ElvUI Skin

For those of you that use the excellent ElvUI, MacroToolkit will skin itself to match. Note that this will only work for ElvUI users. Version adds an option to switch off the ElvUI skin for ElvUI users if desired.

Bug Reports / Change Requests

If you find any bugs or have any suggestions for improvements, please use the ticketing system, accessible from the following link:


Macro Toolkit is currently localised for all WoW game client locales. If you would like to contribute to translating Macro Toolkit, please use the following link:

Please note that the quest names and NPC names are not included in the locale and will still appear in English.


  • Dohram - for features and testing
  • HOPE - for very helpful and patient testing.
  • marciowb - Keeping her alive
  • xBolte - Keeping her alive


  • To post a comment, please or register a new account.
Posts Quoted: