How accurate is the Libre Reader?

“How accurate is the Libre anyway?”

It’s a question we hear a lot. Many people are surprised when the values it reports are different to the BG value reported by their meter. But as I described in a recent article about meter accuracy, your meter doesn’t always tell you “the truth”. So I decided to do an experiment.

For two weeks I gathered data from a Libre sensor via its “Reader”, and also being fed into an xDrip+ CGM. At the same time I gathered data from a Dexcom G5 sensor via another xDrip+ CGM, and threw in some fingerpick BG tests from various meters as well.

In this article I present the combined results, and statistics, with descriptions along the way.

I started my own CGM “journey” with the Libre in 2016, using it with just the “Reader” scanner for about 8 months. Then I set up a system where the Libre was scanned every 5 minutes with the data fed into the xDrip+ CGM on an Android phone. Then about 6 months later I started using Dexcom G5 sensors fed into xDrip+ (primarily because with the longer life of the Dexcom sensors the cost is lower for me: as I’m not a child there is no subsidy or insurance cover for CGM in Australia). I’ve been using G5 CGM for a long time now, but still occasionally set up a Libre sensor for an experiment. So I’m quite familiar with all this equipment.

Dexcom G5

Recently I ended up with a Libre sensor fitted, due to my involvement in both Abbott’s launch announcement of their LibreLink phone-scanning software (this happened during Abbott’s late-May 2018 dX2 blogger summit in Sydney). I later ended up with another sensor fitted due to my involvement as “a sample person with diabetes” in pump & CGM training workshop run by the Australian Diabetes Society. So even though I was still using a G5 CGM at the time, I figured I shouldn’t waste these sensors!

Disclaimer: Abbott paid for my food and accommodation in Sydney during the dX2 summit, and provided me with the Libre sensor to evaluate LibreLink. But they did not ask me to blog or promote anything relating to their products. They were interested to hear I was planning to do this testing, but have had no editorial influence on the results shown in this article.

Gathering data like this is not convenient

For several weeks while going about my normal life I was wearing two sensors (both on the same arm) and carrying two Android phones recording each into xDrip+. In the end I have data like this:

(If you click on each graph you will see a larger version)

The Libre sensor had a BluCon Nightrider device strapped to it (although if I was getting one today I would probably use the slimmer MiaoMiao). That device scans the Libre and transmits via Bluetooth to a phone. I also frequently scanned the Libre sensor using a Libre Reader device (which downloads the last 8 hours’ worth of data, storing up to 90 days).

Nightrider on armband

The scanner reads the raw data from the sensor and sends it to xDrip+ (or Spike on an iPhone) to interpret. Meanwhile the Libre Reader device looks at the per-minute samples and does its own extrapolation, trying to produce a number that reflects what your BG might be at that point. Sometimes when your levels are changing it seems to “over-reach” and guess past where your levels peaked.

As you can see there are also some BG test results in there. Unlike the Libre Reader which does not allow you to calibrate it, xDrip+ needs you to occasionally input BG data so it can interpret the data it gets from the Libre or Dexcom sensors. For extrapolating results it actually needs samples at several points along the BG scale. Just as with the sampling I conducted in the “Do you trust your meter?” article, where possible I tested multiple meters at once. I got a single large drop of blood and used that to feed all the meters.

At different times these included: one Accu-Chek Mobile, two Contour Next, three FreeStyle Optium (including the Libre Reader’s test port), two Accu-Chek Guide, and one Accu-Chek Performa meters. But sometimes when out and about I did a calibration with just the Accu-Chek Guide in my pocket, so those times you’ll only see a single dot. Where multiple readings were taken, the weighted average (as described in the other article) is also displayed as “assumed”.

I tried to only use the BG test to calibrate xDrip+ when my glucose wasn’t rising/falling, but you’ll see the results of some times I screwed that up.

Once the exercise was over, the Libre Reader’s data was extracted by uploading into Diasend then saving to a local file. The xDrip+ traffic was extracted directly from xDrip+’s internal SQLite database.

Unfortunately I didn’t catch all the data. Sometimes I slept more than 8 hours (or simply forgot to scan with the Reader in time). I ended up with alarms at fixed time through the day to remind me to scan. I had problems with setting up one of the xDrip+ instances, and didn’t manage to save data from the first two days. Sometimes an Android phone’s Bluetooth connection needed to be reset, or the phone had been left in one room while I went out of range. So there are some gaps in the xDrip+ data too.

But overall I think there’s some useful data to review.

The Libre Reader line is generally a lot smoother than the xDrip+ lines, and that’s mainly because of the way the Reader reports the data. Although the Libre sensor samples your glucose every minute, the Reader only saves one sample for every 15 minutes. xDrip+ is recording one every 5 minutes. It is interesting that the G5 data is smoother than the Libre data, even when both sampled on 5-minute intervals.

Here the gap in the purple Libre Reader line around 2 AM would have been due to me sleeping in. As you can see, a late breakfast around 10 AM resulted in a sizeable spike leading up to midday.

You’ll notice many patterns as we go on. One of them is that in general the self-calibrated Libre Reader often exaggerates both lows and highs. See how overnight that purple line is lower than the G5 line. But in the mid-range of values it’s generally “in range”. With the post-breakfast spike it seems like the Libre Reader may have overshot the mark a bit before coming down.

What happened to days 1 and 2 you ask? The Libre scanner data got lost.

Those weird green Libre/xDrip+ results in the morning of Day 4 seemed to be related to not having enough calibration samples in the lower ranges at that point (as well as an operational issue with the Nightrider’s battery).

But in general the Libre Reader is producing results that are vaguely in line with the other CGMs and the BG tests (although admittedly sometimes not as close as we would like).

In the late morning on this day I remembered I hadn’t scanned with the Libre Reader since the previous evening, which is why there’s a big gap in the Libre data.

Compression lows

Here the spiky dips in the Libre data (from both the Reader and from xDrip+) in the morning seem to be associated with slight “compression lows” where I’d rolled and was pressing on the Libre site, restricting the flow of interstitial fluid around the sensor. The G5 sensor was further along the same arm and didn’t seem to have much of the same problem. However it may have had a similar issue at around 11:30 PM.

But I don’t think that’s a compression low in the G5 data at 1 AM. You can see the blue line jumps up by over 2 mmol/l at the same time as a BG test: I had recalibrated the CGM (and then checked it several times through the day). At 10 PM a recalibration at a higher BG also shifted the G5 data slightly.

Optium accuracy

The blue circle at 10 PM showing a BG reading from the Libre Reader’s FreeStyle Optium test port is significantly lower than the other results (and the Libre scan). As previously discussed, the Optium test strips seem to have lower precision than the other strips I’ve tested. In fact on reviewing my data although they don’t seem to match the 2013 statistical requirement to be within 15% of the actual result 95% of the time, they do seem to fall within the 2003 requirement to be within 20%. Of course my analysis is not as complete as the ISO standard testing.

It does seem strange that the Optium test strips have been paired with the Libre Reader: that does seem to present them to users as the “official” comparison point.

The trend of the Libre Reader to exaggerate both highs and lows seems fairly clear here.

I’m fairly sure I never got to 14 mmol/l !

A slight time delay seems to be affecting the G5 data in the middle of this day. I’m not sure why. The Reader’s clock had been synced, and both xDrip+ phones had their clocks set by the network. It seems likely that the lag between the glucose levels in the blood and in the interstitial fluid can vary over time, even for locations relatively close together (<10 cm in this instance).

Some of these overnight lows were due to me adjusting to a different insulin (Apidra instead of Humalog). But down to 2 mmol/l? The fingerprick at 4 AM didn’t think so!

Around 6:30 PM this day I made the mistake of calibrating the G5 system while my BG was rising. You can see the blue line jumps up. It dropped back again at about 9 PM with a new calibration.

The previous night’s mis-calibration of the G5 system had some flow-on effects, including an issue just before 4 AM. The Libre/xDrip+ phone woke me up with alarms that my BG was getting low, but the G5/Xdrip+ phone thought I was in a comfortable range. Another calibration helped bring it back into line.

And another poor G5 calibration at 10 PM probably wasn’t a good idea.

The G5 calibration was coming back into line here.

In this case I arranged an overnight hypo around 2 AM (just for the benefit of these graphs, you understand!) and as you can see the Libre results really went super-low. A snack fixed that, and although it dropped off again later, it did not actually go below 3 mmol/l at 7 AM!

Libre sensor lifetime

Yes this was “Day 15”, but the Libre sensor was started in the middle of Day 1 so that makes sense for a 14-day life. After 14 days the Reader declares that the sensor has expired, and tells you to insert a new one. The purple line abruptly stops in the early afternoon.

But in fact the sensor keeps recording values (as reported by xDrip+) and they seem fairly trustworthy. So how much longer does the sensor keep working past 14 days?

And in the early morning there’s our answer. At 14.5 days the sensor stops reporting any values at all. Internally xDrip+ recognised that at this point the sensor doesn’t sample any new data and would just repeat samples from the last 8 hours. Luckily we’re saved from that confusion.

So not enough extra time to significantly change the economics of using Libre sensors, but enough time to make it convenient to schedule an appropriate time to insert and then initialise a new sensor. Keep in mind that if I start a sensor at midday but then travel to a different timezone, in some cases it can be midnight that the sensor expires, which is generally not a convenient time!

Observations and Conclusions

Overall the Libre Reader’s data is useful, although it does tend to exaggerate hypo data. Careful interpretation of the data should be required when a doctor sees that someone was “2.5 mmol/l” for hours overnight. Indeed they were probably low, but not necessarily 2.5 mmol/l.

Personally I’m much happier with the calibrations I can get through xDrip+ (as long as I calibrate carefully, but that’s an issue with most CGMs) instead of trusting the values shown by the Libre Reader. But if the Reader is all I have, I’ll use those values. If I’m correcting an exaggerated low or high then as long as I don’t overcorrect, the closer I am to my target range the more accurate the results.

The Libre sensors seem more stable than Dexcom G5, with smaller calibration adjustments needed during the life of the sensor (as long as the sensor doesn’t undergo any physical trauma: I’ve seen the occasional big swing in the past). If the funding models change in Australia and the G5 does not remain significantly cheaper for me to use than Libre, I may switch back to using Libre sensors for my CGM.

Libre sensors last for 14.5 days even though the Reader stops reporting data after 14.0.

HbA1c estimates

The Libre Reader’s exaggeration affects things like the estimated HbA1c calculations. For the above data (only for the common period for which there was Libre Reader data) I got the following statistics:

Source average BG
Time in Range
(3.9-10 mmol/l)
G5/xDrip+ 6.8 5.9%, 41 91.9%
Libre/xDrip+ 6.7 5.8%, 40 90.5%
Libre Reader 6.5 5.7%, 39 84.1%

The impact on reported Time in Range was significant, although the impact on the estimated HbA1c was fairly small. And of course the occasional calibration errors I pointed out will also affect these results a little.

These differences are of course unique to this particular data set and should not be extrapolated directly to other peoples’ use of these devices.


This of course is the big caveat. It’s a small set of data, from just a single user. “Real life” got in the way many times. While that does allow us to identify and place interpretations on specific events during the study, it doesn’t show all the events that might occur when other people use these devices.

But hopefully this example can provide you with some insight into how the Libre devices can work for you.

4 thoughts on “How accurate is the Libre Reader?”

  1. Interesting. Thank you. Is the G5 really cheaper here in Oz than Libre? I switched from G4 to Libre and from memory it was much cheaper…. : )

    1. David Burren

      It can be. Especially as my Dexcom sensors last on average 3 weeks each.. Replacing the transmitter batteries extends their life too.

  2. This is a great work!, I think you could calculate the relative error of Libre/xDrip+ and Libre Reader with respect to G5/xDrip+. This information could help to understand how much the accuracy of Libre is improved when using with xDrip+.

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.