Skip to content

Practical guide / 3D web and commerce

Mobile 3D viewers: limits, formats and performance checks

A model can run well on your computer and load too slowly on a customer's phone. Mobile delivery requires checking the file, memory, viewer and buying journey.

Contrast 3DPublished Updated 3 min read

Phone on a stand showing a ceramic vase, next to three violet glass weights of different sizes
AI-generated conceptual illustration. Not a screenshot or a photograph.

Before optimising a mobile 3D viewer, identify where the file will open. An embedded web component and an augmented-reality experience may use different viewers and loading paths.

A GLB working on your computer does not establish that the complete journey works on Android or iPhone.

Upload limits are not delivery targets

Shopify accepts much larger 3D uploads than you would normally want shoppers to download when opening a product page. Its documentation lists a 500 MB upload maximum and optimisation for models above 15 MB.

That ingestion capacity is not a user-experience budget. Inspect the final file served and test its behaviour on real devices.

Scene Viewer distinguishes types of limits

Google's documentation separates performance recommendations from restrictions:

AspectScene Viewer reference
File10 MB recommended; validator documents a 15 MB maximum
Triangles100,000 recommended limit; 30,000–50,000 suggested ideal range
Materials10 recommended
Textures2048 × 2048 reference
SkeletonHard limits of 254 joints and four weights per vertex
UVsHard limit of one set per mesh

These belong to that destination, not every mobile 3D experience. Use its validator and check which extensions the chosen path supports.

Test web and AR independently

model-viewer supports routes including WebXR, Scene Viewer and Quick Look. Its automatic USDZ conversion has documented limitations, including animations. If a feature matters to the delivery, inspect the file actually opened by each route.

Safari 27 brings the <model> element to additional Apple platforms. It is worth evaluating but does not by itself replace a cross-browser strategy. See our guide to 3D models in Safari.

Download size is not total memory

Compression can reduce transfer size without proportionately reducing display memory. An uncompressed 4096 × 4096 RGBA8 texture, for example, occupies 64 MiB before mipmaps. This calculation applies to that format, not every 4K texture.

Review map resolution, count and GPU format alongside geometry. Our polygon-budget guide explains the wider performance context.

A mobile acceptance test

Choose representative devices and test with an empty cache and a connection relevant to your shoppers.

  • Measure when the first useful image appears and interaction becomes available.
  • Rotate, zoom and change variants where applicable.
  • Open AR, inspect scale and materials, then return to the page.
  • Check that selection and cart behaviour remain correct.
  • Test failed loads and devices without AR support.

Watch the whole page too. LCP, INP and CLS describe aspects of loading, responsiveness and visual stability. A good-looking viewer screenshot cannot establish the complete experience.

Keep buying available

Show a preview image, reserve the viewer's space and communicate loading. Avoid blocking the photographs, dimensions or controls needed to buy.

Agree on destinations, test devices and fallback behaviour before delivery. If you already have a failing file, tell us where it opens and what happens.

Sources

Reviewed on 20 September 2026.

Checked on September 20, 2026

All articles