Skip to content

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
Step-by-step guide: how to use ManimInstall, first run, examples, tips and FAQs

How to get it

  1. 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 manimgl

    Try it out

    manimgl
  2. 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. 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

ProjectStarsTypeLevelUpdatedBest for
manim (this)96kLibraryintermediate2 months agoProgrammers who want to make math or science explainer videos with precise, code-controlled animation
manim42.1kLibraryintermediate4 days agoProgrammers who want to make math or science explainer videos
moviepy15.1kLibrarybeginner2 months agoPython developers who want to automate video edits, such as batch trimming or adding titles
motion-canvas19.6kFrameworkintermediate4 months agoDevelopers who are comfortable with TypeScript and want code-driven animation
auto-animate14kLibrarybeginner4 months agoFrontend developers who want polished list or menu transitions without writing animation code
barba13kLibraryintermediate1.9 years agoDevelopers 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.