GitHub

Every recipe you love, minus the life story.

Sizzle is a cookbook you run yourself. Share a recipe page from your phone and it keeps the ingredients, the steps and the best photo. The ads, pop-ups and life story stay behind.

Free and open source under the AGPL. Runs in one small Docker container.

Roasted carrot and ginger soup in Sizzle.
Warm apple crumble tarts in Sizzle.
Golden rosemary roast chicken in Sizzle.

Golden roast chicken. Carrot soup. Warm apple crumble.

Bubbling beef lasagna in Sizzle.
Chocolate chunk cookies with flaky salt in Sizzle.
Miso ramen with salmon and soft-boiled eggs in Sizzle.

Miso ramen. Bubbling lasagna. Chocolate cookies.

Lemon pea and mint pasta in Sizzle.
Strawberry cream tart in Sizzle.
Lemon salmon with cucumber salsa in Sizzle.

Lemon salmon. Pea and mint pasta. Strawberry tart.

Charred corn with lime butter in Sizzle.
Little summer berry lattice tarts in Sizzle.
Smoky sweetcorn and black bean tacos in Sizzle.

Smoky tacos. Charred corn. Summer berry tarts.

Something for every season

How it works

  1. Share

    Save a recipe from your phone’s share sheet, or paste several links at once. Sharing guides cover iPhone, Android and computers.

  2. Sizzle cleans it up

    Sizzle reads a page’s recipe data without AI. You can also write recipes yourself, or enable Claude to handle pasted text and pages without recipe data.

  3. Cook from your collection

    Browse a photo grid or a compact list. Search by ingredient, or filter by course, cuisine, diet and time. “I made this” keeps track of when and how often you cook each recipe.

YouTube works too. Sizzle reads recipes from video descriptions or the recipe pages they link to. Recipes that are only spoken in the video aren’t supported yet.

Save it while you’re thinking of it

A good recipe deserves more than an open tab.

Paste a link, or add up to 20 at once. Sizzle reads the recipe data and brings the ingredients, method and photo into your cookbook.

On your phone? Send a page from the share sheet. Have a family favorite? Write it in yourself.

No AI needed for pages with recipe data or recipes you write yourself. Claude is an optional fallback.

The real Add a recipe form with two example links, the Write a recipe tab, and the Import button.
Two example links, ready to import. One link per line.

Find something you actually want to cook

Your recipes. All in one place.

Browse by photo, search for an ingredient, or narrow things down by course, cuisine, diet and time.

Sizzle’s photo grid, with recipe search, Favorites, course filters, time filters and recipe photos.
The real cookbook, populated with Sizzle’s bundled sample recipes.

More recipes, less scrolling.

Switch to a compact list when you know what you’re looking for. Photos, cooking times and favorites stay in view.

Compact list view showing recipe thumbnails, names, cuisines, cooking times and favorite markers.
Same collection. A little more compact.

Made for the kitchen counter

Keep your place.
Get dinner made.

Tap ingredients as you add them. Highlight the step you’re on. The recipe stays easy to follow, even when your hands are full.

A close-up of the real Ingredients and Method sections: neutral oil is checked off and the first step is highlighted in yellow.
A closer look at ingredient check-offs and the active cooking step.

On a phone, ingredients and method stack into one easy-to-read page.

Build a collection you come back to

Remember the keepers.

Favorite the recipes worth making again. Tap “I made this” after cooking, and Sizzle remembers when and how often you’ve made each one.

Next time someone asks what you cooked last week, it’s right there.

Recipe history for the sample Coconut vegetable korma: Made once, last made today, with the recipe’s author and added date.
A sample recipe’s history, after marking it as made.

Preview upcoming themes

Six themes are in development, with light and dark modes that can follow your device. Try a preview below.

Try a theme
Preview in

Planned: each browser will remember its own look.

Theme preview

Try your first cookbook

With Docker running, start a local trial. No account or AI key is needed. Only this computer can connect, and the trial keeps its recipes in a separate storage volume.

Write a recipe or load the optional sample cookbook, try cooking mode, then download your recipes from Settings. Phone sharing can wait until you install on your server.

Sample recipes and trial guide

docker run -d --name sizzle-try \
  -p 127.0.0.1:3001:80 \
  --read-only --security-opt no-new-privileges:true \
  --tmpfs /rails/tmp:uid=1000,gid=1000,mode=0755 \
  --tmpfs /tmp:mode=1777 \
  -v sizzle-try-storage:/rails/storage \
  ghcr.io/leemac/sizzle:latest

Allow a moment for startup, then open http://localhost:3001.

Stop with docker stop sizzle-try; resume with docker start sizzle-try. Both keep your recipes. The removal guide explains how to delete the trial and its data.

Yours, on your own server

Run Sizzle in one Docker container on a home server, NAS or Raspberry Pi. Your recipes and photos stay on your server, with no tracking or Sizzle subscription.

Sizzle has no login yet. Keep it on your home network, or use Tailscale to reach it away from home. Optional Claude extraction uses your own API key and is billed by Anthropic.

Tech specs

  • One Docker container
  • SQLite · no external database
  • amd64 and arm64
  • No AI required

1. Download the files

With Docker and Compose installed:

mkdir sizzle && cd sizzle
url=https://github.com/leemac/sizzle/releases/latest/download
curl -fsSLO $url/docker-compose.yml
curl -fsSL $url/env.example -o .env

2. Set your share token

openssl rand -hex 32

Open .env in a text editor, paste the generated value after SIZZLE_API_TOKEN=, and save. This protects sharing requests, not the web UI. Leave the Anthropic key empty to try without AI.

3. Start your cookbook

docker compose up -d --wait

When the health check passes, open http://<your-server>:3000. On the server itself, use http://localhost:3000.

Full installation guide · Troubleshooting

Built in the open

Sizzle is free to run, modify and share. The code, roadmap and security model are on GitHub, and bug reports and ideas are welcome.

See what’s being built