Useful macros
Macro commands

General guides

Beginner's guide
Making a macro
Wiki Formatting
UI Customization

Class Macros

IconSmall Deathknight IconSmall Druid IconSmall Hunter IconSmall Mage IconSmall Monk IconSmall Paladin
IconSmall Priest IconSmall Rogue IconSmall Shaman IconSmall Warlock IconSmall Warrior

For more info on the new macro syntax introduced in patch 2.0, see HOWTO: Make a Macro


#showtooltip [nomodifier] attack; [modifier] Shoot (or Throw)
/cast [modifier] Shoot (or Throw)

This will act like a normal Attack button, except that it won't toggle autoattack off in combat (hit escape if you need to do that). It will also show your current weapon when assigned to a quickslot. You may want to leave out the references to Shoot or Throw, or perhaps make them more precise by using [modifier:shift] or some such, depending on your style of play.

/cast [equipped:Fishing Pole] Fishing; [equipped:Thrown] Throw; Shoot

The above will attempt to shoot, throw or even fish (depending on what you have equipped)


Swap Focus/Target

/stopmacro [target=focus,noexists] [noexists]
/target focus
/focus target

This macro will swap your current target and current focus, or do nothing if either unit is missing.

Another way to use this macro is the following

/stopmacro [target=focus,noexists] [noexists]
/target focus
/focus [target=lasttarget]

Party Combat

DPS Target Tank Target

/focus [modifier:shift] target
/target [no modifier:shift] focus
/target [no modifier:shift, no modifier:alt] targettarget

This macro sets the focus with shift-button, targets it with alt-button, and targets the target of the focus with the button itself. Useful for DPS trying to target what the tank is targeting in a pack, or just to keep track of a polymorphed target.

Raid icons, Lucky Charms

/script SetRaidTarget("target", n)

where n is:

  1. Yellow 4-point Star
  2. Orange Circle
  3. Purple Diamond
  4. Green Triangle
  5. White Crescent Moon
  6. Blue Square
  7. Red "X" Cross
  8. White Skull

and 0 is no icon. It's more helpful when used in the same macro call as preparing to sheep (when you as mage are leader) and other CC preps. Alone, this command line isn't that useful unless with a key binding, since you can just rightclick the unit frame to change the icon.


Mount Outside

/use [nomounted,outdoors] Whistle of the Black War Raptor

This will attempt to mount if you are outside and not mounted.

Random Mount

/userandom [nomounted,nocombat] <mount 1>, <mount 2>, <mount 3>

This will randomly use one of the mounts listed in the macro if you are not mounted and not in combat, if you are mounted it will dismount you, otherwise it does nothing. This will also work for Paladins and Warlock's Summon Charger/Dreadsteed.

Random Flying Mount

/dismount [mounted]
/stopmacro [mounted]
/castrandom [nomodifier:ctrl] <mount 1>, <mount 2>, etc ...
/castrandom [modifier:ctrl] <flying mount 1>, <flying mount 2>, etc ...

This is like the random mount macros above, but will choose a random flying mount if Ctrl is held down when it is clicked otherwise it will randomly pick a non-flying mount.

Mount / Hearthstone

#showtooltip hearthstone
/use [button:2, nomounted] Hearthstone
/dismount [mounted]
/use [button:1, nomounted, nomodifier:alt] Tawny Windrider
/use [button:1, nomounted, modifier:alt] Red Skeletal Warhorse

This one will make you ride your normal mount on the main land, ride your flying mount in outland, and hearthstone on rightclick. If you alt+click it, it'll summon your normal mount wherever you are. Downside is that is always gives an error message on screen. There is no easy way around this. The icon and tooltip will show your cooldown of your hearthstone. If you put the icon on the Questionmark icon, it'll also show the hearthstone icon.

And here is the shortened version of the above:

/use [button:2,nomounted] Hearthstone
/stopmacro [flying]
/dismount [mounted]
/use [button:1,flyable,nomodifier:alt] Blue Windrider; [button:1,modifier:alt] Great White Kodo;

Flying/Ground Mount no Error Message

/use [outdoors,nomounted,nomodifier:ctrl,flyable] Snowy Gryphon; [outdoors,nomounted] Black War Ram
/dismount [mounted]

This will use your flying mount in Outland, and your normal mount in Azeroth. If you hold ctrl, it will use your normal mount no matter where you are. It will not attempt to mount you if you are in an area where you cannot mount, and will not give any error messages.

This macro also leaves plenty of room for class-based additions.

Paladin Flying/Ground Mount

/stopmacro [indoors]
/use Reins of the Onyx Netherwing Drake
/stopmacro [flyable]
/cast Summon Charger

Summons your flying mount if in Outlands, or your Charger if on Azeroth. Does give error messages if in Azeroth or if moving. Also dismounts you from either mount if clicked on again.

No Dismount Flying

/stopmacro [flying]
/dismount [mounted]
/use [outdoors,nomounted,flyable] Golden Gryphon; [outdoors,nomounted] Stormpike Battle Charger

This is similar to the above, except it prevents a dismount from occurring if you're in the air and doesn't let you force use of the ground-mount.

Ultimate Mount Macro

/stopmacro [flying]
/dismount [mounted]
/use [nomounted,flyable,nomodifier:alt] Swift Green Windrider
/stopmacro [flyable,nomodifier:alt]
/userandom [nomounted] Great White Kodo,Horn of the Frostwolf Howler,Whistle of the Black War Raptor

Will dismount you if you're already mounted, except if you're flying. Will summon Flying Mount if in Outland and ALT is not pressed. Will summon a random Ground Mount if not in Outland or if ALT is pressed. The macro is 251 characters, so not much room for more mounts, unless you remove the #showtooltip.

Second Ultimate Mount Macro

/stopmacro [flying]
/use [button:1, flyable, nomounted] Reins of the Onyx Netherwing Drake; [button:1, nomounted] Reins of the Swift Frostsaber
/dismount [button:2, noflying]

This first determines if your in a flyable zone, then either loads your flying mount, or your ground mount. Right-clicking will dismount you, unless you're flying. -- Kjasi

Equip Riding Crop

#showtooltip Snowy Gryphon
/equip [mounted] Xi'ri's Gift
/dismount [mounted]
/equip [nomounted] Riding Crop
/use [nomodifier, nomounted]Snowy Gryphon
/use [modifier:alt]Palomino Bridle

This is a very handy macro that will do a plethora of mount-related things. First, if just clicked (or hotkey is used) it will summon your flying mount (change Snowy Gryphon to your particular flying mount type). If its alt-clicked (or alt+hotkey is pressed) it will summon your ground mount (change Palomino Bridle to your particular ground mount type). Also, any time you use it and are not mounted it will first equip your riding crop (can be changed to use Carrot on a Stick if you desire) and then continue to use the selected mount. If you are already mounted it will dismount and equip your original trinket (replace Xi'ri's Gift with whatever trinket you normally have in the top trinket slot). In addition this macro avoids all error messages from appearing on the screen. You can also edit the first line to have it show the tooltip of whichever mount you prefer, or leave it out if you dont want any tooltip displayed. If you select the ? icon when you create this macro it will display the picture for your original trinket, so I would suggest selecting a picture that represents your mount from the possible choices when creating.

Equip Riding Crop/Trinket Flying/Ground

/use [nomounted,outdoors,flyable] <Flying Mount>; [nomounted,outdoors] <Ground Mount>
/equip [nomounted,outdoors] Riding Crop
/equip [mounted] <Trinket>
/equip [indoors] <Trinket>
/dismount [mounted]

This macro will use the appropriate mount depending on if you're in Outland or Azeroth. When mounting up, it will equip your riding crop, and when dismounting it will equip your <trinket>. If the mounting is interrupted this will not work correctly. It also has an extra clause to equip your <trinket> if you use it indoors. This is useful if you walk indoors and forget to hit your macro to dismount (in other words, you were dismounted automatically for being indoors). You can tap this macro again and it will equip your trinket for you. Just make sure to replace <...> with your respective equipment.

This should also work for paladins and warlocks, since /use and /cast are inter-changeable.


/use [nomounted, flyable, nomodifier:ctrl] <Flying Mount>; [nomounted] <Ground Mount>
/equip [nomounted, outdoors, nocombat, nomodifier:shift] Riding Crop
/equip [mounted] [indoors] [combat] <Trinket>
/dismount [mounted, noflying]

This is a variation of the above macro that I came up with. It has similar functions in that it will choose the flying mount or regular mount based on what can by used, equips the riding crop and reequips your other trinket on dismount. I added the [combat] condition for reequipping the original trinket in case you are forced off your mount or interrupted while mounting. Also, you can hold down shift to override the riding crop, in case you want to mount, but don't want to trigger the 30 second trinket cooldown for your original trinket when you dismount, like in a battleground. Finally, this macro will also not dismount you while flying.

If you want to use a random mount, you can use the following for the first line (note, you should use Bag# Slot#, or you will quickly run out of characters):

/userandom [nomounted,flyable,nomodifier:ctrl] 3 1, 3 2; [nomounted] 3 3, 3 4

Keep your flying mounts in Bag 3, slot 1 & slot 2, and your ground mounts in Bag 3, slot 3 & slot 4.

Enable Gathering

/cast [nomounted] <mount>
/cast [mounted] Find Herbs

This macro will assist in turning on your gathering professions when you dismount. This is near-automation of turning on a tracking ability. Note: Miners just replace "Find Herbs" with "Find Minerals". (Suggestion: Hunters may want to try this for tracking purposes also)

Flying Mount if Target Exists

/cast [target=mouseover,exists] standard mount; flying mount

If you have no target under your cursor you will use normal mount. Have a target under mouse (your unitframe for instance) and you will fly (for this to work you must have your mount assigned to a key).

No Dismount While Flying

/use [button:2] <flying mount>
/console autoDismount 0
/stopmacro [button:2]
/use <ground mount>
/console autoDismount 1 

With Patch 2.1.0, Blizzard introduced the ability to automatically dismount in the event that you cast a spell. While this is good while using your ground mount, this is dangerously bad for most classes when using your flying mount. While there is a toggle for this in your Interface Options, the above macro will enable autodismount when using your ground mount and disable autodismount when using your flying mount.


Heavy Netherweave Bandage on Self

This macro will always use Heavy Netherweave Bandages on yourself, regardless of target.

/use [target=player] Heavy Netherweave Bandage

Target Specific Modfier Key

/use [modifier:alt,target=player] Heavy Netherweave Bandage
/use [modifier:ctrl,target=pet] Heavy Netherweave Bandage
/use [help] Heavy Netherweave Bandage
  1. If you Click the macro while holding down the ALT key, you will bandage yourself.
  2. If you Click the macro while holding down the CTRL key, you will bandage your pet.
  3. If you Click the macro by it self, you will bandage a friendly target.

Heavy Netherweave Bandage Friendly then Self

/use [help,nomodifier:alt] Heavy Netherweave Bandage; [target=player] Heavy Netherweave Bandage

This macro will use a Heavy Netherweave Bandage on your target if you can, yourself otherwise. Unless you hold down ALT, in which case you will always bandage yourself.


This consolidates the cooking button, and creating a fire. (Just make sure you have the reagents for the fire!) This is separated with simple left/right-click logic.

#showtooltip Cooking
/use [button:1] Cooking
/cast [button:2] Basic Campfire


This macro will use a mana potion if you're in combat, or your favorite beverage when not in combat. Use the Inv misc questionmark icon and it will show which one will be used. Substitute your item names:

/use [combat] Super Mana Potion; [nocombat] Filtered Draenic Water

Use either Trinket

This macro activates the upper trinket if it is not on cooldown. If it is on cooldown, the macro tries to activate the lower trinket. This is useful if you have two trinkets on short cooldowns that do similar things (add attack power, add spell damage, add healing, etc.). You will get an error that one item is not ready every time you use this macro.

/use 13
/use 14

Here is another example using /castsequence and setting the reset timer to your primary trinket's cooldown. When you use the first trinket (use the '?' icon!) you will see the icon switch to your second trinket. If you use your second trinket or wait the reset time it will switch back to your primary trink. Like above, this is useful for trinkets that do similar things, as shown in this example.

/castsequence reset=90 Bladefist's Breadth, Blackhand's Breadth

Another version of this macro is this:

/use [button:1] 13
/use [button:2] 14

This macro is useful if you have trinkets that do dissimilar things. Left-clicking the macro will use the first trinket, right-clicking the macro will use the second trinket.

This example disables the annoying sound you get when your trinkets are on cooldown (credit to Syrloin on Steemwheedle Cartel):

/run SetCVar("Sound_EnableSFX","0")
/use 13
/use 14
/run SetCVar("Sound_EnableSFX","1")
/castsequence X, Y, Z

Racial Abilities

Blood elf

One key Arcane Torrent and Mana Tap

This macro will bind Arcane Torrent and Mana Tap to one key.

/cast [modifier] Arcane Torrent; Mana Tap

Mana Tap -> Arcane Torrent

This macro will cast Mana Tap the first time you use it, and Arcane Torrent the second time you use it. It will reset itself every time that Mana Tap is ready. If you use the ? icon for the macro, it will appear as the next skill in the cast sequence.

/castsequence reset=30 Mana Tap, Arcane Torrent

Mana Tap / Arcane Torrent

This macro is my personal variation on the one above. I didn't like that I couldn't use Arcane Torrent if my target couldn't be mana tapped, so I made this macro. It's main additional feature is that the cast sequence only goes if you have a target, otherwise it will simply use Arcane Torrent. This is mostly to catch a rogue that just stealthed or vanished near you, although you could quickly deselect your target if you needed to use Arcane Torrent.

/castsequence [target=target,exists] reset=30 Mana Tap, Arcane Torrent
/cast [target=target,noexists] Arcane Torrent

Gathering Toggle

/castsequence [nocombat] find herbs, find minerals

Simple macro now that changes between Find Herbs, Find Minerals - bind it to a mouse key and you can change it every few second or so as you run along.

For hunters, warlocks, druids and paladins it is easy to add in the other tracks, or make your own. Simply substitute for one of the finds below, or add on to the end, separated only by a comma. I have included some examples here.

The [nocombat] check in the macros is so you don't accidentally trigger a global cooldown in combat.

Follow with Emote

/script if UnitIsPlayer("target") and UnitIsFriend("player","target") and CheckInteractDistance("target",4) then FollowUnit("target") SendChatMessage("is following "..UnitName("target")..".","EMOTE") end

The use of this macro is the equivalent to following a unit, and typing "/me is following %T."

If your target is not a friendly player within following range, it does nothing.


Use or Swap Trinket

/use [nobutton:2] Z
/equipslot [button:2] Z X Y

This will use the trinket in slot Z, unless you click button 2, in which case it will equip the trinket at bag coordinates X,Y. Useful for engineers with multiple trinkets on separate cooldowns (i.e. Goblin Mortar and Goblin Dragon Gun in slot 13, Goblin Bomb Dispenser and Mithril Mechanical Dragonling in slot 14).


/equip [noequipped:Fishing Pole, nomodifier:alt] Seth's Graphite Fishing Pole
/equip [modifier:alt] Mana Wrath
/equip [modifier:alt] Lamp of Peaceful Radiance
/cast [equipped:Fishing Pole, nomodifier:alt] Fishing

This macro is handy in that on a regular click (or hotkey press) it will equip your fishing pole (simply change Seth's Graphite Fishing Pole to the name of whichever pole you use), and when pressed again will begin fishing. On an alt-click (or alt+hotkey) it will re-equip your normal weapon(s). If you use a two hand weapon, simply take out the third line and change Mana Wrath to your own main weapon, otherwise if you use two change Mana Wrath and Lamp of Peaceful Radiance to your own particular weapons. This macro also avoids any error messages from popping up. You could also add to this macro to have it swap out a Lucky Fishing Hat or gloves with the fishing enchant as well, if you had them.

Another, more simple, fishing macro is this:

#showtooltip Fishing
/cast [button:1] Fishing
/use [button:2] x y

Replace x and y with the container location of your fishing pole (bag slot and item slot respectively.) A right-click will equip or unequip a fishing pole, and a left click will cast a lure. Note though that this macro only works with two-handed weapons and not a single-handed weapon and an offhand item, shield, or weapon; if you are going to use other than a two-handed item, use the first macro.

Here is a more elaborate version:

#showtooltip Fishing
/equip [noequipped:Fishing Pole, nomodifier:alt] x y
/equip [modifier:alt] x y
/cast [equipped:Fishing Pole, nomodifier:alt, nomodifier:ctrl] Fishing
/use [modifier:ctrl] x z
/use [modifier:ctrl] 16

It will equip your fishing pole if not equipped, or cast Fishing. If you hold alt it will equip your weapon. If you hold ctrl it will use a fishing lure. The bag number is x, y is the slot your fishing pole is in, z is the slot for the lures. Again this works best if you have a two-handed weapon.

Fish Counting

If you want to keep track of how many of a specific kind of fish you have, use the Inv misc questionmark icon and this macro:

#show Speckled Tastyfish


/yell "%n, stop running so I can heal you!"

This is a simple macro for a healer in a battleground. Often your heal targets will be running away from battle, so you must tell them to stop running.

Battle map

/script BattlefieldMinimap_LoadUI();
/script if( BattlefieldMinimap:IsVisible() ) 
then MiniMapBattlefieldFrame.status = ""; BattlefieldMinimap:Hide(); 
else MiniMapBattlefieldFrame.status = "active"; BattlefieldMinimap:Show(); end

This macro will toggle the battle map in every region, just like in the battlegrounds and the areas with outdoor pvp. Take care to combine lines 2 through 4 as shown above into a single line (put a space at the end of each line and remove the linebreak).


Sell all grey items

/script for bag = 0,4,1 do for slot = 1, GetContainerNumSlots(bag), 1 do local name = GetContainerItemLink(bag,slot); if name and string.find(name,"ff9d9d9d") then DEFAULT_CHAT_FRAME:AddMessage("Selling "; UseContainerItem(bag,slot) end; end; end

Get Frame Name

/print GetMouseFocus():GetName()


/script DEFAULT_CHAT_FRAME:AddMessage(GetMouseFocus():GetName());

You can bind this macro to a hotkey, then hover your mouse over a frame and press this macro, and the name of the frame under your mouse will go to the chat frame. This is mostly useful to help find addons that are making odd frames on the screen.

One-click daily quests

#show [mounted] Skyguard Bombs; Fel Gland
/use [mounted] Skyguard Bombs
/use [mounted] Skyguard Blasting Charges
/use [mounted] Booterang
/stopmacro [mounted]
/use Banishing Crystal
/use Yarzill's Mutton
/use Wrangling Rope

These are all items used in the daily quests (Ogri'lar, Skyguard and Netherwing) put together in a single button. In its icon it will show how many Fel Glands you already have collected when you are unmounted, as this is the only quest you need drops for. Mounted it will show the cooldown of the Skyguard Bombs. It won't show the cooldown on the blasting charges nor the number of Apexis Shards you possess though (unless you change the #show line, of course).

Quest Objectives

 /script i = GetNumQuestLeaderBoards(); for j = 1, i, 1 do a1, a2, a3 = GetQuestLogLeaderBoard(j); SendChatMessage(a1, "PARTY"); end;

Use: Sends your current quest objectives to party chat. This way, you don't have to constantly type to party members how many of each creature you need to complete a quest.

Swap Bags

/script PickupInventoryItem(20);PickupInventoryItem(71);
/script PickupInventoryItem(21);PickupInventoryItem(70);
/script PickupInventoryItem(22);PickupInventoryItem(69);
/script PickupInventoryItem(23);PickupInventoryItem(68);

Use: Swap your four bags with the first four bags in the bank. You have to be in the bank and open the window before you use the macro. Very helpful, if you have bags with your tools and other stuff you need for your jobs.

Community content is available under CC-BY-SA unless otherwise noted.