A powerful, flexible, and customizable video player UI toolkit for React Native apps. Inspired by Vidstack, designed for mobile and TV experiences.
npm install react-native-video-toolkitMy first ever real OSS project π. Be kind, Iβm still figuring this out.
A flexible and customizable video player UI toolkit for React Native.
π Full Documentation: https://react-native-video-toolkit-docs.vercel.app/
src="https://img.shields.io/github/actions/workflow/status/2004durgesh/react-native-video-toolkit/ci.yml?label=ci"
alt="CI Workflow Status"
/>
src="https://img.shields.io/discord/1387063063223599265?color=7289da&label=discord&logo=discord&logoColor=7289d"
alt="discord"
/>
---
- π± Demo
- β¨ Features
- β
Platform Compatibility
- πΊοΈ Roadmap
- π¦ Installation
- π Usage
- π Issues
- π€ Contributing
- π License
---
> [!TIP]
> The demo app is available in the example folder.
> Clone the repo and run yarn example start inside the example directory to see the latest changes.
> You can also download the demo app from the release builds.
| Mode | Preview |
| ----------------------------- | ----------------------------------------------------- |
| Portrait |
|
| Landscape |
|
| Landscape (with settings) |
|
---
- Fully Customizable UI β Build your own video player experience with modular components.
- Theming Support β Light, dark, or your own custom theme.
- Pre-built Layouts β Includes DefaultLayout to get started quickly.
- Gesture Handling β Tap, double-tap, and other common playback gestures.
- Rich Component Library β Controls like PlayButton, ProgressBar, TimeDisplay, FullscreenButton, MuteButton, and more.
- Hooks-based API β Access player state and control playback, settings, and gestures.
---
| Platform | Tested |
| ---------- | :----: |
| Android | β
|
| iOS | β |
| Android TV | β
|
| Apple TV | β |
| Web | β
|
---
- [x] Core Player component
- [x] Customizable controls
- [x] Theming support
- [x] Gesture handling
- [x] Settings menu
- [x] Layout presets (DefaultLayout)
- [x] Fullscreen support
- [x] Landscape mode support
- [ ] TV support (D-pad navigation)
- [ ] Picture-in-Picture (PiP) mode
- [ ] More advanced layouts (YouTube/Netflix-style)
---
``bash`
npm install react-native-video-toolkitor
yarn add react-native-video-toolkit
---
`tsx
import { VideoPlayer, DefaultLayout } from 'react-native-video-toolkit';
const App = () => {
return (
);
};
``
For more docs:
π Documentation website.
---
Yes, there are bugs. Probably lots.
π Open an issue.
It makes the project look active, so actually⦠thanks in advance.
---
Wanna help? Please? π
Check the contributing guide. Iβll try to review your PR before I spiral into existential dread.
---
MIT β because lawyers are scary.
---
Made with create-react-native-library
Thanks to wuxnz for motivation (and maybe trauma)
Thanks to zach for the docs template
Made with β€οΈ, caffeine, and way too many Chrome tabs by Durgesh