It would be very unbalanced, especially in the long-run
I understand some of the logic behind this: some cantrips can critically-hit, and those would deal lots of damage when they do hit despite being cantrips. However, what the DM fails to realize is that a Rogue can also do this much damage or more with a Sneak Attack Critical, and on a hit-die (1D8 for the Rogue) that is equal-to or greater-than the three typical dedicated spellcasters: Wizards (1D6), Sorcerers (1D6), or Warlocks (1D8).
This means that a smart-enough Rogue can deal more damage on a critical, has more health than a dedicated spellcaster, and does so on a higher frequency, since, to get Sneak Attack Damage, they have to be rolling to hit on-Advantage (which is why some Rogues never go anywhere without an ally near them), which improves the likelihood of at least one of the dice rolling a Critical.
A Critical Hit doubles the number of dice rolled for damage, or, for some DMs who would rather simplify it, it doubles the amount of damage rolled on the standard amount of dice.
Let's compare:
- The Eldritch Blast Cantrip makes a Ranged Spell Attack and, when it hits, it does 1D10 Damage. The "average" roll for 1D10 is 5-6 points of damage. A Critical Hit would deal 2D10 points of damage, which averages to around 11. This will critically-hit at a 5% chance.
- A Rogue with a Light Crossbow makes a Ranged Sneak Attack, and, when it hits, it deals 1D8 points of damage. The Rogue rolls on Advantage, because they have to be doing so to get the Sneak Attack, and Rolling on Advantage roughly doubles your chance of critting, so, instead of having a 5% chance to roll a 20, the Rogue has ~10% chance to critically-hit. In-Addition, a First-Level Rogue rolls 1D6 in-addition to whatever damage they do, and, when you critically hit, those Sneak Attack Dice are doubled, too. So, that ends-up 2D8(9) + 2D6(7), or with an average damage of 16.
Saving Throw Spells
But there are other spells, yes. These force the opponent into performing a Saving Throw and can never critically succeed or critically fail. Many of them, especially at higher levels, still deal damage when the opponent succeeds their Saving Throw, but don't do as-much or don't cause additional effects.
In a sense, for a damage-dealing capability, the removal of the ability of Attack-Spells to critcally-hit makes them much-less preferable than Spells that cause Saving Throws, since Ranged Spell Attacks on-failure never do damage while most of the Saving-Throw spells are still useful when the opponent succeeds their DC.
But wait, your DM is allowing Critical Successes and Failures on Saving Throws! And this is where the balance really gets broken: Most of the spells that used Ranged Spell Attacks are designed to do moderate single-target damage, while the spells that cause Saving Throws either do a lot of damage and/or bestow a crippling effect on one target, or do a sizable amount of damage and/or a strong effect to multiple. Think of the Cleric's Spirit Guardians spell, which deals 3D8 damage on a failed save and half as much on a successful save. Adding critical successes and fails means that any opponent that enters the area or starts their turn there could take as little as 1/4th damage on a critially-successful save to as much as 6D8 damage on a critically-failed save.
Essentially, this ruling makes a great portion of the spells on the Spell lists much less useful, makes Saving Throw Spells much more preferable, and doesn't compensate the Spell-Attack spells for this reduction in viability.
It's only slightly more powerful than normal, but would make existing spellcasters less special.
To begin with, you're giving every character something else on top of their race, class and background abilities. This is by definition going to make them more powerful or versatile than standard, if only slightly.
How much more powerful? Not hugely. Cantrips are already available to a 1st-level party and elves already get one wizard cantrip for free, so it's not entirely beyond the range of capabilities of a 1st-level character.
In terms of effectiveness, assuming the players will naturally choose optimal spells:
- The fighter normally deals 1d8 with a longbow or 1d10 with a heavy crossbow. A fighter who learns fire bolt will deal 1d10 damage. At higher levels they will deal more damage, but they would have had multiple attacks with weapons anyway.
- The fighter who takes true strike will use it to gain advantage at the start of every combat encounter where they party has the element of surprise to prepare buff spells. However, in such a situation they may already be ruled to have advantage from having surprise.
- Any character might take spare the dying, which will prevent wounded characters from dying. This seems entirely reasonable to me.
- More characters will find it easier to deal elemental type damage against creatures who are resistant to weapons.
- More characters will be able to inflict tactical penalties like shocking grasp preventing reactions or thorn whip's ability to pull creatures closer.
All in all, this isn't massively overpowered (but beware of of other sourcebooks, which may add spells intended for a wizard that are overpowered in the hands of a fighter).
The main issue here is that you're handing out other classes' abilities, which makes spellcasters less special. A wizard at 1st level has only two 1st level spells per day and his main utility after that consists of three cantrips. If you give everyone a cantrip, you're breaking the separation of party roles and making the party's arcane spellcasters less important.
Best Answer
No.
Since the Feat Magic Initiate grants 2 cantrips, giving the choice of gaining a single cantrip instead would be worse than granting a Feat.