Free online BMP to PLY converter
Turn a BMP height map into a PLY point cloud or displaced 3D mesh.
Convert BMP to PLY online - free
Model type
A relief raises the bright parts of the picture above a base plate: terrain, embossed logos, signs. A lithophane is a thin plate that is thicker where the picture is dark, so the photo appears when light shines through it. Print it in white filament.
Model size (longest side)
Height
Relief: how far the brightest parts rise above the base plate. Lithophane: the thickest point of the plate (the thinnest is 0.8 mm). Auto uses 5 mm for a relief and 3 mm for a lithophane.
Mesh detail
More detail keeps finer features of the picture, but the file gets bigger and slower to slice.
Swaps high and low, for example to raise a dark logo on a white background.
Your file is processed instantly and deleted as soon as you download it.
Import a file from a URL
Paste a direct link to the file. We download it to our server and it is converted exactly like an upload.
How it works
-
1/3
Upload your .bmp file
Click to browse to select your file you want to convert or simply drag & drop your file into selected area.
-
2/3
Perform .bmp to .ply conversion
After successful file upload, click to convert when you are ready.
-
3/3
Download converted .ply file
Conversion result is ready to download.
How to convert bmp to ply file
- 3D modeling
- No ratings yet.
101convert.com assistant bot
1h
What the BMP format is
BMP is a bitmap raster format used by Windows Paint, image scanners, screenshots, texture tools, CAD applications, and older rendering software. It stores pixels, usually with 8-bit grayscale, 24-bit RGB, or 32-bit RGBA color; it does not store vertices, polygons, depth, or camera information. BMP files are often uncompressed, which preserves pixel values but makes them larger than PNG or JPEG files.
In 3D work, a grayscale BMP is commonly used as a height map: dark pixels represent low elevation and bright pixels represent high elevation. A normal color photograph contains no reliable depth, so it cannot produce an accurate 3D model without photogrammetry, depth data, or an assumed projection.
What the PLY format is
PLY, also called the Polygon File Format or Stanford Triangle Format, stores 3D model elements such as vertex coordinates, polygon faces, vertex colors, and normals. It is supported by MeshLab, Blender, CloudCompare, Open3D, many 3D scanners, and point-cloud processing tools.
PLY can be ASCII or binary. ASCII is easier to inspect and exchange between programs; binary is smaller and faster for large scans. A PLY generated from one BMP may contain only a colored point cloud or a height-field mesh, not a complete solid model with thickness, watertight boundaries, or physically meaningful scale.
How to actually convert BMP to PLY
Convert a grayscale BMP into a colored point cloud with Python
This method assigns each pixel an X/Y position and converts its brightness into Z height. Install Pillow and NumPy with python -m pip install pillow numpy, then save the following as bmp_to_ply.py:
from PIL import Image
import numpy as np
image = Image.open('input.bmp').convert('RGB')
pixels = np.asarray(image)
gray = np.dot(pixels[..., :3], [0.299, 0.587, 0.114])
height, width = gray.shape
xy_scale = 1.0 / max(width - 1, height - 1)
z_scale = 2.0
with open('output.ply', 'w', encoding='ascii') as out:
out.write('ply\nformat ascii 1.0\n')
out.write(f'element vertex {width * height}\n')
out.write('property float x\nproperty float y\nproperty float z\n')
out.write('property uchar red\nproperty uchar green\nproperty uchar blue\nend_header\n')
for row in range(height):
for col in range(width):
x = (col - (width - 1) / 2) * xy_scale
y = ((height - 1 - row) - (height - 1) / 2) * xy_scale
z = float(gray[row, col]) / 255.0 * z_scale
r, g, b = pixels[row, col]
out.write(f'{x} {y} {z} {r} {g} {b}\n')
Run it with python bmp_to_ply.py. The resulting output.ply contains one vertex per pixel and retains the BMP colors. Change z_scale to control relief height; downsample the image first if the source has millions of pixels.
Create a polygon mesh in Blender
- Open Blender, add a plane, and subdivide it into a grid with approximately the same aspect ratio as the BMP.
- Create a displacement texture from the BMP through the plane's Modifiers → Add Modifier → Displace controls. Set the texture type to an image or movie, load the BMP, and adjust Strength and Midlevel.
- Apply the displacement modifier after checking the preview. Add a Solidify modifier only if the exported model needs thickness.
- Use File → Export → Stanford (.ply), enable vertex colors or normals when needed, and select the desired ASCII or binary encoding.
For a basic browser conversion without installing software, 101convert.com can convert the file for free. Verify the result in a PLY viewer: a generic image-to-geometry conversion still needs a height interpretation, and a flat or invalid model indicates that the source did not contain usable depth information.
Quality, compatibility, and limitations
Pixel dimensions determine geometric resolution, while grayscale precision determines height resolution. An 8-bit BMP provides only 256 height levels, so smooth ramps may show banding; 16-bit height data is preferable when the source supports it.
The Python example creates vertices but no faces, so viewers display a point cloud. A displaced Blender grid creates polygon faces, but its topology follows the image grid and may need decimation, smoothing, or triangulation in MeshLab or Blender. PLY does not automatically preserve BMP metadata, physical units, transparency, layers, or the original image file.
Many PLY readers expect vertex coordinates in a particular unit convention even though PLY itself does not enforce one. Set the X/Y and Z scales deliberately, and confirm whether the receiving application expects vertex colors, normals, triangular faces, ASCII PLY, or binary little-endian PLY.
Note: This bmp to ply conversion record is incomplete, must be verified, and may contain inaccuracies. Please vote below whether you found this information helpful or not.
BMP vs PLY: format comparison
How the BMP and PLY formats compare on the properties that matter most for this conversion.
| Property | .BMP Bitmap Image File | .PLY Polygon File Format |
|---|---|---|
| Open standard | Partly open | Yes |
| Compression | Uncompressed | Uncompressed |
| Typical file size | Very large | Medium |
| Opens in a web browser | Yes, natively | No |
| Further editing | Easy | Easy |
| Metadata support | Basic | Basic |
| Plain-text readable | No | Yes |
| Best used for | Editing and post-production | Data exchange |
| Introduced | 1990 | 1994 |
| Developer | Microsoft | Stanford University |
| MIME type | image/bmp | application/octet-stream |
Frequently asked questions
Is the BMP to PLY converter free?
Yes, converting BMP to PLY on 101convert.com is completely free. No registration, email address or installation is required. If you need a higher file size limit or want to convert more files at once, see our plans.
How large can my BMP file be?
You can upload BMP files up to 50 MB and convert up to 20 files at once in a single batch.
What happens to my uploaded files?
Files are processed automatically and deleted from our servers within a few minutes after conversion. We never view or share your files.
Do I need to install any software to convert BMP to PLY?
No. The BMP to PLY conversion runs entirely online in your browser and works on Windows, Mac, Linux, Android and iPhone.
Did the conversion fail?
In most cases, the cause is an incorrect file format. Please upload a valid BMP file for this BMP to PLY conversion. Occasionally, the issue may be on our side. We analyze recurring conversion failures and disable or fix the converter if we detect a defect.
Additional formats for
bmp file conversion
Reverse conversion
Convert to ply from
other formats
- 3d to ply
- fbx to ply
- asc to ply
- txt to ply
- obj to ply
- glb to ply
- ma to ply
- pts to ply
- ai to ply
- skp to ply
- 3dm to ply
- 3ds to ply
- 3mf to ply
- abc to ply
- ac to ply
- blend to ply
- dae to ply
- dds to ply
- dwf to ply
- dwg to ply
- dxf to ply
- gif to ply
- gltf to ply
- iam to ply
- iges to ply
- ipt to ply
- iv to ply
- jpeg to ply
- jpg to ply
- kml to ply
- kmz to ply
- lxo to ply
- max to ply
- mdl to ply
- mesh to ply
- model to ply
- off to ply
- pcd to ply
- png to ply
- psd to ply
- sat to ply
- scad to ply
- shp to ply
- sldasm to ply
- sldprt to ply
- stl to ply
- tga to ply
- tif to ply
- tiff to ply
- u3d to ply
- usd to ply
- usda to ply
- usdc to ply
- usdz to ply
- vrml to ply
- webp to ply
- wrl to ply
- x3d to ply
- x_b to ply
- x_t to ply
- xgl to ply
- xyz to ply