Zero dependencies. Audio + Video. 7 layouts. Full theming.
Drop one <script> tag and you're done.
<script src="https://unpkg.com/py-player/dist/py-player.min.js"></script>Built for developers who want a media player that works out of the box but is fully customizable when needed.
<py-audio> for music and podcasts, <py-video> for video content, and <py-player> that auto-detects the media type. Drop-in HTML elements that work anywhere.
Pure TypeScript. No frameworks, no build step. Works with a single <script> tag.
Real-time frequency analysis with 7 visualization styles: bars, wave, mirror, circle, dots, line, and blob.
Normal, Minimal, Album Art, Compact, Podcast, Visualizer, and Playlist-first. One attribute to switch.
Single-file chapter markers, multi-file playlists with per-track chapters, and M3U/M3U8 support.
Override any UI string via HTML attribute or JavaScript API. Full localization control with zero config.
7 built-in color themes (auto, light, dark, midnight, nord, sunset, forest), CSS variable overrides, and CSS Parts for deep customization through Shadow DOM. Match any design system.
Start with one line of HTML. Customize everything through attributes, CSS variables, and JavaScript API.
<py-audio
src="https://example.com/podcast.mp3"
title="My Podcast"
></py-audio>Built-in themes that adapt to your design. Override anything with CSS variables and parts.
<py-audio src="song.mp3" theme="auto"></py-audio>Full video controls with fullscreen, Picture-in-Picture, volume slider, and playback speed (0.5x–2x).