BrewForge Docs

Migrating from Brewfather

Step-by-step guide to importing your brewing data from Brewfather into BrewForge

BrewForge can import your entire Brewfather library — batches, recipes, equipment and process profiles, and inventory — via a guided import wizard. This guide walks you through every step.

Brewfather Migration Discount

If you have remaining time on your Brewfather subscription (purchased after March 31, 2025), you can get a proportional discount on BrewForge. Upload your Brewfather/Paddle receipt in Settings → Subscription to submit a migration request. The discount is based on your remaining subscription time and stacks with other available promotions.

Before You Start

  • BrewForge accountsign up if you haven't already
  • Free tier limits — The Free plan has a limited number of brews. If you have a large batch history, consider upgrading before importing
  • Brewfather export file — You'll generate this in Step 1

Step 1: Export Your Data from Brewfather

  1. Open Brewfather and go to Settings
  2. Scroll to the Data section
  3. Click Export All
  4. Choose JSON format
  5. Save the downloaded file

This file contains all your batches, recipes, profiles, and inventory in a single JSON export.

Make sure you use Export All, not a single-recipe export. The import wizard only accepts the full Brewfather JSON export.

Step 2: Start the Import Wizard

  1. In BrewForge, go to SettingsBrewfather Import
  2. Drag and drop your JSON file onto the upload area, or click Browse to select it
  3. BrewForge validates the file — if you see an error, double-check that you used "Export All" from Brewfather

Step 3: Select What to Import

The wizard shows four tabs. You can pick exactly what to bring over.

Batches

All your brew sessions, showing batch number, recipe name, and status (Planning, Brewing, Fermenting, Conditioning, Completed, Archived).

Use the search bar to find specific batches, or Select All / Deselect All to manage your selection quickly.

Recipes

Standalone recipes that aren't attached to a batch. Each shows style, estimated ABV, and IBU.

Recipes are imported with Idea status — you can promote them to a full brew later.

Profiles

Equipment, mash, fermentation, and water profiles from your Brewfather account.

Smart Auto-Selection

When you select batches or recipes, BrewForge automatically selects the profiles they use. The "Used by selection" filter lets you see only profiles referenced by your current selection. Each profile shows a badge indicating how many batches/recipes reference it (e.g., "3 batches, 1 recipe").

You can still manually add or remove profiles from the selection.

Inventory

Fermentables, hops, yeasts, and miscellaneous items with their current stock quantities.

Selecting batches or recipes automatically selects the ingredients they use, just like profiles. The "Used by selection" filter helps you focus on what matters.

Recipe-only ingredients — items that appear in your recipes but aren't tracked in your Brewfather inventory — are shown with a dashed border and a purple "Recipe only" badge. These are imported as ingredient definitions without stock quantities.

Step 4: Configure Import Options

Batch Options

  • Preserve original batch numbers — keeps your Brewfather batch numbering intact
  • Skip duplicate batch numbers — prevents re-importing batches you've already brought over in a previous import

Recipe Options

  • Skip recipes with same name — avoids duplicates if you run the import again
  • All imported recipes start with Idea status

Profile Options

  • Skip profiles with same name — prevents duplicate equipment, mash, fermentation, and water profiles

Inventory Options

Choose how to handle ingredients that may already exist in BrewForge:

ModeWhat it doesBest for
Review matches manuallyReview each ingredient match before importingFirst-time import when you already have BrewForge inventory
Auto-merge with existingAutomatically merge by name, combining quantitiesQuick import when you trust name matching
Skip duplicatesKeep existing items, skip anything with the same nameRe-importing after a partial import
Import as newCreate new entries for everythingClean start with no existing inventory

Review matches manually is recommended for your first import. It gives you full control over how each Brewfather ingredient maps to your existing BrewForge inventory.

Step 5: Reconcile Inventory

This step only appears if you selected Review matches manually AND chose inventory items to import.

For each ingredient, choose how to handle it:

  • Create as new — add as a new inventory item (the default)
  • Merge with inventory — combine with an existing inventory item, adding stock quantities together
  • Link to My Ingredients — connect to an ingredient definition you already have
  • Link to a Package — connect to an ingredient from a community or custom ingredient package

BrewForge auto-suggests matches by exact name. Items with a match are pre-filled — review and adjust as needed. Each suggestion shows the current stock quantity so you can verify you're merging the right items.

Step 6: Import

The wizard imports your data in phases, showing a progress bar:

  1. Profiles — equipment, mash, fermentation, and water profiles
  2. Inventory — ingredient stock items
  3. Ingredients — recipe-only ingredient definitions (created in a "Brewfather Import" package)
  4. Batches — your brew sessions (imported in chunks of 10)
  5. Recipes — standalone recipes

Don't close your browser tab during import. Large libraries with many batches may take a minute or two to process.

Step 7: Review Results

The final screen shows a summary of everything that was imported:

  • Count of imported batches, profiles, and inventory items
  • Count of skipped items (duplicates)
  • Error details if any items failed to import

Click View Brews to see your imported batch history, or Back to Settings to return to the settings page.

Understanding Imported Data

Import Overrides: How Calculated Values Work

Imported values use Brewfather's calculations

When you import a batch, BrewForge stores Brewfather's calculated recipe values (OG, FG, ABV, IBU, color, attenuation, water volumes, mash pH) as import overrides. These values were computed by Brewfather's calculation engine — not BrewForge's.

What this means in practice:

  • Imported recipe stats reflect Brewfather's formulas and settings, not BrewForge's
  • A small blue import icon appears next to these values, indicating they came from Brewfather
  • These override values are preserved as-is for historical accuracy
  • Actual brew-day measurements (OG/FG readings you recorded in Brewfather) are imported separately and take priority over the calculated values

Switching to BrewForge Calculations

When you try to edit an imported recipe, BrewForge will prompt you with two options:

  • Create New Version — creates a versioned copy of the brew with BrewForge calculations. The original imported version is preserved in the version history, so you can always refer back to the Brewfather values.
  • Transform to Native Recipe — removes import overrides in-place, letting BrewForge recalculate all values (OG, FG, ABV, IBU, color, attenuation, water volumes, mash pH) using its own engine. This replaces the Brewfather values permanently.

The same prompt appears when you try to change the equipment profile on an imported brew.

What Maps Where

BrewfatherBrewForgeNotes
BatchesBrewsTagged "Imported". Status is mapped (Brewing → Brew Day, Fermenting → Fermentation, etc.)
RecipesBrews (Idea status)Available in your recipe library, not attached to a batch
Equipment profilesEquipment profilesMarked as imported. Automatically linked to brews that reference them
Mash profilesMash profilesMarked as imported
Fermentation profilesFermentation profilesMarked as imported
Water profilesWater profilesMarked as imported
InventoryInventoryStock quantities preserved. Optionally merged with existing items
Recipe-only ingredientsPackage ingredientsCreated in a "Brewfather Import" package with zero stock

Profile and Ingredient Linking

  • Profiles imported with batches: BrewForge automatically links each brew to its imported equipment profile using Brewfather's internal IDs
  • Batches imported without profiles: BrewForge attempts to match equipment profiles by name against your existing profiles. If no match is found, the brew is created without a profile link — you can assign one manually later
  • Recipe ingredients: Each ingredient in an imported recipe is linked to a package ingredient — either from your inventory import, or auto-created in a "Brewfather Import" ingredient package

Troubleshooting

ProblemSolution
"Invalid file format" errorMake sure you used Brewfather's Export All (JSON), not a single-recipe export or BeerXML export
Can't import all batchesFree tier has a brew limit — upgrade your plan before importing
Missing equipment profilesIf you didn't select profiles for import, BrewForge tries to match by name. Import profiles first, then batches for best results
Duplicate batches after re-importEnable Skip duplicate batch numbers in the import options (Step 4)
Recipe values differ from BrewfatherImported values use Brewfather's calculations. Edit the recipe and choose "Transform to Native Recipe" to recalculate with BrewForge's engine, or "Create New Version" to keep the original
Import seems stuckLarge libraries import batches in chunks of 10 — this can take a couple of minutes. Don't close the tab

On this page