Suppose I'm running a one-shot that starts at level 9, and I instruct players to generate characters using any officially published Sourcebooks to create their characters.

One of my players chooses to create a Sorcerer, and when they hand me their Spell List, they've generated this character with the following spells:

  • Burning Hands (1st)
  • Flame Arrows (3rd)
  • Greater Invisiblity (4th)
  • Ice Storm (4th)
  • Stoneskin (4th)
  • Vitriolic Sphere (4th)
  • Control Winds (5th)
  • Dominate Person (5th)
  • Far Step (5th)
  • Immolation (5th)

Looks fine, right? Ten spells in total, which is correct for a 9th level Sorcerer, and no spells are higher than 5th level.

...... Except they have way too many 5th level spells! By the normal rules of how Sorcerers generate spells, it's not possible to have more than 2 5th level spells known at level 9.

Spells Known of 1st Level and Higher

You know two 1st-level spells of your choice from the sorcerer spell list.

You learn an additional sorcerer spell of your choice at each level except 12th, 14th, 16th, 18th, 19th, and 20th. Each of these spells must be of a level for which you have spell slots. For instance, when you reach 3rd level in this class, you can learn one new spell of 1st or 2nd level.

Additionally, when you gain a level in this class, you can choose one of the sorcerer spells you know and replace it with another spell from the sorcerer spell list, which also must be of a level for which you have spell slots.

So that's an easy one, right? But what about a list that looks like this:

  • Burning Hands (1st)
  • Flame Arrows (3rd)
  • Fly (3rd)
  • Blight (4th)
  • Greater Invisiblity (4th)
  • Ice Storm (4th)
  • Stoneskin (4th)
  • Vitriolic Sphere (4th)
  • Dominate Person (5th)
  • Far Step (5th)

This still isn't right! The number of 5th level spells is possible for a 9th level Sorcerer, but with the total number of 4th level spells, they still know too many high level spells for their level.

Now, I can spend a half hour doing the math, trying to work out whether their chosen spells line up with what's possible for a Sorcerer, but that's a lot of busywork for me. Does there exist a simple rule or table I can follow to validate whether a Sorcerer's Known Spells are valid for their level?

Note that I've only specified Sorcerers, but practically speaking, this is just as valid a question for Bards, Warlocks, Eldritch Knights, and Arcane Tricksters, since they use nearly-identical schemes for learning spells.

  • 1
    \$\begingroup\$ Even if he could use this list (not by RAW) it is a very bad idea. What would he do after the third combat round? Or the 6th, if he traded all the 1-3 slots to sorcery points and back to high level slots. You should let him use the first list, that would be its own punishment \$\endgroup\$
    – András
    Commented Sep 18, 2018 at 6:56
  • \$\begingroup\$ @WakiNadiVellir That's a reasonable thing to request. "Show me how this character got to this point." Put it on them to explain why it's a legit list. \$\endgroup\$ Commented Sep 18, 2018 at 21:35
  • \$\begingroup\$ Programming Puzzles & Code Golf decided to help you check if a spell list is valid for a sorcerer level... with programs... in the less bytes possible ;) \$\endgroup\$ Commented Sep 20, 2018 at 11:59

5 Answers 5


Yes, there is a table.

This is the rule causing all the headache:

Additionally, when you gain a level in this class, you can choose one of the sorcerer spells you know and replace it with another spell from the sorcerer spell list, which also must be of a level for which you have spell slots.

Spells Learned Normally]

In the first table, we simply tabulate all the opportunities to learn a spell normally.

Spell Opportunities for Replacement

In the second table, we assume that the player is always replacing a spell of their lowest level. While this might not be the case, this assumption allows us to get a meaningful upper bound for their highest levels of spells known.

Table 3: This is the Final Answer to the Primary Question

Maximum Spell Count Adjusted for Replacing at Each Level

In this third table, we assume that we are ALWAYS applying replacement and that we are replacing our lowest levels of spells known. This gives us the upper bound for how many spells of the highest levels we can have. If the player has fewer spells of those highest levels, they can have instead the remaining as lower-level spells.

For example, at level 20, it's possible to have five level 9 spells. If instead, the player had four level 9 spells, they could have that vacancy filled with a level 8th or lower spell.

In the case of a 9th level caster, which is relevant to you, we have the following upper limits:

Level 3: 4 known spells
Level 4: 4 known spells
Level 5: 2 known spells

Since this is an upper bound, you should read this like so instead:

4 spells of Level 3 or lower
4 spells of Level 4 or lower
2 spells of Level 5 or lower

I hope this helps.

How to construct this table for other archetypes/classes

Table 1: Spells Learned Normally

For this table, we populate every row with a count of how many spells of each spell level a character learns at the current character level. We assume that characters always pick the spell of the highest possible spell level. While they can always pick a spell of lower level, we can account for it later.

In the case of Bards, we should see 4 Level 1 spells, and 0 of every other spell level for Character Level 1. In the case above, Sorcerers have 2 at level 1.

Also, any spells gained through features like the Divine Soul Sorcerer should be included at the level they are gained.

Calculate the totals at the bottom to make some of the next steps more easily.

Table 2: Highest-Possible Replacements at each Level

This table is going to have, for each Character Level, their highest possible substitution. A negative value in a cell means that at the current character level, that many spells of that Spell Level were replaced. A positive value in a cell means that at the current character level, that many spells of that Spell Level were acquired through replacement.

Currently, only Arcane Tricksters, Artificers, Bards, Eldritch Knights, Rangers, Sorcerers, and Warlocks are the only classes that have a replacement clause for a Spell Known feature, and all of them only replace one spell at a time. Therefore, you should only have a single -1 and a single 1 per row.

The positive 1 will always be in the column of the highest possible Spell Level knowable, if it's anywhere at all. We're assuming we always replace maximally. On a level where we can't do a replacement, there won't be one in the column.

The negative 1 (-1) will depend on the totals for that column in Table 1 (how many times we normally learned a spell of this level) and how many past opportunities were used to acquire a spell of this level through replacement (how many times we learned a spell of this level through replacement).

At the current character level, go left to right.

  • If we followed the replacements for all the levels before this, would we still know a spell of this level?
    • If so, -1.
    • If not, blank or 0.

For classes like Arcane Trickster, there may be rows which are blank because there's no way to replace a Spell Known and end up with a higher level spell known. For Arcane Trickster, this happens at Level 11. This is fine. This just means that by this point, the character has had the opportunity to replace all their lower level spells with spells of the highest level so there's nothing to do.

To know that you are doing it right, try it on Arcane Trickster and you should notice a vertical bar of four -1s in the Spell Level 1 column and a vertical bar of eight -1s in the Spell Level 2 column with a gap of two character levels between them at Character Level 11 and 12.

Table 3: Upper Bounds for Spells Known Counts

We use the two previous tables together to create this third table. This table has the Upper Bounds for how many spells of each level the character can know.

We get the values of each cell by summing vertically both tables up to the Level-th row. If you're not sure on how to do this, do it step-by-step:

  • At the current player level
    • At the current Spell Level
    • Add up each number in that column, but before that row, in Table 1.
    • Do the same for Table 2.
    • Add those numbers together.
  • Do that for every Player Level and Spell Level, skipping obviously blank table cells.

For Excel users, you can use the following formula =SUM(A$1:A1)+SUM(X$1:X1) for the top-left cell of Table 3 where A1 is the top-left data cell of Table 1 and X1 is the top-left data cell of Table 2. Then, use the auto-fill drag to spread that formula to all other cells and the relative formula will do it for you.

Interpreting Table 3

Again, as with the Sorcerer, the values on the row corresponding to character level tell you how many spells of each level or lower the character can have. The reason we need to qualify or lower is because any time you can pick a high-level spell, you can pick a lower one to learn instead. But these numbers act as an upper limit to how many spells of the highest levels a character can have.

Here is the Table 3 for Arcane Trickster made using this method.

enter image description here

We would therefore say that for a 13th-Level Arcane Trickster, they know

7 spells of Level 2 or lower
2 spells of Level 3 or lower

This means that three Level 1s, three Level 2s, and three Level 3s is not a valid breakdown of spells known levels for that level whereas four Level 1s, three Level 2s, and two Level 3s is.

  • 3
    \$\begingroup\$ +1 I ran the numbers and got the same results as the third table in this answer. Since you can always opt to learn a lower level spell, any combination below these upper bounds is also valid. \$\endgroup\$ Commented Sep 17, 2018 at 22:04
  • 2
    \$\begingroup\$ I was planning on self-answering my question with a table similar to what you've got here, but I think your version is much better than mine is! \$\endgroup\$
    – Xirema
    Commented Sep 17, 2018 at 23:39
  • 3
    \$\begingroup\$ @Xirema: Slight aside - May be worth pointing out to the player that they do no favours to themselves picking too many high level spells because its their spell slots that determine which of those spells they can cast. By choosing mainly high-level spells, when they run out of higher slots they will be very limited in what they can do. Your player, once they have only 1st and 2nd level slots left will only be able to cast Burning Hands! \$\endgroup\$
    – PJRZ
    Commented Sep 18, 2018 at 6:54
  • 1
    \$\begingroup\$ While the answer might be right the first 2 tables are really confusing matters in my eyes. \$\endgroup\$
    – SeriousBri
    Commented Sep 18, 2018 at 8:20
  • 1
    \$\begingroup\$ @SeriousBri The first two tables were added to show process. Using both tables together, we construct the third (by summing vertically both tables up to the Level-th row). This was done to be general and extensible to other classes who have similar, yet different enough, spell learning schemes. For example, Bard learns an additional spell at level 10 and does not skip learning spells at level 14 and 18 due to Magical Secrets. Hence, Bard's first table would be altered. Bard also begins with 4 spells known. As a result, the second table would have more opportunities to replace 1st level spells. \$\endgroup\$
    – Axoren
    Commented Sep 18, 2018 at 12:34

Simple! Here are 2 different ways of doing it.

Counting maximum number of spells

Ok, so let's see how Sorcerer gets spells.

enter image description here

Sorcerers learn 1 spell each level. They can also swap out 1 spell per level. So now we count, for each spell level, how many spells they could have. For sorcerer, its quite easy, it's just 2 spells per level with that spell slot.

  • Level 2 (or lower): 4 spells
  • Level 3 (or lower): 4 spells
  • Level 4 (or lower): 4 spells
  • Level 5 (or lower): 2 spells

Now we go backwards, starting at the highest spell level. Your sorcerer has a valid number of 5th level spells. Then 4th level. We see that it is invalid, he can't have 5 of them.

Imagine now that he actually had some level 3 spell instead of Far Step (5th). Following the same algorithm, he had a valid number of "Level 5 (or lower)" spells (one of 5th level, and one of 4th). Then there are 4 lvl4 spells, also valid. Then 3 lvl3 spells, also valid.

Seems complicated, but its just summing a few times.

Matching spells

Ok, so let's see how Sorcerer gets spells.

enter image description here

Sorcerers learn 1 spell each level. If no spells were relearned, then he should have the following 10 spells:

1 1 1 2 2 3 3 4 4 5

So, your list contains

1 3 3 4 4 4 4 4 5 5

We can scratch those that match right away (in bold), and your list is reduced to

_ _ _ 4 4 4 _ _ 5 _

So now all we have to is count how many levels there have been where the player has slots of levels 4 and 5. You don't repeat levels (since you can only switch 1 spell per level). If the amount of levels is smaller than the amount of unmatched spells, then it is an invalid spell selection. It is easier to do this backwards, starting with higher levels.

In your case, the player has 1 level with a 5th level slot. Meaning that the single unmatched 5th lvl spell is valid. After this, the player has 2 levels with a 4th level slot. Because he has 3 lvl4 spells, then this character is not valid.

  • \$\begingroup\$ I think your previous rule was simpler, to be frank. I hadn't fully thought it through before you edited it out, so I'll have to check the edit history to confirm it works. However if it works, I definitely think your answer could be improved if you re-added that pattern rule. \$\endgroup\$
    – Axoren
    Commented Sep 17, 2018 at 22:05
  • \$\begingroup\$ @Axoren Added! I thought it was simpler, but I guess opinions may differ :p Test it out, let me know if I messed up \$\endgroup\$
    – BlueMoon93
    Commented Sep 17, 2018 at 22:07

For the purpose of quickly checking whether a particular spell list is valid, it helps to sort the spell levels in ascending order. First, get the list of valid spell levels (Axoren's answer has these; I also include them at the bottom of this answer). Then line up the spell levels side by side, like this (I will use the level and list from the question's second example):

3333444455 (allowed)
1334444455 (chosen)

If any of the numbers on the second line are greater than the number above it, then the spell list is invalid. You can see that this spell list has one invalid spell (the 4 with a 3 above it).

For convenience, here are the spell level lists for every sorcerer level, formatted for use with this method:

  1. 11
  2. 111
  3. 1122
  4. 12222
  5. 222233
  6. 2223333
  7. 22333344
  8. 233334444
  9. 3333444455
  10. 33344445555
  11. 334444555566
  12. 344445555666
  13. 4444555566677
  14. 4445555666777
  15. 44555566677788
  16. 45555666777888
  17. 555566677788899
  18. 555666777888999
  19. 556667778889999
  20. 566677788899999

Simple solution to more easily validating the characters, not limited to Sorcerer spell list:

Request players to create their characters level-by-level, providing a list on paper showing what they added each level. Then you can easily see if they added anything which is not legit.

Downside of this is, it's a bit of work for players. But this too is actually a good thing, or can be. Unless they are really seasoned players and know the system, then they get to know their character and its abilities this way, and can play it much better. I have played characters directly created to a high level, and I felt it took something away from the game, compared to building them up level-by-level, but this is of course very subjective.

  • 2
    \$\begingroup\$ Given that they are supposed to build the character this way (level-by-level) anyway, it seems like a pretty reasonable request to make beforehand. :) \$\endgroup\$
    – V2Blast
    Commented Sep 19, 2018 at 5:08

This is not very feasible.

Due to the fact that Sorcerers, and other "learning" casters, can swap out the spells they already know for a different one they can cast, this means that there is a large number of possible values.

Take, for example, a level 5 sorcerer, who can cast up to level 3 spells. At sorcerer level 3, they would be able to swap out one of their level 1 spells for a level 2 spell. Every sorcerer level after that, they could technically swap out every 1st level spell for another spell. By level 5, a Sorcerer could technically have no level 1 spells.

In addition, the sorcerer can opt to learn spells not of a higher spell level and instead learn a new spell of lower level.

A sorcerer, at level 5, could have anywhere between 0-6 level one spells, 0-6 level two spells, and 0-2 level three spells.

The only reasonable thing that we can feasibly determine is what the maximum possible number of known spells of the maximum spell levels available are.

  1. Level 3: Spell level 2: 2 possible
  2. Level 4: Spell level 2: 4 possible
  3. Level 5: Spell level 3: 2 possible
  4. Level 6: Spell level 3: 4 possible
  5. Level 7: Spell level 4: 2 possible
  6. Level 8: Spell level 4: 4 possible
  7. Level 9: Spell level 5: 2 possible
  8. Level 10: Spell level 5: 4 possible
  9. Level 11: Spell level 6: 2 possible
  10. Level 12: Spell level 6: 3 possible
  11. Level 13: Spell level 7: 2 possible
  12. Level 14: Spell level 7: 3 possible
  13. Level 15: Spell level 8: 2 possible
  14. Level 16: Spell level 8: 3 possible
  15. Level 17: Spell level 9: 2 possible
  16. Level 18: Spell level 9: 3 possible
  17. Level 18: Spell level 9: 4 possible
  18. Level 18: Spell level 9: 5 possible

For Sorcerers, there does seem to be a barebones pattern for the maximum spell level capacity. Their maximum spell level is determined by their sorcerer level, divided by 2, rounded up.

  • If they're level 18+, they gain no new spell levels or spells learned.
  • If they're level 11 or less:
    • If you had to round up, the maximum they can have of their highest spell level is 2. Otherwise, it's 4.
  • If they're level 12 or more:
    • If you had to round up, the maximum they can have of their highest spell level is 2. Otherwise, it's 3.

Because of the limited number of spells known to Sorcerers, this pattern is only feasible with them. Bards, on the other hand, can know 7 more spells, and their pattern is a lot more sporadic.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .