finds.dev← search

// the find

chintan9/plyr-react

★ 520 · TypeScript · MIT · updated Jun 2026

A simple, accessible and customisable react media player for Video, Audio, YouTube and Vimeo

A thin React wrapper around the Plyr media player, exposing both a component and a hook. It handles video, audio, YouTube, and Vimeo through the same API. Aimed at React developers who want Plyr's UI without wiring up the imperative lifecycle themselves.

The `usePlyr` hook is the right abstraction — it gives you the raw Plyr instance via ref without hiding it behind an opaque component API. Full TypeScript types are exported, including for Plyr options and the instance itself, so autocomplete actually works. Tree-shakeable ESM build with no side effects means it won't bloat bundles that only need the hook. The HLS.js integration pattern (composing `useHls` with `usePlyr`) is clean and doesn't require the library to take on a streaming dependency.

The source is essentially one file (`src/index.tsx`) wrapping a third-party imperative library — there's almost nothing here beyond plumbing, so bugs in Plyr itself become your problem with no buffer. The dist directory is committed to the repo, which is a maintenance smell and means the published source and the readable source can quietly diverge. 520 stars for a three-year-old wrapper suggests it hasn't found wide adoption, likely because most teams just wire up Plyr directly or pick a heavier but more self-contained player. No built-in DRM or subtitle track management — if you need either, you're back to the Plyr imperative API anyway.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →