Back to components
ComponentMockupFree

Phone Mockup React component

A realistic iPhone frame with 3D cursor tilt, a tilt-tracking screen glare, ambient glow, and a story-style video/image player with swipe navigation.

About the Phone Mockup component

Phone Mockup is a free, hand-built iPhone frame with a story-style media player inside. It plays a list of videos and images one after another, with a progress bar, a vertical dot indicator and a slide or fade transition. The phone tilts toward the cursor, a glare on the screen follows the tilt, and a colored glow sits behind it.

Pass media as an array of { type: "video" | "image", src }. Each image stays for imageDuration seconds (default 3), and with loop={false} each video moves on when it ends. phoneWidth (default 280), frameColor ("titanium" or "black"), tiltStrength (default 18), glowColor, glowIntensity, progressBar, videoTransition and background are props. Videos are muted and play inline, so they autoplay on phones.

When to use it

Use it to show an app, a reel or a short product demo on a landing page, in a portfolio or in an App Store style section.

To add floating stat cards around the phone, use Phone Analytics Mockup. For a tablet or desktop screen, use iPad Mockup Carousel or Desktop Mockup Carousel.

Installation

Add the Phone Mockup component to your project with the shadcn CLI. It lands in components/phone-mockup.tsx as plain React + Tailwind CSS source you own and can edit.

Install
Copied!
npx shadcn@latest add @reactframe/phone-mockup

Or copy the source by hand and install its dependencies:

Install
Copied!
npm install motion clsx tailwind-merge

Related components

Browser Mockup
Free
Phone Marquee Showcase
Instagram Post Mockup
Free
X Post Mockup
Free
Gooey Tab Bar
Free
Morphing Pill Nav
Free