RyMetrics

Page Views
--
Avg. Time
--
Voice Calls
--
Unique Visitors
--

3D Printing The Met: A Guide to the Museum's Free CC0 Scans

The Met published free, CC0-licensed 3D scans of ~140 artworks. Here's how to download and print them at home, with three interactive models to explore along the way.

Ugolino and His Sons by Jean-Baptiste Carpeaux at The Metropolitan Museum of Art

In March 2026, The Metropolitan Museum of Art did something great. They published high-resolution 3D scans of about 140 objects from their collection. Sculptures, reliefs, architectural fragments, even a chess piece or two. All of it released under the same Open Access program that already covers hundreds of thousands of their images. The scans are CC0. You can download them, remix them, and yes, 3D print them at home for free.

The catch is that there's no download button. The models live inside an interactive viewer on each object's page, and getting from spinning marble on my screen to an STL in my slicer took some digging. This article is the result of that digging. Every model below is interactive (drag to orbit, scroll to zoom), every one links back to its page at The Met, and by the end you'll know how to do this yourself for any object in the program, all without stepping outside what CC0 allows.

Three Objects, Ready to Spin

Three favorites from the objects I've pulled down and printed so far. Each viewer loads the actual scan you'd print. Tap a work of art to load it (they're 3-8 MB each).

Ugolino and His Sons, Jean-Baptiste Carpeaux, 1865–67. Saint-Béat marble, nearly 2m tall and 2.2 tonnes. Carved from Dante's Inferno, canto XXXIII.
View at The Met ↗
Voussoir, Catalan, ca. 1175–1200. A wedge-shaped block from a Romanesque arch.
View at The Met ↗
Figure of an elephant, possibly a chessman, Sasanian, ca. 6th–7th century. About 9cm long, and the only fully watertight scan of the bunch. That makes it the perfect first print.
View at The Met ↗

What CC0 Actually Means (And How to Be a Good Citizen)

The Met applies Creative Commons Zero to artworks it believes are in the public domain. CC0 is the most permissive designation there is: the museum waives all copyright, so you can copy, modify, distribute, and even sell what you make. No permission needed, no attribution required.

"No attribution required" isn't the same as "no attribution appreciated," though. A few habits keep this ecosystem healthy:

Using Claude Code? Skip every step below.

I packaged this whole workflow as a Claude Code skill. It finds the scan, downloads every format, and hands you a print-ready STL.

Download the /met skill

Unzip it into your skills folder and ask for any object by name or URL:

# Install
unzip met-skill.zip -d ~/.claude/skills/

# Then, in any Claude Code session
/met https://www.metmuseum.org/art/collection/search/204812

The skill walks Claude through the same process documented below, including the one-time Python environment setup, so you can also just read on and do it by hand.

Step 1: Find an Object With a 3D Scan

Only objects with a "View in 3D" button on their collection page have scans. That's roughly 140 as of this writing. The Met announced the program in its March 2026 press release, and browsing the collection at metmuseum.org/art/collection with an eye out for that button is the most reliable way to spot them.

One thing that tripped me up: the GitHub Open Access repository is metadata only. The 480,000-row CSV tells you an object's title, accession number, and public-domain status, but contains no 3D links at all. It's great for confirming CC0 status, but it won't help you find the models.

Step 2: Get the Files

Each "View in 3D" button opens a viewer made by VNTANA, a 3D-asset platform The Met uses to host the scans. Behind the viewer, every object has three downloadable formats: GLB (the web standard), USDZ (Apple's AR format, which works directly in AR Quick Look on an iPhone), and FBX. No login, no API key.

The no-code way: open the object page, click View in 3D, open your browser's developer tools, and watch the Network tab with a filter of glb. The model file appears as soon as the viewer loads. Right-click, open in a new tab, saved.

The repeatable way: the viewer's URLs follow a clean pattern. Every object page embeds a product UUID (visible in the page source as vntanaAssets, or in the viewer iframe's productUuid parameter), and from there:

# Product metadata - lists every available format
https://api.vntana.com/products/<productUuid>/organizations/The-Metropolitan-Museum-of-Art/clients/masters

# Each model file, using modelBlobId values from that JSON
https://api.vntana.com/assets/products/<productUuid>/organizations/The-Metropolitan-Museum-of-Art/clients/masters/<modelBlobId>

The product JSON's response.asset.models array holds a modelBlobId per format (.glb, .usdz, .fbx). Two requests and you have everything.

Step 3: Convert to STL

Your slicer wants an STL (or 3MF), and the GLB has one quirk that breaks the obvious conversion paths: the mesh is compressed with Draco, and most lightweight converters silently fail on it. You get a file full of zeroed geometry that looks fine until you open it.

The easy way is Blender, which decodes Draco natively:

1. File → Import → glTF 2.0 → pick the .glb
2. File → Export → STL
   ✓ tick "Selection Only" if you imported extra nodes

If you're automating (I built a small pipeline so I could pull several objects at once), decode the Draco buffers directly with Python. DracoPy handles the decompression that trips up trimesh and gltf-pipeline:

import DracoPy, trimesh, numpy as np

# for each primitive in the GLB whose extension is
# KHR_draco_mesh_compression, decode its bufferView:
dm = DracoPy.decode(draco_bytes)
verts = np.asarray(dm.points).reshape(-1, 3)
faces = np.asarray(dm.faces).reshape(-1, 3)

mesh = trimesh.Trimesh(vertices=verts, faces=faces)
mesh.merge_vertices()
# glTF is Y-up; slicers are Z-up
mesh.apply_transform(
    trimesh.transformations.rotation_matrix(np.pi/2, [1, 0, 0]))
mesh.export("object.stl")

Step 4: Print It

Three things to know before you slice:

Start with the elephant. It's palm-sized at full scale (about 91mm long), watertight, and prints cleanly without supports at 100%. Fifteen hundred years after someone carved it, you can hold a copy in your hand.

Why This Matters

Museums releasing their collections under CC0 is a big deal. A sculpture that 5 million people a year can visit in Gallery 548 is now something anyone can spin around in a browser and print at home overnight. The Met deserves real credit for making the scans open instead of locking them behind a store.

Download something, print it, and put a 900-year-old Catalan arch fragment on your bookshelf. When someone asks where you got it, send them to The Met.

Stay tuned...

This guide is getting a live test. Ugolino and His Sons is on the printer as I write this. Here's where things stand:

Ugolino and His Sons STL loaded on the build plate in Bambu Studio
Imported STL file from this workflow into Bambu Studio
Timelapse of the print taking place