How to Create App Store Preview Videos on Mac
Record, edit, and submit App Store preview videos that meet Apple's exact specs — resolution, duration, codec, and status bar requirements.
Apple's App Store preview videos are the highest-converting asset on your listing page. They autoplay silently in search results, and apps with preview videos see measurably higher tap-through rates than those with screenshots alone.
But Apple's technical requirements are unforgiving. Wrong resolution? Rejected. Wrong codec? Rejected. Status bar showing a carrier name and 43% battery? Rejected. And the feedback loop is slow — you submit, wait for review, get rejected, fix, resubmit, wait again.
This guide covers the exact specs Apple requires, four methods for recording preview videos on Mac, and the submission details that prevent rejection.
Quick Comparison
| Tool | Price | Simulator Recording | Auto Status Bar | Device Frame | Difficulty |
|---|---|---|---|---|---|
| Screenify Studio | Free + Pro | Yes (window capture) | Manual (xcrun) | Export overlay | Easy |
| QuickTime Player | Free | Yes | Manual (xcrun) | No | Medium |
| Rotato | $49/year | Imports video | N/A | 3D device mockup | Medium |
| iMovie | Free | No (import only) | N/A | No | Easy |
Apple's Exact Requirements
Apple publishes these specs in the App Store Connect help documentation. Memorize them or bookmark this section — you will reference it every time you update your preview videos.
Resolution Requirements by Device
Apple requires preview videos at the exact pixel dimensions of the target device display. No scaling, no letterboxing, no padding.
| Device | Required Resolution | Aspect Ratio |
|---|---|---|
| iPhone 6.9" (16 Pro Max) | 1320 x 2868 | 9:19.5 (approx) |
| iPhone 6.7" (15 Pro Max) | 1290 x 2796 | 9:19.5 (approx) |
| iPhone 6.5" (11 Pro Max) | 1242 x 2688 | 9:19.5 (approx) |
| iPhone 5.5" (8 Plus) | 1080 x 1920 | 9:16 |
| iPad Pro 13" | 2048 x 2732 | 3:4 (approx) |
| iPad Pro 11" | 1668 x 2388 | ~0.7:1 |
Orientation matters. If your app supports both portrait and landscape, you need separate videos for each. A landscape preview for a portrait-only app gets rejected.
Duration and Format
- Duration: 15 to 30 seconds. Not 14. Not 31. Apple enforces this strictly.
- Codec: H.264 (required)
- Audio codec: AAC (if audio is included)
- Frame rate: 30fps
- Container: .mov or .mp4
- File size: Under 500 MB (practically, preview videos at these durations rarely exceed 50 MB)
Content Rules
Apple also reviews the content of your preview video:
- Must show actual app footage — no external photography or unrelated graphics
- Text overlays are allowed but must not cover more than a small portion of the screen
- No pricing that differs from your actual App Store pricing
- No hands or physical device hardware in the recording (device frames added in post are fine)
- Status bar must show clean data: 9:41 AM, full Wi-Fi, full cellular, 100% battery
That last point trips up most developers. A real iPhone recording shows your carrier name, actual battery level, and current time. Apple wants the idealized version.
Method 1: Recording iOS Simulator with Screenify Studio
The iOS Simulator in Xcode renders your app at exact device pixel dimensions — which is exactly what Apple requires for preview videos. Pair it with Screenify for recording, zoom effects, and export control.
Step 1: Launch your app in iOS Simulator.
Open Xcode, select your target device (e.g., iPhone 16 Pro Max), and run your app. The simulator window appears at the correct device resolution.
Step 2: Clean the status bar with xcrun.
Before recording, run this command in Terminal to set the simulator's status bar to Apple's expected values:
xcrun simctl status_bar booted override \
--time "9:41" \
--batteryState charged \
--batteryLevel 100 \
--cellularMode active \
--cellularBars 4 \
--wifiBars 3 \
--operatorName ""This sets the time to 9:41 (Apple's standard), battery to 100%, full signal bars, and removes the carrier name. The override persists until you clear it with xcrun simctl status_bar booted clear.
Step 3: Record with Screenify.
Open Screenify Studio and select the iOS Simulator window as your capture target. Use window capture mode to grab only the simulator content without the window chrome.
Record your app walkthrough. Move through the key screens and features you want to highlight. Keep your actions deliberate — avoid rapid, jerky cursor movements.
Step 4: Edit in the timeline.
In Screenify's timeline editor, trim the recording to exactly 15-30 seconds. Use auto-zoom to enlarge key UI interactions — buttons being tapped, content loading, animations completing. This zoom is especially valuable because App Store previews autoplay at small sizes in search results.
Step 5: Export at device resolution.
Export as H.264 MP4 at exactly the device resolution. Screenify's custom resolution export lets you specify exact pixel dimensions. Set frame rate to 30fps.
Step 6: Verify before submission.
Use ffprobe to check your export matches Apple's requirements:
ffprobe -v error -select_streams v:0 \
-show_entries stream=width,height,codec_name,r_frame_rate \
-of csv=p=0 preview-video.mp4Expected output for an iPhone 16 Pro Max preview: h264,1320,2868,30/1
For a deeper look at recording from Xcode Simulator, including troubleshooting common rendering issues, see our Xcode Simulator recording guide.
Try Screenify Studio — free, unlimited recordings
Auto-zoom, AI captions, dynamic backgrounds, and Metal-accelerated export.
Method 2: Using QuickTime Player (Free)
QuickTime can record the iOS Simulator window directly, with no third-party tools required.
Step 1: Prepare the simulator.
Launch your app in iOS Simulator and set the clean status bar using the same xcrun simctl status_bar command from Method 1.
Step 2: Set simulator scale.
In the Simulator menu bar, go to Window and select the Physical Size option (or use the keyboard shortcut Cmd+1). This renders the simulator at 1:1 pixel mapping — critical for pixel-perfect resolution matching.
Step 3: Start QuickTime recording.
Open QuickTime Player, then go to File, then New Screen Recording. Drag to select only the simulator's screen area — exclude the window title bar and device frame chrome.
Step 4: Record your walkthrough.
Perform the same deliberate, pre-rehearsed walkthrough of your app. Keep it between 15-30 seconds.
Step 5: Trim in QuickTime.
Use Edit, then Trim (Cmd+T) to cut the recording to exact length. QuickTime's trimmer is frame-accurate.
Step 6: Export and verify.
Export as 1080p or original size. Then verify with ffprobe that the resolution matches your target device exactly. If QuickTime exported at a non-matching resolution, you will need to resize with ffmpeg:
ffmpeg -i recording.mov -vf "scale=1290:2796" -c:v libx264 \
-profile:v high -level:v 4.1 -r 30 -c:a aac preview-final.mp4Limitations: No auto-zoom, no cursor highlighting, no built-in caption support. QuickTime also records at variable frame rate by default, which can cause issues — always re-encode to 30fps CFR before submitting.
Method 3: Using Rotato for 3D Device Mockups
Rotato takes a different approach: instead of recording the simulator, you import an existing screen recording and wrap it in a 3D device mockup with rotation animations.
Step 1: Record raw app footage.
Use any method (Screenify, QuickTime, or even a physical device recording) to capture your app in action. Export at the exact device resolution.
Step 2: Import into Rotato.
Open Rotato and create a new project. Select your target device model (iPhone 16 Pro Max, iPad Pro, etc.). Import your screen recording as the device's screen content.
Step 3: Add 3D animations.
Rotato lets you animate the device in 3D space — rotate, zoom, tilt. These animations make preview videos feel cinematic. Set keyframes for device orientation changes that match your app's key feature transitions.
Step 4: Export.
Rotato exports at the correct App Store resolution for your selected device. Verify the output with ffprobe before uploading.
Limitations: Rotato is for post-production only — it does not record your screen. You need a separate recording tool. The $49/year subscription adds up if you only update preview videos occasionally. And Apple's guidelines technically prefer direct app footage over 3D mockups, though both are accepted.
Method 4: Using iMovie for Editing and Assembly
iMovie is useful for assembling multiple clips, adding transitions, and applying text overlays — but it cannot record your screen.
Step 1: Record with another tool.
Capture your app footage using Screenify, QuickTime, or Xcode's built-in xcrun simctl io command:
xcrun simctl io booted recordVideo --codec=h264 \
--display=internal preview-raw.mp4This records the simulator display directly at native resolution. Press Ctrl+C to stop.
Step 2: Import into iMovie.
Open iMovie, create a new project, and import your raw recording clips.
Step 3: Edit the timeline.
Trim clips, add transitions between features, and insert text overlays to highlight key functionality. Keep total duration between 15-30 seconds.
Step 4: Export at correct resolution.
iMovie's export options are limited — it defaults to standard resolutions like 1080p or 4K. For App Store preview videos, you will likely need to re-encode the iMovie export with ffmpeg to hit exact device dimensions:
ffmpeg -i imovie-export.mp4 -vf "scale=1290:2796:force_original_aspect_ratio=disable" \
-c:v libx264 -profile:v high -r 30 -c:a aac preview-final.mp4Limitations: iMovie cannot export at arbitrary resolutions. The extra ffmpeg step adds complexity. No auto-zoom or cursor tracking. Best suited for developers who already know iMovie and need basic text overlays.
Try Screenify Studio — free, unlimited recordings
Auto-zoom, AI captions, dynamic backgrounds, and Metal-accelerated export.
The Status Bar Problem (And How to Solve It)
The most common App Store preview rejection reason is the status bar. Apple expects:
- Time: 9:41 AM (the iconic time shown in every Apple keynote)
- Battery: 100%, charged
- Cellular: 4 bars, no carrier name
- Wi-Fi: 3 bars
For Simulator Recordings
Use xcrun simctl status_bar as shown in Method 1. This is the cleanest solution — it modifies the simulator's status bar rendering at the system level.
For Physical Device Recordings
If you are recording on a real iPhone connected to your Mac (via QuickTime's Movie Recording with the device as source), the status bar cleanup is automatic — Apple strips the status bar to the 9:41 standard when recording through the Lightning/USB-C connection. This behavior has been consistent since iOS 8.
For Manually Captured Footage
If your footage has a non-standard status bar, crop it out and overlay a clean status bar image. This is fragile and not recommended — Apple's reviewers may flag inconsistencies between the overlay and the actual notch/Dynamic Island shape.
Scripting Your Preview Video
A 30-second preview at 30fps gives you exactly 900 frames. That is not much time. Script every second.
Structure that works:
| Timestamp | Content |
|---|---|
| 0-3s | App launch animation or hero screen |
| 3-10s | Primary feature demonstration |
| 10-18s | Secondary feature or unique differentiator |
| 18-25s | Third feature or social proof (ratings, community) |
| 25-30s | Call to action or tagline |
Tips for effective preview scripts:
- No audio narration needed — most viewers watch with sound off in the App Store
- Use text overlays to label features (Apple allows this)
- Show real content, not placeholder "Lorem ipsum" data
- Demonstrate the value proposition in the first 5 seconds — that's the autoplay window in search results
- Record each segment separately and assemble in your editor for tighter control
Submission Process in App Store Connect
Step 1: Log into App Store Connect. Select your app. Go to the version you are submitting or updating.
Step 2: Scroll to the App Preview section for each device size. You can upload up to 3 preview videos per localization per device size.
Step 3: Drag your exported video file into the upload zone. App Store Connect validates the resolution, duration, and codec immediately. If validation fails, you see the error inline — fix and re-upload.
Step 4: Set the poster frame. This is the still image shown before the video plays. Choose a frame that clearly represents your app — not a loading screen or transition frame.
Step 5: If your app supports multiple localizations, consider creating separate preview videos per language with localized UI and text overlays.
Step 6: Submit for review. Preview videos are reviewed alongside your app binary. Expect 24-48 hours for review. Rejection reasons appear in the Resolution Center.
Troubleshooting Common Rejections
"Video resolution does not match the required size"
Your export dimensions are wrong. Check with ffprobe. Common mistake: recording at Retina 2x resolution (2580x5592) instead of logical points (1290x2796). Use the exact pixel values from Apple's spec table.
"Video contains content that is not appropriate"
Apple flagged something in your recording. Check for: real user data visible in screenshots, profanity in chat messages, placeholder text that looks unprofessional, or a competitor's branding visible in your app.
"Status bar does not meet requirements"
Your recording shows a real carrier name, low battery, or non-standard time. Re-record with xcrun simctl status_bar overrides. If recording a physical device, verify the USB recording mode is active (it should auto-clean the status bar).
"Duration outside acceptable range"
Apple requires exactly 15-30 seconds. If your video is 14.8 seconds, it fails. Pad with a brief hold on the final frame. If it is 30.5 seconds, trim half a second. Use ffprobe to check exact duration: ffprobe -v error -show_entries format=duration -of csv=p=0 video.mp4.
Video looks blurry after upload
App Store Connect re-encodes your video. Start with high bitrate (15-20 Mbps) H.264 to give the re-encoder enough data to work with. Low bitrate uploads get double-compressed and look soft.
FAQ
Q: Can I use screen recordings from a real iPhone instead of the simulator?
Yes. Connect your iPhone to your Mac via USB, open QuickTime, go to File then New Movie Recording, and select your iPhone as the camera source. This records at device resolution with a clean status bar. The limitation is that you cannot zoom or add effects during recording — you need to do that in post.
Q: How many preview videos can I upload per app?
Up to 3 preview videos per device size per localization. If your app supports 5 device sizes and 3 languages, that is potentially 45 preview videos. Most developers create 1-2 per device size in their primary language and let Apple's auto-generated previews handle the rest.
Q: Do I need separate videos for every iPhone size?
No. App Store Connect allows you to upload for the largest device in each size class, and it scales down for smaller devices. In practice, upload for the 6.9" (or 6.7") and 5.5" size classes to cover all current iPhones. iPad requires separate uploads.
Q: Should preview videos have audio?
Optional. Most App Store browsing happens with sound off. If you include audio, it must be AAC codec and should add value — a brief voiceover explaining the feature, not background music. Text overlays are more reliable for communicating your message.
Q: What if my app is landscape-only?
Record in landscape orientation. Apple accepts landscape preview videos — the resolution requirements still apply, just rotated. For a 6.7" device, landscape resolution is 2796x1290 instead of 1290x2796. Set this in your export settings.
Q: Can I add device frames to the preview video?
Apple's guidelines say previews should show the app as it appears on the device — no device hardware framing in the submitted video. However, Rotato-style 3D mockups are commonly accepted. The safest approach is a clean, frame-less recording that matches the exact device resolution.
Q: How often should I update preview videos?
Update whenever you ship a major UI change or new feature. Stale preview videos that show outdated UI reduce conversion and can trigger Apple's review team to flag inconsistencies between the preview and the live app.
Q: What tools do professional App Store marketers use?
Most indie developers use Simulator + QuickTime or Simulator + Screenify. Larger studios often use Rotato for 3D device animations, After Effects for complex motion graphics, and sometimes hire specialized App Store Optimization (ASO) agencies that handle the entire video production pipeline.
Localization Considerations
If your app ships in multiple languages, each localization can have its own set of preview videos. This matters for conversion — a Japanese user seeing an English-only preview video is less likely to download than one seeing the UI in Japanese.
Workflow for localized previews:
- Switch the simulator's language: Settings, then General, then Language & Region in the Simulator
- Re-record the same scripted walkthrough in each language
- Keep text overlays minimal so they do not require translation
- Reuse the same recording structure and timing across localizations — only the on-screen language changes
Most indie developers skip localization for preview videos and see no impact on downloads in their primary market. But if your app has meaningful international traction (over 20% downloads outside your home country), localized previews are worth the effort.
Related Resources
If you are building preview videos for apps that involve bug reporting workflows, the same recording techniques apply — but prioritize showing the bug reproduction flow clearly for your QA-focused preview content. For general software tutorial videos, the editing principles transfer directly to preview video production.
Try Screenify Studio
Record your screen with auto-zoom, AI captions, dynamic backgrounds, and Metal-accelerated export. Free plan, unlimited recordings.
Download Free