In general, the 5E rules treat level and CR as rough equivalents. For example, spells like polymorph restrict you to forms of CR equal to or less than the target's CR or level.
The thing to keep in mind about the NPC statblocks is that they are designed to serve a role. They are meant as possible allies and fun opponents, that can be run by a DM whose attention is split between multiple combatants. They are not combat-optimized and they don't have the full array of abilities for a PC of that level. For the spellcasters, you can see this in their spell selections and stats. That's why their CR is often lower than their putative level.
If you build an NPC spellcaster using the PC rules, and optimize the character as you would a PC of that level (pump the casting stat as high as you can, take feats, etc.), I would use CR = level. But be very careful doing that. PCs have relatively low hit points and high damage output, so pitting PCs against NPCs built using the same rules risks turning into rocket tag.
The thing to keep in mind about the NPC statblocks is that they are designed to serve a role. They are meant as possible allies and fun opponents, that can be run by a DM whose attention is split between multiple combatants. They are not combat-optimized and they don't have the full array of abilities for a PC of that level. For the spellcasters, you can see this in their spell selections and stats. That's why their CR is often lower than their putative level.
If you build an NPC spellcaster using the PC rules, and optimize the character as you would a PC of that level (pump the casting stat as high as you can, take feats, etc.), I would use CR = level. But be very careful doing that. PCs have relatively low hit points and high damage output, so pitting PCs against NPCs built using the same rules risks turning into rocket tag.
Last edited: