Day One Classic to Plain Markdown (Obsidian) Migration Tool

Day One Classic to Plain Markdown (Obsidian) Migration Tool

https://github.com/azat-co/day-one-classic-migration

Day One Classic was a good journaling app but sadly the modern Day One app suffers from feature bloat-creep and requires subscription for synchronization. Your data should belong to you. Let’s see how to break free from Day One Classic into plain Markdown that can be used by any free or open source editor like Obsidian.

Obsidian has community plugin for importing Day One JSON files. The problem is that Day One Classic doesn’t have JSON export and only exports into single files in PDF, TXT, MD. So this Node.js script takes DO source files and converts them by year and date into plain markdown files. Perfect for Obsidian but will work with any other modern editors. The tool preserves DO meta data like location, weather, dates, host name and so on.

The problems it solves and how it fixes them

  1. Day One Classic v1 can only export single TXT, PDF, or Markdown files.
    – The script reads the raw XML/plist archive inside your Journal.dayone bundle and turns every entry into a separate Markdown file, so you get a real file-based journal instead of one huge document.
  2. Most converters ignore important metadata.
    – This tool keeps everything: creation and modification times, tags, GPS coordinates, weather data, even the computer’s host name. All of that is written into YAML front-matter that Obsidian (and other editors) can query.
  3. Exports usually leave you with messy filenames.
    – Each note is named YYYY/MM/DD-HHMM.md and placed into year- and month-level folders. That mirrors Day One’s timeline and keeps large libraries easy to browse.
  4. Converters often tie you to one note app.
    – Output is plain Markdown plus a photos folder. Drop it into Obsidian, Logseq, Ulysses, VS Code, or just store it under Git for long-term archiving.
  5. Other tools can be hard to set up.
    – If you have Node 18+ (common on dev machines) you can run it with a single command:
    git clone … && npm install && node migrate.js.
    No Python environments or Homebrew taps required.
  6. Privacy or cloud-lock concerns.
    – Conversion happens entirely offline on your Mac. Nothing leaves your computer.
  7. License worries.
    – The script is MIT-licensed, so you can use it commercially, fork it, or embed it elsewhere without legal friction.
  8. The codebase is short and readable—tweak the output template or add Obsidian wikilinks in minutes.
  9. Plain Markdown plus image files is about as future-proof as it gets.

https://github.com/azat-co/day-one-classic-migration

For anyone still using Day One Classic and looking for a fast, offline, open-source path to a modern Markdown vault—complete with photos and full metadata—this Node.js script is the simplest bridge available.

Author: Azat

Techie, entrepreneur, 20+ years in tech/IT/software/web development, Microsoft Most Valuable Professional, expert in NodeJS, JavaScript, TypeScript, React, MongoDB, Ruby on Rails, PHP, SQL, HTML, CSS. 500 Startups (batch Fall 2011) alumnus. http://azat.co http://github.com/azat-co

Leave a Reply

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.