Pantry-aware shopping list
Cooking several dishes? Combine their ingredients, subtract what is already at home, and buy only what is missing.
Processed locally · No automatic saving
Preparing the local workspace. This tool requires modules, BigInt, Unicode validation, file reading and Blob downloads. If this notice remains, use a browser with those features. The workspace stays disabled and no cloud fallback is used.
Grouping rules and limits
Ingredient names match exactly after NFC normalization and trimming. Case and internal spaces are preserved. Synonyms are not merged; rename ingredients explicitly when needed. Only g/kg and ml/L convert. Piece and each custom count label stay separate.
Up to 30 dishes, 300 demand rows and 300 stock rows. Each grouped demand or stock total is capped at 1,000,000,000 g/ml/piece/custom units. This tool does not assess dietary, nutritional or storage safety. Inputs stay in this page’s memory without uploading or automatic saving. Refreshing, leaving or switching language loses unexported data. Clearing does not remove downloaded files or securely erase device memory.
Frequently asked questions
Can grams convert to millilitres?
No. Mass and volume remain separate because density varies by ingredient. The same name in different unit groups appears on separate rows with a warning.
How are ingredients grouped?
By the trimmed exact name and compatible unit dimension. Synonyms are not guessed. Different custom count labels such as “bag” and “packet” remain separate.
Is inventory saved automatically?
No. Export and re-import the project JSON when needed. Purchased marks track this page only and never deduct inventory a second time.