Sparse reconstruction of central Rome.

Sparse model of central Rome using 21K photos produced by COLMAP’s SfM pipeline.

Dense reconstruction of landmarks.

Dense models of several landmarks produced by COLMAP’s MVS pipeline.


COLMAP is a general-purpose Structure-from-Motion (SfM) and Multi-View Stereo (MVS) pipeline with a graphical and command-line interface. It offers a wide range of features for reconstruction of ordered and unordered image collections. The software is licensed under the new BSD license. If you use this project for your research, please cite:

    author={Sch\"{o}nberger, Johannes Lutz and Frahm, Jan-Michael},
    title={Structure-from-Motion Revisited},
    booktitle={Conference on Computer Vision and Pattern Recognition (CVPR)},

    author={Sch\"{o}nberger, Johannes Lutz and Zheng, Enliang and Pollefeys, Marc and Frahm, Jan-Michael},
    title={Pixelwise View Selection for Unstructured Multi-View Stereo},
    booktitle={European Conference on Computer Vision (ECCV)},

If you use the image retrieval / vocabulary tree engine, please also cite:

    author={Sch\"{o}nberger, Johannes Lutz and Price, True and Sattler, Torsten and Frahm, Jan-Michael and Pollefeys, Marc},
    title={A Vote-and-Verify Strategy for Fast Spatial Verification in Image Retrieval},
    booktitle={Asian Conference on Computer Vision (ACCV)},

The latest source code is available at GitHub. COLMAP builds on top of existing works and when using specific algorithms within COLMAP, please also cite the original authors, as specified in the source code.


Executables and other resources can be downloaded from

Getting Started

  1. Download the pre-built binaries or build the library manually from source (see Installation).

  2. Download one of the provided datasets (see Datasets) or use your own images.

  3. Use the automatic reconstruction to easily build models with a single click (see Quickstart).


Please, use GitHub Discussions for questions and the GitHub issue tracker for bug reports, feature requests/additions, etc.


The library was originally written by Johannes L. Schönberger with funding provided by his PhD advisors Jan-Michael Frahm and Marc Pollefeys. Since then the project has benefited from countless community contributions, including bug fixes, improvements, new features, third-party tooling, and community support.