fSpy is a free, open-source macOS application that extracts precise camera parameters — focal length, position, and orientation — from a single still photograph, so 3D artists can match their virtual camera to the real one that took the shot.
What is fSpy?
fSpy is a camera-matching tool: you feed it a photograph, drag a handful of vanishing-point lines over architectural edges or any parallel geometry in the scene, and it solves for the camera's field of view, rotation matrix, and world position. The result is a calibrated camera state you can drop straight into Blender (via the official fSpy-Blender add-on), and with a bit of manual re-export into Cinema 4D, Houdini, or Unreal Engine.
That single trick — turning a flat photo into a geometrically accurate 3D camera — is worth an enormous amount of time on any visual-effects, motion-graphics, or archviz project where you need CGI elements to sit convincingly inside real-world photography.
What does fSpy do best?
fSpy excels at one-point and two-point perspective solving on architectural and interior photography, where parallel lines are plentiful and easy to snap. Open a photo of a room, a street corner, or a building facade, lay down two sets of vanishing lines on horizontal and vertical edges, optionally pin the horizon, and the app gives you a camera in seconds.
- Vanishing-point GUI — colour-coded line handles snap to edges; residual error is shown live so you know when the solve is tight.
- Blender import in one click — the official Python add-on reads the fSpy project file, sets focal length and sensor size, and positions the Blender camera to match. Background image included.
- Aspect-ratio and sensor presets — dial in the camera body that took the shot (or leave it unlocked if unknown) for a more constrained, accurate solve.
- Reference-point origin — pin a specific point in the photo as the 3D world origin, so your Blender scene scales correctly from day one.
Where it falls short is organic subjects and shots with no parallel geometry — a close-up portrait or a forest scene gives it nothing to grip. For those, dedicated photogrammetry tools like Reality Capture or Meshroom are the right instruments.
Is fSpy free?
Yes — fSpy is completely free to download and use, with no trial nag, no subscription, and no feature paywall. The source code is published on GitHub under a GPL-3 licence, so it is also free as in freedom. There is no paid tier; the developer accepts voluntary support.
Who should use fSpy?
fSpy is built for 3D generalists and compositors who regularly integrate CGI into real photography. If you work in architectural visualisation, product rendering on lifestyle backdrops, film visual-effects match-moving, or motion-graphics with live-action plates, fSpy slots into your pipeline at the moment you first open a reference photo.
It is less useful for pure photographers or video editors with no 3D workflow, and it is not a substitute for full match-moving software like SynthEyes or PFTrack on multi-frame footage. Think of it as the lightweight, still-image end of the spectrum — where those tools would be overkill and a manual camera-angle guess would be too imprecise.
How does fSpy compare to manual camera matching in Blender?
Blender has its own camera-calibration workflow using empties and the viewport, and experienced artists can get close. fSpy wins on speed and precision: the constrained vanishing-point solver produces a mathematically tighter result than eye-balling it in 3D, and the one-click import means you spend zero time transcribing numbers. I have found fSpy cuts camera-setup time from fifteen minutes of fiddling to under two — and the resulting composite sits better on the first render.
The trade-off is a context switch out of Blender, which some artists find disruptive. For teams using Cinema 4D or Unreal without a direct importer, there is also a small manual re-export step. Neither is a dealbreaker given what you get in return.
What are the best fSpy alternatives?
For still-image camera matching specifically, fSpy has almost no direct competition at its price point. Commercial options include SynthEyes and PFTrack, both of which handle multi-frame footage and have far steeper learning curves. Blender's built-in camera solver works for video sequences but is cumbersome for a single frame. For photogrammetry (building 3D geometry from photos rather than just matching camera angle), Meshroom and Reality Capture are the names to know — but they solve a fundamentally different problem.