3D Model Generator — Make Test Models, Export GLB, STL, OBJ, USDZ

Build primitives, gears, 3D text, lathe and extruded shapes in your browser, then export GLB, glTF, OBJ, STL, PLY, USDZ or 3MF.

Found a problem, or something that could be better? We read every message and we fix things quickly.

This free 3D model generator builds simple models and test assets in your browser and exports them as GLB, glTF, OBJ, STL, PLY, USDZ or 3MF. Pick a shape — a torus knot, a gear with 32 teeth, a line of 3D text, a lathe-turned vase, a seeded low-poly rock or a terrain from a heightmap — adjust its parameters with live triangle counts, place it with the move/rotate/scale gizmo, and download the file. You can also draw your own: sketch an outline and extrude it, draw a half-profile and revolve it, or draw a path and sweep a tube along it.

It is a parametric generator, not an AI text-to-3D service. That is the point for the people it is built for: developers who need a known-good sample GLB to test a viewer or loader, QA engineers who need an STL with exactly 100,000 triangles, makers who want a quick gear, nut or name plate to print, and anyone who wants a USDZ to try AR Quick Look. Every file is generated on your device, nothing is uploaded, and the same settings and seed always produce the same file.

How to use

  1. Click a shape under "Add a model". Primitives, procedural presets (gear, spring, terrain, vase…), 3D text, or one of the drawing modes.
  2. Adjust it in the Properties panel: dimensions, segment counts (watch the triangle count), material, and an optional spin animation. Use "Target triangle count" to hit an exact budget.
  3. Add more objects and arrange them with the gizmo (W move, E rotate, R scale) or the numeric fields. Use "Drop to ground" to sit an object on the grid.
  4. For drawn shapes, edit the sketch below the view: click to add points, drag to move them, add holes, or import an SVG. The 3D model updates as you draw.
  5. Choose units, up axis and placement under Export, then click a format to download it, or "Download all formats (.zip)" for every format at once.
  6. Use "Copy share link" or "Download settings" to keep a reproducible recipe for the model.

Frequently asked questions

Is this an AI 3D model generator?

No. It builds models from parameters and drawings rather than from a text prompt, so the result is exact and repeatable: a 20-tooth gear is a 20-tooth gear every time, and a seed reproduces the same rock. That makes it suited to test assets, simple printable parts and placeholders. For organic sculpted characters from a prompt you need an AI service or a modelling app like Blender.

Which 3D file formats can I download?

GLB, glTF (as .gltf + .bin, or a single embedded .gltf), OBJ with an MTL material file (and texture image when the UV checker is on), STL in binary or ASCII, PLY in binary or ASCII, USDZ for Apple AR Quick Look, and 3MF for 3D printing. "Download all formats" puts every one in a single ZIP with the settings file.

How do I make a test GLB or STL with a specific triangle count?

Add a shape with detail settings (a sphere, torus knot, terrain or the cube-grid stress test), type the number into "Target triangle count" and press Fit. The tool adjusts the segment counts and shows the count it reached; the cube grid and terrain go into the hundreds of thousands of triangles. The live counter and size estimates update as you change anything.

Can I use the models for 3D printing?

Yes. Export STL or 3MF; both are written Z-up and in millimetres by default, and 3MF declares its unit so slicers size it correctly. Use "Check watertight" before printing: closed shapes such as boxes, gears, nuts, lathe solids, extrusions and terrain with a solid base report as watertight, while planes, discs, springs and the Möbius strip are open surfaces by design.

Why are glTF and USDZ always in metres and Y-up?

Because their specifications require it. glTF defines one unit as one metre with Y up, and three.js's USDZ exporter declares metres per unit = 1 with Y up. The "1 scene unit" setting converts your model accordingly, so a 10 cm cube is 0.1 in a GLB. STL, OBJ and PLY carry no unit, so they are written in the unit you choose (millimetres by default), and 3MF records the unit in the file.

Are my models uploaded anywhere?

No. Shapes are generated, previewed and exported by JavaScript and WebGL in your browser. The scene autosaves to your browser's local storage, and a share link stores the settings in the URL itself, not on a server.

Which export format should I use?

• GLB — the default for the web, game engines, three.js, Babylon.js, model-viewer and most 3D viewers. One binary file with meshes, materials, textures and animation.

• glTF (.gltf + .bin) — the same data as JSON plus a binary buffer; easier to inspect and diff, and what some pipelines expect. The embedded variant puts everything in one JSON file at about a third more size.

• OBJ + MTL — the oldest interchange format, readable by nearly every 3D program. Keeps geometry, UVs, normals and basic materials; no animation.

• STL — what slicers and CAD tools take for 3D printing. Triangles only: no colour, no materials, no units (millimetres by convention).

• 3MF — the modern printing format: one file, declared units, welded meshes and a colour per object. Prefer it to STL when your slicer supports it (PrusaSlicer, Cura, Bambu Studio and Windows 3D Builder do).

• PLY — common in scanning and research; keeps vertex colours, which STL cannot.

• USDZ — Apple's AR format. Open it on an iPhone or iPad and AR Quick Look places the model in the room at real size.

Shapes and drawing tools

Primitives come with every parameter three.js exposes: radii, heights, segment counts, arcs and subdivision detail. The procedural presets are small generators with meaningful controls: a gear from tooth count and module with a centre bore, a spring from turns and wire radius, stairs from step count, rise and run, a vase from base, belly, neck and lip radii with a real wall thickness, terrain from seeded fractal noise or an uploaded greyscale heightmap (optionally closed with a solid base so it prints).

The three drawing modes cover what the presets do not. Sketch → Extrude turns a closed outline, with any number of holes and outlines, into a solid; you can import the filled paths of an SVG logo instead of drawing. Profile → Lathe revolves a half silhouette around the vertical axis for bottles, chess pieces and turned parts. Path → Tube sweeps a circle along a smooth curve through your points, for cables, pipes and handles.

3D text uses Liberation Sans (SIL Open Font License), read from the original TrueType file in your browser. You can upload your own .ttf; CFF-based .otf and web-font formats are not supported.

Settings for developers and testers

Test assets are only useful if you know what is in them. The stats strip shows triangles, vertices, meshes, materials and bounding-box dimensions live, and each export button shows an estimated size before you export and the exact size after. You can strip normals, UVs or vertex colours to test how a loader copes without them, merge everything into one mesh or keep objects separate, add a spin animation to test animated glTF playback, switch Y-up and Z-up, and centre the model or place it on the ground.

The scene is a small JSON document: shape kinds, parameters, transforms, materials, a random seed and the export settings. "Copy share link" encodes it in the URL and "Download settings" saves it as a file, so a teammate or a bug report can reproduce exactly the same model, byte for byte for the deterministic formats.

Related free tools

  • 3D Model Converter — View and convert STL, OBJ, FBX, GLB, glTF, PLY, 3MF, DAE and USDZ in your browser. Batch convert to GLB, OBJ, STL, USDZ or 3MF.
  • Test File Generator — Generate a dummy file of any exact size in your browser — 1 KB to 2 GB, random bytes, text, CSV or JSON.
  • SVG Editor — Draw shapes, arrows, freehand lines and text on a canvas, then download a clean SVG or PNG. Free, in your browser, no signup.
  • Placeholder Image Generator — Make a dummy image at any size with your colours and a label, and download it as PNG, JPG, WebP or SVG. Presets for social, ads and hero banners.