watch anime openings in your terminal. or any video really.
█████╗ ███╗ ██╗██╗████████╗███████╗██████╗ ███╗ ███╗
██╔══██╗████╗ ██║██║╚══██╔══╝██╔════╝██╔══██╗████╗ ████║
███████║██╔██╗ ██║██║ ██║ █████╗ ██████╔╝██╔████╔██║
██╔══██║██║╚██╗██║██║ ██║ ██╔══╝ ██╔══██╗██║╚██╔╝██║
██║ ██║██║ ╚████║██║ ██║ ███████╗██║ ██║██║ ╚═╝ ██║
╚═╝ ╚═╝╚═╝ ╚═══╝╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝
anime openings and videos in your terminal
best quality default · /p pause /q quit /h help
npm install -g anitermrequires ffmpeg on your PATH.
for YouTube support, also install yt-dlp.
# play a local video
aniterm video.mp4
# play a YouTube link (needs yt-dlp)
aniterm "https://youtube.com/watch?v=NbdM922nITE"
# play multiple videos (queue)
aniterm opening1.mp4 opening2.mp4
# disable audio
aniterm video.mp4 --no-audio
# just show video info
aniterm video.mp4 --infoduring playback, type a command and press enter:
| command | action |
|---|---|
/p |
pause / play |
/q |
quit |
/r |
replay current video |
/add <file> |
add video to queue |
/menu |
show queue |
/h |
show help |
these look insane in the terminal:
aniterm "https://youtube.com/watch?v=NbdM922nITE"- ffmpeg decodes video to raw RGB24 frames
- each pixel becomes two colored block characters (
██) using ANSI escape codes - ffplay plays audio in the background, synced to frame timing
- stdin reads slash commands in raw mode
- 8-bit and pixel art videos look best — low resolution = crisp terminal rendering
- zoom out in your terminal (
Ctrl+-) for more pixels - works on Windows, macOS, and Linux
import { play } from "aniterm";
await play([{ source: "video.mp4", label: "my video" }]);MIT