mrkeyoor.com_
Tue 03 Nov 01:46 UTC
Webevaluationupdated 03 Nov 2026

ScanRuler review

ScanRuler by CNC Kitchen is a browser application for measuring 3D scans and flatbed images, comparing scans with CAD references and modelling geometry from scans. It helps workshop users inspect a part without starting with a full desktop inspection system, with an optional MCP connection for agents.

Verdict

Our ScanRuler install, build and test commands succeeded in 11, 67 and 497 seconds respectively, giving it a credible developer evaluation path without establishing measurement accuracy. Try it for inspectable scan measurements, starting with a known dimension and a saved project you can reopen. Keep agent-generated geometry subject to independent dimensional checks, especially where the scan cannot show the part interior.

We ran it

Lab card: what happened when we ran ScanRulerScreenshot of ScanRuler (github.com/CNCKitchen/ScanRuler)
Install✓ · 11s148 packages · 182 MB
Build✓ · 67s
Tests✓ · 497s3109 passed · 0 failed · 24 skipped of 3134 (vitest)
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo1258 files~299,715 lines of source · 22.7 MB · 4 CI workflows · tests dir

Answers from our run

Does ScanRuler build from source?

Dependencies installed in 11 seconds (148 packages), and the build succeeded in 67 seconds. We cloned commit 5c1f2f9 into a clean Debian container with 3 CPUs and no project-specific setup.

Do ScanRuler's tests pass?

Yes. The project's own test command finished in 497 seconds and reported 3109 passed, 0 failed, 24 skipped (vitest).

Does ScanRuler have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use ScanRuler?

Users treating a flatbed image as calibrated because it has dpi metadata: the README requires calibration against a known size.

What are the alternatives to ScanRuler?

CloudCompare, FreeCAD. Our ScanRuler install, build and test commands succeeded in 11, 67 and 497 seconds respectively, giving it a credible developer evaluation path without establishing measurement accuracy.

SetupN/ARepository commands succeeded, but runtime versions, a supported interactive measuring session and the optional agent setup were not verified.
Docs4/5Under the visible editorial scale, calibration, unit handling, file routes and the agent-data warning give detailed evaluation guidance; the workflows were not independently completed.
CommunityN/ARecent reports and repository activity do not establish support responsiveness, resolution quality or sustained maintainer capacity.
Maturity3/5Under the visible editorial scale, successful repository commands support a trial, while measurement accuracy, file limits and project-save behavior remain unverified by us.

Who it’s for

Workshop users checking known dimensions or comparing a scan with a CAD reference, with independent measurements available for validation.
Developers evaluating a static browser application for local file processing or self-hosting.
CAD users willing to inspect the assumptions in an agent-generated reconstruction before manufacturing a replacement.

Who it’s NOT for

Users treating a flatbed image as calibrated because it has dpi metadata: the README requires calibration against a known size.
Confidential-part workflows that cannot send measurements or pictures to a model provider: the README says connected agents do so unless the model is local.
Users expecting large 3MF and STEP inputs to work because large text-format mesh handling improved: release v0.9.4 explicitly retains limits for those formats.
Teams treating scan-to-model agreement as proof of physical fit: the README says hidden geometry and design intent involve inference.

Setup reality

Our November 2, 2026 run at 5c1f2f9 completed installation in 11 seconds, the build in 67 seconds and tests in 497 seconds. It recorded 148 dependencies and 182 MB on disk. Vitest reports 3,109 passed, 0 failed and 24 skipped, against a stated total of 3,134 that does not fully reconcile. Npm audit reported 0 known vulnerabilities.

The ordinary hosted workflow processes files in the browser. The optional agent route needs Node.js 22+, a supported browser and an MCP helper. Data the agent reads goes to its model provider unless the model runs locally. The README offers npm development commands and a static production build.

The sandbox had 3 CPUs, 8 GB RAM and image label lab-node:22, which does not establish runtime versions. We did not verify dimensional accuracy, large-file handling or agent reconstruction. Calibrate flatbed images, choose STL units and test a save-and-reopen cycle before relying on a project.

ScanRuler measures the scan you give it

ScanRuler by CNC Kitchen fits geometric features to scans and compares scanned surfaces with a reference part in your browser. That makes it interesting for a workshop trying to answer a specific question: how far apart are these holes, or where does this print depart from its CAD model? A plausible result can still reflect a bad scan or wrong alignment.

The README describes fitted spheres, cylinders and planes, dimensions between elements, and a signed deviation map against a mesh or STEP reference. A flatbed-image workspace adds another route for flat parts. You don't need to adopt agent-driven reverse engineering to use these tools. Start with one dimension you can check independently, because the useful output is a measurement you can explain, not simply a coloured picture.

What happened when we ran it

Our ScanRuler run completed installation in 11 seconds, the build in 67 seconds and the test command in 497 seconds. We ran commit 5c1f2f9 on November 2, 2026. The npm record lists 148 dependencies and 182 MB on disk. These developer-checkout results do not measure large-scan processing.

The supplied Vitest summary records 3,109 passed, 0 failed and 24 skipped, with a stated total of 3,134. Those figures don't fully reconcile. We preserve them as recorded rather than supplying a corrected total or calling every case a pass. The command itself succeeded. No measured dimensional error, scanner calibration result or completed agent reconstruction accompanies that result.

Npm audit reported 0 known vulnerabilities, including zero in each recorded severity category. That is a dated dependency-audit result, not a security guarantee. The sandbox configuration had 3 CPUs, 8 GB RAM and image label lab-node:22, which doesn't establish the runtime or operating-system version. The scan also found a tests directory and four CI workflow files, without establishing their current execution status.

Calibrate the flatbed image and choose the alignment

The README says a flatbed image stays flagged UNCALIBRATED until you calibrate it against a known size on the glass. Its embedded dpi supplies only a working scale. If you are measuring a scanned gasket, that is a useful distinction: first establish scale using a known reference, then inspect the detected edges before trusting hole positions or exporting a full-size drawing.

For 3D comparisons, the README offers automatic alignment, point-picked alignment and a local fine fit. It explicitly notes that fixtures, spray or supports can pull the fit away from the intended surface. Choose the surfaces that define your inspection before interpreting deviation colours. A best fit answers a different practical question from alignment to the faces that locate the real part in an assembly.

STL files carry no units, so the documented loading workflow asks you to choose them. That small prompt deserves attention. ScanRuler can display millimetres or inches, while files, projects and agent answers remain in millimetres. Confirm the imported size before spending time fitting geometry. Our successful repository checks do not verify that your chosen unit or datum matches the physical part.

Connecting an agent changes the data boundary

The README says ordinary file processing stays in the browser, but measurements and pictures read by a connected agent go to that agent's model provider unless the model runs locally. We did not inspect network traffic. For confidential parts, decide whether the agent may receive images, measurements and file names before pairing it with the tab.

The optional MCP helper requires Node.js 22 or newer and a supported browser, documented as Chrome, Edge or Firefox. The app asks for connection consent, followed by browser permission to reach local services. These requirements belong to agent use. Ordinary measuring needs no agent.

Automatic reverse engineering is a more demanding proposition. The README describes an agent building a solid STEP model and checking it against the scan. It also says hidden geometry must be inferred, design intent can be wrong, and freeform parts are its weakest case. Require the output report to distinguish measured features from assumptions. Agreement with the scan cannot establish the right nominal dimension or whether a replacement part will fit.

Large-file limits and save behavior need a trial

Release v0.9.4 warns that large 3MF and STEP inputs still cannot be read, despite improvements to reading large text-format meshes. If these formats dominate your work, try an actual representative file before choosing the tool. We have no browser memory measurement or file-size stress result, so a successful production build cannot settle that decision.

The repository's last push was November 1, 2026. Recent issues include a duplicate-name project-save report and a fit-tolerance input report, alongside feature requests. This shows current use and ongoing work, with reports to investigate. Save and reopen a disposable project on your browser. Don't confuse its recovery checkpoints with the portable project copy the README tells you to save.

Choose the alternative by the job you need

CloudCompare describes point-cloud and triangular-mesh processing, including comparisons between clouds or between a cloud and a mesh. Evaluate it when point-cloud comparison is your central task. FreeCAD describes parametric modelling with editable model history. Choose it when constructing and revising the intended design matters more than measuring the supplied scan. We haven't benchmarked either alternative against ScanRuler.

Documentation receives 4/5 for the explicit calibration, units and agent-data explanations. Maturity receives 3/5 for successful repository commands with unresolved application checks. Our editorial scale is 1 for major evidenced obstacles, 3 for a usable evaluation path and 5 for broad independent validation, with 2 and 4 between. Setup and community support remain unscored beyond the observed checkout results.

ScanRuler is AGPL-3.0-only, and the README offers commercial exceptions. It also says the hosted site carries a beta workspace outside this repository and license. Check that your intended workflow exists in the code you would self-host. Then measure a known feature, save the project, reopen it and repeat the reading before using an unknown part to make a manufacturing decision.

Alternatives

ProjectWhat it isPick it when
CloudCompareDesktop software for point-cloud and triangular-mesh processing and comparison.Evaluate CloudCompare when comparing point clouds or a cloud against a mesh is your main task.
FreeCAD gh↗A parametric 3D modeller with editable model history.Choose FreeCAD when you need to construct and revise the intended design through model parameters.

What people are saying

  1. [github-trending] CNCKitchen/ScanRuler

Sources

  1. ScanRuler README
  2. ScanRuler v0.9.4 release
  3. CloudCompare README
  4. FreeCAD README
  5. ScanRuler repository facts
  6. ScanRuler recent issue activity

More web reviews

tornado · phaser · meteor · floating-ui · firefox · algorithm-visualizer · the whole board →