Try it
Drop in a CGM export and see what the model makes of it. Nothing is uploaded — the file is parsed and the model runs in this tab.
Load a day of readings
Drop your CGM export here
A CSV from Dexcom Clarity, FreeStyle Libre, or anything with a time column and a glucose column. Every day in the file is analysed, and it is all read in this tab — nothing is uploaded.
No sensor of your own? Run one of these simulated days instead.
Glucose stays in a narrow band, meals cause modest bumps that settle within two hours.
What file does it need?
A CSV with one row per reading. The columns can be named anything — the parser looks at the values, not just the headers, so most vendor exports work as downloaded. It needs two things it can find:
- A date and time per reading. ISO (2026-08-28T08:00:00), with or without a timezone, or a plain “28-08-2026 08:00”. A column of bare numbers is not accepted as a time, even if the header says “timestamp” — sensors export counters under that name and reading one as a clock silently ruins everything downstream.
- A glucose value. mg/dL or mmol/L; values under 40 are treated as mmol/L and converted. Anything outside 20–600 mg/dL is dropped.
Index,Timestamp (YYYY-MM-DDThh:mm:ss),Event Type,Glucose Value (mg/dL)
1,2026-08-28T08:00:00,EGV,96
2,2026-08-28T08:05:00,EGV,98
3,2026-08-28T08:10:00,EGV,103Export from Clarity as CSV and load it unchanged. The Event Type column is not required — it is only used to skip calibration and carb rows, which have no glucose value and would be dropped anyway.
Send as many days as you like; the page finds each day, shows how much of it the sensor recorded, and lets you pick which to run. Gaps stay gaps — nothing is filled in. Readings marked as sensor warm-up are dropped when the export labels them.
The day the model will read
95.8% of this day recorded
Grey bands are stretches with no readings. They stay gaps — nothing is filled in. The green band is the 70–180 mg/dL range clinicians usually target.