
Manim
A Python engine for writing programmatic animations, mainly for explanatory math videos.
- Stars
- 42.1k
- Forks
- 3.3k
- Licence
- MIT
- Language
- Python
- Last update
- 4 days ago
- Type
- Library
What it is
Manim is an animation engine for explanatory math videos. You write Python code that describes objects and how they move or change, and it renders them into video. It is the community-maintained fork of the tool used to make 3Blue1Brown videos.
- Write a Scene class that morphs one shape into another and render it to video
- Render quick low-quality previews with the -ql flag while iterating
- Use the %%manim IPython magic to create animations inside Jupyter notebooks
- Skip to a final frame with -s to produce a still image of a scene
Great for
- Programmers who want to make math or science explainer videos
- Educators who prefer scripting animations over manual video editing
- People comfortable with Python who want precise, repeatable animations
- Anyone who wants to try it first in the online Jupyter environment linked in the README
Not ideal for
- People who need a point-and-click video editor, since Manim is driven by code
- Users who want to follow 3b1b's own repository instructions, because the README warns that the two versions are incompatible for installation
- Anyone looking for finished, detailed documentation, since the README says documentation is still in progress
How to get it
- 1
Install with a package manager
You'll need: Python
Try it online without installing
https://try.manim.community/ - 2
Run it
- Save the example SquareToCircle scene from the README into a file called example.py
- Run: manim -p -ql example.py SquareToCircle
- Wait for the video to render; the README says your video player should open and show a square turning into a circle
- 3
Get the most out of it
- Use -s to render only the final frame when you just need a still image
- Use -n <number> to jump to a specific animation within a scene
- Use the %%manim magic in JupyterLab or classic Jupyter notebooks
- Check the official gallery and example scenes for more advanced examples
- Read the configuration guide for a full list of command line arguments
Downloads
Strengths
- Animations are defined in code, so they are precise and repeatable
- Has an active community with Discord and Reddit channels for help
- Available via PyPI and Docker, with an online Jupyter option to try it first
Trade-offs
- The README says the project is undergoing a major refactor, and new feature contributions are not being accepted during this period
- Documentation is described as in progress, so some setup details must be found on the external docs site
- Requires Python programming knowledge to make anything
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| manim (this) | 42.1k | Library | intermediate | 4 days ago | Programmers who want to make math or science explainer videos |
| manim | 96k | Library | intermediate | 2 months ago | Programmers who want to make math or science explainer videos with precise, code-controlled animation |
| gpu.js | 15.5k | Library | intermediate | 6 days ago | Developers who need to speed up large numeric computations in the browser |
| LeetCode-Go | 33.8k | Learning resource | beginner | 24 days ago | Developers practicing LeetCode problems in Go |
| Hero | 22.5k | Library | intermediate | 1.8 years ago | iOS developers who want custom screen transitions without writing UIKit animation code by hand |
| KaTeX | 20.5k | Library | beginner | 7 days ago | Website builders who want readable equations in articles, docs or course pages |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.