{"id":9754,"date":"2025-06-23T22:15:14","date_gmt":"2025-06-23T19:15:14","guid":{"rendered":"https:\/\/handoli.com\/index.php\/2025\/06\/23\/migrating-day-one-journal-entries-to-obsidian\/"},"modified":"2025-06-23T22:15:14","modified_gmt":"2025-06-23T19:15:14","slug":"migrating-day-one-journal-entries-to-obsidian","status":"publish","type":"post","link":"https:\/\/handoli.com\/index.php\/2025\/06\/23\/migrating-day-one-journal-entries-to-obsidian\/","title":{"rendered":"Migrating Day One Journal Entries to Obsidian"},"content":{"rendered":"<p class=\"wp-block-paragraph\">I recently moved away from\u00a0<a href=\"https:\/\/dayoneapp.com\/\">Day One<\/a>\u00a0and am now using\u00a0<a href=\"https:\/\/obsidian.md\/\">Obsidian<\/a>\u00a0to keep my daily journal. To make that possible, I needed to migrate over a decade\u2019s worth of journal entries into an Obsidian-friendly format.<\/p>\n<p class=\"wp-block-paragraph\">When I first started using Day One, <a href=\"https:\/\/tyler.io\/2013\/10\/journaling\/\">I wrote about it on this blog<\/a> and said one of the requirements needed to be<\/p>\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u2026and stores my data in an open format that I\u2019m confident is future proof and exportable to another system if the need ever arises.<\/p>\n<\/blockquote>\n<p class=\"wp-block-paragraph\">I\u2019m happy to say that worked out well. I don\u2019t know what I\u2019d do if my 20,000+ entries were locked-up in a proprietary format.<\/p>\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/tylerhall\/DayOne-Obsidian-Exporter\">This Swift script<\/a> takes\u00a0<a href=\"https:\/\/dayoneapp.com\/guides\/tips-and-tutorials\/exporting-entries\/\">Day One\u2019s JSON export file<\/a>\u00a0(and media attachments) and converts each entry into a YAML + Markdown file that is friendly to Markdown editors like Obsidian.<\/p>\n<p class=\"wp-block-paragraph\">Entries are sorted into folders based on their date with support for multiple entries per day. Media attachments are saved alongside the Markdown files as inline attachments.<\/p>\n<p class=\"wp-block-paragraph\">Running the script<\/p>\n<pre class=\"wp-block-code\"><code>d1obsidian &lt;path-to-export.json&gt; &lt;some-output-folder&gt;\n<\/code><\/pre>\n<p class=\"wp-block-paragraph\">will create a directory structure like this:<\/p>\n<pre class=\"wp-block-code\"><code>\/export-folder\/\n  \/2023\/\n  \/2024\/\n  \/2025\/\n    \/2024-01 - January\/\n    \/2024-02 - Februrary\/\n      \/2024-02-01\/\n        2024-02-01 - 001.md\n        2024-02-01 - 002.md\n        some-image.jpeg\n        another-image.jpeg<\/code><\/pre>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/cdn.tyler.io\/wp-content\/uploads\/2025\/06\/458043133-88023a33-3d05-4b0a-9b7b-7a1b557f71e9-1024x726.png\" alt=\"\" class=\"wp-image-2713\"\/><\/figure>\n<p class=\"wp-block-paragraph\">Based on the availabe metadata, each entry\u2019s Markdown file will look similar to:<\/p>\n<pre class=\"wp-block-code\"><code>---\nuuid: AA7A6A77946547449ED0BBC99349537C\ncreationDate: 2013-02-13T20:38:54Z\ntimeZone: America\/Chicago\nlocation:\n  latitude: 37.546\n  longitude: -77.439\n  localityName: Richmond\n  administrativeArea: Virginia\n  country: United States\nweather:\n  conditionsDescription: Cloudy\n  weatherCode: cloudy\n  temperatureCelsius: 3.5\n---\nToday I went for a run and ate a sandwhich.\n\n![](991F17490A0F4A919116C5AB428E6F1E.jpeg)<\/code><\/pre>\n<p class=\"wp-block-paragraph\">It\u2019s worth noting that this script does not exhaustively migrate all fields that Day One supports \u2014 mostly because I couldn\u2019t find a complete listing of all the available fields. It also strips out\u00a0<code>dayone-moment:\/workout<\/code>\u00a0and\u00a0<code>dayone-moment:\/location<\/code>\u00a0in-line references from your entires.<\/p>\n<p class=\"wp-block-paragraph\">And in keeping with open source tradition, there are plenty of other export scripts floating around GitHub and the Obsidian forums, but it was easier to hack this together quickly than try and modify someone else\u2019s to match the output I wanted.<\/p>\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/tylerhall\/DayOne-Obsidian-Exporter\">DayOne-Obsidian-Exporter on GitHub<\/a><\/p>\n<p class=\"wp-block-paragraph\">\n<\/p>","protected":false},"excerpt":{"rendered":"<p>I recently moved away from\u00a0Day One\u00a0and am now using\u00a0Obsidian\u00a0to keep my daily journal. To make that possible, I needed to migrate over a decade\u2019s worth of journal entries into an Obsidian-friendly format. When I first started using Day One, I wrote about it on this blog and said one of the requirements needed to be [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":9755,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rop_custom_images_group":[],"rop_custom_messages_group":[],"rop_publish_now":"initial","rop_publish_now_accounts":[],"rop_publish_now_history":[],"rop_publish_now_status":"pending","footnotes":""},"categories":[1,15],"tags":[],"class_list":["post-9754","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-explore","category-world"],"_links":{"self":[{"href":"https:\/\/handoli.com\/index.php\/wp-json\/wp\/v2\/posts\/9754","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/handoli.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/handoli.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/handoli.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/handoli.com\/index.php\/wp-json\/wp\/v2\/comments?post=9754"}],"version-history":[{"count":0,"href":"https:\/\/handoli.com\/index.php\/wp-json\/wp\/v2\/posts\/9754\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/handoli.com\/index.php\/wp-json\/wp\/v2\/media\/9755"}],"wp:attachment":[{"href":"https:\/\/handoli.com\/index.php\/wp-json\/wp\/v2\/media?parent=9754"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/handoli.com\/index.php\/wp-json\/wp\/v2\/categories?post=9754"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/handoli.com\/index.php\/wp-json\/wp\/v2\/tags?post=9754"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}