Export And Import Your Habit Data
By Sebastian Röhl, creator of HabitKit
6 min read Published Updated Instructions for HabitKit 1.18.0
Export writes a single file called habitkit_export.json. It holds every habit, every completion, every note, your goals, your per-habit reminders and your categories. Import reads that file back and replaces everything currently in the app with it.
Both live at Settings › Data Import/Export, in the section headed App, and both are HabitKit Pro features in the current release. There is no CSV export, and no way to import a file from a different habit tracker.
On this page
Export
Open Settings, tap Data Import/Export, then tap Export. The app describes it as backing up your habits and completions so you can restore them at a later point, which is exactly what it does.
- On iOS the system share sheet opens, so you can AirDrop the file, save it to Files, put it in Drive or mail it to yourself.
- On Android a save-file dialog opens and you pick a folder.
Either way the file is named habitkit_export.json. If you cancel the share sheet or save dialog, the app does not report success. Check that the file is saved in your chosen destination before relying on it.
Export is a Pro feature. Nothing about your existing data changes if you are not on Pro, but the button opens the Pro screen instead of writing a file. What HabitKit Pro unlocks lists the rest of what sits behind it.
What Is In The File
The file is JSON, and it is readable. If you open it in a text editor you will find a formatVersion marker followed by your habits, completions, intervals (which is what the app calls your goals), reminders, categories, and the mapping between habits and categories.
What survives a full round trip, unchanged:
- Habit names, descriptions, icons, emoji, colours, habit types, measurement units and the order you put them in
- Archived habits, along with everything attached to them
- The date each habit was created, and the start and end of each quit-habit stretch
- Every completion, with its amount for the day, the note attached to it, and the time zone you were in when you logged it
- Notes written on days you missed, which are stored as a day with a count of zero and a note
- Goals, per-habit reminders, categories and category assignments
What does not survive:
- App settings. Theme, Week Starts On, language, dashboard toggles, compact list options and the Daily Check-In Reminders setup are not in the file. See move your habits to a new phone for the full list of what you re-pick by hand.
- The internal id of every record, which is re-minted on import. Recheck any home screen widgets or automations that refer to specific habits after importing, because their old references may no longer match.
The format is stable enough that old files still load, but it is a backup format, not a published API. Read it if you like. Do not build something that depends on its shape.
Import
Open Settings, tap Data Import/Export, then Import, pick a file, and confirm.
- Tap Import. Your file browser opens.
- Choose your
habitkit_export.json. The picker has no type filter, so it will let you choose any file at all. Choosing the wrong one is not dangerous: it fails before anything is replaced. - Confirm the dialog: "Do you really want to import this backup? This deletes all other data so far."

Tap Import to choose your exported file. The confirmation appears after you select it.
That sentence is not a formality. Import replaces everything. It is not a merge, and there is no option to make it one. If you have logged anything in this app since the export was written, importing will remove it.
Older files are fine. HabitKit reads its own current format and its older ones, so the current importer supports the older HabitKit formats as well as the current format. If a file mentions an icon, a colour or a goal type the app does not recognise, that one value falls back to a safe default rather than failing the whole import. A file with no habits in it is rejected before anything is touched.
Importing From Another Habit Tracker
This is not supported. HabitKit reads its own export format only. There is no CSV import, no importer for any other tracker, and no field mapping screen. If you arrived with a file from another habit tracker, the app cannot do anything with it.
What people do instead is create the habits by hand and backfill the days that matter. Open a habit, and the month calendar on its detail page takes a tap on any past day to mark it complete. It pages back years, so you can reconstruct as much history as you have patience for. Log a completion, and fill in a day you missed covers the details.
You do not have to reconstruct all of it. The part of the grid you will actually look at is the recent end.
Related Questions
Can I export my habit data to CSV or Excel?
No. The export is a single JSON file called habitkit_export.json, and there is no CSV or spreadsheet option anywhere in the app. The JSON is readable, so a determined person can convert it themselves, but nothing in HabitKit will do it for you.
Can I import a file from another habit tracker app?
No. The importer reads HabitKit's own export format only, and there is no importer for any other tracker. The usual path is to create the habits yourself and tap in the past days you want to keep, from the calendar on each habit's detail page.
Will importing an old export break anything?
HabitKit supports its older export formats. Unknown icons, colours and goal types can fall back to defaults, but a damaged or invalid file can still fail. Export your current data first if you need to keep it. A file with no habits in it is rejected before your existing data is touched.