Skip to main content

How to Optimize 3D Models for Shopify AR

You've added 3D models to your Shopify store, but when customers tap "View in your space," nothing happens. Or worse - the AR experience loads so slowly that they give up before seeing your product in their living room.

Shopify's AR feature is powerful, but it has strict requirements that most 3D models don't meet out of the box. Here's everything you need to know to get your products working smoothly in AR.

Shopify's 3D/AR Requirements

Shopify accepts two file formats for 3D models:

  • GLB - For 3D viewer on product pages (all platforms)
  • USDZ - For AR Quick Look on iOS devices

For the best experience, you need both. The GLB powers the interactive 3D viewer, while the USDZ enables the "View in AR" button on iPhones and iPads.

File Size Limits

Shopify's official limits are generous - up to 500MB per file. But those limits are for what Shopify will accept, not what will actually work well:

Metric Shopify Limit Recommended
GLB file size 500 MB < 15 MB
USDZ file size 500 MB < 10 MB
Polygon count No hard limit < 100,000
Texture size No hard limit < 2048px

Why the gap? Because AR runs on phones. A 50MB model might upload fine but will take 30 seconds to load on a cellular connection - and your customer is long gone by then.

Apple AR Quick Look Requirements

The USDZ format powers AR on iOS, and Apple has its own recommendations:

  • Polygon count: Under 100,000 triangles for smooth performance
  • Texture size: 2048x2048 maximum per texture
  • File size: Under 10MB for quick loading
  • Materials: PBR (Physically Based Rendering) only
  • Animations: Supported but add to file size

Exceed these and you'll see stuttering, crashes on older iPhones, or the AR experience simply refusing to load.

Common Problems (And How to Fix Them)

Problem: "View in AR" Button Does Nothing

This usually means your USDZ file is missing or corrupted. Check that:

  • You've uploaded both GLB and USDZ versions
  • The USDZ was created correctly (not just renamed from GLB)
  • The file isn't corrupted - test it locally first

You can test USDZ files by AirDropping them to an iPhone or opening them in macOS Finder (which has built-in Quick Look support).

Problem: AR Loads But Looks Wrong

Materials often break during conversion. USDZ only supports PBR materials with specific texture types:

  • Base Color (Diffuse/Albedo)
  • Normal Map
  • Roughness
  • Metallic
  • Ambient Occlusion
  • Emissive

If your source model uses non-PBR materials (like Blender's Principled BSDF with unsupported nodes), they won't translate correctly.

Problem: AR is Slow or Stutters

Your model is too heavy. Use our GLB Inspector to check polygon count and texture sizes. If you're over the recommended limits, optimization is required.

The Manual Optimization Process

If you're comfortable with Blender, here's the workflow:

Step 1: Reduce Polygon Count

Import your model and apply a Decimate modifier. For e-commerce products, you can often reduce by 70-80% without visible quality loss - customers are viewing on phone screens, not 4K monitors.

# Target: 30,000-50,000 triangles for hero products
# Target: 10,000-20,000 triangles for secondary products

Step 2: Resize Textures

Open each texture and resize to 1024x1024 or 2048x2048 maximum. For most products, 1024px is sufficient - remember, it's being viewed on a 6-inch phone screen.

Step 3: Export GLB with Compression

When exporting to GLB, enable Draco compression for geometry. This can reduce file size by 80-90% with minimal quality impact.

Step 4: Convert to USDZ

This is where it gets tricky. Apple's Reality Converter is the official tool, but it only runs on macOS. Alternatives:

  • Reality Converter (macOS only) - Apple's official tool, best compatibility
  • Blender USDZ export - Works but can have material issues
  • Online converters - Hit or miss quality

Total time for one product: 45-90 minutes if you know what you're doing. Multiply by your SKU count.

The Automated Approach

Here's the same process via API:

curl -X POST https://webdeliveryengine.com/optimize \
  -H "Authorization: Bearer sk_your_key" \
  -F "[email protected]" \
  -F "mode=decimate" \
  -F "ratio=0.5" \
  -F "format=both" \
  --output product-optimized.glb

That handles polygon reduction, texture optimization, and Draco compression in one call. The format=both parameter generates GLB and USDZ simultaneously. Processing typically takes seconds to a few minutes depending on file size.

The API response includes download URLs for both formats:

// Response includes:
// "glb_url": "/download/{job_id}/model_opt.glb"
// "usdz_url": "/download/{job_id}/model_opt.usdz"

Now you have both formats ready for Shopify upload.

Batch Processing for Catalogs

For stores with hundreds of products:

#!/bin/bash
for file in ./products/*.glb; do
  name=$(basename "$file" .glb)

  # Optimize and generate both GLB + USDZ in one call
  curl -X POST https://webdeliveryengine.com/optimize \
    -H "Authorization: Bearer sk_your_key" \
    -F "file=@$file" \
    -F "mode=decimate" \
    -F "ratio=0.5" \
    -F "format=both" \
    --output "./output/${name}.json"

  # Parse response to get download URLs, then fetch both files
  # Response contains glb_url and usdz_url for downloading

  echo "Processed: $name"
done

Quality Settings for Different Products

Not every product needs the same level of detail:

Product Type Target Polys Texture Size Quality Setting
Hero/Featured 50-100K 2048px 70-80%
Standard Products 20-50K 1024px 50-60%
Simple/Small Items 5-20K 512px 30-40%
Furniture (Large) 30-60K 2048px 50-60%

Testing Your AR Experience

Before uploading to Shopify, test locally:

  1. GLB: Open in glTF Viewer or our GLB Inspector
  2. USDZ: AirDrop to an iPhone, or open in macOS Finder
  3. Performance: Test on an older device (iPhone 8 or similar) to catch performance issues

If it runs smoothly on older hardware, it'll work great for your customers.

Uploading to Shopify

Once your files are optimized:

  1. Go to Products in Shopify admin
  2. Select the product
  3. Scroll to 3D models section
  4. Upload both GLB and USDZ files
  5. Preview on mobile to verify AR works

Shopify will automatically show the 3D viewer on product pages and enable "View in AR" for iOS customers.

Summary

Shopify AR is a powerful sales tool - products with AR see significantly higher conversion rates. But the technology only works if your 3D models are properly optimized.

Key takeaways:

  • Keep GLB files under 15MB, USDZ under 10MB
  • Target under 100K polygons for smooth AR performance
  • Use 1024-2048px textures maximum
  • Test on real devices before uploading
  • Automate the process if you have more than a handful of products

The difference between a 50MB model that crashes and a 3MB model that loads instantly is the difference between a frustrated customer and a sale.

Ready to Optimize for Shopify?

Get free credits to optimize your product models. Both GLB and USDZ output supported.

Start Optimizing