Download for Windows · Highlights · Website · Install · Mac · LibreLinkUp setup · Use · Sensors · Changelog
GlucoBar shows your FreeStyle Libre or Dexcom reading on your Windows PC, so you can keep an eye on it while you work without reaching for your phone. It reads the latest value from LibreLinkUp (Abbott's sharing service) or Dexcom Share, and shows it with the trend arrow and how long ago it was measured. Nightscout and Nocturne sites work too, and there is a Mac version in beta.
You can show it in four places, alone or together: on the taskbar next to the clock, as an icon in the notification area, in a small window that stays on top, or in a larger panel on the desktop with a 12-hour chart and a few statistics. It works on a second monitor too, and hides while a video or a game is full screen.
Your password stays encrypted in Windows Credential Manager and is only sent to your sensor maker's servers. GlucoBar is free, open source (MIT), and available in English, Italian, Spanish, French, German and Portuguese.
Colours: green in range (70–180 mg/dL), orange above 180, red below 70 or above 250, grey when the reading is more than 15 minutes old. Thresholds and colours can be changed in Settings.
Keep the mouse on the value on the taskbar for a second and the full chart opens just above it, with a short fade: the value, the change in the last 15 minutes, average, min, max, time in range and the last hours. Move the mouse away and it closes.
| Dark | Light |
|---|---|
![]() |
![]() |
| Colour-blind friendly | Your own colours |
![]() |
![]() |
Light, dark or automatic theme (it follows Windows or macOS), a palette that works with the common forms of colour blindness, or your own colour for everything: the value in range, high, very high, low and old, backgrounds, text, chart and grid.
- Optional alerts for low, very high or no data, each with its own sound: GlucoBar's, or your own files and sound packs. The low and very high sounds can repeat, each at its own interval, until the value is back in range or you press Silence. Off by default, and not a replacement for your sensor's alarms.
- Sensor (FreeStyle Libre): day of use, a reminder before it ends and, if it stops early, a button that opens the manufacturer's replacement form with the serial number copied.
- Updates from inside the app: one click installs the new version and keeps your settings; Settings → Updates → Check for updates now checks right away.
- Delta: the change since the previous reading, next to the value instead of the arrow ("142 +5"), next to the arrow, or under the value ("3 min +5").
- Update every 10 seconds to 5 minutes.
- Desktop panel always on top, hidden while a video or a game is full screen, or kept over it like picture-in-picture, with adjustable opacity.
- Any taskbar: on the left, right or top (Windows 10), auto-hidden, on a second monitor.
- Two sensors at once, e.g. a Libre and a Dexcom: both values on the taskbar and in the icon, two lines on the chart.
- More than one person followed with the same LibreLinkUp account, side by side on the taskbar, each with a nickname.
- Reminders to pick up medicines, order sensors or take long-acting insulin.
- Trend estimate (experimental, off by default): where the value is heading in the next 30 minutes.
- Connect other devices: Home Assistant, ESP32 displays, Stream Deck or OBS can show the value through a local address or MQTT.
GlucoBar is not a medical device. Do not use it to decide insulin doses or to treat a hypo: always rely on your reader or the official app. It uses an unofficial API that Abbott can change at any time.
| Sensor | Read through | Status |
|---|---|---|
| FreeStyle Libre (Libre 2, Libre 3 and their Plus versions) | LibreLinkUp | Supported |
| Dexcom G6, G7, ONE+ | Dexcom Share | Beta: works with a G7, G6 and ONE+ testers wanted |
| Any sensor uploading to Nightscout or Nocturne (Medtronic, Eversense, xDrip+, Juggluco, AndroidAPS, Loop, …) | Nightscout API | Beta, testers wanted |
| Medtronic Guardian / Simplera | CareLink | Being evaluated |
Dexcom support has been confirmed by a G7 user; G6 and ONE+ have not been tried yet. Nightscout and Nocturne have so far been tested against simulated servers. If you use any of them, please tell us in Discussions or in an issue whether it works for you, even just "works fine".
Would you like another sensor? Open an issue and tell us which one.
- Turn on sharing on your phone (once).
- FreeStyle Libre: share your readings with LibreLinkUp, using your own LibreLink account. It takes five minutes: see Setting up LibreLinkUp.
- Dexcom: in the Dexcom app, turn on Share and invite at least one follower. GlucoBar signs in with your own Dexcom account, not the follower's.
- Nightscout or Nocturne: you need a site that already receives your readings. If it is not public, create a read-only token. Nightscout: Admin Tools → Add new Subject, role readable, and copy its token. Nocturne: Settings → Connectors → API tokens → Create API token, with read permission for Blood glucose.
- Download the installer from the Releases page, or directly with this link, which always gives the latest version: https://github.com/jackfaz/glucobar/releases/latest/download/GlucoBar-Setup.exe. No administrator rights needed.
- Choose the setup language, tick what to show (with previews) and whether to start GlucoBar with Windows.
- On first start, choose your sensor and enter the account: the LibreLinkUp email for FreeStyle Libre (the same as LibreLink, if you followed the guide below), or your Dexcom email, phone number (with country code) or user name, or your Nightscout or Nocturne site address (the one you open in the browser) and token.
Windows may show "Windows protected your PC" because the installer is not code-signed yet: click More info → Run anyway. Each release lists the installer's SHA-256 and a link to its VirusTotal scan, so you can check the file before running it.
On the Mac the value sits in the menu bar, next to the clock; click it for the GlucoBar menu. The small window and the desktop panel work as on Windows. It needs a Mac with Apple silicon (M1 or newer) and macOS 11 or later.
- Download
GlucoBar-mac.dmg: https://github.com/jackfaz/glucobar/releases/latest/download/GlucoBar-mac.dmg - Open it and drag GlucoBar onto Applications.
- Open GlucoBar from Applications. The app is not notarized by Apple yet, so the first time macOS blocks it: open System Settings → Privacy & Security, scroll down to the message about GlucoBar and click Open Anyway (on macOS 14 and earlier you can also Control-click the app → Open). You only need to do this once.
- Choose your sensor and enter the account, as on Windows.
From the menu you can also turn on Open at login. Passwords are kept in the macOS
Keychain (entries GlucoBar:LibreLinkUp, GlucoBar:Dexcom, GlucoBar:Nightscout) and the
settings in ~/Library/Application Support/GlucoBar/config.json.
The glucobar command is inside the app. To use it from any terminal:
sudo mkdir -p /usr/local/bin
sudo ln -sf /Applications/GlucoBar.app/Contents/MacOS/glucobar-cli /usr/local/bin/glucobar
To uninstall: turn off Open at login, quit GlucoBar, run glucobar forget if you want to
delete passwords and settings, and move GlucoBar to the Trash.
GlucoBar reads your FreeStyle Libre through LibreLinkUp, Abbott's app for sharing readings with family and carers. You set it up once, on your phone, in a few minutes. The simplest way is to share with yourself, using the account you already have in the LibreLink app.
Screenshots from the Italian version of the apps.
- In the LibreLink app (the one that reads your sensor), open the menu and tap Connected Apps.
- Next to LibreLinkUp, tap Manage.
- Tap Add Connection, enter your name and the email of your LibreLink account, and send the invitation.
- Install the LibreLinkUp app from the App Store or Google Play, tap Log In and use the same email and password as LibreLink (LibreLinkUp calls it your LibreView account). Accept the invitation and the terms of use: your reading appears in LibreLinkUp.
- In GlucoBar, choose FreeStyle Libre and enter the same email and password.
After that you can uninstall LibreLinkUp from the phone. GlucoBar will tell you if you ever need it again, for example when Abbott updates its terms of use.
You can also invite a different email, for example a family member's, and use that account in GlucoBar instead: it works the same way.
If GlucoBar shows an error
| Message | What to do |
|---|---|
| Wrong email or password | Check that you can sign in to the LibreLinkUp app with the same email and password. |
| No patient linked | The invitation has not been accepted yet: open LibreLinkUp and accept it, or send it again from LibreLink. |
| Open the LibreLinkUp app on your phone and accept the terms of use | Open LibreLinkUp, accept, then right-click GlucoBar → Refresh now. |
| The value stays grey | No new reading for 15 minutes: check that the phone is near the sensor and online. |
- Right-click any GlucoBar element (the icon, the value on the taskbar, the window or the panel): refresh, Show (tick the elements you want), Alerts (which alerts, their sounds and how often to repeat them), Sensor, Settings…, quit. Double-click: refresh now.
- Settings… has everything else, in tabs: General (account, language, unit, how often to update, start with Windows), Values (thresholds, delta, trend estimate), Alerts and sounds, Appearance (theme and every colour), Elements (what to show, taskbar value, desktop panel) and Updates (installed version, Check for updates now, automatic updates).
- Windows 11 hides new icons under the ^ arrow: drag the GlucoBar icon onto the taskbar to keep it visible.
- Taskbar mode on a second monitor: enable Settings → Personalization → Taskbar → Taskbar behaviors → Show my taskbar on all displays, then right-click the value → Move to the other monitor.
- Desktop panel and small window: drag to move, drag the bottom-right corner to resize. On the panel, right-click for the chart period, to lock it in place, or to keep it Always on top of other windows (it hides while an app is full screen).
- Value on the taskbar: keep the mouse on it for a second to see the full chart just above it. Right-click → Size to make it smaller or larger. Settings → Values → Show the change (delta) adds the change since the previous reading (e.g. "3 min +5").
- Settings…: theme (light, dark or automatic, following Windows or macOS), every colour (the value in range, high, very high, low and old; backgrounds, text, chart and grid of the small window and the panel, for each theme; the background of the value on the taskbar) and thresholds. Changes show right away on every element.
- Alerts (off by default): a message when glucose is low, very high, or when no new data has arrived for a while. They come from the sensor's online service, a few minutes late, and only while the computer is on: they do not replace your sensor's alarms.
- Alert sounds (right-click → Alerts, or Settings → Alerts and sounds): a sound for low, one for very high and one for no data, from GlucoBar's own or from a sound pack, with a volume slider. Low and very high can repeat every 15 seconds up to 5 minutes, each at its own interval, until the value is back in range; Silence on the message (or in the menu) stops it until the next time. See Your own sounds.
- Sensor: with LibreLinkUp, the day of use and the serial number (click to copy it), a reminder 24 hours and 2 hours before the end, and a message if the sensor seems to have stopped early or was replaced early. Request a sensor replacement… opens the manufacturer's page for your country and copies the serial number, ready to paste into the form.
- Person: if your LibreLinkUp account follows more than one person, choose who to show.
- When a new version is out, GlucoBar tells you and the first menu item installs it: on Windows it downloads the installer, checks its SHA-256 fingerprint and installs it in silence, then reopens with the same settings. Tick Install new versions automatically to skip the question. On the Mac it opens the download page.
Right-click any GlucoBar element → Reminders… to add reminders: every day, on some days of the week, every few days, once, or a few days before the FreeStyle Libre sensor ends. At the time you choose a message appears in the bottom right corner with Done, In 15 min and In 60 min. If the PC was off at that time, it reminds you when it starts again (within 12 hours). GlucoBar only reminds you: it never suggests doses.
If you wear two sensors, for example a FreeStyle Libre and a Dexcom, Settings → General → Second sensor → Add… connects the second one too (it has to be a different kind from the first: Libre, Dexcom or Nightscout). Then:
- the taskbar shows both values side by side, each with its arrow, minutes and name ("Libre", "Dexcom", or a nickname you choose in People);
- the icon next to the clock shows both values, one above the other;
- the desktop panel and the hover chart draw the second sensor as a blue line, with a legend;
- alerts work for both and say which sensor they are about; the local bridge publishes both.
The big value, the statistics and the trend estimate are those of the first sensor.
With LibreLinkUp you can follow several people with the same account (for example two children). Right-click → Person chooses the main one, shown on every element, and Also show … puts others next to it on the taskbar, each with their value, arrow and minutes. Alerts say whose they are. In Settings → General → People you can give everyone a nickname, which appears next to the value; it works with Dexcom and Nightscout too.
Each alert can use any sound file: Settings → Alerts and sounds → Browse… next to it. WAV, MP3 and M4A work everywhere (on Windows, GlucoBar converts them once with Windows' own decoder).
A sound pack is a folder of sound files inside GlucoBar's sounds folder (Open folder
in the same tab), or a .zip you bring in with Import…. Pick the pack from the list or
from the right-click menu, and GlucoBar picks a sound for each alert from the file names
(low, urgent, high, signal loss...). To choose them yourself, add a pack.json to
the folder:
{"low": "my low.mp3", "high": "my high.mp3", "other": "no data.wav"}Every sound in every pack also shows up in each alert's list, so you can mix them. What you pick in Settings is only tried out (▶ plays it) until you press Apply.
Settings → Values → Trend estimate draws, after the last reading on the desktop panel and the hover chart, where the value would go in the next 30 minutes if it kept the trend of the last 30, with a band that widens with time. It can also warn you when the estimate goes below your low threshold. It is off by default and asks you to read what it is before it turns on:
It is a straight line through the last readings, not a forecast and not a medical device. It knows nothing about meals, insulin, exercise, stress or illness, the data arrive from the sharing service a few minutes late, and it is often wrong. Never use it to decide doses, food or any other treatment.
Settings → Connections (off by default) lets other programs and devices read the value, without knowing your sensor password.
Local web address. GlucoBar answers on http://127.0.0.1:17580 (port configurable). Tick
Also for other devices on my home network to use it from an ESP32, a phone or Home
Assistant (Windows asks once to allow it through the firewall), and optionally set an access
key, passed as ?token=… or in the api-secret header.
| Address | What you get |
|---|---|
/api/v1/current |
The current value as JSON: value, unit, trend, arrow, delta, age, state, colour |
/api/v1/people |
Everyone shown in GlucoBar (?person= picks one in the other addresses) |
/api/v1/history?hours=12 |
The readings of the last hours |
/api/v1/entries.json, /api/v1/status.json |
The same as a Nightscout site: displays and apps made for Nightscout (for example ESP32 or M5Stack monitors and LED clocks) work with GlucoBar as their "Nightscout URL" |
/overlay |
A page for OBS (browser source) with the value on a transparent background |
MQTT. GlucoBar publishes the value to a broker, for example Home Assistant's Mosquitto
add-on: with Home Assistant: create the sensors automatically a Glucose sensor appears by
itself (one per person), with trend, delta and state as attributes, ready for automations
such as turning a light red below 70 or above 250. The MQTT password is kept in Windows Credential Manager
(GlucoBar:MQTT).
The installer adds the glucobar command to every new terminal:
glucobar setup interactive setup: ↑/↓ to choose, Space to tick, Enter to confirm
glucobar status current reading, e.g. "133 ↘ mg/dL · 2 min ago"
glucobar set unit=mmol/L low=80
glucobar set elements=desktop,tray autostart=true
glucobar get all settings
glucobar login change sensor or account
glucobar start | stop start GlucoBar | close it
glucobar forget delete passwords, tokens and settings
glucobar report diagnostic summary for bug reports, copied to the clipboard
If GlucoBar is running, it applies the new settings within two seconds.
Silent install with your choices (handy for scripts and winget):
GlucoBar-Setup-0.12.0.exe /VERYSILENT /ELEMENTS=taskbar,tray /SENSOR=libre /LANG=en
%APPDATA%\GlucoBar\config.json:
| Key | Default | Meaning |
|---|---|---|
source |
libre |
libre (LibreLinkUp), dexcom (Dexcom Share) or nightscout |
dexcom_region |
ous |
Where the Dexcom account was created: ous (outside the US), us, jp |
elements |
["taskbar", "tray"] |
What to show, any combination of taskbar, tray (icon next to the clock), window, desktop |
low / high / very_high |
70 / 180 / 250 | Thresholds in mg/dL |
unit |
mg/dL |
or mmol/L |
stale_minutes |
15 | After this, the value turns grey |
hover_chart |
true | Show the full chart when the mouse rests on the value on the taskbar |
trend_style |
arrow | Next to the value: arrow, delta (the change instead of the arrow) or both |
show_delta |
false | Show the change since the previous reading on the taskbar and the small window (every minute with LibreLinkUp, every 5 minutes with Dexcom) |
refresh_seconds |
60 | How often to fetch, from 10 to 3600 seconds (also in Settings → General) |
language |
auto |
en, it, es, fr, de, pt |
taskbar_monitor |
1 | 1 = main monitor, 2 = second, … |
taskbar_offset |
0 | Extra pixels (negative = left) |
taskbar_bg |
auto | Your taskbar colour, e.g. #202020, if you see a halo around the digits |
taskbar_transparent |
true | false for a solid background |
taskbar_scale |
1.0 | Size of the value on the taskbar, 0.85–1.25 (also from the right-click menu → Size) |
window_scale |
1.0 | Size of the small window, 0.8–2.5 (also by dragging its bottom-right corner) |
desktop_hours |
12 | Desktop panel chart period: 3, 6 or 12 |
desktop_alpha |
0.92 | Desktop panel opacity (1 = solid) |
desktop_on_top |
false | Keep the desktop panel above other windows (hidden while an app is full screen) |
desktop_over_fullscreen |
false | With desktop_on_top: stay visible over full-screen apps too |
theme |
auto |
auto (follows Windows or macOS), dark or light |
palette |
standard |
standard or colorblind |
color_in_range / color_high / color_very_high / color_low / color_stale |
auto | Your own colour for the value, e.g. #00c060; auto = the palette's |
taskbar_text |
auto | Colour of the minutes under the value on the taskbar |
alert_low / alert_high / alert_stale |
false | Alerts for low (below low), very high (above very_high) and no data (stale_minutes) |
alert_sound / alert_volume |
true / 100 | Play a sound with the alerts, and how loud (0–100) |
sound_low / sound_high / sound_other |
GlucoBar's | Sound for low, very high, and no data or estimate: builtin:falling, rising, beeps, chime, urgent, siren, soft, or Pack name/file.mp3 |
repeat_low / repeat_high |
0 | Repeat the low or very high sound every N seconds (10–600) until back in range; 0 = once |
update_check |
true | Check once a day whether a new version is out |
auto_update |
false | Windows: install new versions without asking |
sensor_life_days |
14 | LibreLinkUp: how long your sensor lasts, for the end reminders (15 for Plus sensors) |
predict / alert_soon |
false | Trend estimate on the charts / alert when it goes below low (experimental) |
people_shown / nicknames |
none | Other LibreLinkUp people on the taskbar / nickname for each person (second for the second sensor) |
second_source / second |
none | Second sensor: libre, dexcom or nightscout (not the same as source), and its account (email, dexcom_region) |
bridge_http / bridge_port / bridge_lan / bridge_token |
false / 17580 / false / none | Local web address (see Connect other devices) |
mqtt / mqtt_host / mqtt_port / mqtt_user / mqtt_topic / mqtt_discovery |
false / none / 1883 / none / glucobar / true |
MQTT publishing |
reminders |
none | The reminders (edit them in the Reminders window) |
Log file: %APPDATA%\GlucoBar\glucobar.log.
- Your password is stored encrypted in Windows Credential Manager (entries
GlucoBar:LibreLinkUp,GlucoBar:Dexcom, andGlucoBar:Nightscoutfor the token), never in the settings file. - GlucoBar talks only to the servers of your sensor's maker (Abbott's LibreView or Dexcom Share) or to your own Nightscout site. No analytics.
- Once a day it asks GitHub which is the latest GlucoBar version (a public request that sends
no data about you or your readings), and downloads the installer from GitHub only when you
install an update. Turn it off from the menu or with
glucobar set update_check=false. - The local address and MQTT (Settings → Connections) are off by default. When on, the local address answers only on this computer unless you open it to your home network.
- Request a sensor replacement… only opens the manufacturer's page in your browser and copies the serial number to your clipboard: GlucoBar sends nothing itself.
- Uninstalling asks whether to delete settings and the saved password too (also the first version's
.glicemia_widget.json). You can do the same any time withGlucoBar.exe --forget.
The installer is not code-signed yet. We plan to apply to the SignPath Foundation program for free code signing of open-source projects once GlucoBar is more widely used.
Only installers built by GitHub Actions from this repository are signed.
This program will not transfer any information to other networked systems unless specifically requested by the user or the person installing or operating it. The only connections GlucoBar makes are to the servers of the user's sensor maker (Abbott LibreView or Dexcom Share) or to the user's own Nightscout site, with the account the user enters, and a daily check of the latest version on GitHub that the user can turn off.
On Windows 11 25H2 a window embedded in the taskbar (SetParent on Shell_TrayWnd, the
technique used by TrafficMonitor) is drawn underneath the taskbar's acrylic background and
is invisible. GlucoBar instead keeps a transparent, borderless, always-on-top window exactly
over the taskbar and re-asserts it every 500 ms.
pip install -r requirements.txt pyinstaller
python -m unittest discover -s tests
python run_glucobar.py --mode desktop :: run without building
pyinstaller --noconfirm --clean glucobar.spec
python tools\previews_to_bmp.py
iscc /DAppVersion=0.12.0 installer\glucobar.iss :: needs Inno Setup 6Releases are built by GitHub Actions (.github/workflows/build.yml): in Actions → Build installer →
Run workflow, tick release to publish the version written in glucobar/__init__.py
(pushing a tag like v0.12.0 works too). The mode previews are made with
tools/compose_previews.py.
Each build also installs the previous release, opens it and installs the new version over it in silence (as winget does), checking that settings, password and choices stay. Two more workflows run on their own:
- Live check (daily): reads a value from the real LibreLinkUp, Dexcom Share and Nightscout
with the accounts saved as repository secrets (
LIBRE_EMAIL,LIBRE_PASSWORD,DEXCOM_USER,DEXCOM_PASSWORD,DEXCOM_REGION,NIGHTSCOUT_URL,NIGHTSCOUT_TOKEN; each service is skipped if its secrets are missing). The log only says "ok" or the error. - Soak test (weekly, or by hand with a duration): keeps GlucoBar open with a reading every 10 seconds and theme changes, and fails if memory, handles or graphics objects keep growing.
GlucoBar is an independent open-source project, not affiliated with or endorsed by Abbott or Dexcom. FreeStyle, Libre, LibreLink and LibreLinkUp are trademarks of Abbott; Dexcom is a trademark of Dexcom, Inc. The LibreLinkUp and Dexcom Share API details come from the work of the open-source diabetes community (Nightscout, pydexcom and others). Nightscout is an open-source project by the Nightscout Foundation; GlucoBar uses its documented API.
GlucoBar is free and will stay free. If it is useful to you and you want to support it, you can donate via PayPal.
License: MIT.













