LAUNCH OFFER€25 in free credits when you sign up, no card requiredClaim the offer
    TURNA, Blender render farm
    Back to the Blender guides

    Point cloud: what it is, where it comes from, and how to use one in Blender

    T
    TURNA technical team
    29 October 2026
    12 min

    Short answer

    A point cloud is a set of points in 3D space, each defined by X, Y and Z coordinates and often a color, an intensity or a normal, with no faces connecting them. Point clouds come from laser scanners (lidar), photogrammetry and depth cameras, and are shared as LAS, LAZ, E57, PLY or text files. Blender 5.2 imports PLY natively and renders Point Cloud objects in Cycles and EEVEE; LAS and E57 need an add-on or a conversion first.

    • Import: File > Import > Stanford PLY (.ply), or drag the file into the 3D Viewport.
    • Make it a point cloud: Object > Convert > Point Cloud.
    • Point size: Geometry Nodes, Set Point Radius node (Point menu).
    • Colors in renders: a material with an Attribute node (Input) named Col.
    • LAS, LAZ, E57: the Point Cloud I/O add-on, or convert to PLY in CloudCompare.

    Blender menu names below are checked against the Blender 5.2 manual and source code.

    What is a point cloud?

    A point cloud is a sampling of a real surface: thousands or millions of points recorded wherever a measuring device hit an object, a building or a stretch of terrain. At its core, each point is a position, three coordinates X, Y and Z, and nothing links the points together. The Blender manual describes this kind of data as suited to 3D scans, particle simulations and sparse datasets where a surface mesh would be unnecessary or impractical.

    That is the key difference from a mesh. A mesh connects its vertices with edges and faces, and faces are what you see when you render it. A point cloud does not describe a surface; it gives you samples of one, denser or sparser depending on the device and the distance.

    What each point can store

    • Position: X, Y, Z, the only value every point cloud has.
    • Color: RGB, taken by the scanner's camera or by the photos of a photogrammetry shoot.
    • Intensity: in the LAS specification, the integer representation of the pulse return magnitude, in other words how strong the laser echo was.
    • Normal: the direction perpendicular to the surface at that point, which surface reconstruction depends on.
    • Classification: in lidar data, a class per point. LAS 1.4 uses 2 for ground, 6 for buildings and 9 for water, among others.

    Where point clouds come from

    Laser scanners and lidar

    NOAA defines lidar (Light Detection and Ranging) as a remote sensing method that uses a pulsed laser to measure ranges. A terrestrial laser scanner on a tripod applies that principle to the scene around a fixed station. Airborne lidar, flown on airplanes and helicopters, pairs every range with the position and orientation of the aircraft from integrated GPS and inertial measurement units, which produces a three-dimensional point cloud of the ground below.

    National programs publish this data openly. France's IGN, for example, distributes its LiDAR HD survey, acquired at no less than 10 pulses per square meter (5 above 3,200 m altitude) and classified into 11 categories, as 1 km by 1 km LAZ tiles of roughly 500 MB to 2 GB each, under an open license.

    Lidar has also reached consumer hardware. The iPad Pro Apple announced in March 2020 has a LiDAR Scanner that measures the distance to surrounding objects up to 5 meters away, indoors and outdoors.

    Photogrammetry

    Photogrammetry rebuilds points from many overlapping photos of the same subject. In the AliceVision pipeline behind Meshroom, Structure from Motion solves the position of every camera and outputs a sparse point cloud; a depth map is then computed for each view before meshing and texturing. The guide to turning a photo into a 3D model walks through that workflow.

    Depth cameras

    A depth camera outputs one distance per pixel. Microsoft's Azure Kinect, for instance, lights the scene with near-infrared light, measures how long it takes to come back (time-of-flight) and stores a Z value in millimeters for every pixel. With the camera's optical parameters, each pixel can be turned into a point.

    Point cloud file formats

    FormatWhat it isIn Blender 5.2
    LAS (.las)Binary exchange format for lidar data, defined by the ASPRS; colors plus fields such as intensity and classificationNo native import
    LAZ (.laz)LAS compressed losslessly by LASzip; its authors say files end up at 7 to 20% of the original sizeNo native import
    E57 (.e57)ASTM E2807 standard for 3D imaging data: points, color, intensity and photos in a mix of binary and XMLNo native import
    PLY (.ply)Polygon File Format, also known as the Stanford Triangle Format, ASCII or binary: vertices with colors and normals, faces optionalFile > Import > Stanford PLY (.ply)
    XYZ, PTS, TXTPlain ASCII text, one point per line: X, Y, Z, then optional colors, normals and valuesNo direct import; the Import CSV node works if the file has a header row

    Blender also reads point clouds from USD files (since 4.2) and glTF files (since 5.2).

    What point clouds are used for

    • Surveying: keep only the ground class and you get the bare terrain under trees and buildings.
    • Architecture and BIM: a scan of an existing building is the base for modeling it.
    • Cultural heritage: a monument or a dig is recorded exactly as it stood on a given date.
    • Visual effects: a scan of a film set is the reference for lining up CG with the plate.
    • Digital twins: a plant or a city is captured so its digital copy can be monitored.

    From point cloud to mesh

    Texturing, 3D printing or animating a scanned object requires a surface. Getting one usually takes three steps: thin the cloud, compute oriented normals, reconstruct the surface.

    Oriented normals first

    Poisson reconstruction needs an oriented normal at every input point, which, its authors note, most scanners provide. If your cloud has none, CloudCompare computes them with Edit > Normals > Compute: pick a local surface model (plane, triangulation or quadric), a neighborhood radius and an orientation method such as Minimum Spanning Tree. In MeshLab, the Compute normals for point sets filter starts from 10 neighbors by default.

    Poisson surface reconstruction

    Michael Kazhdan, Matthew Bolitho and Hugues Hoppe introduced Poisson surface reconstruction at the 2006 Symposium on Geometry Processing. It considers all the points at once, which makes it highly resilient to noise. The screened version, published by Kazhdan and Hoppe in ACM Transactions on Graphics in 2013, creates watertight surfaces from oriented point sets and treats the input points as interpolation constraints, so the result sticks closer to the measurements.

    • In MeshLab, the Surface Reconstruction: Screened Poisson filter is driven by Reconstruction Depth, 8 by default: at depth d, the solver grid is no larger than 2d cells per side.
    • In CloudCompare, the qPoissonRecon plugin is driven mainly by octree depth: higher means finer and slower. On open shapes such as terrain, its density field lets you drop the triangles farthest from the input points with Edit > Scalar Fields > Filter by Value.

    Either way, the mesh you get is heavy and uneven. The guides to remeshing in Blender and to retopology cover how to turn it into something you can texture and animate.

    CloudCompare and MeshLab: the free tools to know

    CloudCompare describes itself as 3D point cloud (and triangular mesh) processing software, originally designed to compare two point clouds, such as laser scans. It is free, GPL-licensed and runs on Windows, macOS and Linux. It reads and writes LAS, E57, PLY and ASCII formats, and thins a dense cloud with Edit > Subsample: Random (a set number of random points), Spatial (a minimum distance between points) or Octree (one point per cell).

    MeshLab, developed since 2005 by the Visual Computing Lab of ISTI-CNR in Italy under GPL 3.0, cleans, repairs and converts meshes. Its reconstruction filters include Screened Poisson and Ball Pivoting, which builds triangles from the existing points without adding new ones.

    Working with point clouds in Blender 5.2

    Import a PLY file

    1. Go to File > Import > Stanford PLY (.ply), or drag the file into the 3D Viewport.
    2. Leave Vertex Colors on sRGB, the default, unless the file stores linear colors (Linear); None skips colors entirely.
    3. Leave Merge Vertices off, as it is by default: it merges points that sit at the same location.
    4. Check Forward Axis and Up Axis (Y and Z by default) if the cloud comes in lying on its side.

    Blender creates a Mesh object named after the file. If the file has no faces, that mesh is vertices only. Colors land in a color attribute called Col, normals in a normal attribute, and any other vertex property, an intensity value for instance, becomes a Float attribute that keeps its name from the file. The viewport draws those vertices as small dots, but a mesh without faces renders as nothing.

    The Point Cloud object type

    Blender has a dedicated object type for this, Point Cloud. It sat behind an experimental option for a long time and has been fully enabled since Blender 4.5. Cycles has rendered point clouds directly as spheres since 3.1, which the release notes describe as much more efficient in memory and render time than instancing an object on every point. EEVEE draws them too.

    • Object > Convert > Point Cloud turns a mesh into a point cloud: one point per vertex, with the mesh attributes, Col included. Object > Convert > Mesh goes the other way.
    • Add > Point Cloud creates a cloud of 400 random points, handy for tests.
    • Built-in attributes per point are position, radius (its size), color, id and velocity. With no radius attribute, Blender uses 0.01, which is 1 cm at the default unit scale.

    Edit Mode has worked on point clouds since 4.5, enough to clean up a scan by hand: select with A, Alt+A, Ctrl+I or Select Random, move points with the transform tools, delete stray points with X, or split an area into its own object with P (Point Cloud > Separate).

    Geometry Nodes for points

    • Mesh to Points (Mesh > Operations) builds a point cloud from a mesh's vertices, edge midpoints, face centers or corners, with a Radius of 0.05 by default.
    • Points to Vertices (Point) does the opposite and outputs one mesh vertex per point.
    • Set Point Radius (Point) sets the size of each point, in the viewport and in renders.
    • Instance on Points (Instances) places a piece of geometry on every point, a small sphere or a cube for example. Point attributes stay available on the resulting instances.
    • Points to Volume (Point) wraps each point in a fog sphere stored in a grid named density. Followed by Volume to Mesh (Volume > Operations), it gives you a mesh without leaving Blender, as fine as the sphere radius and voxel size allow.

    Since Blender 4.5, the Geometry Nodes Input > Import menu also has Import PLY and Import CSV. The latter creates a point cloud: every row becomes a point and every numeric column an attribute named after the mandatory header row, with the separator set in Delimiter. Positions stay at zero, so read the x, y and z columns with Named Attribute, combine them with Combine XYZ and feed the result into Set Position.

    Show the point colors

    1. Select the Point Cloud object and give it a material.
    2. In the Shader Editor, add an Attribute node (Shift+A > Input > Attribute) and type the attribute name in Name: Col after a PLY import, or whatever your file calls its color.
    3. Connect its Color output to the Base Color of the Principled BSDF, or to an Emission shader to show the recorded colors regardless of scene lighting.
    4. Switch the viewport to Material Preview or Rendered to see them.

    The Point Info node (Input > Point Info), documented for Cycles, outputs each point's position, radius and a random value, which you can run through a Color Ramp to vary the point colors. The guide to materials in Blender covers the Shader Editor and the Principled BSDF.

    A Point Cloud object renders like the rest of the scene; the guide on how to render in Blender covers engine choice and settings. For a flythrough of a dense survey, the frames can be split across several machines with a Blender render farm.

    Blender's limits and how to work around them

    File > Import in Blender 5.2 has no entry for LAS, LAZ or E57. You have three options.

    • Point Cloud I/O (StudioMedio, GPL, on extensions.blender.org) imports and exports E57, PLY, LAS, LAZ, PCD, XYZ and PTS. According to its listing, it creates a native Point Cloud object, keeps colors, normals, intensity and classification as attributes, and its Center on Origin option handles the large coordinates of LAS files. Blender 5.1 or later.
    • E57 Point Cloud Importer (Quentin Misslin, GPL, same platform) imports E57 files as Point Cloud objects with colors and normals, from Blender 5.0.1.
    • CloudCompare: open the LAS or E57 file, thin it with Edit > Subsample, then save it as PLY with normals, colors and scalar fields.

    Add-ons install from Preferences > Get Extensions; the guide to Blender extensions has the details.

    Georeferenced coordinates

    Lidar surveys often come in map coordinates, around a million meters. Blender's PLY importer stores positions as 32-bit floats, and the CloudCompare wiki, which also works in 32-bit floats, explains that around 106 precision drops to roughly 1 to 10 cm. Move the cloud close to the origin before bringing it into Blender; CloudCompare itself offers a Global Shift beyond about 105.

    Gaussian splats, a close cousin

    3D Gaussian Splatting, presented at SIGGRAPH 2023 by a team from Inria, Université Côte d'Azur and MPI Informatik (Kerbl, Kopanas, Leimkühler and Drettakis), also starts from a point cloud: the sparse one produced during camera calibration. It then represents the scene with 3D Gaussians, soft oriented blobs, and renders it in real time.

    Frequently asked questions

    What is a point cloud?

    A point cloud is a set of points in 3D space, each defined by its X, Y and Z coordinates, with no edges or faces connecting them. Each point can also carry a color, an intensity, a normal or a classification. It is the raw output of laser scanners, photogrammetry and depth cameras.

    How is point cloud data captured?

    With a laser scanner (lidar) on a tripod, in an aircraft or built into some tablets; with photogrammetry, which reconstructs points from many overlapping photos; or with a depth camera, which measures a distance for every pixel.

    What file formats are used for point clouds?

    LAS, the ASPRS binary format for lidar, and LAZ, its lossless compressed version; E57, the ASTM E2807 standard; PLY, which stores vertices with or without faces; and plain text formats such as XYZ and PTS, with one point per line.

    How do you convert a point cloud to a mesh?

    Compute oriented normals first, for example with Edit > Normals > Compute in CloudCompare, then run a surface reconstruction. The classic method is Poisson reconstruction, available as the qPoissonRecon plugin in CloudCompare and as Surface Reconstruction: Screened Poisson in MeshLab.

    How do I import a point cloud into Blender?

    For a PLY file, use File > Import > Stanford PLY (.ply). Blender creates a mesh made only of vertices, colors stored in a Col attribute. Convert it with Object > Convert > Point Cloud to render the points as spheres in Cycles or EEVEE.

    Can Blender open LAS or E57 files?

    Not out of the box. Two add-ons on extensions.blender.org fill the gap: Point Cloud I/O (E57, LAS, LAZ, PLY, PCD, XYZ, PTS) and, for E57 only, E57 Point Cloud Importer. The other route is to open the file in the free CloudCompare and save it as PLY.

    Rendering the animation on TURNA

    When a scene is already well optimised and the frame count is what takes the time, the remaining lever is rendering several frames at once. TURNA does this for Blender: an add-on (Blender 4.0 to 5.2, Cycles and Eevee) sends the scene in one click, and the frames are split across 1, 2, 4 or 8 GPUs in parallel, RTX 5090 first and RTX 4090 when none is free. The add-on shows the estimated cost before anything starts. Prices start at €4.90 per hour, billed on the time actually used, with a 2-minute minimum (30 seconds until November 9), and new accounts get €25 of free credit. A single still image is still rendered by one machine, so the gain is on animations. Tiers and worked examples are on the Blender render farm page.