STEP→STL Your file stays in this tab · nothing is uploaded

Why is a free STEP to STL converter free — and who pays for the capacity, the wait and the ad blocker?

Someone is paying for the processors. A converter that tessellates on its own machines has a standing bill, and the three rules a reader meets on such a site are that bill cut three ways: a ceiling on how large one job may be, a queue that shows up as waiting, and advertising around the tool — which is why a page can honestly say that blocking ads reduces its limits. This converter never sends the file anywhere: 7,604,031 bytes of engine code arrive once per session and the work runs on your own processor, so the 10 mm cube is 12 triangles and 684 bytes at every setting and 684 = 84 + 50 × 12. The bill did not vanish; it moved to your machine, and this page says so instead of calling it free.

This page answers one question: not whether a converter is free, but who pays for it. The cost side is described from what such pages state about their own arrangement; the local side is this site’s own output, re-measured by the project’s test suite before release. No figure from another converter is printed here.

One bill, three faces

Read separately, a ceiling, a wait and an ad blocker look like three unrelated policies. They share one cause: processors and bandwidth cost money every hour, and the people running them have to recover it from somewhere. Once the tool itself is free to use, the recovery has to happen on the edges of the tool.

Three constraints and the single cost behind them
A ceiling on file size or batch sizeCaps the worst case one job can cost, so a single large upload cannot hold a machine for an unbounded time. It is a budget line written as a rule.
A queue and a stated waitLets the same machines serve more people than they could serve at once. The wait is the price of not buying more processors.
Advertising around the tool, and ad-blocker termsRecovers part of the hourly cost from the page rather than the file. When a site ties permissions to ads being visible, it is saying out loud that the page is part of the payment.

There is a second, quieter way to pay the same bill: run the job on the visitor’s hardware. That is the arrangement on this site, and it is the reason none of the three rules above exists here in the same form. There is no ceiling to publish because no server receives the file, no queue because nothing is shared, and no ad-blocker term because the controls do not depend on an advertisement being fetched.

Three constraints pointing back at one payer A column of three boxes, headed a ceiling, a queue and advertising, each with an arrow pointing left into one box labelled processors and bandwidth, paid hourly. Three rules, one invoice The constraints a visitor meets are the cost of the machines that do the work. The payer processors, cooling, bandwidth, every hour. a ceiling on file size or batch size a queue, seen as waiting time ads around the tool, and ad-blocker terms Remove the payer from the file path — run the job in the tab — and all three rules change shape. Nothing about the three rules is dishonest; the problem is when a page calls the tool free and never names this box.
Three rules, one invoice. A ceiling, a queue and an ad-blocker term are not three policies; they are the hourly cost of the machines being recovered in three places. A page that publishes them without naming the cost is telling the truth in pieces.

Where the compute sits decides which rules exist

A converter can put the tessellation in one of two places, and the placement is the whole difference. On the server side, your file travels to machines you do not own; the operator sets a ceiling because the processor minutes are theirs, holds a queue because the queue is what lets them oversubscribe those minutes, and puts the tool beside advertising because the minutes have to be paid for. A converter that states it processes files on dedicated conversion servers has simply described that arrangement, and a statement that ads change the limits is the same arrangement seen from the front.

On the tab side, the tessellation runs on hardware you already bought, and the only thing that travels is code. Here that code is 7,604,031 bytes of WebAssembly, fetched from this site’s own directory once per session and then kept; the reader arrives at the format section for the list of what may be handed to it — STEP, STP, IGES and IGS in, STL out, one direction only. The bill still exists. It appears as processor time on your machine, not as a limit on someone else’s.

The same job in two places, and who pays in each Two rows. The server row runs from your file to a queue to an output, with a note that processors and bandwidth are paid by the operator through ceilings, waiting and ads. The tab row runs from the file to 7,604,031 bytes of engine to an output, with a note that the cost is the reader's own processor time. Same job, two placements server your file their queue STL back Paid by the operator: processors and bandwidth, recovered as ceilings, waiting and advertising. this tab your file 7,604,031 B STL here Paid by the reader: processor time and electricity. No queue, no ceiling, no ad dependency. The file never crosses the middle of the drawing in the lower row.
Your file, or their queue. In the upper row the file travels and the operator pays the machines, so the constraints land on the visitor. In the lower row only 7,604,031 bytes of engine code travel, once per session, and the constraint that remains is the speed of the visitor’s own processor.

The tab’s bill, in numbers

“Local” does not mean free, and the honest way to show that is to print what the local job costs in work done. The flat cube is the floor: a 10 mm cube with twelve flat faces is 12 triangles and 684 bytes at Draft, Normal and Fine, because a flat face needs no more triangles however fine the setting gets. The 18-part assembly is the ceiling of what is verified here, and its bill grows with the setting.

What the local job actually spends, at all three shipped settings.
InputSettingTrianglesSTL bytes
cube-10x10.stp · 10 mm cubeDraft / Normal / Fine12684 B at every setting
as1-oc-214.stp · 433,606 BDraft4,900245,084 B
as1-oc-214.stp · 433,606 BNormal7,372368,684 B
as1-oc-214.stp · 433,606 BFine21,1161,055,884 B

The first row and the last row are the useful pair. Twelve triangles is what a flat part costs no matter what you ask for, and 21,116 triangles is what a curved assembly costs when you ask for the finest setting — a factor of over a thousand in work, on the same tab, with the same engine. That range is the local bill, and it is the reason a browser converter cannot promise that every model converts in the same instant. Every length above is 84 + 50 × its triangle count, so it can be checked with a calculator. These are this page’s own choices, not a CAD standard.

What an ad blocker changes, and what it cannot

A converter that states blocking ads reduces conversion limits, hides settings and lengthens processing and download times has answered the question for its own case: the permissions come from the page, so the page has to load. There is nothing contradictory about it. The arrangement is simply server-funded.

It cannot work that way here, and not because this site is nicer. The controls and the engine are all served from this site’s own directory, the tessellation happens in the tab, and no step of the conversion calls out to a page element. If the advertisement image on this page never arrives, the converter behaves exactly the same. The short answer to why an ad blocker changes a converter’s limits on the upload-safety page says the same thing in one paragraph; this page owns the arithmetic behind it.

Two things follow, and both are limits on this page rather than claims about anyone else. First, the site does carry a sponsored banner; it is a still image and a link, and it is not in the path of the conversion, which is why removing it changes nothing about what the tool will do. Second, a local bill cannot be recharged by anyone but the reader, so when a model is too heavy for a tab the honest outcome is a slow tab, not a paid upgrade that makes it faster.

The one-minute check anyone can run

Open the converter, press the browser’s network panel, and convert a file while watching the requests. Two outcomes tell the two arrangements apart without trusting either page.

The two checks answer different questions: the network panel says who paid for the compute, and the length says whether the compute happened at all. A page can be free to visit and still expensive to run; this one names the expense instead of hiding it behind the word free.

One question decides who pays for the conversion A single question sits in the middle: does any request carry the file's bytes? The left branch answers yes and leads to someone else's machines, where the bill returns as a ceiling, a queue and ad-blocker terms. The right branch answers no and leads to this tab, where 7,604,031 bytes of engine arrive once and the trade is the reader's own processor time. One question, two payers Open the network panel and convert one file; the request list answers it before any page does. does a request carry the file’s bytes? yes no their machines ceiling · queue · ad-blocker terms the hourly bill, charged to the visitor this tab 7,604,031 B of engine, once a session the bill is your own processor time Either way the work is real. The only question is which machine does it — and (bytes − 84) ÷ 50 tells you the work happened: 684 bytes is 12 triangles.
One question, two payers. Whether a ceiling, a queue or an ad-blocker term exists is decided before the conversion starts, by where the file goes. The network panel answers that in one conversion, and the byte count answers whether the tessellation really ran: (bytes − 84) ÷ 50 recovers 12 from 684 bytes.

Questions this page answers

Why can an online STEP to STL converter be free at all?

Because the bill is paid somewhere other than the upload box. A service that tessellates on its own machines pays for processors, cooling and bandwidth, and it recovers that cost through a file-size ceiling that keeps any single job predictable, a queue that lets the same machines serve more people, and advertising on the pages around the tool. The tool stays free to use; the compute is not free to run.

Why does an ad blocker change what a converter lets me do?

If a converter states that blocking ads reduces conversion limits, hides some settings and makes processing and downloads slower, then the limit is not a technical property of your file. It is a term of the payment arrangement: the page around the tool is part of how the server time is funded, so removing the funding removes part of the service. A converter that runs the job in your own tab has no such term, because nothing in its controls waits for an advertisement.

Does that make a browser converter cost nothing to run?

No, and this page will not say so. The bill moves to your machine: 7,604,031 bytes of engine code arrive once per session, and the tessellation runs on your processor, using your electricity and your time. The bill is visible in the triangle counts, which rise from 4,900 at Draft to 21,116 at Fine on the 18-part assembly, while the flat 10 mm cube stays at 12 triangles and 684 bytes at every setting. Large assemblies are unverified.

Where these numbers come from

npm test

The command above re-runs every number on this page. The size-limit page owns the ceiling question, the pipeline page owns what happens to the geometry inside a converter, the upload-safety page owns where a file goes, and the format section is the single authority for what is accepted and what is written.