This wiki contains inaccurate and out-of-date information. Please head over to for more accurate and up-to-date game information.


Classese Death Knight Demon Hunter Druid Hunter Mage Monk Paladin Priest Rogue Shaman Warlock Warrior
Class races Dk Dh Dr Hu Ma Mo Pa Pr Ro Sh Wl Wr
Quests Dk Dh Dr Hu Ma Mo Pa Pr Ro Sh Wl Wr
Abilities Dk Dh Dr Hu Ma Mo Pa Pr Ro Sh Wl Wr
Spec Dk Dh Dr Hu Ma Mo Pa Pr Ro Sh Wl Wr
Talents Dk Dh Dr Hu Ma Mo Pa Pr Ro Sh Wl Wr
PvP Talents Dk Dh Dr Hu Ma Mo Pa Pr Ro Sh Wl Wr
Trainers Dk Dh Dr Hu Ma Mo Pa Pr Ro Sh Wl Wr
Glyphs Dk Dh Dr Hu Ma Mo Pa Pr Ro Sh Wl Wr
Builds Dk Dh Dr Hu Ma Mo Pa Pr Ro Sh Wl Wr
Tactics Dk Dh Dr Hu Ma Mo Pa Pr Ro Sh Wl Wr
Armor sets Dk Dh Dr Hu Ma Mo Pa Pr Ro Sh Wl Wr
Starting a Dk Dh Dr Hu Ma Mo Pa Pr Ro Sh Wl Wr
PvE Dk Dh Dr Hu Ma Mo Pa Pr Ro Sh Wl Wr
PvP Dk Dh Dr Hu Ma Mo Pa Pr Ro Sh Wl Wr
Macros Dk Dh Dr Hu Ma Mo Pa Pr Ro Sh Wl Wr

Formatting Macros

Note: Commands for some of the older macros have been modified significantly. Where possible, please validate and mark with last working patch or version number.

When editing a macro on the Wiki please:

  • name it, describe what it does, and use a 'space' before each command for the 'code box'
  • note the version of WoW that you tested it in
  • if moving from another page, remove it from the old page
  • follow this Macro formatting example:
==== Macro Name ====
 /y Hooray, I made a macro!
* Use: This yells, "Hooray, I made a macro!"
* Works in 5.4.2
which creates:

Macro Name

/y Hooray, I made a macro!
  • Use: This yells, "Hooray, I made a macro!"
  • Works in 5.4.2

Useful macros
Macro commands

General guides

Beginner's guide
Making a macro
Wiki Formatting
UI Customization

Class Macros

Useful macros for death knights Useful macros for druids Useful macros for hunters Useful macros for mages Useful macros for monks Useful macros for paladins
Useful macros for priests Useful macros for rogues Useful macros for shamans Useful macros for warlocks Useful macros for warriors

Quick Tips for Reading and Understanding Macros

  • /cast and /use function exactly the same.
  • You do not need spaces anywhere other than after the initial /command in each line of a macro and in the names of spells which consist of multiple words.
  • [Square Brackets] contain conditionals; meaning the spell will only be cast if the [condition] is true.
  • [mod:shift] and [modifier:shift] function exactly the same.
  • If you are making a conditional macro involving pets, you can replace the word "felhunter" in [pet:felhunter] with your own Felhunters name. Same idea for other pets.
  • For example, the following two macros will do the exact same thing if your Felhunters name is Maazhem:
/cast [pet:felhunter, nomodifier:shift] Spell Lock; [pet:felhunter, modifier:shift] Devour Magic; [pet:succubus] Seduction
/use [pet:maazhem,nomod:shift]Spell Lock;[pet:maazhem,mod:shift]Devour Magic;[pet:succubus]Seduction

3.1 Affliction Macros

Haunt, then Curse of Exhaustion

/castsequence reset=target/combat/5 Haunt, Curse of Exhaustion
  • Use: Haunts, then after casting Haunt uses Curse of Exhaustion. This macro resets (starts from the beginning) when any of the following things happen: target is switched, combat is engaged/disengaged, or 5 seconds pass after casting Haunt.
  • Works in 3.1.3

All DoT's and instant damage

/cast [mod:shift] (spell)
/cast [mod:ctrl] (spell)
/cast [mod:alt] (spell)
/cast [mod:z] (instant damage spell)
  • Use: Press shift to do your first dot, ctrl for a second dot, and alt for your last dot (my lock uses Immolate, Curse of Agony, and Corruption as it's the shortest length). While the dots are up, to save even more room on your action bar, hold z to do an instant damage spell while you wait for dots to come off.
  • works 3.3

3.1 Demonology Macros

The conditional for Metamorphosis (warlock) is [form:2].

Instant Summoning with One Click

This simple macro allows you to use Soulburn and instantly summon a demon with one click.

/use Soulburn
/use Summon Petname

Substitute your preferred pet (Voidwalker, Felhunter, etc) for Petname. The following variation, based on Nicodeamus' "Summon Demons" macro lower on this page, additionally combines all Summon spells into one macro; hold shift for Voidwalker, ctrl for Succubus, alt for Felhunter, or no mod for Imp. If you assign it the "?" icon, it will change to reflect which modifier you are holding.

#showtooltip [mod:shift] Summon Voidwalker;[mod:ctrl] Summon Succubus;[mod:alt] Summon Felhunter;[nomod:] Summon Imp
/use Soulburn
/use [mod:shift] Summon Voidwalker;[mod:ctrl] Summon Succubus;[mod:alt] Summon Felhunter;[nomod:] Summon Imp
  • Validated: 4.3.4

Hellfire Sacrifice

This macro allows you to use a "buff on use" trinket, cast Hellfire, and use your Voidwalker's Sacrifice for some added protection all in one button. (Sacrifice is not 100% nor 50% like in the past, but it still helps.)

  • Click the macro until you gain Sacrifice from your Voidwalker.
  • Make sure you have Soul Shards available and Soul Burn is off CD before using this macro.
#showtooltip Hellfire
/use 13
/castsequence reset=notarget Soulburn, Summon Voidwalker, Hellfire, Sacrifice

One button Metamorphosis opener

Removed from game The subject of this section has been removed from World of Warcraft as of World of Warcraft: Legion.

This macro allows you to cast Metamorphosis, Demon Leap, Immolation Aura, Summon your Doomguard, and cast Shadow Flame using one button. A good opener for boss fights.

  • Metamorphosis, Summon Doomguard, and Shadow flame all must be off CD for this macro to work.
#showtooltip Metamorphosis
/castsequence reset=notarget Metamorphosis, Demon Leap, Immolation Aura, Summon Doomguard, Shadowflame
/script UIErrorsFrame:Hide() 

Metamorphosis on one button

Removed from game The subject of this section has been removed from World of Warcraft as of World of Warcraft: Legion.

This places all of the Metamorphosis specific spells onto one button. Clicking with no modifiers will trigger Metamorphosis on the first click and Immolation Aura on the second click. Metamorphosis does not trigger the Global Cooldown however you will still need to click twice to trigger Immolation due to it's requirement that the Meta be active to cast.

/cast [modifier:alt] Demon Charge(Demon)
/cast [modifier:ctrl] Challenging Howl(Demon)
/cast [modifier:shift] Shadow Cleave(Demon)
/cast [nomodifier] Immolation Aura(Demon)
/cast [nomodifier] Metamorphosis

This macro no longer works

  • Validated: 4.3.4

Metamorphosis, Demonic Empowerment, trinkets

Removed from game The subject of this section has been removed from World of Warcraft as of World of Warcraft: Legion.

Always Use Metamorphosis, Demonic Empowerment and/or Trinkets

When activated, this will use any available trinket, cast Metamorphosis, cast Demonic Empowerment when an Imp or Felguard is summoned, and cast your regular spell. Change all occurrences of Curse of Agony to the spell of your choice.

#showtooltip Curse of Agony
/use 13
/use 14
/use Metamorphosis
/use [pet:Felguard] [pet:imp] Demonic Empowerment
/script UIErrorsFrame:Clear()
/use Curse of Agony

This version allows for focus casting when the ALT key is held. Without holding alt, casts on your current target.

#showtooltip Curse of Agony
/use 13
/use 14
/use Metamorphosis
/use [pet:felguard][pet:imp]Demonic Empowerment
/script UIErrorsFrame:Clear()
/use [target=focus,mod:alt,harm][nomod:alt,harm]Curse of Agony

Both versions will stop error messages from appearing on your screen but audible messages will still occur so you may wish to turn off Error Speech in the sound options.

This version will turn the error speech off during the casting and back on once it is done. It will NOT remove the visual error messages.

#showtooltip shadow bolt
/console Sound_EnableSFX 0
/use 13
/use 14
/use Metamorphosis
/use Demonic Empowerment
/use shadow bolt
/script UIErrorsFrame:Clear()
/console Sound_EnableSFX 1
  • Validated: 3.2.0

Metamorphosis maximum demonology AoE dps

Removed from game The subject of this section has been removed from World of Warcraft as of World of Warcraft: Legion.

Metamorphosis/ Immolation Aura/ trinkets/ Demonic Empowerment/ Leap

This macro combines the two macros above primarily for maximum demonology AoE dps output. Warning: may cause extreme aggro and sudden death if used carelessly :)

  1. The first click will pop Metamorphosis, the Demon Soul ability and your Demonic Empowerment ability (if a felguard or imp is present) at the same time.
  2. A second click will activate immolation aura and any trinkets with a 'use' function.
  3. CTRL click on this button will use Demon Leap.

(order of abilities will depend on cooldowns; the above assumes no abilities on cooldown.)

#showtooltip Metamorphosis
/cast [nomodifier] Metamorphosis
/cast Demon Soul
/cast 13
/cast 14
/use [pet:Felguard] [pet:imp] Demonic Empowerment
/cast [nomodifier] Immolation Aura
/cast [modifier:ctrl] Demon Leap
/script UIErrorsFrame:Clear()

This version allows control of 'Demon Form' with one button and prevents error messages appearing on screen for this macro if trinkets etc are on cooldown. (Note: error speech will still occur)

  • Edited to include new spells from patch

This macro no longer works

  • Validated 4.3.4

Lazy Demonology DPS Macro

This Macro is for easy DPS as Demonology (0/56/15 spec). Simply spam the macro until the end, then when your DoTs fall off, press again three times (four times if you're using the Glyph of Life Tap). If you're moving around a lot and the macro gets stuck in the middle, you'd hold shift to start the macro from the beginning. In between using this macro, spam Incinerate, or Soul Fire when Decimation is active. The macro also automatically makes your pet attack your target and activates Demonic Empowerment (which can be fit in outside of the cast sequence since it's not on the GCD). You can omit Rank 1 Life Tap if you're not using the Glyph of Life Tap, or Shadow Bolt if you have another warlock with the ISB talent, or substitute whatever curse you may prefer or be asked to use instead of CoE. You can also include Metamorphosis and/or a trinket at the end, using the same command as DE, assuming you're in a situation where it's not vital to use CDs at any specific point (e.g, heroics).

/castsequence reset=target/shift,12 Corruption, Immolate, Shadow Bolt, Life Tap(Rank 1), Curse of the Elements
/cast Demonic Empowerment
/script UIErrorsFrame:Hide() 
  • Validated: 3.3.0

Five pets, one button

I found this macro to be useful. Every pet has some active skills, which want to be accessen quickly. So why not put one active skill from every pet on the same button?

So the macro goes as this:

/cast [pet:imp] Singe Magic; [pet:succubus] Seduction; [pet:voidwalker] Sacrifice; [pet:felhunter] Spell Lock; [pet:felguard] Axe Toss; Summon Felguard

The last part ist just for the button not showing a question mark, if no demon is summoned.

  • Validated 4.3.4

3.3 Destruction Macros

Faster Imp Casting

This macro binds your incinerate with your Imp's firebolt. Very useful if you spam your spells; Imp effectively casts quicker.

#showtooltip Incinerate
/cast [target=pettarget,exists] Firebolt
/cast Incinerate

Can also be used with other spells so that you are constantly spamming the Imp's firebolt. Eg. bound to Immolate:

#showtooltip Immolate
/cast [target=pettarget,exists] Firebolt
/cast Immolate
  • Validated 3.3.5


This will cast Immolate then Incinerate 5 times. It will reset:

  • If you change target;
  • If you leave combat;
  • After 13 seconds (when Immolate goes off)
/castsequence [nomod] reset=target/combat/13 Immolate,Incinerate,Incinerate,Incinerate,Incinerate;[mod:shift] Incinerate; Immolate

"Axel's Funeral Pyre"

Cast's "Curse of the Elements, Sacrifice, and Hellfire. Only should be used when the voidwalker is out and when the cooldown meter is at zero. This is essentially a "Nuke Button" to maximize damage to the enemy while minimizing damage to you. The name comes from a scene in "Kingdom Hearts II" Where a character by the name of Axel suicide attacked the enemy by setting himself on fire. However, Sacrifice should keep you from dying in a fiery inferno of death.

/cast Curse of the Elements
/cast [ pet:Voidwalker]  Sacrifice
/Cast Hellfire
  • Works in 3.2

3.1 All Warlock Macros

Tier 5 Talents

Casts the tier 5 selected talent. This macro will change the icon to the selected talent upon changing.

/use [talent:5/1]Demonic Circle;[talent:5/2]Burning Rush;[talent:5/3]Dark Pact;

Tier 7 Affliction Talents

Casts the tier 7 selected talent. This macro will change the icon to the selected talent upon changing.

/use [talent:7/1]Soul Effigy;[talent:7/2]Phantom Singularity;
  • Works in 7.0.3

If you want to create your own macros there is a template:

/use [talent:X/Y]Spell_name;

Where X is talent row, and Y is column, for example tier 7 is 100 lvl talent and column 1 is talent on the left (first one).

  • As for 7.0.3 there isn't any macro for PvP talents.

Max effect Healthstone

  • This will change your armor to the Demon Armor (+26% increased healing if you have 3 points in Demonic Aegis) before it uses the Fel Healthstone. On the third cast it will switch back to your Fel Armor.
#showtooltip Healthstone
/castsequence reset=target Demon Armor, Create Healthstone, Fel Armor
  • Works in 4.2

Mount Macros

Simplified Mounting Macro

This will automatically select your preferred flying or ground mount depending on where you are (you will need to have cold weather flying for this to work in Northrend). It will also dismount you if you are already on a mount.

/cast [nomounted] Albino Drake
/cast [nomounted] Dreadsteed
/dismount [mounted]

If you use the Metamorphosis talent then this extended version of the previous macro will remove the Metamorphosis buff from your character allowing you to instantly mount up (currently, the Metamorphosis buff does not allow the player summon a mount).

/cancelaura Metamorphosis
/cast [nomounted] Albino Drake
/cast [nomounted] Dreadsteed
/dismount [mounted]
  • Validated: 3.2.0

Life Tap Macro

When activated without holding ALT, this macro will cast the highest level of Life Tap available to your character. When ALT is held, it will cast the lowest.

#showtooltip [mod:alt]Life Tap(Rank 1);[nomod:alt]Life Tap
/use [mod:alt]Life Tap(Rank 1);[nomod:alt]Life Tap

Demonic Circle

When activated without holding ALT, this macro will teleport you to your Demonic Circle. When ALT is held, you will summon a new Demonic Circle

#showtooltip [nomod:alt]Demonic Circle: Teleport;[mod:alt]Demonic Circle: Summon
/use [mod:alt]Demonic Circle: Summon;[nomod:alt]Demonic Circle: Teleport

Basic DoTs

Casts your Corruption and Curse of Agony with one button by tapping this macro.

/castsequence reset=10 Corruption, Curse of Agony

Devour Magic

If you have your felhunter out, it will cast Devour Magic on yourself, removing a magical debuff. If there is no magical debuff on you, your felhunter will devour a magical debuff from itself. If there is no magical debuff on either you or your felhunter, it will devour your current target. If your felhunter is not out, it will do nothing.

#showtooltip Devour Magic
/stopmacro [nopet:felhunter]
/use [target=player][target=pet][]Devour Magic

Pet attack toggle button

Simple, one-button attack/return. Won't change Aggressive, Defensive, or Passive status.

/petattack [target=pettarget,noexists]
/petfollow [target=pettarget,exists]


This puts the Voidwalker's Sacrifice, the Felhunter's Spell Lock, and the Succubus's Seduction all in one button. The effect and tooltip shift depending on which pet you have out. Make sure the "?" image is selected for the tooltips to shift.

#showtooltip [pet:voidwalker] Sacrifice; [pet:felhunter] Spell Lock; [pet:succubus] Seduction
/use [pet:voidwalker] Sacrifice; [pet:felhunter] Spell Lock; [pet:succubus] Seduction

Shadow Bolt DPS

When you have one or two trinkets that have a use effect that increases spell damage or some other kind of effect that you always want in use during combat you normally have use them manually or at best, click a button for it in the hot bar.

This macro will allow you to use whichever trinket is not on cooldown and cast one of the spells that it helps without causing an error message to appear due to either one or both of the trinkets being on cooldown.

#showtooltip Shadow Bolt
/use 13
/use 14
/script UIErrorsFrame:Clear()
/cast Shadow Bolt 

This version allows you to press the ALT key to cast the spell on your [focus] instead of your target. Works best with the [FocusFrame] add-on.

#showtooltip Shadow Bolt
/use 13
/use 14
/script UIErrorsFrame:Clear()
/cast [modifier:alt,target=focus] Shadow Bolt
/cast [nomodifier,target=target] Shadow Bolt
/clearfocus [target=focus, dead] 
  • Validated: 3.2.0

Summon Demons

This macro will allow you to summon all the normal Warlock pet demons (Imp, VoidWalker, Succubus, and Felhunter) by using only one action bar slot and some simple modifiers. I also set the tooltip to change depending on the modifier you are currently using.

#showtooltip [mod:shift] Summon Voidwalker;[mod:ctrl] Summon Succubus;[mod:alt] Summon Felhunter;[nomod:] Summon Imp
/cast [mod:shift] Summon Voidwalker;[mod:ctrl] Summon Succubus;[mod:alt] Summon Felhunter;[nomod:] Summon Imp
  • Validated: 3.3.5

The macros below this line have not been validated to work in 3.1. Use at your own risk.

General Macros

Immolate & Incinerate in one button

On regular click this will cast Incinerate, hold down alt to cast Immolate.

/cast [mod:alt]Immolate;Incinerate

Make sure that you select the "question mark" for the buttons icon so the proper icon will show up (Incinerate as it's default). When you hold ALT the button will change to show the Immolate icon.

PvP Buff Party - Invisibility

/cast Detect Invisibility

PvP Buff Self - Armor/Pats

PvP with Pet This one buffs you with Demon Armor, Soul Link, and Detect Invisibility.

/castsequence [target=player] Demon Armor, Soul Link, Detect Invisibility

This macro will summon your Voidwalker if he's not already out. Feel free to substitute different pets/armors if your situation differs!

/use [nopet:voidwalker]Fel Domination
/use [nopet:voidwalker]Summon Voidwalker
/use [pet:voidwalker]Demon Armor

And another one, especially useful after a pet has been killed, sacrificed, or dismissed. Summons your steed after your buffs, so you can get back to the action.

/castsequence [nopet,mod:alt] Summon Voidwalker; [nopet,mod:ctrl] Summon Felhunter; [nopet] Summon Felguard; [pet] reset=4 Soul Link, Demon Armor, Summon Dreadsteed

Grind Macro

This is intended for grinding. The assumption is that you have the following spells: Curse of Agony, Corruption, Drain Life, Health Funnel and Drain Soul. You should have some level of these spells by level 12. After that point, the macro will just use the most advanced version of each spell (except Drain Soul). The Voidwalker or Felguard are good pets when using this macro.

To use, simply press the button when each spell is finished. To drain the soul (and create a soul shard)hold down the <Alt> key while pressing the button.

 /cast [mod:alt] Drain Soul
 /cast [nocombat] Curse of Agony
 /castsequence reset=target/combat Corruption,Life Tap,Drain Life,Health Funnel,Shoot

And another one (without pet attack):

/castsequence [mod:ctrl] Searing Pain; [mod:alt] Incinerate; reset=10/combat/target Immolate, Corruption, Incinerate, Life Tap, Drain Life, Searing Pain

And another one (with pet attack):

/castsequence [mod:ctrl] Searing Pain; [mod:alt] Incinerate; reset=10/combat/target Immolate, Corruption, Incinerate, Life Tap, Drain Life, Searing Pain

Trinkets + Curse of Doom

This macro will use your available Trinket, and Curse of Doom all in one button.

#showtooltip Curse of Doom
/use 13
/use 14
/use Curse of Doom

Be wary this will still cast Curse of Doom regardless if you have a trinket available.


All three drains on a single button (via ctrl and alt).

/cast [mod:ctrl]Drain Mana; [mod:alt]Drain Life;Drain Soul

If you do NOT want to be able to start your drain over before it is completely channeled, use this instead:

/cast [mod:ctrl,nochanneling:Drain Mana]Drain Mana; [mod:alt,nochanneling:Drain Life]Drain Life; [nochanneling:Drain Soul]Drain Soul

Mount Macros

  • Due to changes to mount spell mechanics, you are no longer required to specify zone and fly/nofly status in your macros. So long as the flying mount is listed first you will always select the correct type of mount, with no error message. The following macros may contain unneeded commands and conditionals.

If you are in a zone where you can use your flying mount this macro will use that. If not it will summon your Dreadsteed.

/stopmacro [flying]
/use [outdoors,nomounted,nomodifier:ctrl,flyable] Ebon Gryphon; [outdoors,nomounted]Dreadsteed
/dismount [mounted]

As an alternative a more advanced macro can be used. This differs from the above form in that it shows the appropriate tooltip based on what mount you are able to currently use. It also allows the use of the ALT key to summon the Dreadsteed within areas that allow flying. This macro also prevents you from accidentally dismounting while in the air. The outdoor check was omitted to save space.

#showtooltip [mod:alt]Dreadsteed; [flyable]Tawny Windrider;Dreadsteed
/use [nomounted,mod:alt]Dreadsteed; [nomounted,flyable]Tawny Windrider; [nomounted]Dreadsteed
/dismount [mounted,noflying]

Same concept as the above macro, but will allow you to summon your Dreadsteed by pressing ctrl even in a flyable area, if you so desire. Also enables you to summon a minion of your choice (in this example a Felguard). Replace with your windrider and minion of choice.

/use [mod:ctrl]Dreadsteed; [mod:alt]Summon Felguard; [flyable]Blue Windrider;Dreadsteed
/dismount [noflying,mounted]

Crowd Control

Fear / Banish Focus Macro

This is a rather complex macro, utilizing focus to keep track on the target. Casting fear or banish will hit your target as well as create a focus of which all consecutive fears and banishes will target. Having a dead focus will be treated as if you had no focus.

  • No modifier casts Howl of Terror
  • Alt fears the target
  • Ctrl banishes the target
  • Ctrl+Shift banishes down-ranked
  • Shift clears your focus
/cast [nomod]Howl of Terror
/stopmacro [nomod]
/focus [mod:shift,nomod:ctrl]none;[target=focus,harm,nodead]focus;[harm,nodead];none
/cast [target=focus,mod:alt]Fear;[target=focus,mod:ctrl,mod:shift]Banish(Rank 1);[target=focus,mod:ctrl]Banish

Chain-Fear Focus Macro

  • If you do not have a focus it will set focus on your mouseover target.
  • It will cast fear on your focus.
  • If you do not have a focus, it will cast fear on your target.
  • Will null your focus if you click the macro button with the control key held down, or if your target is dead.
/focus [target=focus, noexists][target=focus, dead] mouseover
/cast [target=focus, exists] Fear; Fear
/stopmacro [nomodifier]
/clearfocus [modifier:ctrl]

Note that if you select the macro picture INV Misc QuestionMark.png the first line of the macro will make this icon the fear spell, and will allow your usual tooltip to display

Pet Macros

All pet abilities in one button / AI

221 characters long to get the most out of all pet abilities, this macro will:
1. If you have a Succubus out, cast Seduction on your focus.
2. If you have an Imp out, cast Dark Pact.
3. if you have a Felhunter out, cast Spell Lock on your focus.
4. If in combat with a voidwalker, cast Dark Pact and then Sacrifice.
5. If out of combat with a voidwalker, cast Consume Shadows and Health Funnel.

/cast [pet:Imp]Dark Pact;[pet:Succubus,target=focus]Seduction;[pet:Felhunter,target=focus]Spell Lock
/stopmacro [nopet:voidwalker]
/cast [combat]Dark Pact;Health Funnel
/cast [nocombat]Consume Shadows;Sacrifice

This is another version of the above macro which has been modified to include all of the most important pet abilities.

/cast [pet:voidwalker,combat] Sacrifice
/cast [pet:Succubus,target=target] Seduction
/cast [pet:Felhunter,target=target] Spell Lock
/cast [pet:Felguard,target=target] Intercept

Imp Dark Pact / No Imp Life Tap

Dark Pact if you have an Imp out, Life Tap if you don't have an Imp out. Depending on your playstyle, this may let you get by with only 1 keybinding for both Dark Pact and Life Tap.

/cast [pet:imp] Dark Pact; Life Tap

Another variant for this macro would be to use Dark Pact if your Imp or Felhunter is out since both have a nice mana pool, otherwise use Life Tap. If you use this macro with ? as icon it will show the icon for the available spell.

#showtooltip [pet:imp/felhunter] Dark Pact; Life Tap
/cast [pet:imp/felhunter] Dark Pact; Life Tap

Fel Domination + Summon Pet

If you are demonologist and have Fel Domination it will cast it and summon the pet you want. Just change (pet you want to summon) with the name of your desired minion, for example /use Summon Voidwalker.

/use Fel Domination
/use Summon (pet you want to summon)

In addition, if you want the ability to summon more than one pet using Fel Domination with only one button, this macro works wonders. Edit for your minion preference. If Fel Domination is not up, it will summon the minion normally. NOTE: if you use the ? mark icon for the macro, you will only see the icon for Fel Domination, although the tooltip will display the correct Summon.

#showtooltip [mod:ctrl] Summon Felhunter; [mod:alt] Summon Voidwalker; [mod:shift] Summon Imp; Summon Felguard
/use Fel Domination
/use [mod:ctrl] Summon Felhunter; [mod:alt] Summon Voidwalker; [mod:shift] Summon Imp; Summon Felguard

Voidwalker management on one button

1. If you do not have a Voidwalker out it will summon it.
2. If you have a Voidwalker and ARE NOT in combat, will cast Consume Shadows and heal Voidwalker.
3. If you have a Voidwalker and ARE in combat, will Sacrifice Voidwalker.

/use [nopet:voidwalker]Summon Voidwalker
/use [pet:voidwalker,nocombat]Consume Shadows
/use [pet:voidwalker,combat]Sacrifice

Voidwalker Health Recovery

Often when soloing with an affliction build, a warlock ends combat with near full health and mana. This quickly gets your voidwalker back up to fighting condition in a single click. If you aren't using your voidwalker or are in combat it acts just like the normal health funnel button.

/cast Health Funnel
/cast [nocombat, pet:Voidwalker] Consume Shadows

Two-button Total Pet Control

With two buttons (macros) you can have total pet control if you make them context sensitive. The point of this is that a keyboard can become utterly cluttered, and requiring more than 2 buttons for 5-6 functions on your pets results in more buttons than preferred being in an unreachable place. Before the macro I'd bind pet function 1 (attack) and 5 to two buttons, but occasionally the situation comes up where the pet needs to be recalled, or needs to be told to stay in a position in sentry mode. Using the mouse + pet bar for these more advanced techniques wastes valuable time, multiple buttons waste valuable pet space. I therefore wrote a macro to bring it all down to two buttons, based on having a target selected or not.

Macro 1:

/petattack [harm]

Macro 2:

/petfollow [pet:succubus]
/cast [harm] Spell Lock
/cast [help] Devour Magic
/cast Seduction
/cast Sacrifice
/cast Intercept
/petstay [noexists]
/petdefensive [noexists]

This allows you to do the following things:

  • Send your pet to attack pressing button 1 while targeting an enemy
  • Get your pet to return to you immediately by deselecting any targets and pressing the same button again
  • Have your pet use its special attack (Seduce, Sacrifice, Intercept, Spell Lock) when you target an enemy with the second button
  • Have your pet (other than the Voidwalker) stay in one place and become aggressive when pressing the second button and no target is selected
  • Have them return again to you and become passive again pressing the first button again
  • You can now re-seduce without the succubus being blocked by an ongoing seduce
  • The Felhunter will attempt to devour Magic on targeted friendlies, and spell lock targeted enemies.

Basically everything you ever need to do with your pet in 2 buttons.

Another 2 button AI system

Button 1:

/cast [help,pet:felhunter] Devour Magic; [pet:felhunter,target=player] Devour Magic; 
[pet:voidwalker,combat] Suffering; [pet:voidwalker,nocombat] Consume Shadows; 
[pet:succubus] Soothing Kiss

Button 2:

/cast [pet:felhunter,target=target] Spell Lock;
[pet:succubus,target=target] Seduction;
[pet:voidwalker,combat] Sacrifice; [pet:voidwalker,nocombat] Consume Shadows;

When Button 1 is pressed, if you have a felhunter up and are targeting a friendly player, he will Devour Magic that player, otherwise he will devour magic on you. If you have a voidwalker up and in combat he will cast Suffering (taunt), otherwise he will cast Consume Shadows (heal). If you have a succubus up, she will cast Soothing Kiss.

When Button 2 is pressed, if you have a felhunter up he will cast Spell Lock on your target. If you have a succubus up, she will cast Seduce on your target, and if you have a voidwalker up, and are in combat he will cast Sacrifice (put in combat to help deture misclicks), otherwise he'll attempt to heal himself.

Note: use the ? as the macro icon and the actual icon per ability will appear.

Pet-casting management with Focus handling

In two macro buttons (controlled by one), below code allow you to manage minions, its pellcasts and automatically adjustable focus.


  • locking focus (if it is not set yet, or focus target is dead)
  • clearing focus (if focus target is dead/not harmable)
  • petattack [nomod]
  • petfollow [shift]
  • petstay [ctrl]+[shift]

[alt] - spellcasts:

  • imp - Fire Shield
  • voidwalker - Sacrifice, [+shift] - Consume Shadows
  • succubus - Seduction (on focus if harmable.. else on target)
  • felhunter - Spell Lock, [+shift] - Devour Magic (on focus if harmable.. else on target)

using Focus advance:

  • [ctrl] - force Minion to change Focus to current target
  • if Focus is set, whatever Minion's current target is, its spellcasts will go on Focus

macro:1 (main macro, only one if shall be key-binded - [r] is good option)

/focus [mod:ctrl,nomod:shift][@focus,noexists][@focus,dead]
/clearfocus [@focus,dead][@focus,noharm]
/click [mod:alt]MultiBarLeftButton9
/petattack [nomod]
/petstay [mod:ctrl,mod:shift,nomod:alt]
/petfollow [mod:shift,nomod:alt]

notice: MultiBarLeftButton9 in the macro means the location of the second macro on action bar. If you have trouble to modify this, here is list of actionbars: Action_bar_button_names.

macro:2 (spellcasts macro, triggerable by main macro)

/cast [pet:Imp]Fire Shield
/cast [nopet:Voidwalker];[mod:shift]Consume Shadows;Sacrifice
/cast [nopet:Succubus];[@focus,harm][]Seduction
/cast [nopet:Felhunter];[mod:shift,@focus,harm][mod:shift]Devour Magic;[@focus,harm][]Spell Lock

Focused Seduction

  • Upon use, the macro will Focus your target, and have your succubus Seduce it.
  • When used for the second time, and your Focused target, i.e. the Seduction target, is alive, it will re-seduce it, regardless of what your current target is. It will not focus your current target, and seduce that; it will re-seduce it's focused target.
  • If used during Seduction, it will break the seduction and re-seduce the focused target.
  • If clicked while "Alt" is being pressed, it will cancel the previous focus and assign a new focus on your current target.
#show Seduction
/clearfocus [modifier:alt] 
/focus [target=focus,noexists]; [target=focus,dead] 
/clearfocus [target=focus,help] 
/cast [pet:succubus,target=focus,exists,harm] Seduction; Seduction

Devour Magic - 3v3 Arena Style

  • On use, this macro will cast Devour Magic on the target specified without breaking your current target.
  • Useful for 3v3 Arenas, requires a middle mouse button.
/cast [pet:Felhunter,button:1,target=party1] Devour Magic; 
/cast [pet:Felhunter,button:2,target=party2] Devour Magic;
/cast [pet:Felhunter,button:3,target=player] Devour Magic;

Again, same thing more space saving, and using modifiers rather than mouse buttons (for those keyboard enthusiasts out there). Normal click will cast it on you, alt+click (or alt+hotkey) will cast it on party member 1, ctrl+click (or hotkey) will cast it on party 2. Since only the Felhunter has Devour Magic, there's no need to ensure that the Felhunter is out. I recommend replacing your normal Devour Magic button on your pet toolbar with one of these.

/cast [mod:alt,target=party1] Devour Magic; [mod:ctrl,target=party2] Devour Magic; [target=player] Devour Magic

Advanced Spell Lock with Focus

  • When used, this macro will focus your current target (if you don't already have a focus) and cast Spell Lock on that target. If shift is held down while using this macro it will focus your current target and cast Spell Lock on that target (changing focus), if you don't have a target it will simply clear your focus. If ctrl is held down while using this macro it will simply Spell Lock the target your mouse is hovering (this way you won't lose your current target).
#showtooltip Spell Lock
/clearfocus [modifier:shift]
/focus [target=focus, noexists]
/cast [nomodifier, pet:Felhunter, target=focus, harm] Spell Lock; [modifier:ctrl, pet:Felhunter, target=mouseover, harm] Spell Lock

Advanced Devour Magic

  • When used, this macro will cast Devour Magic on you. If shift is held down while using this macro it will cast Devour Magic on your current target.
#showtooltip Devour Magic
/cast [modifier:shift, pet:Felhunter] Devour Magic; [pet:Felhunter, target=player] Devour Magic

Pet summon

  • This will consolidate your pets on to one button. As-is, it summons Imp by default, Voidwalker if you hold shift, Succubus with ctrl, and Felhunter with alt.
 /use [nomodifier] Summon Imp
 /use [modifier:shift] Summon Voidwalker
 /use [modifier:ctrl] Summon Succubus
 /use [modifier:alt] Summon Felhunter

Pet Assist -> Grind -> Drain Soul

  • I wanted to maximize my functionality grinding especially pulling multiple mobs but I also wanted to get most of my mana back as well by clicking on my pet's target (which was generally lower hp than the rest). So I made this macro that if the pet is attacking it will cast drain soul, and if even if the pet is not attacking it will still cast drain soul
/cast [exists,target=pettarget] Drain Soul
/cast [exists,nodead] Drain Soul

Stone Management

Create and use Firestone or Spellstone

With 3.0, firestones and spellstones were changed to work like weapon oils. No longer equipped in the relic slot, instead they each have 5 charges and are cast upon your weapon with a one hour duration. This macro will attempt to make a new firestone or spellstone (with alt) and it will also attempt to put the specified stone on your weapon if you already have one. It also closes the annoying "do you want to replace" popup message if you already have an oil or stone on your weapon and disables sound effects so you don't have to hear the click. Change "Master" to "Grand" at level 80.

/console Sound_EnableSFX 0
/cast [mod:alt] Create Spellstone; Create Firestone
/use [mod:alt] Master Spellstone; Master Firestone
/use 16
/click StaticPopup1Button1
/console Sound_EnableSFX 1

Soulstone Macro

This macro will on right click make a soulstone (change for appropriate level), left click, use it and on alt left click cast it on yourself.

#showtooltip Minor Soulstone
/cast [modifier:alt,target=player] Minor Soulstone; [button:1] Minor Soulstone;  [button:2] Create Soulstone

Healthstone and Healing Potion

Note: It is currently impossible to write a macro that will have you use a Healthstone if you have one and a potion if you do not.

  • Left-click uses a Healthstone; right-click a potion named in the macro
  • If you choose an icon for the macro rather than allowing the program to choose one for you, the macro button in your action bar will be grayed if you do not have a Healthstone.
  • In all cases, only the cooldown for your Healthstone will be shown.
/use [button:1] Healthstone; [button:2] Superior Healing Potion

This macro summons a Healthstone if you are not in combat, uses a Healthstone AND potion if you are. Note, depending on whether you have a Healthstone and/or potion in inventory at the time (and applicable cooldowns), you may see error messages. The macro also cannot tell whether you have a Healthstone in inventory or not. These are unavoidable - the macro will still do the best it can. NB: You must edit this to indicate the correct Healthstone and healing potion names.

/use [nocombat]Create Healthstone	 
/use [combat]Lesser Healthstone	 
/use [combat]Lesser Healing Potion

Healthstone use/summon, Ritual of Souls in group

This will allow to use a healthstone with one click, summon with another, however in groups you will cast Ritual of Souls rather than a single summon.

#showTooltip Master Healthstone
/cast [group, button:2] Ritual of souls
/cast [button:2] Create Healthstone
/use [button:1] Master Healthstone

When you first log in it'll show you a red question mark icon until you make your first stone. You can change the first line to "#showTooltip Create Master Healthstone" to fix this, however it will display the number of soulshards remaining instead of healthstone.

Healthstone, Soulstone and Ritual of Souls

Healthstone, Soulstone and Ritual of Souls one button

Your two favorites stones fast and easy to use. To optimize it, select the question mark icon.

/use [nomod, button:1]Fel Healthstone
/cast [nomod, button:2]Create Healthstone
/use [mod:shift, button:1]Demonic Soulstone
/cast [mod:shift, button:2]Create Soulstone
/cast [mod:alt, button:1]Ritual of Souls

Now, left click will use your Healthstone (here, the Fel Healthstone from level 80), and right click will summon it. If you hold shift, left click will use your Soulstone (here it is a Demonic Soulstone, again level 80 version), and right click summon the stone. At last, holding alt will let you begin your Ritual of Souls.

When using first, you'll have just the question mark. Summon a healthstone to get the tooltip upgraded (it won't work for the summoning spells though).


Macros will no longer work due to fundamental changes in the game should be placed below.

Demonology Macros

Instant summoning w/ 2nd click Soul Link

Instant summoning with second click Soul Link and normal cast option

Casts Soul Link on the second click whether casting instantly or normally (Alt). Replace "Imp" to modify for another warlock combat pet.

/cast [nomodifier:alt] Soulburn
/castsequence [nomodifier:alt] Summon Imp, Soul Link
/castsequence [modifier:alt] Summon Imp, Soul Link
  • Validated: 4.2.2
  • No longer be applicable, Soul Link is passive now.