Skip to main content

ytascii-player

Play any YouTube video as synced, true-color ASCII art in your terminal.

pip install ytascii-player
ytascii "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
ytascii "never gonna give you up rick astley"

That's it — no cloning a repo, no copying .py files, no python script.py syntax, and no separate ffmpeg/yt-dlp install. pip install is genuinely all that's needed. You can paste a video URL or just type a name/description — both work.

Requirements

  • Python 3.8+ — that's it. Everything else is a normal pip dependency: yt-dlp (used as a Python library, not a CLI tool), opencv-python, numpy, and imageio-ffmpeg (ships a real ffmpeg binary inside the pip package itself, so there's nothing to separately download or add to PATH).

Usage

ytascii "https://www.youtube.com/watch?v=VIDEO_ID"
ytascii "imagine dragons believer"
ytascii "URL or search text" --width 140
ytascii "URL or search text" --mode grayscale

You can pass either a YouTube URL, or just a plain video/song name/description - ytascii detects which one you gave it and searches YouTube automatically for anything that isn't a link. Multi-word searches need quotes, same as URLs do.

Flag Default Description
--width 120 ASCII art width in characters. Higher = more detail, more CPU.
--mode color color = true 24-bit RGB per character. grayscale = classic single-color, faster.

Press Ctrl+C anytime to stop playback. When you search by name, ytascii prints which video it actually found before downloading - useful if the top YouTube result wasn't the one you meant (e.g. it grabbed a cover or lyric video).

Tuning tips

  • Maximize your terminal and shrink the font (try 8pt) before running.
  • Windows Terminal renders far more smoothly than the legacy conhost cmd window.
  • If playback is choppy, lower --width or use --mode grayscale.

Troubleshooting

ytascii : command not recognized, right after installing Pip installs the command into a Scripts folder that isn't always on your system's PATH by default — this depends on how Python itself was installed on your machine. Two options:

  1. Quick workaround, no setup changes: run python -m ytascii.cli "URL" instead — this works immediately because it doesn't rely on PATH at all.
  2. Permanent fix: when you ran the install, pip prints a warning like The script ytascii.exe is installed in 'C:\...\Scripts' which is not on PATH. Copy that exact folder path, then: Win key → search "Environment Variables" → Edit environment variables for your account → select PathEditNew → paste the folder → OK. Open a new terminal and ytascii will work directly.

'pip' is not recognized Same PATH issue, one level up. Use python -m pip install ytascii-player instead, which works regardless of PATH.

Legal note

Only use this on videos you have the right to download — your own uploads, Creative Commons content, or otherwise permitted use.

For developers: installing from source

git clone <this-repo>
cd ytascii-player
pip install -e .

-e installs in "editable" mode — code changes apply instantly without reinstalling.

Publishing (maintainer notes)

pip install build twine
python -m build
twine upload dist/*

Username is literally __token__; password is your PyPI API token from Account Settings → API tokens. Remember to bump the version number in pyproject.toml and src/ytascii/__init__.py before every new upload — PyPI never allows re-uploading the same version number.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ytascii_player-0.3.0.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ytascii_player-0.3.0-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file ytascii_player-0.3.0.tar.gz.

File metadata

  • Download URL: ytascii_player-0.3.0.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.9

File hashes

Hashes for ytascii_player-0.3.0.tar.gz
Algorithm Hash digest
SHA256 4de9d6ba467f1a38f9e1dbae6909717964565165ae5917edb3710350e9774138
MD5 fe328bc5e5561137a1c4fd942b62ffe0
BLAKE2b-256 62e5d3e017185f8c7ca66a39e299144f33d4f2ce49c591b122545d9d5de0cc42

See more details on using hashes here.

File details

Details for the file ytascii_player-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: ytascii_player-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 7.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.9

File hashes

Hashes for ytascii_player-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3587d9015165493448010997dfddf89721c8f59d4093316b10783225faf9708b
MD5 6c740ee1d614131eedefb405f83c9fd0
BLAKE2b-256 d693eac64750a90e304e9f7130b0267c85dacc2719bcbf06518412b2db635619

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 files

0.2.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page