gitwtfhub

wtf is manim?

3b1b/manim — explained in plain English

Analysis updated 2026-06-20

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

TL;DR

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

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

Why would anyone build with this?

REASON 1

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

REASON 2

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

REASON 3

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

REASON 4

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

What's in the stack?

PythonFFmpegOpenGLLaTeXpip

How it stacks up

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 spin it up?

Difficulty · hard Time to first run · 1h+

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

Wtf does this do

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.

Yoink these 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

wtf 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.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.