Convert M3D to XYZ

Free, in your browser, with nothing uploaded. Drop your .m3d file in and take the .xyz away.

Drop your M3D file here

.m3d in, .xyz out. Bring its textures and sidecar files too

Choose files

Nothing is uploaded No account, no email No file size limit

How to convert M3D to XYZ

  1. 01

    Add your .m3d file

    Drag your Model 3D file onto the drop zone, or click it to browse. Bring its textures and sidecar files in the same drop and they get wired back up.

  2. 02

    Check the preview

    The model is parsed on your machine and drawn in the viewport, so a wrong axis or a missing texture shows up before you commit rather than downstream.

  3. 03

    Save the .xyz file

    Press convert. The XYZ Point Cloud file is written in the tab and lands in your downloads folder. No link, no expiry, no account.

What carries over, and what does not

A format conversion is a translation, and translations lose things. Here is what actually happens when an M3D file becomes an XYZ file.

DataM3DXYZSurvives
GeometryYesNoDropped
Materials & colourYesNoDropped
Texture mapsYesNoDropped
Animation & rigsNoNon/a
Scene hierarchyYesNoDropped

Expect to lose

  • XYZ has no concept of texture coordinates or image maps; the model comes out untextured.
  • The scene hierarchy is flattened: separate objects in the M3D file are merged into one mesh.

None of this is a defect in the conversion; it is what XYZ is specified to hold. If you need the missing data, convert to GLB instead, which carries geometry, PBR materials, textures and animation in a single file.

What our XYZ writer puts in the file

The vertices of the model, one point a line, with colour. Triangles are not written.

Bring the sidecar files

Drop any referenced texture images in alongside the .m3d.

About Model 3D

M3D is a small, deliberately universal model container designed as a simpler alternative to glTF for engines that would rather not carry a JSON parser. Its density comes from a header that declares the width of every index and coordinate in the file, so a model that fits in a 256-unit grid stores coordinates in a single byte each; the whole payload can also be zlib-wrapped. It carries meshes, materials, texture coordinates, a skeleton and animation, and has voxel and mathematical-shape flavours that describe geometry without polygons. The polygon mesh is what converts here.

Commonly seen in: Model 3D tooling, small engines, Minetest, Goxel. More on the M3D format page.

About XYZ Point Cloud

An XYZ file is a text file with one point per line: three coordinates, optionally followed by three colour values. That is the entire specification. Its simplicity makes it the universal fallback for surveying data, scientific point sets and anything exported from a spreadsheet or a script.

Commonly seen in: CloudCompare, MeshLab, surveying tools, scientific data exports. More on the XYZ format page.

How the conversion works

When you drop a file in, the bytes are handed to a parser compiled to run in your browser. The M3D data is decoded into an in-memory scene graph of meshes, materials and transforms, which is what the preview is drawing. Pressing convert walks that scene graph back out through a XYZ writer and hands you the resulting bytes as a download.

The whole round trip is local. The page itself is static: it is delivered once and then does its work offline. That is why the privacy claim is checkable rather than a promise.

M3D to XYZ: common questions

Is my M3D file uploaded anywhere?

No. The file is read by code running inside this browser tab and never crosses the network. You can prove it by disconnecting from the internet before you convert, the page keeps working, or by watching the Network tab in your browser's developer tools while you drop a file in.

How large an M3D file can I convert?

There is no server-side limit because there is no server. The practical ceiling is your own machine's memory: a browser tab can usually handle models up to a few hundred megabytes. Very dense scans or scenes with millions of triangles will take a few seconds and a lot of RAM.

Why does my converted XYZ file look untextured?

XYZ stores geometry only; it has no way to record materials or texture maps. If you need the surfacing to survive, convert to GLB or glTF instead.

Does it cost anything?

No. There is no fee, no account, no watermark and no per-file limit. Since the conversion runs on your hardware rather than ours, serving this page costs about as much as serving a blog post.

Does it work on a Mac, on Windows or on a phone?

All of them. There is nothing to install: any browser with WebGL 2 will do, which covers current Chrome, Edge, Firefox and Safari on desktop, and Safari and Chrome on mobile. A phone has less memory than a laptop, so a very heavy scene may be the one thing it cannot finish.

Related conversions

Other things to do with the same file.

From M3D:

Other ways to get to XYZ:

Or do something else with it: