> ## Documentation Index
> Fetch the complete documentation index at: https://brewgravity.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Import overview

> Bringing recipes into Brewgravity from other brewing software.

Brewgravity imports **BeerXML** (`.xml`) and **BeerJSON** (`.json`) — between them,
essentially every homebrewing app can hand you a file Brewgravity will read.

<Card title="Go to Import" icon="file-import" href="https://brewgravity.com/import">
  The import page lives at <b>/import</b> in the app, or press <kbd>⌘</kbd><kbd>K</kbd> and type "import".
</Card>

## How to import

<Steps>
  <Step title="Export from your current app">
    Choose BeerXML if you are offered a choice — it is the format with the
    widest support. See [Brewer's Friend](/docs/import/brewers-friend) or
    [other tools](/docs/import/other-tools) for the exact menu path.
  </Step>

  <Step title="Unzip, if you got a zip">
    Bulk exports usually arrive as a `.zip` archive. Brewgravity reads `.xml` and
    `.json` files, not archives, so unzip it first and keep the loose files.
  </Step>

  <Step title="Drop the files on the import page">
    Drag them onto the drop zone or use the file picker. Select as many as you
    like — a whole folder of recipes imports in one go.
  </Step>

  <Step title="Check the numbers">
    Brewgravity lists every recipe it imported. Open a few and confirm the stats
    look right — see [what to check](#what-to-check-afterwards) below.
  </Step>
</Steps>

## What comes across

<AccordionGroup>
  <Accordion title="Imported" icon="circle-check">
    * Recipe name, style, type (all grain / extract / partial mash)
    * Batch size, boil time, efficiency
    * Fermentables with weight, colour, and yield
    * Hops with weight, alpha acid, time, and use
    * Yeast with type, form, and attenuation
    * Other ingredients with type, use, amount, and time
    * Mash steps with temperature and duration
    * Recipe notes
  </Accordion>

  <Accordion title="Not imported" icon="circle-xmark">
    * **Brew history and fermentation logs.** BeerXML has no standard way to
      carry them, so past batches do not come across. Recipes do.
    * **Water profiles and equipment profiles.** Set these per recipe in Brewgravity.
    * **Photos, tasting notes, and app-specific extras.** Anything outside the
      BeerXML spec is dropped by definition.
  </Accordion>
</AccordionGroup>

<Note>
  A single BeerXML file can hold many recipes, and Brewgravity imports all of them.
  This is why "export all my recipes" from another app often produces one large
  file rather than fifty small ones — either works.
</Note>

## What to check afterwards

Import is faithful to the file. The file is not always faithful to your
brewhouse, so three fields are worth a look on anything you plan to brew:

<ResponseField name="Efficiency" type="most common culprit">
  Frequently exported as the original author's number, or as a default. If
  imported recipes read consistently high or low on OG, this is why.
</ResponseField>

<ResponseField name="Batch size">
  Exports vary on whether this means pre-boil, post-boil, or into-fermenter
  volume. Brewgravity treats it as the volume in the fermenter.
</ResponseField>

<ResponseField name="Hop alpha acids">
  Carried across from the file, which reflects the crop the author had. Your
  packet is a different crop with a different number, and IBU follows the
  number.
</ResponseField>

## Importing everything at once

There is no limit on how many files you select. Brewgravity processes them one at a
time and reports every recipe name it created, so a bulk migration is a single
drag-and-drop rather than an evening.

If you would rather script it — a few hundred recipes, or an ongoing sync — the
[API](/docs/api-reference/introduction) creates recipes and ingredients directly.

## Trouble?

See [Import troubleshooting](/docs/import/troubleshooting).
