3b1b /manim

Animation engine for explanatory math videos

★ 96,305⑂ 7,916👁 958⑃ 1,018● 1,244▤ 13◈ 177
PythonMITCreated 2015-03-22
96,305
stars
+30
7,916
forks
958
watchers
1,018
prs
1,244
issues
13
releases
177
discussions

README

Manim is an engine for precise programmatic animations, designed for creating explanatory math videos.

Note, there are two versions of manim.  This repository began as a personal project by the author of 3Blue1Brown for the purpose of animating those videos, with video-specific code available here.  In 2020 a group of developers forked it into what is now the community edition, with a goal of being more stable, better tested, quicker to respond to community contributions, and all around friendlier to get started with. See this page for more details.

 Installation
 [!Warning]
 WARNING: These instructions are for ManimGL _only_. Trying to use these instructions to install Manim Community/manim or instructions there to install this version will cause problems. You should first decide which version you wish to install, then only follow the instructions for your desired version.

 [!Note]
 Note: To install manim directly through pip, please pay attention to the name of the installed package. This repository is ManimGL of 3b1b. The package name is manimgl instead of manim or manimlib. Please use pip install manimgl to install the version in this repository.

Manim runs on Python 3.10 or higher.

System requirements are FFmpeg, OpenGL and LaTeX (optional, if you want to use LaTeX).
For Linux, Pango along with its development headers are required. See instruction here.


 Directly

sh
 Install manimgl
pip install manimgl

 Try it out
manimgl


For more options, take a look at the Using manim sections further below.

If you want to hack on manimlib itself, clone this repository and in that directory execute:

sh
 Install manimgl
pip install -e .

 Try it out
manimgl example_scenes.py OpeningManimExample
 or
manim-render example_scenes.py OpeningManimExample


 Linux (Ubuntu/Debian)

1. Install system dependencies.

sh
sudo apt update

sudo apt install ffmpeg
sudo apt install python3-pip
sudo apt install libpango1.0-dev


2. Install a lightweight LaTeX distribution (optional, for LaTeX rendering).

sh
sudo apt install texlive-science texlive-fonts-extra texlive-latex-extra


This lightweight setup is significantly smaller than installing texlive-full
while still supporting most Manim projects.

3. Clone and install ManimGL.

sh
git clone https://github.com/3b1b/manim.git
cd manim

python3 -m pip install -e .

manimgl example_scenes.py OpeningManimExample



  💡 Optional: Using a virtual environment (venv)

It is recommended to use a virtual environment to avoid conflicts with system packages.

sh
sudo apt install python3-venv

python3 -m venv venv
source venv/bin/activate

python3 -m pip install -e .


If python3-venv is unavailable on your system, try installing the version-specific package instead:

sh
sudo apt install python3.12-venv




 Directly (Windows)

1. Install FFmpeg.
2. Install a LaTeX distribution. MiKTeX is recommended.
3. Install the remaining Python packages.
    sh
    git clone https://github.com/3b1b/manim.git
    cd manim
    pip ins

Top issues

Discussions

Latest release

v1.7.2 v1.7.2 2024-12-13
- Added reload functionality by @Splines 
- Updated how configuration is handled
- Change how Tex (and Text) caches generated svg data
- Fix incorrect arg injection in Riemann rectangles by @InakiRaba91 
- Misc. other bug fixes

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON