Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Habit Charts

kavodskykavodsky16 downloads

Draw daily habit progress charts in percent of a daily goal from the frontmatter of daily notes.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates2

English · Українська · Deutsch · Magyar

Habit Charts draws your daily habit progress as line charts, in percent of a daily goal. The data comes from the frontmatter of your daily notes. It is a plain Obsidian plugin: no dependencies, no network, and no code is ever executed from your notes. Only a small YAML configuration is read.

Monthly view

Yearly view

Features

  • One line per habit, in percent of its daily goal (minutes ÷ goal × 100, two decimals). Values above 100% are allowed.
  • Month | Year switch. The month view shows one calendar month with ‹ › buttons to move between months. The year view shows the monthly average for the last 12 months.
  • Hover tooltips with minutes, goal and percentage.
  • Switch to a new habit without losing history: give each habit its own dates (from / to). A dashed marker with a label such as "Book A: until 2026-12-10" and "Book B: from 2026-12-11" shows where one ended and the next began. Days outside the life of a habit stay empty: they are not drawn and do not count in averages.
  • Interface in English, German, Hungarian and Ukrainian.
  • Charts are plain SVG and follow your Obsidian theme.

Installation

From Obsidian: Settings → Community plugins → Browse → search for Habit Charts → Install → Enable.

Manually: download main.js, manifest.json and styles.css from the latest release, put them into <your vault>/.obsidian/plugins/habit-charts/, then enable the plugin under Settings → Community plugins.

Your data

One note per day, named YYYY-MM-DD.md, with numeric frontmatter fields (minutes):

---
tags: [daily]
hc_spanish: 30
hc_italian: 10
---

A missing note, a missing field or a non-numeric value counts as 0%.

Tip: to keep the plugin's fields apart from the fields of other plugins, give them a common prefix such as hc_ and set prefix: hc_ in the configuration. The plugin reads only the fields listed in the configuration.

Usage

Add a code block with the language habits to any note:

```habits
folder: 100 Calendar/Daily
prefix: hc_
views: [month, year]
groups:
  - title: Languages
    series:
      - { name: Spanish, key: spanish, goal: 30 }
      - { name: Italian, key: italian, goal: 15 }
  - title: Reading
    series:
      - { name: Book A, key: book_a, goal: 20, to: "2026-12-10" }
      - { name: Book B, key: book_b, goal: 20, from: "2026-12-11" }
```

A longer example is in examples/dashboard.md. The charts update when your notes change.

Configuration

Key Meaning
folder Folder of the daily notes. Without it the whole vault is searched.
dateFormat Date format of the note names, default YYYY-MM-DD.
prefix Optional prefix of all frontmatter fields, for example hc_ (key: spanish reads hc_spanish).
lang en, de, hu or uk. Without it (or with auto) the Obsidian language is used, and English if that language is not supported.
views [month, year], or only one of them. With both, a Month / Year switch appears.
month Optional YYYY-MM: the month shown by default. Otherwise the current month.
months Number of months in the year view, default 12.
smooth false turns off line smoothing.
groups List of charts, each with a title and a list of series.
series { name, key, goal, color?, from?, to? }. goal is minutes per day. from and to are the first and last day of the habit (YYYY-MM-DD).

A habit that does not exist in the period being shown (for example Book B in November) is not shown at all.

Alternatively, one continuous line with a handover can be written with periods:

- periods:
    - { to: "2026-12-10", name: Book A, key: book_a, goal: 20 }
    - { from: "2026-12-11", name: Book B, key: book_b, goal: 20 }

Privacy and disclosures

  • No network requests, no telemetry, no ads, no account needed.
  • The plugin reads only the frontmatter of notes inside your vault, through Obsidian's metadata cache. It never writes to your notes and never runs code found in them.

Development

The plugin is plain JavaScript with no build step: main.js, styles.css and manifest.json are the plugin. To release a new version, set version in manifest.json, commit, then push a tag that is exactly that version (for example git tag 0.3.1 && git push origin 0.3.1). The workflow in .github/workflows/release.yml creates the GitHub release with the three files and signs them with GitHub artifact attestations.

To verify a downloaded file: gh attestation verify main.js -R kavodsky/habit-charts.

License

MIT

HealthExcellent
ReviewPassed
About
Draw daily habit progress as line charts showing percent of a daily goal from numeric frontmatter fields in your daily notes. Switch month and year views, view per-habit history with transition markers, hover for minutes/goal/percentage, and render theme-aware SVG charts.
ChartsCalendarDates
Details
Current version
0.3.1
Last updated
2 days ago
Created
2 days ago
Updates
2 releases
Downloads
16
Compatible with
Obsidian 1.4.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
kavodskykavodsky
GitHubkavodsky
  1. Community
  2. Plugins
  3. Charts
  4. Habit Charts

Related plugins

Contribution Graph

Generate an interactive heatmap to visualize and track your productivity.

Day Planner

Turn tasks from daily notes, the Tasks plugin, and calendars into time blocks on an editable timeline, with built-in time tracker.

Full Calendar Remastered

Complete Calendar HUB experience. Work with all your calendars in one place. Analyze your time and take action!

Tracker

Track occurrences and numbers in your notes.

Journals

Manage your journals.

Itinerary

Make planning your trip or event easier by rendering a calendar from event information found in your notes.

Periodic Notes

Manage your daily, weekly, and monthly notes.

Tasks Calendar Wrapper

Simple wrapper for Tasks Calendar and Tasks Timeline.

Calendarium

Craft mind-bending fantasy and sci-fi calendars.

Yearly Glance

Year at a glance - overview of annual events with customizable management options.