Two ways to estimate 3D print time
From G-code. Drop the file your slicer saved. The Info panel shows the time written in the slicer's comment and our estimate next to it, plus filament and cost.
From an STL. The Slice panel opens. Pick a printer, set layers and infill, press Slice, and the time comes from the G-code our slicer just wrote. This route depends on our slicer's settings, so it is the rougher of the two. The slicer itself is described on the STL to G-code page.
How the estimate is worked out
Dividing distance by speed misses the time a printer spends speeding up and slowing down. Our estimate replays every move with a trapezoid speed profile, like the printer's planner.
- Corner speed is limited by jerk (M205) or junction deviation.
- Acceleration comes from M204 for print, travel and retract, capped by M201.
- Top speeds come from M203.
These limits are read from the file. If the file does not state them, 1000 mm/s² is used.
Accuracy, measured on real files
| Comparison | Files | Result |
|---|---|---|
| PrusaSlicer 2.4–2.9 estimate (MK3S, MINI, Ender 3 V2 profiles; 4 min to 4 h) | 13 | ours 0.6–8.8 % higher, median 2.6 % |
| Distance / speed, no acceleration, same files | 13 | 1–42 % too low |
| Cura 3.5–5.3 ;TIME comment | 5 | −24 % … +29 % |
| From STL with PrusaSlicer's settings copied, no supports | 5 | −30 % … +16 %; 3DBenchy +4 % |
The Cura files do not state the printer's acceleration, so the default fills in, which explains the wider spread. From an STL, three of five models were within ±11 %. All of these compare one estimator with another; none is a stopwatch on a real printer.
What the time leaves out
Heating the bed and nozzle and waiting for temperature (M109, M190) are not counted. Neither are pauses or the printer's own look-ahead limits.
Firmware features such as pressure advance and input shaping also change real speed and are not modelled. Add a few minutes for warm-up when you plan a print around the clock.
Reading the two numbers side by side
Say the part has to be off the bed before you leave for work. On an 8-hour PrusaSlicer job, the top of our measured range (8.8 %) is about 42 minutes, and the median gap (2.6 %) is about 12 minutes. That is the margin to plan with.
With a Cura file, look for M204 lines near the top. If there are none, the 1000 mm/s² default fills in and the two times can drift apart by roughly a quarter either way (−24 % … +29 % on 5 files). When the file carries no time comment at all, our estimate is the only number shown.
From time to cost
A quote needs both the hours and the material. Through our slicer, filament came out 2.5–20 % lighter than PrusaSlicer's, because our slicer has no gap fill and no bridge flow. Enter the spool price and hourly rate in the Info panel, or use the 3D print cost calculator for a full quote and the filament calculator for grams per spool.
Only want to look at layers? The G-code viewer opens the same file with the slider and travel moves.
Questions and answers
How accurate is this 3D printer time estimator?
On 13 PrusaSlicer files it ran 0.6–8.8 % above that slicer's estimate, median 2.6 %. It has not been compared with a real printer's clock yet.
Why does my Cura file show a different time?
Many Cura files do not state the printer's acceleration, so we assume 1000 mm/s². On 5 such files the gap was −24 % to +29 %.
Can I estimate print time from an STL without G-code?
Yes. Drop the STL, set the Slice panel and press Slice. On 5 test models the result was −30 % to +16 % of PrusaSlicer's time.
Is heating time included?
No. Warm-up and temperature waits, pauses and firmware features like input shaping are outside the estimate.
What if my G-code has no time comment?
The file still opens, and our replay of the moves becomes the print time in the Info panel.
Is my file sent anywhere?
No. The G-code or STL is read and sliced in this tab, and in our test run nothing was posted to any server.