The math videos creator 3blue1brown has a webpage and in the FAQ section he goes into detail about how we went about creating his videos. Here's his answer for the question "What do you use to animate your videos?"
I create most of the animations programmatically, using a python
library named "manim" that I've been building up. I’ve also used
Grapher for a number of 3d animations.
It’s open-source on github, and a small community has emerged of
people who use it, but before you dive in I feel like a warning is in
order. This is something I put together with my own use case in mind,
never really meant to be a professional product that’s consistently
maintained for others. It's not that I want to discourage others from
doing similar things, quite the contrary I love when that happens, but
often my workflow and development with manim can make it more
difficult for an outsider to learn than other better-documented
animation libraries, like Matplotlib and Mathematica, or other tools
built for math visualization like Geogebra, Desmos, Grapher and more.
I also get worried when I hear people ask things like “how do I sync
up narration into manim”. This is just a tool for spitting out the
individual mathematical animations to be edited together later. For
goodness sake, use traditional video editing software for as much as
There are aspects of producing videos with a self-made tool like this
that I find quite pleasing, but which are pleasing precisely because
it's my own. It enforces a uniqueness of style, for example, which is
by its very nature a benefit that can't be shared. There's also a
certain freedom in being able to tear up the guts of the tool every
now and then when I feel a change is in order, since backward
compatibility needs are very limited when you only care about videos
moving forward. Not exactly the best practice from a collaborative
The channels I know who took inspiration from 3b1b and did it best,
like Primer or Jazon Jiao, found or created the tooling that worked
best for their particular content.