Skip to main content

Polyforge

Learn

Prepare 3D Models for AR on Shopify

A practical guide to getting 3D product previews and augmented reality working on your Shopify store. Covers file formats, texture requirements, export settings, and the upload workflow.

11 min read
By Polyforge · Published Mar 23, 2026 · Updated Mar 28, 2026
LEARN
Platform Guide

Overview

Shopify merchants can add 3D models and augmented reality previews to any product page. Customers rotate the model in their browser and place it in their room through their phone's camera. The feature works on every Shopify plan at no extra cost.

Getting it right requires two files: a GLB for the web viewer and a USDZ for iPhone AR. This guide covers model preparation, texture setup, Blender export, the Shopify upload process, and device testing.

$ contents
$ why_ar

Why 3D and AR Matter for Your Store

Flat product photos leave gaps. Customers cannot judge how a lamp looks on their nightstand or whether a backpack is the right size for their frame. 3D viewers let them rotate the product and inspect it from every angle. AR goes further: customers place the item in their physical space through the phone camera and see it at real scale.

Products with 3D content see measurably higher engagement. Shopify has reported that products with 3D or AR content see up to 94% higher conversion rates than products with flat images alone. In published case studies, Rebecca Minkoff saw customers become 44% more likely to add items to their cart after interacting with 3D models. Gunner Kennels reported a 3% lift in cart additions and a 5% drop in returns.

Returns drop because customers understand the product better before they buy. They have already seen the texture, the proportions, and how it fits in their space. There are fewer surprises when the package arrives.

$ file_requirements

What Shopify Requires

Shopify accepts two 3D file formats. You should upload both for every product that gets a 3D model.

GLB (binary glTF 2.0). This powers the interactive 3D viewer on desktop and mobile browsers. On Android devices, it also provides the AR experience through Google Scene Viewer. GLB bundles the mesh, textures, and materials into a single binary file.

USDZ. Required for AR on iPhone and iPad. When an iOS user taps "View in your space," Safari opens Apple AR Quick Look using the USDZ file. Without a USDZ upload, the AR button will not appear for iPhone users.

The platform automatically detects the customer's device and serves the correct file. You do not need any code or configuration for this.

Specification GLB USDZ
Used for Web viewer + Android AR iPhone/iPad AR
File size target Under 5 MB 4 to 8 MB
Auto-optimization threshold 15 MB 15 MB
Max polygons 100,000 triangles 100,000 triangles
Max texture resolution 2048 x 2048 px 2048 x 2048 px
Texture format JPEG or PNG JPEG or PNG
Material system glTF PBR (metallic/roughness) UsdPreviewSurface PBR
Compression Draco, meshopt None (uncompressed ZIP)
Scale 1 unit = 1 meter 1 unit = 1 meter
Shopify accepts uploads up to 500 MB, but files over 15 MB get automatically compressed. This compression can reduce visual quality. Aim for under 5 MB to keep your models sharp and fast on mobile connections.
$ pbr_textures

Setting Up PBR Materials

The 3D viewer on Shopify uses physically based rendering through the metallic/roughness workflow. Your model needs properly configured texture maps for the materials to look realistic under different lighting conditions.

Base color (albedo). The surface color of the material. This texture should be in sRGB color space. Use JPEG format when the material has no transparency. Use PNG only when you need an alpha channel for transparent or translucent surfaces.

Normal map. Adds fine surface detail like bumps, scratches, and fabric texture without adding polygons. Use linear color space. A good normal map can make a 5,000 polygon model look as detailed as one with 50,000 polygons.

ORM packed texture. This is the texture setup that catches most people off guard. Shopify expects a single image that combines three material properties into its RGB channels:

  • Red channel = ambient occlusion (soft shadows in crevices)
  • Green channel = roughness (0 is mirror smooth, 1 is fully rough)
  • Blue channel = metalness (0 is nonmetal, 1 is fully metallic)

Many 3D tools export roughness and metalness as separate texture files. For Shopify, you need to combine them into one image. In Photoshop, GIMP, or Krita: paste the occlusion map into the red channel, roughness into green, and metalness into blue. Save the result as JPEG at 1024 x 1024 or 2048 x 2048.

If your product does not have metallic surfaces (wood, fabric, plastic), set the blue channel to solid black. If there is no baked occlusion map, set the red channel to solid white.

$ checklist

Model Preparation Checklist

Before exporting, walk through these items. Skipping any of them is the most common reason models fail Shopify's validation or look wrong in the viewer.

Real world scale. Shopify's AR viewer maps 1 unit to 1 meter. A coffee mug should be about 0.1 units tall. A sofa should be about 0.9 units tall. If the scale is off, customers will see a refrigerator-sized mug when they use AR, and trust in the product drops immediately.

Sealed geometry. Close every gap in the mesh. Holes that seem invisible from one angle become obvious when a customer freely rotates the model. Use your modeling tool's mesh analysis to check for non-manifold edges and zero-area faces.

Clean UV layout. Unwrap all UVs into the 0 to 1 space with no overlapping islands. Overlapping UVs cause textures to render incorrectly in Shopify's viewer, producing smeared or duplicated patterns across the surface.

Correct face normals. Every face normal must point outward. Reversed normals create black patches because the surface faces away from the camera. In Blender, select all geometry and use Mesh > Normals > Recalculate Outside.

Single merged object. Join all separate meshes into one object before export. Multiple root objects can cause processing issues. In Blender, select everything and press Ctrl+J.

Finally, apply all transforms so the object's position, rotation, and scale values read as identity (origin at zero, rotation at zero, scale at 1). In Blender, select the object and use Ctrl+A > All Transforms. Skipping this step can cause the model to appear rotated or offset in the viewer.

Model matches the product photo. Customers will see the 3D model right next to your product photos. If the colors, proportions, or details do not match, it creates confusion and erodes confidence. Use your product photos as reference throughout the modeling process.

$ export_blender

Exporting from Blender

Blender ships with a glTF 2.0 exporter that produces GLB files directly. No addon installation is needed.

  • Go to File > Export > glTF 2.0 (.glb/.gltf).
  • Set the format dropdown to glTF Binary (.glb).
  • Under Include, check "Selected Objects" if you want to export specific objects only.
  • Under Geometry, enable "Apply Modifiers" so subdivision surfaces and mirrors get baked into the mesh.
  • Under Data > Images, set the mode to "Automatic" or "Embed." This packs textures into the GLB file. If you skip this, your model will appear untextured in Shopify.
  • Click Export glTF 2.0.

Check the resulting file size. If it exceeds 5 MB, reduce your texture resolution from 2048 to 1024, or apply mesh decimation to bring the polygon count down before re-exporting.

Creating the USDZ file. Blender does not produce USDZ files compatible with AR Quick Look. Two options:

  • On Mac, use Apple's Reality Converter app (free from the Apple Developer site) to convert your GLB to USDZ.
  • On any platform, use Polyforge's GLB to USDZ converter, which runs entirely in the browser.
Draco compression can reduce GLB file size by 70% to 90% with minimal visible impact. Apply it using Polyforge's 3D optimizer or the gltf-transform CLI tool. This is especially useful for products with dense geometry like jewelry or textured furniture.
$ upload

Uploading to Shopify

The upload process happens inside the Shopify admin. There is no special app or plugin required.

  • Open the Shopify admin and navigate to Products.
  • Select the product you want to add 3D media to.
  • Scroll to the Media section and click Add media.
  • Upload your GLB file. Shopify validates the file and shows a 3D preview in the media gallery once processing completes.
  • Upload your USDZ file for the same product. This enables AR on iPhone and iPad.

If validation fails, Shopify displays a generic "Model failed validation" message. The most frequent causes: the GLB is corrupted, textures are not embedded in the file, or the upload exceeded 500 MB. Go back through the checklist above and re-export.

Once uploaded, the 3D model appears alongside your product photos. Customers browse through the media carousel normally. When they land on the 3D model, they see orbit and zoom controls. On AR-capable phones, a "View in your space" button appears beneath the viewer.

$ theme_setup

Theme Configuration

Your Shopify theme must support 3D media for the model to show up on the product page. Shopify's free Dawn theme and most modern themes include this support out of the box. If you are using an older or custom theme, check with the theme developer.

Themes display 3D models through Google's <model-viewer> web component. Shopify generates the component automatically using the model_viewer_tag Liquid filter. You do not need to write any JavaScript or embed any scripts manually.

The viewer loads lazily. Its JavaScript bundle only downloads after the customer navigates to the 3D model in the media carousel, so it does not slow down the initial page load.

Showing a 3D badge. Shopify recommends adding a small "3D" icon on the thumbnail so customers know a 3D model is available before they click. Most modern themes include this automatically.

$ test_devices

Testing on Real Devices

Desktop previews and phone simulators do not accurately represent the AR experience. Test on actual hardware before publishing.

iPhone (iOS 12 or later). Open the product page in Safari and tap "View in your space." Safari opens AR Quick Look, which loads your USDZ file. Place the product in your room and walk around it. Verify the scale looks correct and that textures render as expected.

Android (ARCore device). Open the product page in Chrome and tap "View in your space." The phone opens Scene Viewer with your GLB file. Check for the same things: scale, textures, and overall appearance.

Desktop browser. The 3D viewer renders inline on the product page. You can orbit, zoom, and pan. No AR button appears on desktop. Verify that lighting and materials look consistent with your product photography.

Use a mid-range phone for testing, not your latest flagship. If the model loads quickly and the AR experience runs smoothly on a phone from two or three years ago, it will work for most of your customers.

$ troubleshoot

Common Problems and Fixes

Problem Cause Fix
Model appears untextured Textures not embedded in GLB Set image mode to "Embed" in Blender's export settings
Black patches on surfaces Face normals pointing inward Select all, Mesh > Normals > Recalculate Outside
Product is giant or tiny in AR Wrong scale (not meters) Rebuild to real world dimensions (1 unit = 1 meter)
Materials look flat Missing PBR texture maps Add ORM packed texture with occlusion, roughness, metalness
No AR button on iPhone USDZ file not uploaded Upload a USDZ alongside your GLB
Model fails validation Corrupted file or missing textures Re-export with embedded textures, check file is under 500 MB
Slow loading on mobile File size over 5 MB Reduce textures to 1024 px, apply Draco compression
3D model not showing on store Theme does not support 3D Switch to Dawn or contact theme developer
$ faq

Frequently Asked Questions

Does Shopify support 3D product models?

Yes. Shopify supports 3D models on all plans, including Basic. You can upload GLB files for the web viewer and Android AR, and USDZ files for iPhone and iPad AR. No extra subscription or app is required.

What file format does Shopify use for 3D models?

Shopify uses GLB (binary glTF 2.0) for its 3D product viewer and Android AR through Google Scene Viewer. Shopify automatically converts GLB uploads to USDZ for iOS AR, so a single GLB file covers all devices.

Do I need a special Shopify plan for 3D and AR?

No. 3D model support is included on every Shopify plan at no extra cost. Basic, Grow, and Advanced plans all support GLB and USDZ uploads for product pages.

How do I add a 3D model to my Shopify product page?

In the Shopify admin, go to Products, select a product, scroll to the Media section, and click Add media. Upload your GLB file for the 3D viewer and a USDZ file for iOS AR. Shopify handles format detection and device routing automatically.

Does Shopify AR work on iPhone?

Yes. Shopify automatically converts your GLB upload to USDZ for iOS AR. When an iPhone user taps "View in your space," Safari opens Apple AR Quick Look using the auto-generated USDZ file.

What is the maximum file size for Shopify 3D models?

Shopify accepts uploads up to 500 MB, but files over 15 MB are automatically compressed. This compression can noticeably reduce visual quality. For the best results on mobile devices, keep your GLB under 5 MB. Use Polyforge's 3D optimizer with Draco compression to reduce file size without losing detail.

$ related

Related