explaingit

3b1b/manim

Analysis updated 2026-06-20

86,619PythonAudience · researcherComplexity · 3/5Setup · hard

TLDR

Manim is a Python library for creating precise, programmatic math and explanatory animations, you describe what to draw and how to animate it in code, and Manim renders it as a video file.

Mindmap

mindmap
  root((Manim))
    What it does
      Animate math concepts
      Render video from code
      Reproducible animations
    Tech stack
      Python
      FFmpeg
      OpenGL
      LaTeX
    Use cases
      Math tutorials
      Lecture videos
      Science explainers
    Versions
      ManimGL original
      Community Edition
    Workflow
      Write Python scenes
      Run manimgl command
      Output video file
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Create a math tutorial video by writing a Python script that animates geometric shapes transforming with labels and equations.

USE CASE 2

Produce reproducible lecture animations that can be re-rendered with code changes instead of redrawn by hand.

USE CASE 3

Build science communication videos with programmatically precise animations for YouTube or classroom use.

USE CASE 4

Combine LaTeX math notation with animated shapes to visualize a mathematical proof step by step.

What is it built with?

PythonFFmpegOpenGLLaTeXpip

How does it compare?

3b1b/manimhome-assistant/coredjango/django
Stars86,61986,93887,421
LanguagePythonPythonPython
Setup difficultyhardmoderatemoderate
Complexity3/53/53/5
Audienceresearchergeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires FFmpeg and OpenGL, LaTeX is needed for math notation and adds significant installation complexity.

In plain English

Manim is an animation engine for creating precise, programmatic animations, originally designed for explanatory math videos. The author of the YouTube channel 3Blue1Brown built it to animate the mathematical illustrations in those videos. Instead of drawing each frame by hand or scrubbing a timeline in a video editor, you describe the animation in Python code, for example, "draw this circle, then transform it into a square, then label it", and Manim renders the result as a video file or shows it in a window. The way it works is that you write Python scripts that define scenes and the animations within each scene, then run a command like manimgl on the script. Manim plays the scene in a window or writes it out to a file. Command-line flags let you write the scene to a file, jump to the final frame, skip ahead to a specific animation, or run fullscreen. Configuration lives in a custom_config.yml file where you set output paths, asset locations, and quality defaults. You would use Manim when you want to produce mathematical or explanatory animations programmatically, for tutorials, lecture videos, conceptual explainers, or science communication, and you want each animation to be reproducible from code rather than recreated by hand. The README points out there are two versions: this repository (called ManimGL, installed as the manimgl pip package) is the original one used by 3Blue1Brown, and a separate Manim Community Edition is a fork started in 2020 with a focus on stability and testing. Manim runs on Python 3.7 or higher and requires FFmpeg, OpenGL, and optionally LaTeX. Installation paths are described for pip, Windows, macOS, and Anaconda.

Copy-paste prompts

Prompt 1
Write a Manim scene that draws a sine wave, labels its amplitude and period, and animates the wave shifting to the right over two seconds.
Prompt 2
Create a Manim animation that shows a geometric proof: start with a right triangle, label sides a, b, and c, then animate squares growing from each side to illustrate the Pythagorean theorem.
Prompt 3
Write a ManimGL script that animates a number line, places a point at x equals 2, then moves it to x equals 5 while displaying the distance traveled.
Prompt 4
Set up a Manim project with a custom config file to output 1080p video to a specific folder, then render a simple rotating circle animation.
Prompt 5
Write a Manim scene showing two functions on the same axes with animated labels appearing at their intersection point.

Frequently asked questions

What is manim?

Manim is a Python library for creating precise, programmatic math and explanatory animations, you describe what to draw and how to animate it in code, and Manim renders it as a video file.

What language is manim written in?

Mainly Python. The stack also includes Python, FFmpeg, OpenGL.

How hard is manim to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is manim for?

Mainly researcher.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub 3b1b on gitmyhub

Verify against the repo before relying on details.