Initializing... drag & drop files here
Supports: HEVC
.hevc, .mov, or .mp4 exports from iPhone, Samsung, Sony, Canon, or DJI drones all work. Batch is supported.2.100 for 2.1 seconds) and Multiple Screenshots (extract a series at a fixed interval — every Nth frame or every N seconds). Multiple Screenshots is the right choice for storyboards, contact sheets, and thumbnail candidates..jpg or .jpeg as the file extension.HEVC (H.265) became Apple's default mobile-video codec when iOS 11 shipped in September 2017, and the "High Efficiency" setting on iPhone 7 and later now records every clip in HEVC inside a .mov container (Apple Support). Samsung Galaxy phones, Sony Alpha cameras, Canon EOS R bodies, and DJI Mini 3 Pro / Mini 4 Pro drones all record HEVC for 4K and high-framerate modes. Pulling JPG frames out of those clips gives you universally-shareable stills without re-shooting.
| Source format | Codec inside | Typical iPhone/camera default | Frame extraction notes |
|---|---|---|---|
.hevc (raw bitstream) |
H.265 | Rare — usually a remux | Smallest, no audio/metadata; decoder must parse SPS/PPS directly |
.mov (HEVC inside) |
H.265 + AAC | iPhone default since iOS 11 | Container holds HEVC video + Live Photo + depth + AAC audio |
.mp4 (HEVC inside) |
H.265 + AAC | Android, drones, action cams | Same H.265 video stream, different container |
.mp4 (H.264) |
H.264 (AVC) | Older devices, "Most Compatible" iPhone setting | Decodes faster but file is ~30-50% larger at same quality |
XConvert handles all four sources for frame extraction — the underlying HEVC decode is the same. If your file is .mov and you're not sure which codec is inside, just upload it.
| Mode | Setting | What you get from a 60-second 30fps clip |
|---|---|---|
| Specific Frame | Time = 2.100 seconds | 1 JPG (the frame at exactly 2.1 s) |
| Multiple Screenshots | Every 1 second | 60 JPGs |
| Multiple Screenshots | Every 5 seconds | 12 JPGs |
| Multiple Screenshots | Every 10 seconds | 6 JPGs |
| Multiple Screenshots | 1 frame per 30 source frames | 60 JPGs (one per second on 30fps source) |
| Multiple Screenshots | Every 10th frame | 180 JPGs (every 1/3 s on 30fps source) |
Higher framerates (60p or 120p slo-mo) produce proportionally more output for the same interval-by-frame setting — so for slo-mo, switching to the "every N seconds" interval is usually saner than the per-frame interval.
JPG is lossy, so there's a re-encode step after the HEVC decode. At the default Very High preset (~90% quality), the difference is imperceptible at normal viewing distances and screen sizes. If you need bit-exact output, extract to PNG instead — see HEVC to PNG for lossless frame extraction.
.mov extension?iPhone records HEVC video inside a QuickTime .mov container by default. The codec inside is H.265 (HEVC); the wrapper is MOV. XConvert reads both .hevc (raw) and .mov (container) inputs for frame extraction — just upload the .mov straight from your camera roll or AirDrop export.
Yes. In Specific Frame mode the time input accepts decimal seconds — 2.100 means 2 seconds and 100 ms, 12.500 means 12.5 s. The actual frame returned is the nearest displayed frame, which on 30fps source is rounded to the closest 33-ms boundary, on 60fps the closest 16.7 ms, and on 24p film the closest 41.7 ms.
By default, identical to the source video. 4K UHD HEVC → 3840×2160 JPG (8.3 MP). 1080p HEVC → 1920×1080 JPG (2.1 MP). 720p HEVC → 1280×720 JPG (0.9 MP). You can scale down by percentage, by preset (1080p / 720p / 480p), or to custom width × height in Advanced Options.
Standard EXIF (date taken, camera model, focal length) carries forward from the video metadata when present. GPS coordinates from iPhone clips do transfer. Live Photo motion and depth data do not transfer — those live in separate streams of the .mov container and aren't part of the displayed video frame.
Use every N seconds when your source framerate varies (mixed 30/60fps, slo-mo segments, variable-frame-rate phones) — the time interval stays consistent. Use every N frames when you want to capture every keyframe candidate or when you're feeding the output into an ML pipeline that expects evenly-spaced samples from a known framerate.
HEVC uses long groups of pictures (GOPs) — typically one IDR keyframe followed by many P/B frames that reference it. If you ask for a frame very early in the clip (0.000), the decoder may not have a complete keyframe yet on some inputs. Move the timestamp forward by 0.1-0.5 seconds, or upload a clip that starts on a keyframe.
Yes, but mind the output count. A 10-minute 4K clip at 30fps is 18,000 frames — extracting every frame at 8.3 MP each is ~20-40 GB of JPGs. For long clips, use Multiple Screenshots with a sane interval (every 1-5 seconds), or trim the source first with Trim HEVC and then extract frames from the cropped segment.
No. Decoding happens in your browser via WebAssembly — no Windows HEVC extension, no codec pack, no app install required. Chrome, Firefox, Edge, and Safari 14.1+ on desktop and mobile all work. The HEVC file never leaves your machine.