
Manim
Python engine for precise programmatic math animations, built for explanatory videos.
- Stars
- 96k
- Forks
- 7.9k
- Licence
- MIT
- Language
- Python
- Last update
- 2 months ago
- Type
- Library
What it is
Manim is a Python engine where you write code describing objects and how they move, and it renders those scenes as animated videos. It was built by the creator of 3Blue1Brown to make explanatory math videos. This repository is the original "ManimGL" version; a separate community fork also exists.
- Write a Python scene that animates equations or shapes and render it to a video file
- Preview a scene in a live window while you adjust timing and layout
- Render only the final frame of a scene as an image using the -so flag
- Reuse example scenes or the 3b1b/videos code as a starting point
Great for
- Programmers who want to make math or science explainer videos with precise, code-controlled animation
- Educators comfortable with Python who need repeatable, scripted diagrams
- People who want to study or reuse the code behind 3Blue1Brown videos
- Developers who want an interactive preview window while building scenes
Not ideal for
- Non-programmers wanting a drag-and-drop video editor, since scenes are written in Python
- People who need the more stable, well-tested version; the README points to the Manim Community edition for that
- Anyone unwilling to install FFmpeg, OpenGL and optionally LaTeX, since setup has several system dependencies
How to get it
- 1
Install with a package manager
You'll need: Python 3.10 or higher · FFmpeg · OpenGL · LaTeX (optional, for LaTeX rendering)
Install ManimGL from PyPI
pip install manimglTry it out
manimgl - 2
Run it
- Install Python 3.10 or higher, FFmpeg and OpenGL
- Run pip install manimgl
- Run manimgl example_scenes.py OpeningManimExample to open a window playing a sample scene
- Use the -w flag to write the scene to a file
- 3
Get the most out of it
- Browse the example scenes in the documentation to learn the syntax and object types
- Use the -o flag to write a scene to a file and open the result immediately
- Edit custom_config.yml, or place your own custom_config.yml in your working directory, to set output locations and default quality
- Check the 3b1b/videos repo to see real production code and its interactive workflow setup
Downloads
Strengths
- MIT licensed and open source
- Scenes are plain Python code, so animations are reproducible and version-controlled
- Large community with a Discord, subreddit and a Chinese-language documentation mirror
Trade-offs
- The README says documentation is still in progress
- Installation requires system tools (FFmpeg, OpenGL, optionally LaTeX and Pango) and can be fiddly
- Code from older 3b1b videos may not work with the latest version, per the README
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| manim (this) | 96k | Library | intermediate | 2 months ago | Programmers who want to make math or science explainer videos with precise, code-controlled animation |
| manim | 42.1k | Library | intermediate | 4 days ago | Programmers who want to make math or science explainer videos |
| moviepy | 15.1k | Library | beginner | 2 months ago | Python developers who want to automate video edits, such as batch trimming or adding titles |
| motion-canvas | 19.6k | Framework | intermediate | 4 months ago | Developers who are comfortable with TypeScript and want code-driven animation |
| auto-animate | 14k | Library | beginner | 4 months ago | Frontend developers who want polished list or menu transitions without writing animation code |
| barba | 13k | Library | intermediate | 1.9 years ago | Developers adding animated transitions to an existing multi-page website |
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.