Skip to content

Manim

A Python engine for writing programmatic animations, mainly for explanatory math videos.

Stars
42.1k
Forks
3.3k
Licence
MIT
Language
Python
Last update
4 days ago
Type
Library

What it is

Manim is an animation engine for explanatory math videos. You write Python code that describes objects and how they move or change, and it renders them into video. It is the community-maintained fork of the tool used to make 3Blue1Brown videos.

  • Write a Scene class that morphs one shape into another and render it to video
  • Render quick low-quality previews with the -ql flag while iterating
  • Use the %%manim IPython magic to create animations inside Jupyter notebooks
  • Skip to a final frame with -s to produce a still image of a scene

Great for

  • Programmers who want to make math or science explainer videos
  • Educators who prefer scripting animations over manual video editing
  • People comfortable with Python who want precise, repeatable animations
  • Anyone who wants to try it first in the online Jupyter environment linked in the README

Not ideal for

  • People who need a point-and-click video editor, since Manim is driven by code
  • Users who want to follow 3b1b's own repository instructions, because the README warns that the two versions are incompatible for installation
  • Anyone looking for finished, detailed documentation, since the README says documentation is still in progress
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

    Try it online without installing

    https://try.manim.community/
  2. 2

    Run it

    • Save the example SquareToCircle scene from the README into a file called example.py
    • Run: manim -p -ql example.py SquareToCircle
    • Wait for the video to render; the README says your video player should open and show a square turning into a circle
  3. 3

    Get the most out of it

    • Use -s to render only the final frame when you just need a still image
    • Use -n <number> to jump to a specific animation within a scene
    • Use the %%manim magic in JupyterLab or classic Jupyter notebooks
    • Check the official gallery and example scenes for more advanced examples
    • Read the configuration guide for a full list of command line arguments

Downloads

Strengths

  • Animations are defined in code, so they are precise and repeatable
  • Has an active community with Discord and Reddit channels for help
  • Available via PyPI and Docker, with an online Jupyter option to try it first

Trade-offs

  • The README says the project is undergoing a major refactor, and new feature contributions are not being accepted during this period
  • Documentation is described as in progress, so some setup details must be found on the external docs site
  • Requires Python programming knowledge to make anything

How it compares

ProjectStarsTypeLevelUpdatedBest for
manim (this)42.1kLibraryintermediate4 days agoProgrammers who want to make math or science explainer videos
manim96kLibraryintermediate2 months agoProgrammers who want to make math or science explainer videos with precise, code-controlled animation
gpu.js15.5kLibraryintermediate6 days agoDevelopers who need to speed up large numeric computations in the browser
LeetCode-Go33.8kLearning resourcebeginner24 days agoDevelopers practicing LeetCode problems in Go
Hero22.5kLibraryintermediate1.8 years agoiOS developers who want custom screen transitions without writing UIKit animation code by hand
KaTeX20.5kLibrarybeginner7 days agoWebsite builders who want readable equations in articles, docs or course pages

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.