Quad Remesher

Triangles in, quads out, running along the shape's curves and edges.

Runs entirely in your browser

Loading the tool…

More settings

Drag to orbit · scroll to zoom · shift-drag to pan

Model

The model as opened.

View
Shading
Show
  • —Triangles in
  • —Quads out
  • —Other faces
  • —Poles, 3 or 5+ quads
  • —Time taken

Scans, sculpts, kitbashes, AI generated models and CAD exports come out as a soup of triangles. Subdivision surfaces, animation rigs and most modelling tools want quads instead, laid out in loops that follow the form, and rebuilding that by hand is the slow part of retopology. Open a model here, say roughly how many quads you want, and press Remesh: what comes back is a mesh of four-sided faces whose edges run along the surface's curvature and its sharp edges, ready to download in the format it came in.

This is a port of AutoRemesher, Jeremy Hu's open source remesher, from C++ to Rust compiled for the browser. It follows the same steps: even out the triangles, solve a smooth cross field that says which way quads should run, pair off the field's singularities where two of them nearly cancel, solve a parameterisation whose integer grid lines are the quad edges, then cut the quads out and repair what the cutting got wrong. One step is added: the original rounds off sharp edges and corners, and here they are held in place through every pass, so a box comes back as a box. The file never leaves the page, which is served with a header that stops it opening a connection to anywhere, so an unreleased model stays on your machine.

The quad count is a target rather than a promise: with detail following curvature, flat regions get fewer, larger quads, and the total usually lands between three quarters and nine tenths of the number asked for. On the sample, five thousand quads take about a second and fifty thousand about twenty; a denser or more tangled model takes longer, and the Stop button is there for when you asked for too many.

The view is the same one as the 3D viewer's: orbit, pan and zoom, a gizmo to look straight down an axis, and edges drawn on the quads themselves, so the edge loops can be read before anything is saved. Switch between the original and the quads without the camera moving to compare the two at one spot. The less common settings, from how far quads may stretch to how many smoothing passes run, are under More settings.

Every step can be looked at. Even triangles shows the surface remeshed evenly, Layout draws the quad grid on it before a single quad is cut, and Quads marks the poles, the points where three or five quads meet instead of four. Poles decide where edge loops turn, so they are the first thing to check, and the count is given with the result.

It does the job of ZBrush's ZRemesher, Exoside's Quad Remesher or Blender's QuadriFlow, without installing anything. A skilled artist still beats any automatic remesher on a hero character; for scans, props and background assets this is usually enough, and it is a quick start for the rest.

How to use it

  1. Open an STL, OBJ or GLB file, or keep the sample that is already loaded.
  2. Set roughly how many quads you want, then press Remesh into quads.
  3. Turn the result to check it, using the gizmo and the Solid + edges view to follow the loops, and look at where the poles fall.
  4. Pick a format, which starts as the one you opened, and press Download.

Questions

Why would I want quads instead of triangles?

Subdivision surfaces, the smoothing that turns a coarse cage into a curved surface, only behave with quads. Edge loops that run round a limb or an eye are what make a model deform well when it is rigged, and they are what makes it easy to select and edit a region later. Triangles from a scan or an STL have none of that structure.

How close to the quad count will it get?

Near it, and usually under: between three quarters and nine tenths of it in testing. The number sets the average size of a quad, and the curvature setting then moves quads from flat regions to detailed ones, which tends to cost more on the flat side than it adds on the curved. If you need more, ask for more: the same model and settings give the same result every time.

What does the curvature setting do?

At 0 every quad is about the same size. Higher values make quads smaller where the surface bends sharply and larger where it is flat, which spends the same budget where it shows. 1 is the original program's default.

What is the sharp edge angle?

Edges where the surface folds by more than this many degrees are treated as creases: the quad layout lines up with them rather than cutting across. 90 degrees catches the edges of a box and leaves the gentle folds of an organic shape alone. 45 degrees, the default here, also catches the edges of a bevelled or chamfered part. Set it to 0 to treat nothing as a crease, which suits an organic sculpt.

Why are my sharp edges crisp here but soft in AutoRemesher?

The original lets the vertices on a crease slide while it evens out the triangles and smooths the quads, so a box comes back with rounded edges and corners. With Keep sharp edges and corners crisp ticked, which is the default, those vertices stay on the crease line and corners stay put. On a test cube that takes the error at the corners from about six percent of an edge to nothing. Untick it to get the original behaviour.

Can I download it as STL if I opened an STL?

Yes: the download starts as the format you opened, and OBJ, STL and GLB are all offered. Only OBJ can hold a quad. STL and GLB store triangles, so each quad is saved as two, cut along its shorter diagonal; the edge loops are still there, but a modelling program will see triangles. For retopology work pick OBJ.

What do the extra settings do?

Stretch along the flat direction lets quads grow longer where the surface curves one way only, like a cylinder, with Longest a quad may stretch capping how far. Smoothing passes relax the quads after they are cut. Remesh passes even out the triangles before any of that. Pairing singularities, the points where three or five quads meet, cancels ones that sit close together for a cleaner flow. Smooth a faceted model helps with a low polygon input whose flat facets would otherwise be followed. Back to defaults puts everything back.

Is my model uploaded?

No. It is read and remeshed inside this tab by WebAssembly, in a background worker so the page stays responsive. There is no server doing the work, and the page is not allowed to open a network connection at all.

It says some pieces could not be remeshed.

A model made of several separate parts is remeshed one part at a time, and a part that is very small next to the quad size, or badly broken, can fail to parameterise. Those parts are left out rather than stopping the whole run. Asking for more quads usually gets small parts through.

My model has holes. Will that work?

Yes: open borders are kept where they are and the quads run up to them. The original program caps any opening shorter than 65 quad edges, so a small cup or a sleeve came back closed; here only gaps the quad cutting itself tore are filled. Edges shared by more than two faces, where two solids touch or a wall stands inside a box, are reported when the model is opened; each piece meeting there is remeshed and the shared edge is kept.

What are the poles, and how many should there be?

A pole is a vertex where three or five quads meet instead of four. A closed shape needs some: a cube has eight, one at each corner, and a sphere at least eight too. A torus, or the torus knot sample, can have none. Poles are where edge loops change direction, so you want few, and where they will not show or bend: away from joints and the middle of a face. Cancel nearby singularities, under More settings, pairs off ones that sit close together.

How does it compare to ZRemesher, Quad Remesher or QuadriFlow?

It is the same kind of tool: a triangle mesh in, quads that follow the shape out. ZRemesher and Exoside's Quad Remesher are paid and generally lead on characters, with guide curves and painted density. QuadriFlow is free and built into Blender, and AutoRemesher, which this is a port of, tends to give better edge flow than it. This one needs no install and runs on any computer with a browser, and keeps sharp edges crisper than the original.

Your data stays on your device

Everything above runs inside your browser as WebAssembly compiled from Rust. Nothing you type is uploaded, logged or stored on a server. You can load this page once, go offline, and it still works.

This page makes no requests at all, to anywhere. That is not a promise in the copy: it is a Content-Security-Policy header your browser enforces, and connect-src on it is none. Open the network tab and watch nothing happen.