
You've been journaling for months—maybe years. Your entries hold memories, breakthroughs, and moments you don't want to lose. Now you're ready to bring all of that history into Reflection.
Good news: with our new CSV import feature, you can migrate your journal from almost any app. Whether you're coming from Day One, Journey, Diarium, Penzu, or another journaling tool, we've got you covered.
This guide walks you through the process step by step.
Overview: Export, Convert, Import
Moving your journal to Reflection happens in three steps:
- Export your entries from your current app
- Convert them into Reflection's CSV format
- Import the CSV into Reflection
Don't worry if that sounds technical—we've created free tools to make the conversion simple, even if you've never worked with a CSV file before.
Step 1: Export Your Journal
First, you'll need to get your entries out of your current journaling app. Most apps let you export your data as a file (usually JSON, CSV, or a ZIP archive).
Here's where to look in popular apps:
- Day One: Settings → Export → JSON (Full Export)
- Journey: Settings → Export Data
- Diarium: Settings → Export → JSON or CSV
- Penzu: Settings → Export Journals
- Other apps: Look in Settings or Account for "Export," "Backup," or "Download Data"
Save the exported file somewhere you can easily find it, like your Downloads folder or Desktop.
Step 2: Convert to Reflection's Format
Your exported file needs to be converted into a CSV file that Reflection can read. We've built free tools to help with this—you can choose the approach that feels most comfortable.
Option A: Use ChatGPT or Claude (Easiest)
If you use ChatGPT or Claude, we've created ready-made prompts that guide the AI through converting your journal export into Reflection's format.
How it works:
- Visit our AI Journal Import Tools on GitHub
- Find the prompt for your preferred AI:
prompts/chatgpt-journal-converter.mdfor ChatGPTprompts/claude-day-one-migration.mdfor Claude
- Copy the prompt and paste it into ChatGPT or Claude
- Upload your export file (or paste the content) when instructed
- The AI will generate a properly formatted CSV for you to download
Tip: For large journals, convert in smaller batches (50-100 entries at a time) so you can check the results before importing everything.
Option B: Use Our Python Script (For Day One Users)
If you're migrating from Day One and prefer to keep your data completely local (never sent to any AI service), we have a Python script that runs on your computer.
You'll find it in our GitHub repository under dayone/scripts/. The Day One README has full instructions.
This option requires some comfort with running scripts on your computer, but it's the most private approach.
Option C: Manual Conversion
If your app exports to CSV and you're comfortable with spreadsheets, you can manually map your columns to match Reflection's format.
Download our Sample CSV to use as a template.
Our CSV format guide explains exactly what Reflection expects.
Step 3: Import into Reflection
Once you have your Reflection-formatted CSV file, importing is easy.
We recommend doing this on desktop (our web app at web.reflection.app or our Mac app) since you'll be working with files.
Already have entries in Reflection? If you've been journaling in Reflection and want to import a large archive from another app, consider creating a temporary Reflection account to test the import first. This lets you verify everything looks right before importing to your main account. Once you're confident the conversion worked, you can import to your primary account with peace of mind.
- Open Reflection on your computer
- Go to Settings
- Find the Import option
- Select your CSV file
- Review the preview and confirm
[Screenshot placeholder: Settings menu showing Import option]
[Screenshot placeholder: Import preview screen]
Your entries will appear in Reflection with their original dates, so your journal history stays intact.
A Note on Privacy
We know your journal is deeply personal. A few things to keep in mind:
- If you use the AI conversion tools (ChatGPT or Claude), your journal content will be processed by those services. Review their privacy policies and consider removing any especially sensitive entries before converting.
- If you want to keep everything local, use the Python script—your data never leaves your computer.
- Once in Reflection, your entries are protected with AES-256 encryption and stored securely with Google Cloud.
Need Help?
Every journal export is a little different, and we know this process can feel daunting when your memories are on the line.
If you run into trouble or have questions, reach out to us at help@reflection.app—we're happy to help you get your journal home.
FAQ
What other journaling apps can I migrate from?
Any journaling app that allows you to export as a CSV, XLS, or JSON—you can migrate from it. This includes services like Day One, Journey, Penzu, Evernote, Notion, Daylio, Grid Diary, Google Keep, and most other journals.
Can I test the import process before fully committing?
Yes! You can review the import file before finalizing the process. Once imported, all entries will share the same tags, making them easy to locate and review. If you're importing a large journal file and are concerned about issues or duplicates, consider creating a new Reflection account to test the import first. Currently, entries can only be deleted one by one, so bulk actions aren't yet available. A test run in a new account is a good way to ensure everything meets your expectations.
Are text formatting, photos, and other media preserved?
Formatting is preserved during migration, but photo and video imports are not yet supported. Each journaling tool stores media differently, making migration challenging. We're actively exploring solutions, so if this feature interests you, let us know and we'll add you to our feature request list.
Do I need to be a Premium user to import entries?
Nope! Importing entries is a free service that we make available to all users. Enjoy!
Can I import images and photos with my journal entries?
Not yet, but we're actively working on it. Currently, the import brings in your text and formatting, but photos and videos aren't supported. Each journaling app stores media differently, which makes this a complex problem to solve well. If image import is important to you, reach out at help@reflection.app—we'd love to hear from you and keep you updated on our progress.
Will my original entry dates be preserved?
Yes! Your entries will appear in Reflection with their original dates intact, so your journal history stays in the right order. You won't lose the timeline of your memories.
How long does the import process take?
It depends on the size of your journal, but typically it takes a few minutes. You'll see a loading indicator showing progress, and you don't need to stay on the page while it works—feel free to step away and come back.
Can I import from Apple Journal?
Yes! As of iOS 18, Apple Journal supports exporting your entries. Go to Settings → Apps → Journal → Export All Journal Entries. This creates a ZIP file containing separate HTML files for each entry, plus a folder with your photos and media.
Since the export contains individual files rather than one consolidated file, you'll need to use ChatGPT or Claude to combine them into Reflection's CSV format. Upload the HTML files (in batches if needed) and ask the AI to extract the entry text and dates into our CSV format. Our existing prompts can be adapted for this—just let the AI know you're working with Apple Journal HTML files.
What happens if something goes wrong during import?
After the import completes, Reflection will show you how many entries were successfully imported. If some entries didn't come through as expected, double-check your CSV formatting against our format guide, or reach out to us at help@reflection.app and we'll help you troubleshoot.
Is my data safe during the import process?
Absolutely. Reflection uses AES-256 encryption for your entries at rest and TLS 1.2+ encryption in transit. Your journal data is stored securely with Google Cloud, which is ISO/IEC 27001, SOC 1, SOC 2 certified, and GDPR compliant. If you use the Python converter instead of AI tools, your data never leaves your computer during conversion.
Resources
- AI Journal Import Tools (GitHub) — All conversion tools and guides
- Reflection CSV Format — Technical specification
- Day One Migration Guide — Detailed Day One instructions
"@context": "https://schema.org",
"@type": "HowTo",
"name": "Migrate your journal to Reflection using CSV import",
"description": "This guide walks you through exporting your entries, converting them to Reflection's CSV format, and importing them so your journal history stays intact.",
"supply": [
{
"@type": "HowToSupply",
"name": "Exported journal file (JSON, CSV, or ZIP)"
},
{
"@type": "HowToSupply",
"name": "Reflection-formatted CSV"
}
],
"tool": [
{
"@type": "HowToTool",
"name": "AI Journal Import Tools (GitHub)"
},
{
"@type": "HowToTool",
"name": "Python script (dayone/scripts/)"
},
{
"@type": "HowToTool",
"name": "Sample CSV and CSV format guide"
},
{
"@type": "HowToTool",
"name": "Reflection web app (web.reflection.app) or Mac app"
}
],
"step": [
{
"@type": "HowToStep",
"name": "Step 1: Export Your Journal",
"text": "First, get your entries out of your current journaling app. Most apps let you export as JSON, CSV, or a ZIP archive. Where to look: Day One: Settings → Export → JSON (Full Export); Journey: Settings → Export Data; Diarium: Settings → Export → JSON or CSV; Penzu: Settings → Export Journals; Other apps: check Settings or Account for Export, Backup, or Download Data. Save the exported file to an easy-to-find location."
},
{
"@type": "HowToSection",
"name": "Step 2: Convert to Reflection's Format",
"itemListElement": [
{
"@type": "HowToStep",
"name": "Option A: Use ChatGPT or Claude (Easiest)",
"text": "Visit our AI Journal Import Tools on GitHub. Find the prompt for your preferred AI (prompts/chatgpt-journal-converter.md or prompts/claude-day-one-migration.md). Copy the prompt into ChatGPT or Claude, upload your export when instructed, and download the generated CSV. Tip: For large journals, convert in batches of 50–100 entries."
},
{
"@type": "HowToStep",
"name": "Option B: Use Our Python Script (For Day One Users)",
"text": "Run the local Python script in dayone/scripts/ from our GitHub repository. See the Day One README for full instructions. This keeps your data on your computer."
},
{
"@type": "HowToStep",
"name": "Option C: Manual Conversion",
"text": "If your app exports CSV, map your columns to Reflection's format using the Sample CSV as a template and the CSV format guide for exact requirements."
}
]
},
{
"@type": "HowToStep",
"name": "Step 3: Import into Reflection",
"text": "Use the desktop web app (web.reflection.app) or Mac app. If you already have entries, consider creating a temporary account to test a large import before importing to your main account. Your entries will keep their original dates.",
"itemListElement": [
{
"@type": "HowToDirection",
"text": "Open Reflection on your computer"
},
{
"@type": "HowToDirection",
"text": "Go to Settings"
},
{
"@type": "HowToDirection",
"text": "Find the Import option"
},
{
"@type": "HowToDirection",
"text": "Select your CSV file"
},
{
"@type": "HowToDirection",
"text": "Review the preview and confirm"
}
]
},
{
"@type": "HowToStep",
"name": "A Note on Privacy",
"text": "If you use AI conversion (ChatGPT or Claude), your content is processed by those services—review their policies and remove especially sensitive entries if needed. For full local control, use the Python script. In Reflection, entries are protected with AES-256 encryption and stored securely with Google Cloud."
},
{
"@type": "HowToStep",
"name": "Need Help?",
"text": "If you run into trouble, contact help@reflection.app. Resources: AI Journal Import Tools (GitHub), Reflection CSV Format, Day One Migration Guide."
}
]
}
You've been journaling for months—maybe years. Your entries hold memories, breakthroughs, and moments you don't want to lose. Now you're ready to bring all of that history into Reflection.
Good news: with our new CSV import feature, you can migrate your journal from almost any app. Whether you're coming from Day One, Journey, Diarium, Penzu, or another journaling tool, we've got you covered.
This guide walks you through the process step by step.
Overview: Export, Convert, Import
Moving your journal to Reflection happens in three steps:
- Export your entries from your current app
- Convert them into Reflection's CSV format
- Import the CSV into Reflection
Don't worry if that sounds technical—we've created free tools to make the conversion simple, even if you've never worked with a CSV file before.
Step 1: Export Your Journal
First, you'll need to get your entries out of your current journaling app. Most apps let you export your data as a file (usually JSON, CSV, or a ZIP archive).
Here's where to look in popular apps:
- Day One: Settings → Export → JSON (Full Export)
- Journey: Settings → Export Data
- Diarium: Settings → Export → JSON or CSV
- Penzu: Settings → Export Journals
- Other apps: Look in Settings or Account for "Export," "Backup," or "Download Data"
Save the exported file somewhere you can easily find it, like your Downloads folder or Desktop.
Step 2: Convert to Reflection's Format
Your exported file needs to be converted into a CSV file that Reflection can read. We've built free tools to help with this—you can choose the approach that feels most comfortable.
Option A: Use ChatGPT or Claude (Easiest)
If you use ChatGPT or Claude, we've created ready-made prompts that guide the AI through converting your journal export into Reflection's format.
How it works:
- Visit our AI Journal Import Tools on GitHub
- Find the prompt for your preferred AI:
prompts/chatgpt-journal-converter.mdfor ChatGPTprompts/claude-day-one-migration.mdfor Claude
- Copy the prompt and paste it into ChatGPT or Claude
- Upload your export file (or paste the content) when instructed
- The AI will generate a properly formatted CSV for you to download
Tip: For large journals, convert in smaller batches (50-100 entries at a time) so you can check the results before importing everything.
Option B: Use Our Python Script (For Day One Users)
If you're migrating from Day One and prefer to keep your data completely local (never sent to any AI service), we have a Python script that runs on your computer.
You'll find it in our GitHub repository under dayone/scripts/. The Day One README has full instructions.
This option requires some comfort with running scripts on your computer, but it's the most private approach.
Option C: Manual Conversion
If your app exports to CSV and you're comfortable with spreadsheets, you can manually map your columns to match Reflection's format.
Download our Sample CSV to use as a template.
Our CSV format guide explains exactly what Reflection expects.
Step 3: Import into Reflection
Once you have your Reflection-formatted CSV file, importing is easy.
We recommend doing this on desktop (our web app at web.reflection.app or our Mac app) since you'll be working with files.
Already have entries in Reflection? If you've been journaling in Reflection and want to import a large archive from another app, consider creating a temporary Reflection account to test the import first. This lets you verify everything looks right before importing to your main account. Once you're confident the conversion worked, you can import to your primary account with peace of mind.
- Open Reflection on your computer
- Go to Settings
- Find the Import option
- Select your CSV file
- Review the preview and confirm
[Screenshot placeholder: Settings menu showing Import option]
[Screenshot placeholder: Import preview screen]
Your entries will appear in Reflection with their original dates, so your journal history stays intact.
A Note on Privacy
We know your journal is deeply personal. A few things to keep in mind:
- If you use the AI conversion tools (ChatGPT or Claude), your journal content will be processed by those services. Review their privacy policies and consider removing any especially sensitive entries before converting.
- If you want to keep everything local, use the Python script—your data never leaves your computer.
- Once in Reflection, your entries are protected with AES-256 encryption and stored securely with Google Cloud.
Need Help?
Every journal export is a little different, and we know this process can feel daunting when your memories are on the line.
If you run into trouble or have questions, reach out to us at help@reflection.app—we're happy to help you get your journal home.
FAQ
What other journaling apps can I migrate from?
Any journaling app that allows you to export as a CSV, XLS, or JSON—you can migrate from it. This includes services like Day One, Journey, Penzu, Evernote, Notion, Daylio, Grid Diary, Google Keep, and most other journals.
Can I test the import process before fully committing?
Yes! You can review the import file before finalizing the process. Once imported, all entries will share the same tags, making them easy to locate and review. If you're importing a large journal file and are concerned about issues or duplicates, consider creating a new Reflection account to test the import first. Currently, entries can only be deleted one by one, so bulk actions aren't yet available. A test run in a new account is a good way to ensure everything meets your expectations.
Are text formatting, photos, and other media preserved?
Formatting is preserved during migration, but photo and video imports are not yet supported. Each journaling tool stores media differently, making migration challenging. We're actively exploring solutions, so if this feature interests you, let us know and we'll add you to our feature request list.
Do I need to be a Premium user to import entries?
Nope! Importing entries is a free service that we make available to all users. Enjoy!
Can I import images and photos with my journal entries?
Not yet, but we're actively working on it. Currently, the import brings in your text and formatting, but photos and videos aren't supported. Each journaling app stores media differently, which makes this a complex problem to solve well. If image import is important to you, reach out at help@reflection.app—we'd love to hear from you and keep you updated on our progress.
Will my original entry dates be preserved?
Yes! Your entries will appear in Reflection with their original dates intact, so your journal history stays in the right order. You won't lose the timeline of your memories.
How long does the import process take?
It depends on the size of your journal, but typically it takes a few minutes. You'll see a loading indicator showing progress, and you don't need to stay on the page while it works—feel free to step away and come back.
Can I import from Apple Journal?
Yes! As of iOS 18, Apple Journal supports exporting your entries. Go to Settings → Apps → Journal → Export All Journal Entries. This creates a ZIP file containing separate HTML files for each entry, plus a folder with your photos and media.
Since the export contains individual files rather than one consolidated file, you'll need to use ChatGPT or Claude to combine them into Reflection's CSV format. Upload the HTML files (in batches if needed) and ask the AI to extract the entry text and dates into our CSV format. Our existing prompts can be adapted for this—just let the AI know you're working with Apple Journal HTML files.
What happens if something goes wrong during import?
After the import completes, Reflection will show you how many entries were successfully imported. If some entries didn't come through as expected, double-check your CSV formatting against our format guide, or reach out to us at help@reflection.app and we'll help you troubleshoot.
Is my data safe during the import process?
Absolutely. Reflection uses AES-256 encryption for your entries at rest and TLS 1.2+ encryption in transit. Your journal data is stored securely with Google Cloud, which is ISO/IEC 27001, SOC 1, SOC 2 certified, and GDPR compliant. If you use the Python converter instead of AI tools, your data never leaves your computer during conversion.
Resources
- AI Journal Import Tools (GitHub) — All conversion tools and guides
- Reflection CSV Format — Technical specification
- Day One Migration Guide — Detailed Day One instructions





