Free tool · nothing is stored
Preview a mesh before you import it
Drop a GLB and the browser draws it here, from your own file, with the checker's measurement of that same file underneath: triangles against the 10,000 target and the ~21,000 MeshPart ceiling, the bounding box in studs, and the mobile-visibility verdict. A render tells you how a model looks. These numbers tell you whether Studio will draw it, and what to fix first if it will not.
Drop your mesh here, or pick a file
GLB or OBJ · up to 15 MB · processed in memory, never stored
Your model renders here
Drop a GLB and the browser draws it from your own file. The readout underneath fills in with the measurements that decide the import, so the picture and the numbers come from the same parse. An OBJ gets a stated reason instead of a blank canvas.
Measured against the 10,000 target and the ~21,000 ceiling
Bounding box, converted at 1 stud = 0.28 m
Verdict from the measured checks below
What a picture cannot show
Two meshes that look identical in a viewer can behave nothing alike in a game: one sits at 9,000 triangles and a bottom-center pivot, the other at 30,000 with its base floating a stud above the floor. Triangle count, stud dimensions, pivot placement and UVs are all invisible in a render and all measurable in the file.
One file, one measurement
The stage draws the GLB you dropped and the receipt below is the checker's read of the same bytes. Nothing is re-parsed for the preview, so the model on screen and the numbers beside it can never disagree about what was measured.
Diagnosis, then the fix
A viewer that only shows you the model leaves the repair to you. When the receipt flags something, the fix guide on this page covers the Blender steps and export settings, and the Pivot Wizard and Scale Fixer return a corrected Studio ZIP.
Model preview: common questions
Can I preview a GLB before importing it into Roblox Studio?
Yes. Drop a GLB on this page and it renders in the browser from your own file, with the checker's measurements underneath: the triangle count against the 10,000 mobile target and the roughly 21,000 triangle MeshPart ceiling, the bounding box in studs and the mobile-visibility verdict. Nothing is uploaded to storage and no copy of the file is kept.
Why can't I preview an OBJ here?
Because an OBJ carries no preview of its own. It is a text list of vertices and faces that points at a separate material file and image, so a browser renderer would need those sidecar files as well, and it still would not know what the model is supposed to look like lit. A GLB packs geometry, materials and the texture into one file, which is what the viewer on this page renders. An OBJ still gets the full measurement, which is the part that decides the import.
Does this viewer upload my model?
No copy is stored. The preview is drawn from a temporary URL your browser builds for the file you picked, and that URL is released as soon as the page stops using it. The measurement posts the same file to the public checker endpoint, which parses it in memory and keeps nothing: no account, no storage bucket, no record.
Is a model viewer enough to check a mesh for Roblox?
No, and this page is built around that. A render shows the silhouette, while Studio's answer to a mesh depends on numbers a picture cannot carry: triangles against the ~21,000 MeshPart ceiling and the 10,000 target for props that appear often, dimensions in studs (1 stud = 0.28 m), where the pivot sits, whether the texture has UV coordinates to map onto, and whether the surface is closed enough for a collider. Two models that look the same on screen routinely land on opposite sides of those checks.
Why did nothing render?
The stage names the case instead of leaving a blank canvas: over the 15 MB limit, a file the checker could not parse, a browser without WebGL, or a GLB the in-browser renderer refuses even though the checker read it (usually an export that failed part way). In every one of those cases the measurement is still reported when the checker could read the file, so you are not left with nothing.
The receipt under the model is the mesh checker: the same measurement of the same file, on a page that does not draw it.
When a row is flagged, the Pivot Wizard returns a bottom-center version of the mesh as a Studio ZIP and the Scale Fixer resizes one to an exact size in studs. A mesh that imports and still draws nothing is covered in the invisible mesh walkthrough.