---
title: "Acrylic Machining Tolerance: Real ±mm by Process"
description: "Real acrylic machining tolerance numbers by process — sheet thickness bands, laser kerf, cut tolerance, thermal movement, and fit margins for lids and inserts."
category: "Manufacturing"
author: "Deniz Chen"
authorCredential: "QC Manager at Wetop Acrylic — leading 4-stage quality inspection since 2016, 1,000+ custom orders inspected piece-by-piece before ship"
datePublished: 2026-08-16
dateModified: 2026-08-16
primaryKeyword: "acrylic machining tolerance"
url: https://wetopacrylic.com/guide/acrylic-fabrication-tolerances-guide/
---
## What acrylic machining tolerance is realistic {#short-answer}

"Can you hold ±0.3 mm on these parts, and if not, why not?" A prototype buyer put it exactly that way in a quote thread, and some version of the same question reaches me a few times a month. It is the right question asked one layer too late, because the answer changes depending on which dimension the ±0.3 mm is attached to.

A realistic acrylic machining tolerance is ±0.2 mm on cut dimensions under 100 mm and ±0.5 mm above — the band we quote and inspect against. Thickness plays by different rules: it follows the sheet, not the machine, and a nominal 3 mm cast sheet can legally arrive anywhere between 2.3 and 3.7 mm. So on a cut profile the answer is yes, routinely. On as-supplied thickness, no fabricator on earth can promise ±0.3 mm from cast sheet, and anyone who does is quoting a number their incoming material contradicts.

This guide separates the three tolerance families that hide inside "acrylic tolerances" — what the sheet arrives with, what the cutter adds, and what temperature does after delivery — with the real numbers for each, sourced from the material standards and manufacturer tables that govern them. At the end: the fit-margin rules I apply when a lid, insert, or slot has to mate on the first try, at the standard 100-piece minimum order.

| Dimension type | Realistic band | What governs it |
|---|---|---|
| Cut profile, feature under 100 mm | ±0.2 mm (quoted band) | Machine + fixturing + kerf compensation |
| Cut profile, feature over 100 mm | ±0.5 mm (quoted band) | Same, plus heat and sheet stress over the span |
| Thickness, as-supplied cast sheet | up to ±0.7 mm at 3 mm nominal | ISO 7823-1 sheet manufacturing tolerance |
| Thickness, as-supplied extruded sheet | roughly ±5% above 3 mm | Extrusion process control |
| Thickness, CNC-faced surface | tighter, priced per drawing | Machining a datum face — added operation |
| Any long dimension in service | ~0.07 mm per meter per °C | Thermal expansion, not fabrication |

## Sheet thickness tolerance — the number your drawing inherits {#sheet-thickness}

Before any machine touches your part, its thickness tolerance has already been decided at the sheet plant. Cast acrylic sheet is manufactured to ISO 7823-1, and the band is wider than most buyers expect: published manufacturer tolerance tables show a 3.0 mm nominal cast sheet allowed at 2.3-3.7 mm, and a 12.0 mm sheet at 10.4-13.6 mm.[^acrylite-cast-tol] That is not a defective lot. That is the standard working as written.

Extruded sheet is the tighter twin. Above 3 mm nominal it holds roughly ±5% — the same manufacturer's extruded tolerance table lists a 6.0 mm sheet at 5.69-6.30 mm, against a cast allowance that would be more than triple that spread. The reason is the process: cell casting cures liquid monomer between glass plates and shrinks unevenly as it polymerizes, while extrusion pushes molten material through a fixed die gap under continuous gauge control. The [cast vs extruded acrylic guide](/guide/cast-vs-extruded-acrylic/) covers the full trade-off; for tolerance purposes the rule is short — if your design clamps, slots, or stacks on thickness, either spec extruded sheet or budget for machining.

Since 2016, I have measured thousands of sheet lots, and the practical takeaway is blunt: the nominal thickness on a drawing is a name, not a measurement. We caliper the actual lot before cutting any part that mates on thickness, because two "3 mm" pallets from the same supplier can differ by half a millimeter and both be perfectly in spec.

## Cut tolerance and kerf — what the beam takes {#cut-tolerance-kerf}

Kerf is the slot of material the laser vaporizes as it cuts, and on acrylic it is small but never zero. Published cutting data puts acrylic kerf at about 0.18 mm on 1-3 mm sheet, 0.21 mm at 5-8 mm, 0.30 mm at 10-15 mm, and 0.32 mm at 20 mm.[^cutlasercut-kerf] Kerf widens with thickness because thicker sheet needs slower travel and more energy, which melts a wider channel.

Here is the part that surprises buyers: kerf is not your tolerance. Every serious CAM setup offsets the beam path by half the kerf, so the finished edge lands on the drawing line, not half a beam-width inside it. What kerf does instead is set the floor for how repeatable a cut can be — beam width varies slightly with focus, direction, and even position on the sheet, and on thick material the cut edge carries a slight taper from top to bottom — on a 20 mm part I can usually feel it with a fingernail before the caliper confirms it. That variation, not the slot itself, is why the achievable laser cutting tolerance on acrylic widens as the sheet gets thicker, and why the quoted band steps from ±0.2 mm to ±0.5 mm as features grow. Whether the part should be laser-cut or CNC-routed in the first place is its own decision — the [CNC vs laser cutting comparison](/guide/cnc-vs-laser-cutting-acrylic/) walks through it.

When a drawing arrives without tolerances, the shared vocabulary we fall back on is ISO 2768, the general-tolerance standard machine shops use worldwide. Its medium class allows ±0.2 mm on 6-30 mm features, ±0.3 mm on 30-120 mm, and ±0.5 mm on 120-400 mm; the fine class roughly halves those numbers.[^amesweb-iso2768] Notice how closely the medium class tracks the bands we quote — that is deliberate. Quoting a tolerance the process genuinely holds means the inspection sheet and the quote sheet agree, and nobody discovers the real number during a dispute.

## The tolerance stack on a fitted lid {#tolerance-stack}

Fit failures are almost never caused by one bad dimension. They are caused by three legal dimensions adding up — sheet band plus cut band plus zero allowance. The cross-section below shows the failure and the fix on the most common mating joint we build: a lid panel seating into a grooved base.

<figure class="guide-diagram">
  <svg viewBox="0 0 1080 620" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="svg-tol-stack-title svg-tol-stack-desc">
    <title id="svg-tol-stack-title">Cross-section of a lid-and-groove tolerance stack, sized correctly versus sized to the nominal.</title>
    <desc id="svg-tol-stack-desc">Two side-by-side cross-sections of a 3 mm acrylic lid panel entering a groove in an acrylic base. Left: the groove is sized to the sheet's legal maximum of 3.7 mm plus 0.2 mm running clearance, giving a 3.9 mm groove that accepts every in-spec sheet. Right: the groove is cut to 3.2 mm based on the 3.0 mm nominal, and a legally in-spec 3.4 mm cast sheet cannot seat — the lid jams on the groove shoulders. Under ISO 7823-1, a nominal 3.0 mm cast sheet may arrive anywhere from 2.3 to 3.7 mm. Widths are drawn to scale at 50 pixels per millimeter; groove depth is compressed for clarity.</desc>
    <defs>
      <style>
        .ts-h { font: 600 20px Inter, sans-serif; fill: #1d1d1f; }
        .ts-sub { font: 13px Inter, sans-serif; fill: #86868b; }
        .ts-panel { font: 600 15px Inter, sans-serif; fill: #424245; }
        .ts-body { font: 600 12.5px Inter, sans-serif; fill: #424245; }
        .ts-meta { font: 11px Inter, sans-serif; fill: #86868b; }
        .ts-dim { stroke: #1d1d1f; stroke-width: 1.2; }
        .ts-base { fill: #e5e5ea; stroke: #8e8e93; stroke-width: 1.5; }
        .ts-lid { fill: #0071e3; fill-opacity: 0.16; stroke: #0071e3; stroke-width: 2; }
        .ts-lid-bad { fill: #ff3b30; fill-opacity: 0.14; stroke: #ff3b30; stroke-width: 2; }
      </style>
      <marker id="ts-arr" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
        <path d="M0 0 L10 5 L0 10 z" fill="#1d1d1f"/>
      </marker>
    </defs>
    <rect width="1080" height="620" fill="#f5f5f7" rx="12"/>
    <text x="540" y="46" text-anchor="middle" class="ts-h">Size the groove to the sheet's legal band, not its nominal</text>
    <text x="540" y="72" text-anchor="middle" class="ts-sub">A nominal 3.0 mm cast sheet may legally arrive 2.3-3.7 mm (ISO 7823-1). The groove decides whether that matters.</text>
    <text x="280" y="120" text-anchor="middle" class="ts-panel">Groove sized to worst case: seats every time</text>
    <text x="800" y="120" text-anchor="middle" class="ts-panel">Groove sized to nominal: jams on a legal sheet</text>
    <g>
      <path class="ts-base" d="M80 350 L182 350 L182 480 L377 480 L377 350 L480 350 L480 560 L80 560 Z"/>
      <rect class="ts-lid" x="187" y="170" width="185" height="300"/>
      <line x1="187" y1="150" x2="187" y2="164" class="ts-dim"/>
      <line x1="372" y1="150" x2="372" y2="164" class="ts-dim"/>
      <line x1="187" y1="157" x2="372" y2="157" class="ts-dim" marker-start="url(#ts-arr)" marker-end="url(#ts-arr)"/>
      <text x="279" y="145" text-anchor="middle" class="ts-body">sheet at legal max: 3.7 mm</text>
      <line x1="182" y1="500" x2="182" y2="514" class="ts-dim"/>
      <line x1="377" y1="500" x2="377" y2="514" class="ts-dim"/>
      <line x1="182" y1="507" x2="377" y2="507" class="ts-dim" marker-start="url(#ts-arr)" marker-end="url(#ts-arr)"/>
      <text x="279" y="532" text-anchor="middle" class="ts-body">groove: 3.9 mm = 3.7 + 0.2 clearance</text>
      <circle cx="120" cy="200" r="9" fill="#34c759"/>
      <text x="140" y="205" class="ts-body">0.2 mm running clearance held</text>
      <text x="140" y="223" class="ts-meta">even at worst-case sheet</text>
    </g>
    <g>
      <path class="ts-base" d="M600 350 L720 350 L720 480 L880 480 L880 350 L1000 350 L1000 560 L600 560 Z"/>
      <rect class="ts-lid-bad" x="715" y="170" width="170" height="176"/>
      <line x1="715" y1="150" x2="715" y2="164" class="ts-dim"/>
      <line x1="885" y1="150" x2="885" y2="164" class="ts-dim"/>
      <line x1="715" y1="157" x2="885" y2="157" class="ts-dim" marker-start="url(#ts-arr)" marker-end="url(#ts-arr)"/>
      <text x="800" y="145" text-anchor="middle" class="ts-body">sheet arrives 3.4 mm - in spec</text>
      <line x1="720" y1="500" x2="720" y2="514" class="ts-dim"/>
      <line x1="880" y1="500" x2="880" y2="514" class="ts-dim"/>
      <line x1="720" y1="507" x2="880" y2="507" class="ts-dim" marker-start="url(#ts-arr)" marker-end="url(#ts-arr)"/>
      <text x="800" y="532" text-anchor="middle" class="ts-body">groove: 3.2 mm = nominal + 0.2</text>
      <circle cx="640" cy="200" r="9" fill="#ff3b30"/>
      <text x="660" y="205" class="ts-body">lid rests on shoulders, will not seat</text>
      <text x="660" y="223" class="ts-meta">interference: 0.2 mm across the joint</text>
    </g>
    <text x="540" y="600" text-anchor="middle" class="ts-meta">Widths to scale (50 px = 1 mm); groove depth compressed. Sheet band per ISO 7823-1 manufacturer tolerance tables.</text>
  </svg>
  <figcaption>The same nominal drawing, two groove strategies. The left groove clears the sheet's entire legal band with running clearance to spare; the right groove trusts the nominal and jams on a sheet that passes every incoming inspection.</figcaption>
</figure>

I want you to read the right panel carefully, because that lid is not a defect story — every dimension in it passes inspection, and I have signed inspection sheets on assemblies exactly like it. The sheet is inside its manufacturing band. The groove is cut within ±0.2 mm of its drawing number. The assembly still fails, and it fails in a way that no amount of tighter machining fixes, because the stack was never budgeted. The fix costs nothing: it is a design decision made before cutting, which is the subject of the fit-margin rules below.

## Polish loss — where the last fraction of a millimeter goes {#polish-loss}

Polishing is the step buyers forget when they do tolerance math, because it happens after the cut that everyone measures. Diamond polishing shaves a fine layer off the edge to bring it to optical clarity; flame polishing melts the surface glassy and slightly rounds crisp corners. Both change the dimension of the edge they touch — by a small amount, but in one direction only: material leaves, it never comes back.

The discipline that keeps this from eating your tolerance is sequencing, and it is decided when the cutting file is written, not at the polishing bench. Parts that will be diamond-polished are cut with the finishing allowance already in the program, so the polished part — not the raw cut — lands on the drawing dimension. When my inspection team traces a batch that measures consistently a shade under drawing, the root cause I find is almost always a finishing pass that was added after quoting without the cutting file being updated to feed it. It is a process-discipline failure, not a machine failure — and it is why "will this edge be polished?" is a tolerance question, not just a cosmetic one, on every quote I review.

## Thermal movement — the tolerance nobody machines away {#thermal-movement}

Acrylic's coefficient of linear thermal expansion is 7 × 10⁻⁵ per Kelvin — 0.07 mm per meter per degree Celsius — per the PLEXIGLAS GS/XT technical datasheet, identical for cast and extruded grades.[^plexiglas-tds] Run the arithmetic on a real part: a 500 mm display component that leaves an air-conditioned warehouse at 20°C and lives in a shopfront window at 45°C grows by 0.5 × 0.07 × 25 — just under 0.9 mm. That is more than four times our tightest quoted cut band, and it happens to a dimensionally perfect part.

Plastics move far more than the materials they are usually fastened to; machining guidance from Mitsubishi Chemical Group puts thermal expansion of plastics at up to 20 times greater than that of metals.[^mcam-plastics] The same datasheet that states the expansion coefficient also recommends allowing up to 5 mm per meter of dimensional play for combined heat and moisture movement when acrylic is installed. The design consequences are mechanical, not exotic: acrylic bolted hard between fixed steel points will bow, craze, or crack a fastener hole as seasons change, so long acrylic runs get slotted holes, oversized clearances on through-bolts, and adhesive or channel mounting that lets the material breathe.

Two boundaries for this section. First, thermal movement is a service condition — you design clearance for it; no machining tolerance can hold it still. Second, if the question is how thick a shelf or panel must be to carry weight without sagging, that is load engineering, and it has its own math — covered separately in our [acrylic thickness and load guide](/guide/acrylic-thickness-engineering-load-math/).

## When ±0.3 mm is impossible — and what to spec instead {#when-tight-tolerance-fails}

Whether ±0.3 mm is achievable depends entirely on which dimension carries it. On cut geometry — outlines, cutouts, hole positions on flat parts up to a few hundred millimeters — it sits comfortably inside routine work. Four situations put it out of reach, and each has a better spec than a tighter number.

**As-cast thickness.** The incoming sheet band exceeds ±0.3 mm before we touch it, so the spec is physically undeliverable from cast stock. Spec extruded sheet, or add CNC facing on the surfaces that matter — a priced operation we run on jobs like the [precision component run for an OEM buyer](/case-studies/custom-acrylic-component-oem-precision-run/), where selected faces genuinely needed machined control.

**Long dimensions across uncontrolled temperature.** A one-meter part moves 0.07 mm for every degree between our factory floor and your installation site. Holding ±0.3 mm on a dimension that temperature moves by more than that is a specification error; the honest spec is a fit clearance that absorbs the movement.

**Flatness on large thin sheets.** Sheet stores internal stress from manufacturing, and large thin panels can bow slightly after cutting releases it. Dimensional bands do not capture this; if flatness matters, say so on the drawing and we will discuss thickness, material grade, and support design instead of pretending a linear tolerance covers it.

**Machining-grade bands on every line of the drawing.** Sub-±0.1 mm work exists — ISO 2768's fine class allows ±0.05 mm on small features — but it belongs on the two or three dimensions that mate with another part, not on a decorative outline. Blanket-tightening a drawing multiplies inspection time and scrap on features no one will ever measure again.

This is also why we ask for drawings — and insist on a sample — before committing a 100-piece batch. A sample costs days; discovering a tolerance conflict across 100 finished parts costs the schedule. Send what you have through our [customization process](/customization/) and we will mark the achievable band on each feature before anything is cut.

## Fit-margin design rules for lids and inserts {#fit-margin-rules}

These are the rules we apply on every mating fit we build — sliding lids on [custom acrylic boxes](/products/acrylic-boxes/), wells and dividers on [acrylic trays](/products/acrylic-trays/), drop-in inserts, slotted assemblies. None of them require tighter machining; all of them require deciding where the tolerance goes.

**Size mating slots from the measured lot, not the nominal.** The groove diagram above is the whole argument: the drawing says 3 mm, the pallet says 3.4 mm, and only one of them is real. We caliper the sheet lot and cut the mating dimension to it.

**Cut the groove after the lid stock is measured.** Sequence matters. When both halves of a fit are cut from assumptions, their errors add; when the second half is cut from the first half's measurement, the stack collapses to a single band plus clearance.

**Give every fit a working clearance.** A sliding fit needs room to slide across the whole legal sheet band and a seasonal temperature swing. Zero-clearance drawings produce beautiful CAD and jammed lids.

**Let the insert absorb the tolerance, not the shell.** On lined trays and display wells, the compliant layer — flocking, foam, a velvet insert — is the cheapest tolerance absorber in the assembly. Rigid-on-rigid fits transfer every fraction of a millimeter straight into the customer's hands.

**After a fit issue, fix the drawing once.** The buyer who asked us about ±0.3 mm had been through a fit failure elsewhere and wanted to know how drawings should change afterward. The answer: correct the mating dimension only, record the as-measured values that caused the issue, and leave the rest of the drawing alone — so the next run inherits the fix, not a second layer of compensation.

## How we hold acrylic tolerances at Wetop {#wetop-process}

Our tolerance control is inspection-led rather than promise-led, and it runs on our ISO 9001 system. Calipers are calibrated and logged at every shift start. Every production lot gets a first-article check against the drawing before release. Every finished order passes 100% piece-by-piece inspection before it ships — the same 4-stage gate my team has run on 1,000+ orders since 2016. The tolerance we quote — ±0.2 mm under 100 mm, ±0.5 mm above — is the band the inspection sheet actually enforces, which means a dispute is settled by a number both sides agreed to before production, not negotiated after.

For repeat buyers the system has one more layer: your cutting files, tooling notes, and the measured record of previous lots stay on file. A reorder is cut from identical programs, and the only re-verified input is the new sheet lot — the one variable that legitimately changes between runs. That is what makes "same as the last order" a checkable claim instead of a hopeful one, across the 2,000+ custom projects we have shipped since 2008.

If a tolerance question is holding up your drawing, [send it to us for a quote](/contact/?source=acrylic-fabrication-tolerances-guide) — we respond within 24 hours with the achievable band marked per feature, and a fit sample in 3-5 days settles anything the numbers cannot.

[^acrylite-cast-tol]: [ACRYLITE knowledge base — thickness tolerance of ACRYLITE cast GP acrylic sheet](https://www.acrylite.co/resources/knowledge-base/article/what-is-the-thickness-tolerance-of-acrylite-r-cast-gp-acrylic-sheet) — manufacturer tolerance table showing a 3.0 mm nominal cast sheet allowed at 2.3-3.7 mm and 12.0 mm at 10.4-13.6 mm, manufactured to ISO 7823-1; supports the sheet-band figures used throughout this guide.

[^cutlasercut-kerf]: [CutLaserCut — understanding laser kerf when cutting](https://cutlasercut.com/drawing-resources/expert-tips/laser-kerf/) — published kerf measurements for acrylic by thickness (0.18 mm at 1-3 mm, 0.21 mm at 5-8 mm, 0.30 mm at 10-15 mm, 0.32 mm at 20 mm), supporting the kerf figures cited here.

[^amesweb-iso2768]: [AmesWeb — ISO 2768-1 linear dimension tolerances table](https://amesweb.info/fits-tolerances/iso-2768-linear-dimensions-tolerances.aspx) — the general-tolerance table showing medium-class bands of ±0.2 mm (6-30 mm), ±0.3 mm (30-120 mm), and ±0.5 mm (120-400 mm), and fine-class bands from ±0.05 mm; supports the drawing-language section.

[^plexiglas-tds]: [PLEXIGLAS GS/XT technical information, Ref. 211-1 (PDF)](https://www.plexiglas.de/files/plexiglas-content/pdf/technische-informationen/211-1-EN-PLEXIGLAS-GS-XT.pdf) — manufacturer datasheet stating the coefficient of linear thermal expansion of 7 × 10⁻⁵ per K (0.07 mm/m·°C, DIN 53752-A) for cast and extruded grades, and the recommendation to allow up to 5 mm/m expansion play for heat and moisture.

[^mcam-plastics]: [Mitsubishi Chemical Group — guide to machining plastic parts](https://www.mcam.com/en/support/machinists-toolkit) — machining guidance stating that thermal expansion of plastics is up to 20 times greater than that of metals, supporting the acrylic-to-metal fastening guidance in the thermal section.