Skip to content
Skip to main content
< All Topics
Print

Desktop Migration Guide

New: migrate in one step with Quick Migrate

The web app now moves your ingredients, charts and recipes from the desktop app automatically, with no review pages.

  1. Sign in to the web app, or create a free account. You will be brought back to the migration page afterwards.
  2. Open https://www.icecreamcalc.app/migrate.
  3. Select your icc4.sqlite file and click Migrate everything.

Nothing you already have in your web account is changed, so it is safe to run again. Production plans are not included in Quick Migrate.

The rest of this guide covers the Advanced import, where you choose items one by one and review how ingredients are matched. Most people do not need it.

Overview

This guide explains how to transfer recipes, ingredients and charts from the Desktop App (version 4 or later, Windows only) to the Web App.

There are two ways to migrate:

Quick Migrate Advanced import
Where /migrate Tools → Import & Export → Import from Desktop
What you do Pick the file, click one button Choose items per type, review ingredient matches
Ingredients Matched by name; new ones imported as your own Reviewed one by one before import
Charts Imported unless one with the same name exists Chosen individually
Recipes Imported unless one with the same name exists Chosen individually, ingredient matching reviewed
Production plans Not included Can be imported
Existing web data Never changed Never changed
Free plan All recipes imported; the 15 newest stay editable Stops at 15 recipes in total

Both routes keep the created date each recipe had in the desktop app.

Step 1: Locate your desktop database file

The desktop app keeps everything in one SQLite file. On most computers it is in this folder:

C:\ProgramData\Ice Cream Calculator4

The file is called icc4.sqlite.

Finding it from the file dialog. When the web app asks you to select a file, paste the folder path above into the File name box and press Enter. The dialog jumps to that folder. Then click icc4.sqlite and click Open.

Other ways to find it:

  • File Explorer: click the address bar, paste the folder path, press Enter.

File Explorer address bar with the ProgramData path

  • Desktop App: the window title shows the full path to the database.

Desktop app window title showing the database path

The Settings dialog also shows the database location and has a button that opens the folder.

Desktop app Settings dialog with the database location and folder button

Note: ProgramData is a hidden folder in Windows, so browsing to it by clicking may not work. Pasting the path always does.

Moved your database? Pick the file from wherever you keep it. The desktop app’s window title tells you where that is.

Quick Migrate (recommended)

  1. Open https://www.icecreamcalc.app/migrate.
  2. If you are not signed in, click Create account or Sign in. A new account must verify its email address first; the link in the mail brings you back to the migration page after you sign in.
  3. Click Copy next to the folder location, then Select database file, paste the location into the File name box, press Enter, and open icc4.sqlite.

  1. The page shows how many ingredients, charts and recipes the file contains. Click Migrate everything.

  1. Watch the three stages complete: ingredients, then charts, then recipes. Keep the page open until it finishes.
  2. The summary shows what was imported, what was reused or skipped, and anything that failed, with a reason for each item. Click Go to my recipes.

What Quick Migrate does with each type

  • Ingredients. Each desktop ingredient is matched by name against the ingredients you can already see in the web app, your own first, then the shared database. A match is reused. No match means the ingredient is imported as your own, with the values it had in the desktop app.
  • Charts. A chart is imported unless you already have one with the same name, which is kept as it is.
  • Recipes. A recipe is imported unless you already have one with the same name. Its ingredients are linked through the name matching above, its chart is linked by name, and the created date is kept.
  • Recipes used as ingredients. If a desktop recipe is used inside other recipes, it is imported first and a linked recipe-derived ingredient is created from it, so the recipes that use it import correctly.

Free plan. Every recipe is imported. A free account can open and edit its 15 newest recipes by created date; the rest are locked until you upgrade to Premium, which starts with a free trial. The summary page tells you if this applies to you.

Advanced import

Use this route when you want to import only some items, review each ingredient match yourself, or import production plans.

Step 2: Open the migration tool

  1. Sign in to the Web App.
  2. Go to Tools → Import & Export.
  3. Click Import from Desktop. A note at the top of that page links back to Quick Migrate if you change your mind.

Web App Tools menu with the Import from Desktop option

Step 3: Upload your database file

  1. Click Select SQLite Database File and open icc4.sqlite (see Step 1 for the file-dialog trick).
  2. The page analyzes the file and shows counts for recipes, ingredients, charts and plans.
  3. Expand any section to preview its contents.

Import page showing the database analysis summary

Step 4: Import ingredients first

Always import ingredients before recipes. Your custom desktop ingredients do not exist in the Web App yet, and recipes can only match ingredients that are already there.

  1. Click Import Ingredients on the analysis page.
  2. The Ingredient Import Review page lists every ingredient with a status badge. Ingredients whose name already exists in your web account are unchecked by default and are never overwritten.
  3. Use Select All, Deselect All or the individual checkboxes. Toggle Hide existing ingredients to shorten the list.
  4. Click Import Selected.
  5. Return to the migration tool.

Ingredient import review page with selection controls

Step 5: Import charts

Import charts before recipes. A recipe is linked to its chart by name at the moment the recipe is imported, so a chart imported later is not linked automatically.

  1. Click Import Charts.
  2. Tick the charts you want. Charts you already have will be imported as a second copy with the same name, so untick those.
  3. Click Import Selected Charts.

Chart import page with selection checkboxes

Step 6: Import recipes

6.1 Select recipes

  1. Click Import Recipes.
  2. Use search, Select All and Deselect All, or the individual checkboxes.
  3. A yellow Name Exists badge means you already have a recipe with that name. Importing it creates a second recipe with the same name; untick it if you do not want that.
  4. Click Import X Recipe(s).

Recipe selection page with search and filtering options

Free plan limit. A free account holds 15 recipes in total. The Advanced import stops when that number is reached, and recipes beyond it are reported as skipped. Quick Migrate does not have this limit on import; see the Free plan note above.

6.2 Match ingredients

The Ingredient Matching page shows how many recipes you selected, how many distinct ingredients they need, how many are matched, and how many recipes are ready.

Ingredient matching page showing statistics

  • Green rows are matched, either exactly or by a close name match. Keep the match, pick another from the dropdown, or click Select to search.

A matched ingredient with dropdown options

  • Red rows are unmatched. Pick one from the dropdown, click Select to search, or click Delete to leave that ingredient out.

An unmatched ingredient with action options

Only recipes with every ingredient matched are counted as ready and imported. Click Import X Recipe(s) to finish.

Step 7: Import production plans (optional)

If your desktop database has production plans, click Import Plans on the analysis page. Plans are matched to your web recipes by recipe name, so import recipes first.

Recommended order for the Advanced import

  1. Ingredients so recipes can match them.
  2. Charts so recipes can link to them.
  3. Recipes.
  4. Plans, if you use them.

This is also the order Quick Migrate uses.

Tips

  • Large databases. Quick Migrate handles the whole file in one run. In the Advanced import, use search and the Hide existing toggles, or import in batches.
  • Running it again. Both routes can be run as often as you like. Existing items in your web account are never changed. Quick Migrate skips anything with a name you already have; the Advanced import shows a badge so you can untick it.
  • Using both apps. The desktop and web apps work independently. There is no automatic sync, so changes made in one do not appear in the other.
  • Checking the result. The Quick Migrate summary lists every skipped and failed item with a reason, for example an ingredient that could not be found or a recipe that already existed.

Troubleshooting

Problem What to do
Cannot find the database file Look at the desktop app’s window title, or open Settings and use the button that opens the database folder. Paste the folder path into the file dialog’s File name box.
The file dialog does nothing when I paste the path Paste the folder path, press Enter, then click icc4.sqlite and Open. Pasting the full file path only navigates to the folder.
Ingredients will not match (Advanced) Ingredients were not imported first. Go back and run the ingredient import, then import recipes again.
A recipe was skipped as “already exists” You already have a recipe with that name. Rename the existing one and run the migration again if you want both.
A recipe failed with “Ingredient not found” That ingredient failed to import earlier; check the ingredient section of the summary for the reason.
Some recipes are locked after migration Free plan. The 15 newest recipes by created date are editable; upgrade to Premium to unlock the rest.
Only 15 recipes imported (Advanced) Free plan limit on the Advanced route. Use Quick Migrate to import everything, or upgrade.
Upload fails Check that the file is from desktop version 4 or later, has a .sqlite, .db or .sqlite3 extension, is under 100 MB and is not corrupted.

Frequently asked questions

Do I have to keep the Desktop App?
No. The Web App works on its own once your data is migrated.

Can I run the migration more than once?
Yes. Nothing already in your web account is changed. Quick Migrate skips items with a name you already have and reuses matching ingredients.

What happens to recipes I used as ingredients in other recipes?
They are imported as recipes, and a linked recipe-derived ingredient is created from each one so the recipes that use them keep working. Quick Migrate imports them in the right order automatically.

Are my recipe dates kept?
Yes. Both routes keep the created date from the desktop app.

Are production plans migrated?
Only through the Advanced import. Quick Migrate leaves them out.

Are custom notes and settings transferred?
Recipe notes, best-before days, evaporation and ingredient settings such as inclusions and infusions are transferred. Some advanced desktop features have no equivalent in the Web App.

Is there a file size limit?
Yes, 100 MB.

Additional resources

Last updated: September 20, 2026