Guide
How 3D runs in a browser
A web browser talks to the graphics hardware directly to draw 3D. WebGL is that path, and WebGPU is what follows it.
In short
The browser hands the drawing to the graphics hardware
Drawing 3D means telling the graphics hardware what to draw and how. Code in the page hands that over through WebGL, so there is nothing to install.
WebGL 2 is in every major browser. Chrome 56, Firefox 51 and Safari 15 shipped it, so it was settled by 2021.
WebGPU is the next generation. It was redesigned around how graphics hardware is built today, and it can take on compute work as well. It arrived in Chrome 113, Chrome on Android 121, Firefox 141 and Safari 26, and Firefox still runs it only on Windows and some Macs. Checked again against MDN compatibility data on 2 October 2026.
What runs
From the file to the first frame
The first two steps run once. The last two run on every frame.
Download the file
The 3D file is fetched and unpacked into geometry, materials and textures. Most of the wait before the first view happens here.
Upload to the hardware
Vertex positions and textures are sent to graphics memory. Sent once, after which only draw commands go across.
Draw every frame
Camera position and lighting are worked out and the scene is redrawn 30 to 60 times a second. That rate is what makes it feel smooth.
Take the input
Turning and zooming are converted into a camera position and applied on the next frame.
Performance
What makes it slow
Three things explain most of it, and deciding them up front is far cheaper than fixing them later.
File size
Vertex count and texture resolution set the download time. Cut geometry with Draco and textures with KTX2.
Number of draw calls
Splitting a model into many small pieces means sending more draw calls to the hardware. Merge the pieces that share a material.
Screen resolution
At a 2x screen scale there are four times the pixels to fill, and at 3x nine times. Capping the scale brings the frame rate back.
What you build with
You rarely touch it directly
Calling WebGL by hand is uncommon. Most work is built with the tools below.
- Libraries such as three.js and Babylon.js run on WebGL and WebGPU and take care of cameras, lighting and reading files.
- Where turning the model is all that is needed, a tag-level tool such as model-viewer shows the 3D on its own.
- Either way the file is prepared as GLB. Export USDZ alongside it to reach the AR viewer on iPhone.
Common questions
What has to be installed to see 3D?
Does it work on older devices?
Read next
What WebAR is
Augmented reality opened in a browser with no app to install. The kinds, and what happens after the QR code is scanned.
How GLB and USDZ differ
The format the web reads and the format the iPhone AR viewer reads, side by side.
AR support by browser
Which way opens in which browser. Checked October 2026.
What RAG is
How a model is made to answer from your own material, and where it falls down.
Show 3D on the web
Vi3w takes a 3D model and hands back a link that opens in a browser.