

A 3D model in a post, with its caption.
WordPress does not let you upload 3D files (“Sorry, you are not allowed to upload this file type”), and has no way to show one. Pratiks 3D Model Embedder adds both: upload the file like an image, insert the 3D Model block, publish. Visitors can turn the model around with the mouse or a finger.
Upload 3D files safely
GLB, glTF, STL, OBJ and USDZ files can be uploaded by anyone who can upload images. Each file is checked by its content, not just its name: a .glb must really be a binary glTF 2.0 file, an .stl must really be an STL, and text files that carry PHP or a script tag are refused. When a file is refused, you are told why.
STL and OBJ are converted for you
STL files (from 3D printing and CAD) and OBJ files are converted to GLB when you upload them. The conversion streams the file, so large models do not run the server out of memory. STL files are turned upright and scaled from millimetres, so they look right straight away. The original file is kept.
The 3D Model block
Light on your site
The viewer is Google’s open source <model-viewer>, bundled with the plugin together with its decoders for compressed models. Nothing is loaded from a CDN, and the viewer only loads on pages that show a 3D model.
For developers
Filters and actions for every default, limit and message, JavaScript hooks in the editor, wp pratiks-3d-model-embedder WP-CLI commands, REST routes, and Abilities API abilities (WordPress 6.9+) so AI agents can list models, convert them and set posters. See the reference.
Free and open source under the GPL. No pro version, no upsells, no ads in wp-admin, no tracking.
The plugin makes no requests to other services itself. The viewer, its decoders and every file it uses are bundled.
When you turn on augmented reality in a block, visitors on Android who tap “View in your space” are handed over to Google’s Scene Viewer app (part of Google Play Services), which downloads the model from your site to show it. The model’s address is passed to that app; nothing else is sent. This only happens when a visitor taps the button. Google’s terms of service and privacy policy apply. On iPhone and iPad, AR Quick Look runs on the device.
The plugin’s own code is not minified. Its source, tests and build tools are on GitHub.
Bundled libraries, unchanged from their releases:
assets/vendor/model-viewer/model-viewer-umd.min.js is dist/model-viewer-umd.min.js from the @google/model-viewer npm package. Readable source: packages/model-viewer/src.