.xml → .usda
MJCF to USD
Convert a robot description from MJCF to USD in the browser. Nothing is installed and nothing is queued: the file is read, written in the other format, and handed back with a list of anything that could not be carried across.
Convert a file
Drop your MJCF here
Drop the folder too if the model references meshes.
Files are read on our server and deleted after a day. Nothing is published.
Reading the MJCF
Writing the USD
Look at the file first
What this conversion costs
These are the things USD has no place for. They are reported on the converted file as well, as a comment at the top, so the file itself says what is missing from it.
- Actuators. MJCF describes motors as separate elements with their own gear ratios; USD keeps a force limit on a drive, so a rating survives and the actuator model does not.
- Solver settings, contact pairs and defaults. Those are MuJoCo's own tuning, and no other format has a place for them.
A simulation model becoming a scene
MJCF is written to be simulated; USD is written to be composed into a scene. What crosses is the robot itself — bodies, joints, geometry, inertia — and what stays behind is the part that only means something to MuJoCo's solver.
Meshes keep their paths
Geometry that pointed at an STL or an OBJ still points at it, as a USD reference. Keep the mesh folder beside the stage and it composes; move the stage on its own and it opens with the primitives and empty references, which is visible immediately rather than subtly wrong.
The two formats
- MJCF .xml
- MuJoCo's own format: the same robot, plus everything a solver needs to simulate it.
- USD .usda
- NVIDIA's scene format, where a robot is ordinary geometry with UsdPhysics applied on top — what Isaac Sim opens.
Converting is rarely the whole job. Once you have the USD, the viewer shows what actually came across — collision geometry against visual, joint limits, where the mass sits — and the physics lab answers the question a file cannot: whether the robot stands up when gravity is switched on.