opensourceprojects.dev

A broadsheet for software that doesn't ask for your email

Manim: the animation engine behind 3Blue1Brown's math videos
GitHub RepoImpressions21

Project Description

View on GitHub

Manim: The Animation Engine Behind 3Blue1Brown's Math Videos

If you've ever watched a 3Blue1Brown video and thought, "Wait, how did they make those animations look so clean and seamless?" — the answer is Manim. It's the open-source Python library that powers the visuals behind Grant Sanderson's legendary math explanations.

And no, you don't need to be a math whiz or a professional animator to use it. Manim lets you write Python code that generates precise, programmatic animations. Think of it as a programmable whiteboard for math, physics, or anything you can visualize with code.


What It Does

Manim (short for Mathematical Animation) lets you define objects (circles, squares, graphs, text, equations) and then animate them — moving, transforming, fading, scaling, or morphing — all through Python scripts. You write code like:

from manim import *

class CreateCircle(Scene):
    def construct(self):
        circle = Circle()
        circle.set_fill(PINK, opacity=0.5)
        self.play(Create(circle))
        self.wait(1)

And out comes a smooth animation of a green circle appearing on screen. You can stack these scenes to build complex visual narratives.

The core idea: you describe what you want to happen (create a circle, move it right, change its color) and Manim handles the interpolation, rendering, and output.


Why It’s Cool

  • Precision by default. Because you code everything, you can position objects with pixel-level accuracy. No manual keyframing or guesswork. Want a sine wave to roll across the screen? Just write the math.

  • Mathematical typesetting built in. Manim integrates LaTeX for equations, so your formulas look as polished as a textbook. You can even animate LaTeX objects — for example, transforming one equation into another.

  • Open source, actively maintained. Manim is hosted on GitHub under an MIT license. The community has forked it into several flavors (like ManimCE and ManimGL), but the original project from 3Blue1Brown’s creator is still the reference.

  • 300,000+ stars and a huge community. That means a ton of examples, tutorials, and plugins. If you get stuck, chances are someone on the Manim subreddit or Discord has solved it.

  • Renders to MP4 / GIF / images. Output is standard video formats, so you can drop it into a presentation, YouTube video, or tweet.


How to Try It

Quick start:

  1. Install Python 3.8+ and ffmpeg (for video encoding).
  2. Install Manim via pip:
    pip install manim
    
  3. Create a file scene.py with the example code above.
  4. Run the render command:
    manim -p scene.py CreateCircle
    
    The -p flag plays the result after rendering.

For a more detailed walkthrough, check the official documentation. If you'd rather play in the browser, there's a Manim Playground where you can edit and run scenes without installing anything.


Final Thoughts

Manim isn't just a tool for YouTube creators. It's a great way to visualize algorithms, data structures, physics simulations, or even UI transitions. If you're a developer who likes explaining things visually, this library removes the friction between "I want to show this" and "here's a clean animation."

It does take a bit of setup and some acquaintance with object-oriented Python, but once you write your first scene, the payoff feels huge. The animations look professional because they are — they're literally computed from the math you define.

If you've ever envied the clarity of 3Blue1Brown's videos, now you can steal his secret weapon. Just don't blame us when you spend an hour tweaking the opacity of a square.


Found this useful? Follow @githubprojects for more developer tools and open source gems.

Back to Projects
Project ID: 0fd1c2aa-c607-455e-947b-40583dfa1056Last updated: July 10, 2026 at 06:45 AM