ManimCommunity/manim
Media & DesignPython framework for programmatically rendering precise mathematical animation videos, aimed at educators and technical content creators.
What it is
Manim is a Python animation engine for explanatory math videos. You describe scenes in code—shapes, text, transforms, camera moves—and render them as video files, so animations stay precise and reproducible instead of being assembled by hand. It suits teachers, students, researchers and technical creators who want to explain mathematical ideas visually.
This is the community-maintained edition (ManimCE), forked from Grant Sanderson's original 3b1b/manim and developed independently. The README recommends this version for its continued development, documentation and community maintenance, while pointing to the original repository for studying how 3Blue1Brown videos are made.
Quick start
Prerequisites: Python and Manim's system dependencies (for example LaTeX and FFmpeg); the exact packages differ by operating system. To try it without a local install, use the online Jupyter environment. For a local setup, follow the installation guide for your platform.
Save this scene as example.py:
from manim import *
class SquareToCircle(Scene):
def construct(self):
circle = Circle()
square = Square()
square.flip(RIGHT)
square.rotate(-3 * TAU / 8)
circle.set_fill(PINK, opacity=0.5)
self.play(Create(square))
self.play(Transform(square, circle))
self.play(FadeOut(square))
Then render and preview it at low quality:
manim -p -ql example.py SquareToCircle
The -p flag opens the rendered video in your player after rendering, and -ql renders faster at lower resolution. A video player should open and show a square transforming into a circle. More small scenes are in the example scenes directory, and the official gallery has advanced examples.
In JupyterLab or classic Jupyter, the bundled %%manim IPython magic renders scenes directly in a notebook; see the IPython magic documentation and the Binder notebook.
Command line basics
The general form is manim [flags] <file> <SceneName>. Besides -p and -ql, useful flags include -s to render only the final frame, -n <number> to jump to the n-th animation of a scene, and -f to open the output location in a file browser. The full flag list is in the configuration guide.
Constraints and caveats
- Manim and the original 3b1b/manim have different installation instructions; mixing them causes problems. Decide which version you need before installing (installation FAQ).
- Rendering math animations depends on external tools such as LaTeX and FFmpeg, and low-quality previews are much faster than final-quality exports.
- A Docker image (
manimcommunity/manim) is maintained for containerized use; see the Docker instructions. - The project is undergoing a major refactor, and new-feature contributions are generally not accepted during this period; discuss contributions on Discord first (contributing guide).
- The software is double-licensed under MIT, with copyright held by 3blue1brown LLC and by the Manim Community Developers.
HotRepo's take
Manim has broad traction: the community edition's 2021 Hacker News thread drew 576 points and 67 comments (discussion), where commenters framed it as a more actively maintained fork of 3Blue1Brown's animation library (comment). One recurring point in that thread was that the relationship between the two versions could be clearer (comment); the current README addresses this directly with a version-selection warning. In HotRepo's Python daily snapshot for 2026-11-15, the project added 73 stars in a day and reached 13th place on that list, which is a single-day observation rather than a trend. For readers who want code-driven math visuals rather than a timeline editor, it is a mature and well-documented starting point.
Written by AI from the project's README, updated . The project's own docs are the source of truth.