ManimCommunity

Manim is the community-maintained Python framework for creating mathematical animations, programmatically rendering precise 3Blue1Brown-style explainer videos, widely used for math teaching and educational video production.

v0.22.1
Published at
17h ago
41,941
Stars
5,717
Download
Synced at
25m ago

Latest release

v0.22.1Oct 27, 2026, 08:46 PM
Downloads slow? Switch the source anytime above

README

Project Overview

Manim is an open-source animation engine that creates math animations from code — the explainer videos on the 3Blue1Brown channel are made with it. This repository is the community edition (ManimCE), forked from Grant Sanderson's original repo, with more active maintenance, richer features, and better documentation. You define a Scene class in Python describing actions like creating, transforming, and fading shapes, then render to video with one command; a %%manim magic command previews directly in Jupyter, and an official Docker image removes all setup friction.

Item Value
Language Python
Platform Linux, macOS, Windows (Docker image available)
Output MP4 video (GIF supported)
License MIT

Animations from code: the same engine behind 3Blue1Brown.

Key Features

  • Programmatic animation: every shape and motion is described in code — reproducible and version-controllable
  • Rich animation primitives: Create, Transform, FadeOut, and more work out of the box, with custom animations supported
  • Math typesetting: LaTeX integration renders formulas, matrices, and derivations
  • CLI render control: -ql for fast low-quality previews, -p to auto-play, -s for the final frame only, -n to jump to the nth animation
  • Jupyter integration: the %%manim magic command gives instant feedback in notebooks
  • Docker image: the official image bundles all dependencies for zero-config local use

Target Audience

  • Math and educational video creators
  • Teachers and course content producers
  • Developers visualizing algorithms and geometry
  • Animators who need precise, controllable motion

Quick Start

  1. Install dependencies per the official docs (LaTeX, ffmpeg), or use the official Docker image
  2. Write a scene and render:
from manim import *

class SquareToCircle(Scene):
    def construct(self):
        square = Square()
        circle = Circle().set_fill(PINK, opacity=0.5)
        self.play(Create(square))
        self.play(Transform(square, circle))
        self.play(FadeOut(square))
  1. Run manim -p -ql example.py SquareToCircle; the video plays automatically when rendering finishes
  2. Try online with no install at try.manim.community

Core Advantages

  • Precision and reproducibility: code-driven animation gives exact control over every detail and easy re-rendering
  • Actively maintained edition: ManimCE iterates continuously with solid docs and examples
  • Low barrier to try: the online Jupyter environment and Docker image get newcomers to a first animation in minutes

System Requirements

Item Requirement
Language Python
OS Linux, macOS, Windows
External deps LaTeX, ffmpeg
Alternative Official Docker image includes everything

Notes

  • Do not mix editions: the community edition and 3b1b/manim have different install steps; pick one and follow its docs only
  • Major refactor in progress: new feature contributions are paused during the refactor; prefer stable releases for use

Release history

Sort