You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 7-8.RSVP
Sign inDemoInstall


Package Overview
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies



Easily display interactive 3D models on the web and in AR!

Version published




Min Zip Latest Release

follow on Twitter Github Discussions

<model-viewer> is a web component that makes rendering interactive 3D models - optionally in AR - easy to do, on as many browsers and devices as possible. <model-viewer> strives to give you great defaults for rendering quality and performance.

As new standards and APIs become available <model-viewer> will be improved to take advantage of them. If possible, fallbacks and polyfills will be supported to provide a seamless development experience.

DemoDocumentationQuality Tests


The <model-viewer> web component can be installed from NPM:

npm install three @google/model-viewer

It can also be used directly from various free CDNs such as jsDelivr and Google's own hosted libraries:

<script type="module" src=""></script>

For more detailed usage documentation and live examples, please visit our docs at!

Important note about versions

Our goal for <model-viewer> is to be a consistent, stable part of your web platform while continuing to deliver cutting-edge features. We’ll always try to minimize breaking changes, and to keep the component backwards compatible. See our guide to contributing for more information on backwards compatibility.

For your production site you may want the extra stability that comes by pinning to a specific version, and upgrading on your own schedule (after testing).

If you’ve installed via NPM, you’re all set - you’ll only upgrade when you run npm update. Note that three.js is a peer dependency, so that must also be installed, but can be shared with other bundled code. Note that <model-viewer> requires the version of three.js we test on to maintain quality, due to frequent upstream breaking changes. We strongly recommend you keep your three.js version locked to <model-viewer>'s. If you must use a different version, npm will give you an error which you can work around using their --legacy-peer-deps option, which will allow you to go outside of our version range. Please do not file issues if you use this option.

Browser Support

<model-viewer> is supported on the last 2 major versions of all evergreen desktop and mobile browsers.

Chrome Firefox Safari Edge

<model-viewer> builds upon standard web platform APIs so that the performance, capabilities and compatibility of the library get better as the web evolves.


To get started, follow the instructions in the main file.

The following commands are available when developing <model-viewer>:

npm run buildBuilds all <model-viewer> distributable files
npm run build:devBuilds a subset of distributable files (faster than npm run build)
npm run testRun <model-viewer> unit tests
npm run cleanDeletes all build artifacts
npm run devStarts tsc and rollup in "watch" mode, causing artifacts to automatically rebuild upon incremental changes



Package last updated on 01 Apr 2023

Did you know?


Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.


Related posts

SocketSocket SOC 2 Logo


  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog


Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc