| Item | Recommendation | Details | Copy |
|---|---|---|---|
| {{ row.item }} | {{ row.value }} | {{ row.detail }} |
Coffee grind size is the typical particle size of your ground coffee, and it is one of the biggest levers for controlling flavour and flow. When the grind is off, brew time drifts and the cup can taste sharp, thin, dry, or bitter.
Different brewing methods need different particle sizes because filters, pressure, and contact time change how much resistance the bed creates. Use this guide when you want a practical starting point, then refine with a timed brew and a quick taste check.
Pick your method and the brew time you are aiming for, and the tool returns a recommended grind in microns plus a plain language band such as medium or coarse. If you also enter the time you actually measured from bloom or pump start to finish, it nudges the recommendation to bring you closer to target.
For example, if a pour over drains 30 seconds fast and tastes sour, a slightly finer grind and a small temperature increase can pull more sweetness. If it runs slow and tastes bitter, the guidance goes the other direction so you reduce dryness without losing balance.
Treat the micron number as an estimate, since grinders differ in burr geometry and calibration and the same dial mark can mean different gaps. Change one variable at a time, repeat a brew, and compare the new time and taste against your last result to stay consistent.
When you are dialing in espresso, keep adjustments smaller because shot time reacts quickly to tiny changes. When you are planning a long steep like cold brew, focus on keeping fines low and time steady.
The calculator treats grind size as an approximate burr gap expressed in micrometres, commonly called microns. It combines a selected brew method, a target brew time, an optional measured brew time, and a taste cue to recommend a grind target and supporting adjustments.
Each brew method includes a built in reference time range in seconds and a corresponding micron range for typical particle sizes. Your target time is mapped into that range with a linear interpolation, producing a base micron recommendation that moves finer as the target approaches the slow end.
If an actual time is provided, the tool computes the relative time error and applies a proportional correction capped at plus or minus 75 percent. Taste feedback then applies a small multiplier that tightens or opens the grind, and the result is clamped to a wider safety band around the method range.
Results are reported as a micron estimate, a grind band label, a suggested dial move relative to your current setting when grinder details are provided, and a target time window that shows what counts as close enough.
When no actual time is provided, the time correction step is skipped and mtime is treated as mbase.
| Symbol | Meaning | Unit or datatype | Source |
|---|---|---|---|
| ttarget | Desired total brew time. | seconds | Input |
| tactual | Measured brew time from start to finish, optional. | seconds | Input |
| tmin, tmax | Method reference time range. | seconds | Preset |
| mfine, mcoarse | Method micron range endpoints. | microns | Preset |
| r | Interpolation ratio mapping target time into the method range. | 0 to 1 | Derived |
| p | Relative time error capped to reduce overcorrection. | fraction | Derived |
| ktaste | Taste multiplier applied after time correction. | multiplier | Preset |
| mfinal | Final grind recommendation after corrections and clamping. | microns | Derived |
Scenario: pour over, target 3.00 min (180 sec), actual 2.50 min (150 sec), taste is sour. Preset ranges: 150 sec to 210 sec and 550 microns to 750 microns.
A recommendation of about 565 microns falls in the Medium band, and the dial mapping (using your grinder range and burr gap estimates) can convert that to an approximate click adjustment.
| Band | Lower bound | Upper bound | Typical note |
|---|---|---|---|
| Extra fine | 0 | 259 | Turkish powder |
| Fine | 260 | 359 | Espresso range |
| Medium fine | 360 | 519 | Paper filter sweet spot |
| Medium | 520 | 719 | Versatile drip profile |
| Medium coarse | 720 | 899 | Thicker paper or immersion |
| Coarse | 900 | 1149 | Press friendly |
| Extra coarse | 1150 | No upper bound | Cold brew range |
Band edges are strict less than checks in the logic, so a value of 520 microns lands in Medium, not Medium fine.
Preset ranges drive the starting recommendation and the suggested time window slack around your chosen target.
| Method | Target range | Default target | Micron range | Window slack | Default water |
|---|---|---|---|---|---|
| Pour over (V60 or flat bed) | 150 to 210 sec | 180 sec | 550 to 750 | 18 sec | 94 deg C |
| Chemex | 225 to 285 sec | 255 sec | 800 to 980 | 20 sec | 93 deg C |
| AeroPress (classic) | 90 to 150 sec | 120 sec | 480 to 640 | 15 sec | 90 deg C |
| Espresso (1:2 ratio) | 25 to 32 sec | 28 sec | 230 to 360 | 4 sec | 93 deg C |
| Moka pot | 120 to 210 sec | 170 sec | 420 to 600 | 14 sec | 92 deg C |
| French press | 210 to 300 sec | 240 sec | 900 to 1150 | 20 sec | 95 deg C |
| Cold brew concentrate | 43200 to 64800 sec | 54000 sec | 950 to 1150 | 1200 sec | 20 deg C |
Taste feedback adjusts the grind after the time correction step.
| Taste cue | ktaste | Effect on grind |
|---|---|---|
| Balanced or unsure | 1.00 | No change |
| Too sour or sharp | 0.94 | Finer |
| Too bitter or dry | 1.06 | Coarser |
| Thin or weak | 0.97 | Slightly finer |
| Dry or astringent | 1.05 | Slightly coarser |
| Constant | Value | Unit | Notes |
|---|---|---|---|
| Time correction gain | 0.45 | multiplier | Scales the relative time error into a micron adjustment. |
| Time error cap | −0.75 to 0.75 | fraction | Limits how far one run can move the grind. |
| Fine clamp factor | 0.70 | multiplier | Allows going finer than the preset range but not indefinitely. |
| Coarse clamp factor | 1.35 | multiplier | Allows going coarser than the preset range but not indefinitely. |
| Field | Type | Min | Max | Step or pattern | Notes |
|---|---|---|---|---|---|
| Target brew time | number + unit | 0 | None | 0.1 | Negative values are clamped to 0 during conversion. |
| Actual brew time | number + unit | 0 | None | 0.1 | Zero is treated as not measured. |
| Water temperature | number + unit | 0 | None | 0.5 | Unit switches convert the numeric value. |
| Dial range minimum | number | 0 | None | 1 | Used as the finest dial endpoint. |
| Dial range maximum | number | 1 | None | 1 | Forced to be at least 1 greater than the minimum. |
| Finest burr gap | number | 100 | None | 10 | Internally clamped to at least 50 microns. |
| Coarsest burr gap | number | 200 | None | 10 | Forced to be at least 10 microns above the finest gap. |
| Current dial setting | number | 0 | None | 0.5 | Used to compute the suggested click change. |
| Output | What it contains | Format | Notes |
|---|---|---|---|
| Guidance table | Grind level, dial target, time window, time delta, taste focus, water temperature. | Copy or download as CSV | Each row can also be copied on its own. |
| Summary payload | Inputs, recommendation, and a list of suggested fixes. | Copy or download as JSON | Numeric values include seconds, microns, and dial position. |
| Report export | Guidance table plus a short header describing the run. | DOCX | The filename includes an ISO timestamp. |
All calculations and exports are generated locally, and no data is transmitted or stored server side by this package.
Coffee grind size targets help you hit a repeatable brew time and a taste profile that fits your chosen method.
Example: Target 3.00 min, actual 2.50 min, tastes sour.
Expect a slightly finer micron target, a suggestion to move the dial finer, and a prompt to raise water temperature by 1 to 2 degrees.
Pro tip: keep dose, ratio, and pouring style steady, and let time and taste drive your next grind change.
The package logic performs calculations locally and does not define any server calls. Copy and download actions only place data on your clipboard or in a file you save.If you share exports, they may reveal your grinder settings and preferences.
Microns are a guidance scale based on the built in method ranges and your optional burr gap estimates. Treat them as a repeatable target for your setup, not an absolute measurement.Two grinders can produce different particle distributions at the same stated micron gap.
Brew time accepts seconds, minutes, or hours, and water temperature accepts deg C or deg F. The tool converts units automatically when you switch the unit selector.Repeated unit toggles can introduce small rounding drift.
After the page loads, the calculation logic does not require a network connection. Some export features still depend on your browser supporting clipboard and file download APIs.If the page itself is not available without a connection, load it once before going offline.
It appears when the measured brew time matches the target exactly in seconds. If it is faster or slower, the badge shows the time difference in seconds and the details include the percent difference.Use the time window as a practical tolerance around your target.
Choose the sour taste option to nudge the grind finer and to recommend raising water temperature by about 1 to 2 deg C. If you are also brewing fast, entering the actual time will further push the recommendation toward a tighter grind.Adjust one variable per brew to keep feedback clear.
No license information is included in the provided package metadata. If you plan to redistribute or embed it, follow the terms of the site or repository you obtained it from.The safest approach is to treat it as all rights reserved unless stated otherwise.
If the page shows a blank result area, the most common cause is a target brew time of 0 or an invalid numeric entry that was coerced to 0.