Guide · Open source
How to use manim: install ManimGL and render your first scene
Updated · written with AI from the project's own documentation and checked against our catalogue data
Manim is a Python engine for precise, code-driven animations, built by the creator of 3Blue1Brown to make explanatory math videos. You describe objects and how they move in code, and Manim renders that code as animated scenes. This guide covers the ManimGL version from the 3b1b repository, how to install it, how to run your first scene and which command-line flags are worth knowing.
Quick start
- 1Check your Python version. Confirm you have Python 3.10 or higher before installing, since Manim requires it.
- 2Install system dependencies. Install FFmpeg and OpenGL, and LaTeX if you want LaTeX rendering. On Linux, also install Pango and its development headers.
- 3Install ManimGL. Run pip install manimgl to install the package from PyPI.
- 4Try the preview window. Run manimgl to confirm the install works.
- 5Run the example scene. Run manimgl example_scenes.py OpeningManimExample to open a window playing a simple scene.
- 6Write your own scene. Create a Python file describing your objects and animations, then render it with the -w or -o flag.
Check whether this is the version you want
This repository is the original ManimGL version, which began as a personal project by the author of 3Blue1Brown. In 2020 a group of developers forked it into the Manim Community edition, which aims to be more stable, better tested and friendlier to start with.
The package name matters. Install this version with pip install manimgl, not manim or manimlib. Do not mix the install instructions of the two versions.
- Choose ManimGL if you want the code behind 3Blue1Brown-style videos or an interactive preview window.
- Choose the Community edition if you need the more stable, well-tested option.
Install the system requirements
Manim runs on Python 3.10 or higher. It also needs FFmpeg and OpenGL. LaTeX is optional and only needed if you want LaTeX rendering. On Linux, Pango and its development headers are required.
On Ubuntu or Debian, the README lists these packages for system dependencies, plus an optional lightweight LaTeX setup. On macOS it suggests installing FFmpeg and LaTeX with Homebrew. On Windows it suggests installing FFmpeg and MiKTeX for LaTeX.
- Python 3.10 or higher
- FFmpeg
- OpenGL
- LaTeX (optional, for LaTeX rendering)
- Pango and its development headers (Linux)
sudo apt update
sudo apt install ffmpeg
sudo apt install python3-pip
sudo apt install libpango1.0-devInstall ManimGL with pip
For the simplest install, use pip from PyPI. After installing, run the manimgl command to try it out.
If you want to modify manimlib itself, the README suggests cloning the repository and running pip install -e . from inside the directory instead. Using a virtual environment is recommended to avoid conflicts with system packages.
# Install manimgl
pip install manimgl
# Try it out
manimglRun your first scene
Scenes are Python files. The README uses example_scenes.py from the repository, which you can run with the scene name OpeningManimExample. This should open a window playing a simple scene.
To learn the syntax, animation types and object types, look through the example scenes in the documentation. The 3b1b/videos repository contains the code for 3Blue1Brown videos, though older code may not work with the most recent version of manim.
manimgl example_scenes.py OpeningManimExampleUse the command-line flags
The CLI has flags for writing output, skipping ahead and changing the window. Use them to render a file instead of only previewing, or to save just the final frame as an image.
- -w writes the scene to a file.
- -o writes the scene to a file and opens the result.
- -s skips to the end and shows the final frame.
- -so saves the final frame to an image and shows it.
- -n <number> skips ahead to the n'th animation of a scene.
- -f makes the playback window fullscreen.
manimgl example_scenes.py OpeningManimExample -wConfigure output with custom_config.yml
Manim reads custom_config.yml for configuration. You can edit the file in the repository, or create another file with the same name in the directory where you run manim. Settings can cover where videos are output, where image and sound files are read from, and default style and video quality.
The README links to the 3b1b/videos config file as an example of a real setup.
What people use it for
- Making explanatory math videos with precise, code-controlled animation.
- Building repeatable, scripted diagrams for teaching.
- Studying or reusing the code behind 3Blue1Brown videos.
- Previewing scenes in an interactive window while you build them.
Frequently asked questions
Is manim free to use?
Yes. The repository is licensed under the MIT license, which the README states as the project license.
What do I need to install manim?
Python 3.10 or higher, FFmpeg and OpenGL. LaTeX is optional, for LaTeX rendering. On Linux, Pango and its development headers are also required.
What is the difference between manim and ManimGL?
This repository is the original ManimGL version by the 3Blue1Brown author. The Manim Community edition is a fork started in 2020 that aims to be more stable and better tested. Install the one you want by its own instructions, since mixing them causes problems.
Why does pip install manimgl instead of manim?
The package name for this version is manimgl. The README says that manim or manimlib are not the right names for this repository.
How do I render a video file instead of just previewing?
Add the -w flag to write the scene to a file, or -o to write it and open the result. The -s and -so flags save only the final frame.
Do I need to know Python to use manim?
Yes. The README says scenes are written in Python, so manim is not a drag-and-drop video editor.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Manim (ManimGL) suits programmers and educators who want precise, scripted math or science animations and can handle several system dependencies. If you want a drag-and-drop editor, or a version that is more stable and well tested, the README points to the Manim Community edition instead.
Install options & downloads