Convert M3D to X3D

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

Drop your M3D file here

.m3d in, .x3d 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 X3D

  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 .x3d file

    Press convert. The Extensible 3D 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 X3D file.

DataM3DX3DSurvives
GeometryYesYesYes
Materials & colourYesYesYes
Texture mapsYesYesYes
Animation & rigsNoNon/a
Scene hierarchyYesYesYes

This is a comparatively lossless pairing: 4 of the five categories above are supported by both formats, so most of what is in your M3D file has somewhere to go in the X3D file.

What our X3D writer puts in the file

Geometry, normals and per-mesh material colour. Texture images are not written, for the same reason as VRML: X3D references them by filename rather than carrying them.

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 Extensible 3D

X3D is the ISO standard that replaced VRML, and it describes a scene as an XML document: a tree of Transform nodes holding Shape nodes, each pairing an Appearance with a geometry node such as IndexedFaceSet, IndexedTriangleSet or a primitive. It is the archival format for a great deal of scientific, medical and museum 3D work, and because it is XML it is one of the few 3D formats you can usefully read in a text editor.

Commonly seen in: Web3D Consortium tooling, scientific visualisation, museum and heritage archives, BlenderX3D. More on the X3D 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 X3D 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 X3D: 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 X3D file look untextured?

Because this writer leaves them out. X3D references an image by filename rather than storing it inside the file, so the images would have to travel separately and land where the file expects them, which is how a converted model arrives broken. Convert to GLB, FBX or USDZ instead if the textures need to stay with the model.

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 X3D:

Or do something else with it: