Skip to content
| Marketplace
Sign in
Visual Studio Code>Visualization>Pauli ROS URDF EditorNew to Visual Studio Code? Get it now.
Pauli ROS URDF Editor

Pauli ROS URDF Editor

Piyush

|
4 installs
| (0) | Free
Visual URDF Builder & Editor for ROS
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

URDF Studio

Visual URDF Builder & Editor for ROS — a VS Code extension for creating, importing, editing, and exporting URDF robot descriptions with a live 3D viewport. Works entirely inside VS Code with no ROS installation required.

Features

  • Create robots visually — start from an empty base link and add Box, Cylinder, Sphere, or Mesh links plus joints from the toolbar.
  • Import & edit existing URDF — open any .urdf / .xacro file in the custom editor; links, joints, materials, visuals, collisions, inertials, and the hierarchy are parsed into an editable model.
  • Live 3D viewport (Three.js) — grid, axes, orbit controls, transform gizmos (move / rotate / scale), selection highlight, fit & reset camera, and toggles for grid, wireframe, and collision geometry. Forward kinematics reflect the joint tree.
  • Mesh loading — .stl, .obj, and .dae mesh files load and render in the viewport. package://<pkg>/... paths are resolved without ROS: the extension locates the package via any package.xml in the workspace, and also tries paths relative to the URDF file (e.g. a meshes/ folder beside or one level above it), absolute paths, and file:// URIs. Meshes that can't be found fall back to a placeholder box (check the URDF Studio warnings in the webview Developer Tools console for the locations tried).
  • Robot tree — hierarchical view of links and joints; click to select and highlight in the viewport.
  • Property panel — edit names, origins (XYZ / RPY), geometry parameters, materials (RGBA), mass and inertia, joint type, parent/child, axis, and limits. Everything updates instantly.
  • Two-way live XML — the generated URDF is always visible and editable. Visual edits regenerate the XML; XML edits re-parse into the viewport.
  • Validation — duplicate links/joints, broken joints, missing parent/child, missing mesh filenames, negative mass, and invalid XML.
  • Export URDF — write robot.urdf to a location you choose.
  • Export STL — generate binary STL meshes from the current model: the whole robot as a single file (baking the joint-tree pose into world space) via the STL button, or one file per link in its own frame via STL / link (choose a destination folder). Both are also available from the Command Palette. STL carries geometry only (no color/material); links that are only showing a placeholder box are skipped.

Commands

  • URDF Studio: New Robot
  • URDF Studio: Open URDF
  • URDF Studio: Save
  • URDF Studio: Export
  • URDF Studio: Reset Camera

.urdf and .xacro files open in the URDF Studio custom editor by default.

Development

npm install
npm run compile   # builds the webview (Vite) and the extension (tsc)

Press F5 in VS Code to launch an Extension Development Host, then run URDF Studio: New Robot from the Command Palette or open a .urdf file.

Scripts

Script Description
npm run build Build webview + extension
npm run build:webview Build the React/Three.js webview with Vite
npm run build:extension Compile the extension host with tsc
npm run lint Run ESLint
npm run format Run Prettier
npm run package Package a .vsix with vsce

Architecture

src/
├── extension/        VS Code extension host (custom editor + commands)
│   ├── commands/     New-robot template
│   └── utils/        Webview HTML / CSP builder
├── shared/           Types & message protocol shared by host and webview
└── webview/          React + Three.js UI
    ├── components/    Toolbar, TreeView, PropertyPanel, XmlPanel, Viewport, SplitPane
    ├── three/         SceneManager + robot scene-graph builder
    ├── parser/        URDF XML -> model (fast-xml-parser)
    ├── generator/     model -> URDF XML
    ├── validation/    Model validation rules
    └── state/         Reducer with undo/redo

The extension registers a CustomTextEditorProvider, so the underlying text document is the single source of truth and integrates with VS Code save/undo.

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft