食材相克 (Food Incompatibility) Explained: The Complete HowToCook Guide

食材相克 is a traditional Chinese dietary concept describing food combinations that may interfere with nutrient absorption, cause digestive discomfort, or theoretically produce harmful substances when consumed together.

The HowToCook repository by Anduin2017 documents practical interpretations of 食材相克 in tips/食材相克与禁忌.md. This guide explains the science behind these pairings and shows how developers can programmatically access this dietary data.

What Is 食材相克?

食材相克 translates to "food incompatibility" or "clashing ingredients." Rooted in traditional Chinese medicine and dietary culture, it identifies specific ingredient pairings that may reduce nutritional value or cause adverse reactions.

According to the HowToCook source code in tips/食材相克与禁忌.md, these interactions fall into three categories:

  • Nutrient interference – Compounds in one food bind nutrients in another, reducing absorption
  • Enzymatic degradation – Enzymes in one ingredient destroy vitamins in another
  • Theoretical toxicity – Chemical reactions that could theoretically produce harmful substances (though often negligible in normal dietary amounts)

Common Food Incompatibility Pairs in HowToCook

The repository documents ten specific 食材相克 pairs with detailed explanations. Here are the scientifically notable combinations:

Spinach and Tofu

Spinach contains high levels of oxalic acid, which binds with calcium in tofu to form calcium oxalate—a compound poorly absorbed by the body【1†L9-L13】. The file notes that blanching spinach before cooking reduces oxalate content significantly.

Carrot and White Radish

Carrots contain enzymes that degrade vitamin C. When combined with white radish (which is rich in vitamin C), these enzymes destroy the nutrient【1†L14-L18】.

Shrimp and High-Dose Vitamin C

Shrimp contains trace amounts of pentavalent arsenic. Theoretically, excessive vitamin C could reduce this to toxic trivalent arsenic【1†L19-L23】. However, the repository emphasizes this risk is negligible with normal dietary portions.

Persimmon and Crab

Persimmon tannins precipitate crab proteins into indigestible tannin-protein complexes【1†L24-L27】, potentially causing gastrointestinal discomfort.

Milk and Chocolate

Chocolate's oxalic acid binds calcium in milk, reducing calcium bioavailability【1†L29-L32】.

Soy Milk and Egg

Uncooked soy milk contains trypsin inhibitors that hinder protein digestion, affecting the utilization of egg protein【1†L34-L38】.

Cucumber and Tomato

Similar to the carrot-radish pair, cucumber contains vitamin-C-degrading enzymes that reduce tomato's nutritional value【1†L39-L43】.

Lamb and Watermelon

From a traditional Chinese medicine perspective, lamb's warming nature conflicts with watermelon's cooling properties, potentially causing gastrointestinal upset【1†L44-L48】.

Pork and Tea

Tea tannins bind pork proteins, forming indigestible precipitates【1†L49-L53】.

Honey and Tofu

Organic acids in honey may react with tofu protein, leading to mild digestive discomfort【1†L54-L57】.

Scientific Basis and Practical Considerations

The tips/食材相克与禁忌.md file emphasizes that most 食材相克 combinations are not absolute prohibitions. Rather, they represent guidance for optimal nutrition and digestive comfort.

Key mitigating factors include:

  • Cooking methods – Blanching spinach reduces oxalates【1†L12-L13】
  • Portion sizes – Theoretical risks (like shrimp and vitamin C) require impractical consumption levels to become dangerous
  • Individual tolerance – Digestive sensitivity varies by person

The repository concludes that a balanced, varied diet remains the cornerstone of health【1†L60-L66】, with 食材相克 serving as supplementary knowledge rather than strict rules.

Working with 食材相克 Data Programmatically

Developers can extract and utilize the food incompatibility data from the HowToCook repository for building diet-assistant tools or nutritional applications.

Extracting Pairs with Python

The following script parses tips/食材相克与禁忌.md to extract ingredient pairs using regular expressions:

import re
import pathlib

md_path = pathlib.Path(
    "tips/食材相克与禁忌.md"
).resolve()

content = md_path.read_text(encoding="utf-8")
pairs = re.findall(r"\d+\.\s\*\*(.+?)\s\+\s(.+?)", content)

for a, b in pairs:
    print(f"{a.strip()}{b.strip()}")

To find all files related to food incompatibility in the repository:

git ls-files | grep -i "相克"

Rendering as HTML with JavaScript

For web applications, this Node.js snippet converts the markdown list to HTML:

const fs = require('fs')
const text = fs.readFileSync('tips/食材相克与禁忌.md', 'utf8')
const lines = text.split('\n')
const html = lines
  .filter(l => /^\d+\.\s/.test(l))
  .map(l => `<li>${l.replace(/^.*?\*\*(.+?)\s\+\s(.+?):/, '$1 &amp; $2')}</li>`)
  .join('\n')
console.log(`<ul>\n${html}\n</ul>`)

Summary

  • 食材相克 is a traditional Chinese concept identifying food combinations that may reduce nutrient absorption or cause digestive issues.
  • The HowToCook repository documents ten specific pairs in tips/食材相克与禁忌.md, including spinach+tofu (oxalate binding) and shrimp+vitamin C (theoretical arsenic reduction).
  • Most incompatibilities are not absolute bans; cooking methods and portion sizes mitigate risks significantly.
  • Developers can extract this data programmatically using Python regex, shell commands, or JavaScript parsers for diet-assistant applications.

Frequently Asked Questions

Is 食材相克 scientifically proven?

While some 食材相克 pairs have biochemical explanations (such as oxalic acid binding calcium or enzymes degrading vitamin C), others remain theoretical or are based on traditional Chinese medicine principles rather than modern clinical evidence. The HowToCook repository emphasizes that these combinations are guidelines for optimal nutrition rather than absolute prohibitions.

Can I eat spinach and tofu together safely?

Yes, but preparation matters. According to tips/食材相克与禁忌.md, blanching spinach before cooking reduces oxalic acid content significantly, minimizing the formation of insoluble calcium oxalate when combined with tofu. This cooking method allows you to consume both ingredients while maintaining calcium bioavailability.

Are the risks from incompatible food combinations dangerous?

Most documented 食材相克 combinations pose negligible risk in normal dietary amounts. For example, the theoretical arsenic toxicity from shrimp and vitamin C requires consuming impractical quantities of both substances simultaneously. The primary concerns are usually reduced nutrient absorption or mild digestive discomfort rather than acute toxicity.

How can developers use the 食材相克 data from HowToCook?

Developers can parse the tips/食材相克与禁忌.md file using regular expressions to extract ingredient pairs, as demonstrated in the Python and JavaScript code examples above. This data can power diet-assistant applications, nutritional analysis tools, or meal-planning features that flag potentially suboptimal food combinations.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →