What is the USD file format?
A .usd file stores a 3D scene in Pixar's Universal Scene Description format, the open-source framework Pixar released in July 2016 and now maintained as OpenUSD under the Academy Software Foundation. The file holds geometry, shading data, and references to other assets, all organized as a hierarchy of prims that USD composes into a single scenegraph.
The .usd extension is deliberately format-agnostic. A file can carry either human-readable UTF-8 text, the same grammar used by .usda, or the binary Crate encoding used by .usdc. USD reads the header bytes to decide: a Crate payload begins with the ASCII string PXR-USDC, while a text payload begins with #usda 1.0. This lets a studio swap a text layer for a binary one without renaming the file or breaking any references pointed at it.
What makes USD stand out is non-destructive composition. Sublayers, references, payloads, and variants assemble many files into one stage without changing the source data, which is why the format anchors pipelines at Pixar, in NVIDIA Omniverse, and in Apple's AR tooling.
Security & safety
RISK: LOWA .usd file is scene-description data, not an executable, so opening one does not run code by itself. The main caution is that USD layers can reference or sublayer external files and payloads by path, and some pipelines allow plugin-based procedurals, so only load .usd assets from sources you trust. The binary Crate variant is memory-mapped, which is fast but means malformed files should be opened in an up-to-date reader.
Format details
in a nutshell- US Dollar amount export - Some finance and accounting exports use .usd as a currency label, but this is an uncommon, non-standard use unrelated to 3D scenes.
- UltraSonic Data / instrument logs - A few ultrasonic testing and lab instruments write proprietary .usd data logs; these are vendor-specific and unrelated to Pixar USD.
Programs that open USD files
.usd scene into Blender. .usd file through the built-in USD plugin to edit geometry and shading. usdview scene.usd to inspect and play back the scene, or usdcat scene.usd to dump its contents. .usd layer into the Solaris/LOP context to build, layout, and render the scene. .usd stage in USD Composer/View to collaborate on and render the scene. usdview scene.usd to view the scene or usdcat to convert and inspect it. usdview scene.usd from the OpenUSD build to inspect and play the scene, or usdcat to read and convert it. .usd layer in the Solaris/LOP context for scene assembly and rendering. Technical details
deep spec| Encoding | Dual: UTF-8 plain text (ASCII/usda payload) or binary Crate (usdc payload) inside the same .usd extension |
| Byte order | Little-endian for the binary Crate payload |
| Container | Layer file that composes a scenegraph; can reference and sublayer other USD layers and external assets |
| Compression | None for the ASCII payload; the Crate binary payload uses internal compression and memory-mappable, random-access sections optimized for fast lookup |
| Typical size | Kilobytes for small stubs and reference layers up to gigabytes for full production scenes |
| Structure | USD stores a hierarchy of prims (primitives) carrying typed attributes and relationships. Composition arcs (sublayers, references, payloads, variants, inherits, specializes) let many layers be assembled non-destructively into one composed stage. The plain .usd extension defers to either the usda text grammar or the usdc Crate encoding, selected at runtime from the file header. |
| Integrity | No built-in checksum; the Crate format relies on structural offsets and a version field in its header |
| Platforms | Windows, macOS, Linux |
| Notes | The .usd extension is deliberately format-agnostic: teams can swap a text layer for a binary Crate layer without renaming the file or breaking references. The USD_DEFAULT_FILE_FORMAT environment variable controls which encoding a new .usd file gets (Crate by default). Conversion in either direction is done with the usdcat tool. |
| Structure Type | Scenegraph / layered composition |
| Released | 2016 (open-sourced July 26, 2016; developed at Pixar since ~2012) |
| Latest version | OpenUSD 26.08 (2026) |
| Open standard | Yes · royalty-free |
| Specification | openusd.org |
USD conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about USD files.
Frequently asked questions
How do I open a .usd file?
usdview for a free viewer, or open it in Autodesk Maya, SideFX Houdini, Blender, or NVIDIA Omniverse. Blender's File > Import > Universal Scene Description is the quickest no-cost route for most artists.Is a .usd file text or binary?
.usd extension is a container that holds either ASCII text (like .usda) or the binary Crate encoding (like .usdc). USD tools read the file header to decide which parser to use.What is the difference between .usd, .usda, .usdc, and .usdz?
.usda is always ASCII text, .usdc is always binary Crate, and .usd can be either. .usdz is a zipped, read-only package that bundles a scene with its textures for distribution and AR.Can I edit a .usd file in a text editor?
usdcat scene.usd --out scene.usda --usdFormat usda, edit the text, then convert back if needed.Is USD free to use?
How do I turn a .usd into a .usdz for AR?
usdzip scene.usd -o scene.usdz, or export directly from Houdini, Maya, or Omniverse. The resulting .usdz is the format Apple's AR Quick Look expects.