explaingit

arata-ae/purupurupngtuber

Analysis updated 2026-05-18

4JavaScriptAudience · generalComplexity · 3/5LicenseSetup · moderate

TLDR

A local browser app for live streamers to build animated PNG avatars with swappable expressions, hair layers, face tracking, and mic-driven lip sync.

Mindmap

mindmap
  root((PuruPuruPNGTuber))
    What it does
      PNG avatar for streaming
      Expression swapping
      Hair layer system
    Live features
      Face tracking
      Mic lip sync
      Head movement
    Setup
      Local Python server
      Browser editor
      OBS browser source
    Export
      purupuru package
      Demo avatars included
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

Set up a PNGTuber avatar with swappable expression images and hair layers for a live streaming channel.

USE CASE 2

Use face tracking to make your avatar mirror your head movements and gaze direction in real time.

USE CASE 3

Drive mouth animations automatically from microphone input so the avatar talks when you speak.

USE CASE 4

Display the finished avatar as a transparent browser source in OBS for streaming.

What is it built with?

JavaScriptPythonMediaPipe

How does it compare?

arata-ae/purupurupngtubercodextf2/yamldeckkappaemme-git/site-post-screenshots
Stars444
LanguageJavaScriptJavaScriptJavaScript
Setup difficultymoderateeasyeasy
Complexity3/52/52/5
Audiencegeneraldeveloperwriter

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

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires Python 3.10+, camera and microphone permissions, and Google Chrome for best compatibility.

Use the software code freely for any purpose including commercial projects under Apache 2.0, the bundled demo artwork has a separate license.

In plain English

PuruPuru PNGTuber is a local web application for creating animated avatar characters used in live streaming, a format called PNGTubing. Instead of a full 3D virtual avatar, a PNGTuber uses a set of flat PNG images that swap based on whether the streamer is talking, blinking, or moving. This app adds front hair and back hair layers on top of the standard expression images, giving the avatar more visual depth without requiring any 3D software. The app runs in your browser via a local server. You start it with a Python script or a batch file and it opens at a local address. A camera and microphone are needed for the two live-response features: face tracking detects your head position and gaze direction so the avatar mirrors you, and microphone input drives the mouth animation so the avatar appears to talk when you speak. To set up a character you prepare a set of transparent PNG files: six expression images covering combinations of eyes open or closed and mouth closed, half open, or fully open, plus a front hair image and a back hair image. The intended workflow is to ask an AI coding tool like Codex or Claude Code to handle the initial file organization and configuration file creation, then adjust positions and styling manually in the browser editor. An advanced warp editor allows fine-tuning of how the face and hair layers align. The finished avatar displays in OBS, the software most streamers use to compose their video output, via a transparent browser source. Settings and the complete character package can be exported and re-imported as a .purupuru file. Demo avatar files are bundled with the repo so you can test the app immediately after cloning. The software code is licensed under Apache 2.0. The bundled demo artwork has a separate asset license.

Copy-paste prompts

Prompt 1
How do I start PuruPuru PNGTuber on macOS and set up my first character with the demo avatar files?
Prompt 2
What PNG files do I need to prepare for a PuruPuru character and how must they be sized and aligned?
Prompt 3
How do I connect PuruPuru PNGTuber to OBS as a browser source to use my avatar while streaming?
Prompt 4
How do I ask Claude Code or Codex to set up the initial character configuration from a folder of PNG files?
Prompt 5
What does the .purupuru export file contain and how do I load it on a different computer?

Frequently asked questions

What is purupurupngtuber?

A local browser app for live streamers to build animated PNG avatars with swappable expressions, hair layers, face tracking, and mic-driven lip sync.

What language is purupurupngtuber written in?

Mainly JavaScript. The stack also includes JavaScript, Python, MediaPipe.

What license does purupurupngtuber use?

Use the software code freely for any purpose including commercial projects under Apache 2.0, the bundled demo artwork has a separate license.

How hard is purupurupngtuber to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is purupurupngtuber for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub arata-ae on gitmyhub

Verify against the repo before relying on details.