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. WebGL is the path a web browser opens for that. Nothing is installed; code in the page hands the drawing to the hardware.
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 designed again 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, as recorded in MDN compatibility data on 20 September 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. This is the wait before the first view.
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 pinching 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 talking to the hardware more often. Merge the pieces that share a material.
Screen resolution
A high-resolution screen has four times the pixels to fill. Capping the resolution scale brings the frame rate back.
What you build with
You rarely touch it directly
Calling WebGL by hand is uncommon. A library on top handles the scene and the file loading.
- Libraries such as three.js and Babylon.js run on WebGL 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
Read next
What WebAR is
Augmented reality opened in a browser with no install. The kinds, and what happens after the link opens.
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 September 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.