What is X3D?

Extensible 3D (X3D) Graphics is the royalty-free open standard for publishing, viewing, printing and archiving interactive 3D models on the Web. X3D and HAnim standards are developed and maintained by the Web3D Consortium.

X3D4 Graphics International Standard is our current deliverable, and the X3D Architecture is now available publicly. New to X3D, learn more at WebX3D.org.  

Web3D® and X3D® are trademarks owned by the Web3D Consortium.

Why you should use X3D?   Getting Started withX3D

  • X3D is an ISO-ratified, file format and run-time architecture to represent and communicate 3D scenes and objects.
  • X3D fully represents 3-dimensional data.
  • X3D is developed and maintained by the Web3D Consortium. 
  • X3D has evolved from its beginnings as the Virtual Reality Modeling Language (VRML) to the considerably more mature and refined ISO X3D standard.
  •  X3D provides a system for the storage, retrieval and playback of real time 3D scenes in multiple applications, all within an open architecture to support a wide array of domains and user scenarios.

 X3D has a rich set of componentized features that can be tailored for use in engineering and scientific visualization, CAD and architecture, Geospatial, Human animation, 3D printing and 3D Scanning, AR/MR/VR. Today X3D has several applications in medical visualization, training and simulation, multimedia, entertainment, education, and more.

As an open standard X3D can run on many platforms, but importantly can render 3D models in most web browsers without the requirement for additional or proprietary applications.  Further, once models are developed utilizing X3D, these easily port to alternative platforms like holographic, head-mounted or other display devices. 

X3D is now 4th-generation VRML. X3D is a direct superset of VRML with four encodings: XML encoding .x3d, Classic VRML encoding .x3dv, VRML97 encoding .wrl and JavaScript Object Notation (JSON).  Programming language bindings are available for JavaScript and Java, with work in progress on C++/C# and Python.  X3D is designed so that all of these forms are functionally equivalent, you can choose to use any of them.

Want to learn more? Please see Getting Started with X3D, the X3D Examples Archives, and the flyer What is X3D.  You can also look ahead towards where we are going, work-in-progress X3D version 4.

Join our international community and realize the many Member Benefits! You can help drive the evolution of 3D graphics on the Web. Join the Web3D Consortium today!

What are some real-world uses for X3D: X3D Case Studies

What are the advantages of using X3D? X3D Strengths

  • X3D is a hub for publishing 3D data. 
  • X3D acts as a central hub that can route 3D model information between diverse 3D applications. 
  • A higher-level language to compose several 3D assets into a meaningful 3D Web applications with interactivity.
  • Geometric data and metadata is written and read with open, non-proprietary tools.
  • When data is presented in an X3D file it can be visualized with X3D players available over all platforms integrated with WebGL, glTF, HTML5 and the DOM. 
  • There are several workflows and tools to import and export data between X3D and other open and proprietary formats.

X3D Features at a Glance

  • XML Integrated: Cross-platform, usable with Web Services, Distributed Networks, inter-application model transfer
  • Componentized: allows lightweight core 3D run-time delivery engine
  • Extensible: allows components to be added to extend functionality for vertical market applications and services
  • Profiled: standardized sets of extensions to meet specific application needs
  • Evolutionary: easy to update and preserve VRML97 content as X3D
  • Broadcast/Embedded Application Ready: from mobile phones to supercomputers
  • Real-Time: graphics are high quality, real-time, interactive, and include audio and video as well as 3D data.
  • Well-Specified: makes it easier to build conformant, consistent and bug-free implementations for various encodings

X3D Supports

  • 3D graphics and programmable shaders - Polygonal geometry, parametric geometry, hierarchical transformations, lighting, materials, multi-pass/multi-stage texture mapping, pixel and vertex shaders, hardware acceleration
  • 2D graphics - Spatialized text; 2D vector graphics; 2D/3D compositing
  • CAD data - Translation of CAD data to an open format for publishing and interactive media
  • Animation - Timers and interpolators to drive continous animations; humanoid animation and morphing
  • Spatialized audio and video - Audio-visual sources mapped onto geometry in the scene
  • User interaction - Mouse-based picking and dragging; keyboard input
  • Navigation - Cameras; user movement within the 3D scene; collision, proximity and visibility detection
  • User-defined objects - Ability to extend built-in browser functionality by creating user-defined data types
  • Scripting - Ability to dynamically change the scene via programming and scripting languages
  • Networking - Ability to compose a single X3D scene out of assets located on a network; hyperlinking of objects to other scenes or assets located on the World Wide Web
  • Physical simulation and real-time communication - Humanoid animation; geospatial datasets; integration with Distributed Interactive Simulation (DIS) protocols
  • Security: compatibly supports XML Security through use of XML Encryption and Digital Signature (authentication)
  • Portability: in addition to XML, functionally identical encodings (ClassicVRML, Compressed Binary, JSON) and programming languages (JavaScript, Java, soon C++) are available for X3D scene interchange.
  • Extensible: scene authors can create full-fledged language functionality using Scripts, Inlines, Prototypes, and Components/Profiles