Stereo 3D Converter
Turn an ordinary 2D video into a side-by-side stereo pair you can see in 3D with no glasses, by crossing or relaxing your eyes. A depth model reads each frame and a second viewpoint is built from it. Everything runs in your tab; nothing is uploaded.
- Estimates depth per frame and synthesises the second eye, so ordinary 2D footage works — no stereo rig needed, though how well it converts depends on the shot
- Preview a single frame before committing, and see the depth map the model actually produced
Drop your video here
It stays on your machine and is never uploaded
Reads MP4, MOV, MKV, WebM, AVI, WMV, FLV, MPEG-TS, MPG, 3GP, and most other formats FFmpeg understands.
Add a video to beginAny ordinary 2D video works. The depth is worked out from the picture itself, so no special camera is needed.
Overview
What the tool does with a flat video, and why each part is there.
- 01
Depth from a single view
A neural depth model looks at every frame and estimates relative near-to-far depth for each pixel — not a measurement of distance, but an ordering of what sits in front of what. It reads the same cues a person reads a photograph with: occlusion, perspective, texture gradient, relative size. That is what makes ordinary footage usable as a source rather than only footage shot on two cameras.
- 02
A synthesised second eye
The depth map drives a horizontal shift: near pixels move further than distant ones, which is exactly what separates the two images your eyes receive in the real world. Both eyes are shifted by half the total rather than holding one still, so the framing stays centred and each view opens only half as much hidden area.
- 03
Gap filling that uses the background
Shifting pixels sideways exposes areas the camera never recorded, always at the edges of nearer objects. Each gap is patched from whichever side is further away, because that is what the missing area actually belongs to. Filling from the near side instead is what produces the rubbery halo around foreground subjects in cheaper conversions.
- 04
Steadying depth over time
A depth model run on one frame knows nothing about the frame before it, so its output jitters even on a locked-off shot. In stereo that reads as objects breathing in and out, which is the most uncomfortable thing a converted video can do. Both the depth map and the range it is scaled against are smoothed across frames.
- 05
Parallel and cross-eyed output
The same pair works either way round; only the order of the halves changes. Cross-eyed viewing works at any size, while parallel viewing is limited by the distance between your eyes but is more comfortable once it clicks.
- 06
A still preview before the run
Depth strength and where the screen plane sits are perceptual settings whose right values depend on the shot. One frame is rendered through the whole path in seconds, including the depth map itself, so those calls are made against a picture rather than against a slider position.
- 07
Segment-by-segment processing
The clip is converted in pieces, each one extracted, converted, encoded, and discarded before the next begins. Peak memory therefore depends on the size of a frame rather than the length of the video, which is what makes a full-length clip possible in a browser tab at all.
- 08
The first audio track carried across
The first audio track is muxed back on in one pass at the end rather than being cut and rejoined with every segment. It is copied without re-encoding when the container will carry it, and converted to AAC when it will not. Additional audio tracks and subtitles are not carried over.
How to use
From a flat clip to something you can see in 3D.
- 01
Add a video. Any ordinary 2D recording works — phone footage, a screen capture, a download. Nothing leaves your browser.
- 02
Choose parallel or cross-eyed. If you have never free-viewed before, start with cross-eyed: most people find it easier, and it works at any size.
- 03
Set the size per eye. Smaller is easier to free-view and much quicker to convert. 640px suits a phone screen well.
- 04
Render one frame in the preview and look at it. Adjust the 3D strength until the depth reads clearly without smearing at the edges of objects.
- 05
Switch the preview to the depth map. Bright is near, dark is far. If the model has misread the scene, that shows here more plainly than in the stereo pair.
- 06
Check the plan: output size, how many segments, how many frames, and the peak memory the run will need.
- 07
Press Convert. Progress is reported per segment with an estimate based on measured speed, not a guess. Keep the tab in the foreground.
- 08
Play the result, or download it and view it on a phone — which is where parallel viewing is easiest.
Details
The details that decide whether the result is something you can actually see.
- Monocular depth estimation on every frame, so most 2D footage your browser and FFmpeg can decode is a valid source
- Both eyes synthesised at half the total shift each, which halves the hidden area exposed in either view
- Depth-ordered pixel writing, so nearer surfaces win where two of them land in the same place
- Gaps filled from the further side of the edge, which avoids the foreground smearing typical of cheap conversions
- Depth smoothed across frames, along with the scale it is normalised against, so the scene does not pulse when something enters or leaves the shot
- A parallel or cross-eyed layout chosen at conversion time, plus an explanation of how to view each
- A per-frame preview showing both the stereo pair and the depth map the model produced
- Adjustable depth strength, screen plane, and depth curve, all previewable before a run
- A frame rate cap, so 60fps phone footage does not cost twice what it needs to
- Segment-by-segment conversion, so working memory is bounded by frame size rather than by how long the clip is
- Peak memory shown before the run, and an explicit warning when frames are too large to process at all
- A time estimate measured from real throughput rather than predicted, since GPU and CPU paths differ by an order of magnitude
- The first audio track carried across in one pass, copied where the container allows it, with no drift at segment boundaries
- Output as an ordinary MP4 that plays anywhere — the 3D is in the picture, not in a special format
- Everything runs in the browser tab: no upload, no queue, no account, and no watermark
Use cases
Why people want a flat video converted into a stereo pair.
-
Seeing old footage with depth
Home video, archive clips, and anything shot before stereo capture was common exist only as flat recordings. Depth estimation is the only route to a second viewpoint for material that can never be re-shot, and free-viewing means no hardware is needed to look at the result.
-
Trying stereo without buying anything
A headset or a 3D display is a real purchase to make on a hunch. A side-by-side pair viewed with your own eyes costs nothing and answers the question of whether the effect is worth it to you, using your own footage rather than a demo reel.
-
Preparing material for a VR headset
Side-by-side is the layout most headset video players understand. The file carries no stereo-format metadata, though, so most players need you to pick side-by-side and the left/right order yourself before the depth appears — the same file that free-views on a phone works there once that is set.
-
Drone and landscape shots
Aerial footage and wide landscapes have strong, unambiguous depth structure — foreground ridges, mid-ground valleys, distant horizon — which is exactly the kind of scene a depth model reads reliably. These convert better than almost anything else.
-
Product and object videos
A single object turning against a plain background is close to the ideal case: one clear subject, clean edges, and an uncluttered background that leaves little to invent when gaps open behind it.
-
Explaining stereo vision
Being able to convert a clip and then look at the depth map beside it makes the mechanism visible in a way a diagram does not. The failure cases are as instructive as the successes.
-
Footage that has to stay on your machine
Family video, client work, and anything under an agreement have no business on someone else's server for the sake of an experiment. Everything here happens in the tab, and the network panel will show you that nothing left it.
See also
Every frame costs depth estimation whether you keep it or not, so cutting a long recording down to the part you actually want before converting is worth doing, and that is a job for Video Trimmer. The size per eye here is set for free-viewing rather than for quality, so if you need the source itself at a different size first, use Video Resizer & Cropper. And because the result is always written as an MP4, turning it into another format afterwards is what Video Converter does.
What free-viewing actually is
The idea behind glasses-free stereo, and the one constraint that decides whether you can see it.
-
Two pictures, one for each eye
All stereo 3D works the same way: show each eye a slightly different view of the same scene and the brain fuses them into depth. Cinemas use polarised glasses to route the two images; a headset uses two screens. Free-viewing skips the hardware by having you aim your eyes so that each one lands on its own half of a side-by-side image.
-
Parallel versus cross-eyed
These are two ways of aiming. In parallel viewing your eyes relax outward as though looking past the screen, and the left image belongs on the left. Cross-eyed viewing points the eyes inward, in front of the screen, so the halves are swapped. The same file cannot serve both — viewed the wrong way, depth inverts and the picture turns inside out.
-
Why size matters for parallel viewing
To fuse a parallel pair your eyes must rotate no further apart than straight ahead, because human eyes cannot diverge. That puts a hard ceiling on how far apart matching points can sit: about 63 mm, the distance between your pupils. On a phone that is easy. On a 27-inch monitor showing a full-width pair, each half is roughly 30 cm across and fusing it is simply not possible.
-
Crossed and uncrossed disparity
When a point sits in front of the screen, your lines of sight cross before reaching it and the left eye sees it further right — crossed disparity. Behind the screen the reverse holds, and the separation is bounded by the eye-divergence limit above. This is why the screen plane defaults to the far end of the scene: everything then floats toward you, and nothing is ever pushed past what the eyes can do.
-
Where the artifacts come from
Two things limit any depth-based conversion. The model can misread a scene — a poster on a wall read as a window, a reflection read as depth — and no setting recovers from that, which is why the depth map is worth a look. And moving pixels sideways exposes background that was never filmed, so it has to be invented. Both get worse as strength rises, which is why modest settings usually look better.
-
What this is not
It is not the anamorphic illusion on curved outdoor LED billboards — that is built for one specific screen geometry and cannot be derived from a flat video. It is not a hologram or a light field. And it is not a substitute for footage shot on an actual stereo rig, where the second view was really photographed rather than inferred.
Best practices
Habits that get a watchable result rather than a headache.
- Preview a frame before converting, and preview one from the middle of the clip rather than the first frame, which is often a fade or a title
- Start at about 2% strength and raise it only until the depth reads clearly — the artifacts grow faster than the effect does
- Look at the depth map when a result disappoints, because a misread scene cannot be fixed by any slider and tells you immediately to try different footage
- Keep the screen plane at the far end unless you have a reason not to, since that keeps every object in front of the screen and within what your eyes can fuse
- Choose a small size per eye for parallel viewing and watch on a phone, which is the one screen where the width limit is comfortably met
- Try cross-eyed first if free-viewing is new to you, then switch to parallel once you can fuse an image reliably
- Prefer clips with a clear foreground and a real background — flat scenes, tight close-ups, and heavy motion blur all give the model little to work with
- Trim a long recording to the part you want before converting, since every frame costs depth estimation whether you keep it or not
- Keep the tab in the foreground while a conversion runs, because browsers throttle background tabs and a long run stretches out considerably
- Cap the frame rate at 30 for phone footage shot at 60, which halves the work for motion no one will resolve in a free-viewed pair
Limitations
What this tool cannot do, and where the results will disappoint.
- The second viewpoint is inferred, not photographed. Depth is estimated from a single image, and where that estimate is wrong the geometry is wrong with it — this is not equivalent to footage shot on two cameras.
- The model misreads some scenes. Reflections, glass, printed images of scenes, flat surfaces with strong texture, and heavy motion blur are all read unreliably. The depth map preview exists so you can see it rather than guess at it.
- Areas hidden behind objects have to be invented. Nothing filmed them, so the fill is a stretch of neighbouring background. It is unobtrusive at modest strength and obvious at high strength, particularly around thin objects and hair.
- It is not the anamorphic effect used on curved outdoor LED screens. That illusion is constructed for one specific screen geometry and viewing position and cannot be derived from a flat video, whatever a given app claims.
- Free-viewing is a learned skill. A significant number of people cannot do it at first, and some never find it comfortable. Cross-eyed is easier for most; a headset removes the problem entirely.
- Parallel viewing is limited by the width of the image on your screen, not by its pixel dimensions. A pair that fuses on a phone can be impossible on a monitor at full size, and no setting in this tool changes that — only how large you display it.
- Depth smoothing reduces flicker but cannot remove it. Fast motion, cuts inside the clip, and rapid lighting changes will still show some instability in depth.
- A cut inside the source is treated as continuous motion, because the clip is split on time rather than on scene changes. Depth is briefly blended across the cut.
- The picture is always re-encoded. Unlike the trimming and audio tools here, every pixel changes, so there is no copy path and a generation of compression is unavoidable.
- The output is twice as wide as the source frame, and files are correspondingly larger.
- The engine is about 31 MB and the depth model a further 26 to 47 MB on first use. Both are cached afterwards, but a fresh browser profile carries both downloads.
- Without WebGPU the depth model falls back to the CPU and runs roughly ten times slower, which makes long clips impractical on Safari and older browsers.
- Conversion is roughly real-time on a GPU, so a ten-minute video takes something like ten minutes with the tab open and in front. There is no queue and no background processing.
- Frames are held in memory during a segment, and WebAssembly is 32-bit. Very large frames are refused outright rather than allowed to fail partway, but a big source file remains a risk on a phone.
FAQ
Questions that come up when converting flat video to 3D.
How do I convert a 2D video to 3D?
Add the video, choose whether you want a parallel or cross-eyed pair, set the size per eye, and press Convert. A depth model reads every frame to work out what is near and what is far, and a second viewpoint is built by shifting pixels sideways in proportion to their depth. The result is an ordinary MP4 containing two images side by side — one for each eye. Preview a single frame first: depth strength is a judgement call that depends on the shot, and checking it on a still takes seconds against minutes for a full run.
Do I need 3D glasses to watch the result?
No, and that is the point. The output is a side-by-side pair you view by aiming your eyes rather than by filtering them. Cross your eyes slightly, or relax them as though looking past the screen, until the two halves overlap into a third image in the middle — that middle one has depth. It is a knack rather than a trick, and most people get it within a few minutes. The same file also loads directly into a VR headset, if you would rather not learn.
What is the difference between parallel and cross-eyed viewing?
They are two ways of aiming your eyes, and each needs the halves in a different order. Parallel viewing relaxes the eyes outward as though looking through the screen, and wants the left eye's image on the left. Cross-eyed viewing points them inward, in front of the screen, so the halves are swapped. Viewing a file the wrong way inverts the depth: the foreground sinks and the background floats, which looks wrong without being obviously wrong, so pick the mode before converting.
Why can I not see the 3D effect on my monitor?
Almost certainly because the image is too large, and this catches nearly everyone with parallel viewing. To fuse a parallel pair your eyes must not rotate further apart than straight ahead, since human eyes cannot diverge — which caps how far apart matching points can sit at about 63 mm, the distance between your pupils. Each half of a full-width pair on a 27-inch monitor is roughly 30 cm across, so it cannot be fused at all. Shrink the window, move further back, or watch on a phone. Cross-eyed viewing has no such limit and works at any size.
Is my video uploaded anywhere?
No. The video engine is FFmpeg compiled to WebAssembly and the depth model runs through WebGPU or WebAssembly, both inside your browser tab. Your file is read from disk into the tab's memory and the finished video is written back out as a download. The only things fetched from the network are the engine and the model themselves, once, and you can confirm nothing else moves by watching the network panel during a conversion.
How long does a conversion take?
It depends on the device, the output size, the frame rate, and the footage, so there is no single figure worth quoting. Depth has to be estimated on every frame and that dominates everything else, which means a machine with WebGPU is far quicker than one without — the CPU fallback is workable for a short clip and impractical for a long one. Rather than predict, the progress bar measures actual throughput and shows an estimate that becomes accurate within the first few seconds.
Is there a limit on video length?
There is no fixed threshold, but there is a ceiling. The clip is converted in segments, each extracted, converted, encoded, and handed out of the engine's memory before the next starts, so the work itself does not grow with duration. What does is the finished file: it has to be assembled in memory once before it can be saved, because the engine cannot write anywhere else. How long that allows depends on the output size, the frame rate, how compressible the footage is, and how much memory the device has. The tool works out whether your settings fit before starting and says so rather than failing partway, and choosing a shorter range or a smaller size per eye is what buys more length.
Why does the 3D look wrong on some videos?
Usually because the depth model misread the scene, and the depth map preview will show you exactly that. Reflections, glass, flat surfaces with strong texture, printed photographs within the shot, and heavy motion blur are all read unreliably, and no amount of strength adjustment recovers from a wrong depth map. Scenes with a clear foreground and a real background — landscapes, drone footage, a person against a room — convert far better than flat or cluttered ones.
What is the smearing around objects?
Shifting pixels sideways to build the second eye exposes areas that were hidden behind nearer objects, and nothing ever filmed them, so they have to be invented. Each gap is patched from the background side of the edge, which is where the missing content actually belongs, but a patch is still a patch. It grows with depth strength, which is the main reason modest settings usually look better than strong ones. Thin objects and hair are the hardest cases.
Can this make the anamorphic 3D effect on big outdoor screens?
No, and nothing can from a flat video. Those billboards work by rendering a scene with the perspective distortion needed for one specific curved screen and one specific viewing position — the illusion lives in the geometry of the screen and where you stand relative to it. That information does not exist anywhere in an ordinary video, so it cannot be recovered from one. This tool makes stereo pairs, which is a different effect with a different mechanism.
Does it work on portrait video from a phone?
Yes. Portrait sources keep their orientation, and rotation recorded in the file is handled — a clip shot vertically is treated as vertical rather than being reported as a sideways landscape frame. The resulting pair is two portrait frames side by side, which is quite wide overall but works well for free-viewing precisely because each half stays narrow.
What happens to the audio?
The first audio track is muxed onto the finished video in a single pass at the end rather than being split and rejoined with every segment, which is deliberate — cutting audio at every boundary is how drift creeps in. Where the output container will carry the stream as it is, it is copied rather than re-encoded; otherwise it becomes AAC. Only that first track survives: extra language tracks and subtitles are not carried over. Since the conversion changes no timings, the sound lines up exactly where it did, and a silent source is handled without complaint.
Related tools
More local, browser-only tools for working with video.