Why react-webcam-pro?
Everything you need to build camera experiences in React
Mobile-First
Designed with focus on iOS and Android cameras. Works perfectly with standard webcams too.
React 19 ReadyUpdated
Supports React 16.8+, 17, 18, and 19 out of the box. Compatible with styled-components v5 and v6.
Video ConstraintsNew in v1.1
Control camera resolution, frame rate and any MediaTrackConstraints directly via the videoConstraints prop.
Mirror Photo CaptureNew in v1.1
Capture selfie-correct mirrored photos with takePhoto({ mirror: true }). Matches exactly what the user sees.
Full Control via Ref
Take photos, switch cameras, toggle torch, and more — all controlled via a simple React ref.
Drop-in Replacement
Best alternative to react-camera-pro. Just change the import — the API is 100% backward compatible.
Up and running in seconds
Just a few lines of code to start capturing photos
import { Camera } from 'react-webcam-pro';
import { useRef } from 'react';
const App = () => {
const camera = useRef(null);
return (
<div>
<Camera ref={camera} />
<button onClick={() => camera.current.takePhoto()}>
📸 Take photo
</button>
</div>
);
};
🤝 Community-Maintained
We're actively working through the open issues inherited from the original react-camera-pro repository. If you encounter a bug or need a feature urgently, please create an issue in our repo — it will be prioritized and addressed quickly.