{
  "name": "Vegetable Crop Sowing, Spacing & Harvest — open table",
  "description": "Open reference table for common vegetable and herb crops: when to start seeds indoors, when to sow or transplant relative to your last frost, days to harvest, germination soil temperature, light needs, plant spacing, and frost tolerance. Free CSV + JSON, CC-BY 4.0.",
  "url": "https://www.getgrowli.app/data/vegetable-crop-sowing-spacing",
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "creditText": "Vegetable crop sowing/spacing reference table compiled by Growli (getgrowli.app), CC-BY 4.0, from US university extension planting guides and the RHS sowing calendar; timing is relative to local frost dates.",
  "sources": [
    "US university Cooperative Extension planting guides (UNL, UMN, NC State, Texas A&M, UF/IFAS)",
    "RHS sowing calendar (en-GB cross-reference)",
    "USDA / NOAA last- and first-frost averages"
  ],
  "methodology": "Timing offsets are expressed relative to the average last spring frost (or, for fall-planted crops like garlic, the first fall frost) so they apply in any USDA zone. Values are calibrated against US university extension planting guides (Nebraska, Minnesota, NC State, Texas A&M, UF/IFAS) cross-referenced with the RHS sowing calendar; days-to-harvest is a mid-range estimate that varies by cultivar.",
  "spatialCoverage": "US, GB",
  "lastVerified": "2026-05-15",
  "recordCount": 50,
  "data": [
    {
      "crop": "Arugula",
      "category": "Cool-season",
      "startIndoors": "Direct-sow only",
      "outdoorTiming": "28 days before last spring frost",
      "daysToHarvest": 40,
      "germTempC": "7-18 °C (45-65 °F)",
      "lightRequirement": "Full sun in cool weather; part shade in warm climates to delay bolting",
      "spacingInches": "3-6 inches (8-15 cm)",
      "frostTolerance": "hardy"
    },
    {
      "crop": "Asparagus",
      "category": "Perennial",
      "startIndoors": "Direct-sow only",
      "outdoorTiming": "21 days before last spring frost",
      "daysToHarvest": 730,
      "germTempC": "Soil 10-18 °C (50-65 °F) at crown planting",
      "lightRequirement": "Full sun — 6-8 hours direct",
      "spacingInches": "12-18 inches (30-45 cm)",
      "frostTolerance": "hardy"
    },
    {
      "crop": "Basil",
      "category": "Warm-season",
      "startIndoors": "6 weeks before last spring frost",
      "outdoorTiming": "7 days after last spring frost",
      "daysToHarvest": 60,
      "germTempC": "20-25 °C (68-77 °F)",
      "lightRequirement": "Full sun — 6+ hours direct",
      "spacingInches": "8-12 inches (20-30 cm)",
      "frostTolerance": "tender"
    },
    {
      "crop": "Beets",
      "category": "Cool-season",
      "startIndoors": "Direct-sow only",
      "outdoorTiming": "21 days before last spring frost",
      "daysToHarvest": 58,
      "germTempC": "10-29 °C (50-85 °F)",
      "lightRequirement": "Full sun — 6+ hours direct",
      "spacingInches": "3-4 inches (8-10 cm)",
      "frostTolerance": "half-hardy"
    },
    {
      "crop": "Broccoli",
      "category": "Cool-season",
      "startIndoors": "6 weeks before last spring frost",
      "outdoorTiming": "14 days before last spring frost",
      "daysToHarvest": 80,
      "germTempC": "7–29 °C (45–85 °F)",
      "lightRequirement": "Full sun — 6+ hours direct",
      "spacingInches": "18–24 inches (45–60 cm)",
      "frostTolerance": "hardy"
    },
    {
      "crop": "Brussels Sprouts",
      "category": "Cool-season",
      "startIndoors": "12 weeks before last spring frost",
      "outdoorTiming": "14 days before last spring frost",
      "daysToHarvest": 90,
      "germTempC": "7-29 °C (45-85 °F)",
      "lightRequirement": "Full sun — 6+ hours direct",
      "spacingInches": "18-24 inches (45-60 cm)",
      "frostTolerance": "hardy"
    },
    {
      "crop": "Bush beans",
      "category": "Warm-season",
      "startIndoors": "Direct-sow only",
      "outdoorTiming": "10 days after last spring frost",
      "daysToHarvest": 55,
      "germTempC": "18-29 °C (65-85 °F)",
      "lightRequirement": "Full sun — 6-8 hours direct",
      "spacingInches": "4-6 inches (10-15 cm)",
      "frostTolerance": "tender"
    },
    {
      "crop": "Cabbage",
      "category": "Cool-season",
      "startIndoors": "6 weeks before last spring frost",
      "outdoorTiming": "21 days before last spring frost",
      "daysToHarvest": 80,
      "germTempC": "7–29 °C (45–85 °F)",
      "lightRequirement": "Full sun — 6+ hours direct",
      "spacingInches": "12–24 inches (30–60 cm)",
      "frostTolerance": "hardy"
    },
    {
      "crop": "Cantaloupe",
      "category": "Warm-season",
      "startIndoors": "3 weeks before last spring frost",
      "outdoorTiming": "14 days after last spring frost",
      "daysToHarvest": 80,
      "germTempC": "24-32 °C (75-90 °F)",
      "lightRequirement": "Full sun — 6-8 hours direct",
      "spacingInches": "36-48 inches (90-120 cm)",
      "frostTolerance": "tender"
    },
    {
      "crop": "Carrots",
      "category": "Cool-season",
      "startIndoors": "Direct-sow only",
      "outdoorTiming": "17 days before last spring frost",
      "daysToHarvest": 70,
      "germTempC": "10-29 °C (50-85 °F)",
      "lightRequirement": "Full sun — 6+ hours direct",
      "spacingInches": "2-3 inches (5-8 cm)",
      "frostTolerance": "half-hardy"
    },
    {
      "crop": "Cauliflower",
      "category": "Cool-season",
      "startIndoors": "6 weeks before last spring frost",
      "outdoorTiming": "14 days before last spring frost",
      "daysToHarvest": 85,
      "germTempC": "7–24 °C (45–75 °F)",
      "lightRequirement": "Full sun — 6+ hours direct",
      "spacingInches": "18–24 inches (45–60 cm)",
      "frostTolerance": "half-hardy"
    },
    {
      "crop": "Celery",
      "category": "Cool-season",
      "startIndoors": "10 weeks before last spring frost",
      "outdoorTiming": "14 days before last spring frost",
      "daysToHarvest": 115,
      "germTempC": "15-21 °C (60-70 °F)",
      "lightRequirement": "Full sun — 6+ hours direct",
      "spacingInches": "8-12 inches (20-30 cm)",
      "frostTolerance": "half-hardy"
    },
    {
      "crop": "Chives",
      "category": "Perennial",
      "startIndoors": "6 weeks before last spring frost",
      "outdoorTiming": "14 days before last spring frost",
      "daysToHarvest": 60,
      "germTempC": "15–21 °C (60–70 °F)",
      "lightRequirement": "Full sun to partial shade — 4–6+ hours direct",
      "spacingInches": "6–12 inches (15–30 cm)",
      "frostTolerance": "hardy"
    },
    {
      "crop": "Cilantro",
      "category": "Cool-season",
      "startIndoors": "Direct-sow only",
      "outdoorTiming": "21 days before last spring frost",
      "daysToHarvest": 50,
      "germTempC": "10-29 °C (50-85 °F)",
      "lightRequirement": "Full sun to partial shade — 4-6 hours direct",
      "spacingInches": "4-6 inches (10-15 cm)",
      "frostTolerance": "half-hardy"
    },
    {
      "crop": "Collard Greens",
      "category": "Cool-season",
      "startIndoors": "4 weeks before last spring frost",
      "outdoorTiming": "21 days before last spring frost",
      "daysToHarvest": 70,
      "germTempC": "7-29 °C (45-85 °F)",
      "lightRequirement": "Full sun — 6+ hours direct",
      "spacingInches": "18-24 inches (45-60 cm)",
      "frostTolerance": "hardy"
    },
    {
      "crop": "Cucumbers",
      "category": "Warm-season",
      "startIndoors": "3 weeks before last spring frost",
      "outdoorTiming": "14 days after last spring frost",
      "daysToHarvest": 60,
      "germTempC": "21-30 °C (70-85 °F)",
      "lightRequirement": "Full sun — 6-8 hours direct",
      "spacingInches": "12-18 inches (30-45 cm)",
      "frostTolerance": "tender"
    },
    {
      "crop": "Dill",
      "category": "Cool-season",
      "startIndoors": "Direct-sow only",
      "outdoorTiming": "21 days before last spring frost",
      "daysToHarvest": 60,
      "germTempC": "10-27 °C (50-80 °F)",
      "lightRequirement": "Full sun — 6-8 hours direct",
      "spacingInches": "9-12 inches (23-30 cm)",
      "frostTolerance": "hardy"
    },
    {
      "crop": "Edamame",
      "category": "Warm-season",
      "startIndoors": "Direct-sow only",
      "outdoorTiming": "14 days after last spring frost",
      "daysToHarvest": 80,
      "germTempC": "16–35 °C (60–95 °F); optimal 21–32 °C (70–90 °F)",
      "lightRequirement": "Full sun — 6+ hours direct",
      "spacingInches": "6 inches (15 cm) plants; 18–24 inches (45–60 cm) between rows",
      "frostTolerance": "tender"
    },
    {
      "crop": "Eggplant",
      "category": "Warm-season",
      "startIndoors": "9 weeks before last spring frost",
      "outdoorTiming": "14 days after last spring frost",
      "daysToHarvest": 80,
      "germTempC": "24-30 °C (75-85 °F)",
      "lightRequirement": "Full sun — 6-8 hours direct",
      "spacingInches": "18-24 inches (45-60 cm)",
      "frostTolerance": "tender"
    },
    {
      "crop": "Fava Beans",
      "category": "Cool-season",
      "startIndoors": "Direct-sow only",
      "outdoorTiming": "42 days before last spring frost",
      "daysToHarvest": 90,
      "germTempC": "7–21 °C (45–70 °F); optimal 15–18 °C (60–65 °F)",
      "lightRequirement": "Full sun — 6+ hours direct",
      "spacingInches": "6–9 inches (15–23 cm) plants; 18–24 inches (45–60 cm) between rows",
      "frostTolerance": "half-hardy"
    },
    {
      "crop": "Garlic",
      "category": "Fall-planted",
      "startIndoors": "Direct-sow only",
      "outdoorTiming": "35 days before first fall frost",
      "daysToHarvest": 240,
      "germTempC": "Soil 10-15 °C (50-60 °F) at planting",
      "lightRequirement": "Full sun — 6+ hours direct",
      "spacingInches": "4-6 inches (10-15 cm)",
      "frostTolerance": "fall-planted"
    },
    {
      "crop": "Kale",
      "category": "Cool-season",
      "startIndoors": "6 weeks before last spring frost",
      "outdoorTiming": "28 days before last spring frost",
      "daysToHarvest": 60,
      "germTempC": "7–29 °C (45–85 °F)",
      "lightRequirement": "Full sun to part shade — 4–6+ hours direct",
      "spacingInches": "12–18 inches (30–45 cm)",
      "frostTolerance": "hardy"
    },
    {
      "crop": "Kohlrabi",
      "category": "Cool-season",
      "startIndoors": "5 weeks before last spring frost",
      "outdoorTiming": "21 days before last spring frost",
      "daysToHarvest": 55,
      "germTempC": "7-29 °C (45-85 °F)",
      "lightRequirement": "Full sun — 6+ hours direct",
      "spacingInches": "6-9 inches (15-23 cm)",
      "frostTolerance": "half-hardy"
    },
    {
      "crop": "Leeks",
      "category": "Cool-season",
      "startIndoors": "10 weeks before last spring frost",
      "outdoorTiming": "28 days before last spring frost",
      "daysToHarvest": 120,
      "germTempC": "7-25 °C (45-77 °F)",
      "lightRequirement": "Full sun — 6+ hours direct",
      "spacingInches": "6 inches (15 cm)",
      "frostTolerance": "hardy"
    },
    {
      "crop": "Lettuce",
      "category": "Cool-season",
      "startIndoors": "4 weeks before last spring frost",
      "outdoorTiming": "21 days before last spring frost",
      "daysToHarvest": 50,
      "germTempC": "10-21 °C (50-70 °F)",
      "lightRequirement": "Full sun in cool weather, light shade in heat",
      "spacingInches": "6-12 inches (15-30 cm)",
      "frostTolerance": "hardy"
    },
    {
      "crop": "Okra",
      "category": "Warm-season",
      "startIndoors": "4 weeks before last spring frost",
      "outdoorTiming": "14 days after last spring frost",
      "daysToHarvest": 60,
      "germTempC": "21-35 °C (70-95 °F)",
      "lightRequirement": "Full sun — 6-8 hours direct",
      "spacingInches": "12-18 inches (30-45 cm)",
      "frostTolerance": "tender"
    },
    {
      "crop": "Onions",
      "category": "Cool-season",
      "startIndoors": "10 weeks before last spring frost",
      "outdoorTiming": "28 days before last spring frost",
      "daysToHarvest": 110,
      "germTempC": "10-35 °C (50-95 °F)",
      "lightRequirement": "Full sun — 6+ hours direct",
      "spacingInches": "4-6 inches (10-15 cm)",
      "frostTolerance": "hardy"
    },
    {
      "crop": "Oregano",
      "category": "Perennial",
      "startIndoors": "6 weeks before last spring frost",
      "outdoorTiming": "around the last spring frost",
      "daysToHarvest": 80,
      "germTempC": "13-21 °C (55-70 °F)",
      "lightRequirement": "Full sun — 6+ hours direct",
      "spacingInches": "8-12 inches (20-30 cm)",
      "frostTolerance": "hardy"
    },
    {
      "crop": "Parsley",
      "category": "Cool-season",
      "startIndoors": "10 weeks before last spring frost",
      "outdoorTiming": "21 days before last spring frost",
      "daysToHarvest": 75,
      "germTempC": "13-24 °C (55-75 °F)",
      "lightRequirement": "Full sun to partial shade — 4-6 hours direct",
      "spacingInches": "6-9 inches (15-23 cm)",
      "frostTolerance": "half-hardy"
    },
    {
      "crop": "Parsnips",
      "category": "Cool-season",
      "startIndoors": "Direct-sow only",
      "outdoorTiming": "21 days before last spring frost",
      "daysToHarvest": 110,
      "germTempC": "7-18 °C (45-65 °F)",
      "lightRequirement": "Full sun — 6+ hours direct",
      "spacingInches": "3-6 inches (8-15 cm)",
      "frostTolerance": "hardy"
    },
    {
      "crop": "Peas",
      "category": "Cool-season",
      "startIndoors": "Direct-sow only",
      "outdoorTiming": "35 days before last spring frost",
      "daysToHarvest": 65,
      "germTempC": "7-24 °C (45-75 °F)",
      "lightRequirement": "Full sun in cool weather",
      "spacingInches": "2-3 inches (5-8 cm)",
      "frostTolerance": "hardy"
    },
    {
      "crop": "Peppers",
      "category": "Warm-season",
      "startIndoors": "9 weeks before last spring frost",
      "outdoorTiming": "14 days after last spring frost",
      "daysToHarvest": 80,
      "germTempC": "24-29 °C (75-85 °F)",
      "lightRequirement": "Full sun — 6-8 hours direct",
      "spacingInches": "18-24 inches (45-60 cm)",
      "frostTolerance": "tender"
    },
    {
      "crop": "Pole Beans",
      "category": "Warm-season",
      "startIndoors": "Direct-sow only",
      "outdoorTiming": "7 days after last spring frost",
      "daysToHarvest": 65,
      "germTempC": "16–35 °C (60–95 °F); optimal 21–27 °C (70–80 °F)",
      "lightRequirement": "Full sun — 6+ hours direct",
      "spacingInches": "4–6 inches (10–15 cm) plants; 24–36 inches (60–90 cm) between rows",
      "frostTolerance": "tender"
    },
    {
      "crop": "Potatoes",
      "category": "Cool-season",
      "startIndoors": "Direct-sow only",
      "outdoorTiming": "21 days before last spring frost",
      "daysToHarvest": 85,
      "germTempC": "Soil 7-18 °C (45-65 °F) at planting",
      "lightRequirement": "Full sun — 6-8 hours direct",
      "spacingInches": "10-15 inches (25-38 cm)",
      "frostTolerance": "half-hardy"
    },
    {
      "crop": "Pumpkins",
      "category": "Warm-season",
      "startIndoors": "3 weeks before last spring frost",
      "outdoorTiming": "14 days after last spring frost",
      "daysToHarvest": 100,
      "germTempC": "21-32 °C (70-90 °F)",
      "lightRequirement": "Full sun — 6-8 hours direct",
      "spacingInches": "60-84 inches (150-215 cm) for vining types; 36-48 inches (90-120 cm) for bush types",
      "frostTolerance": "tender"
    },
    {
      "crop": "Radishes",
      "category": "Cool-season",
      "startIndoors": "Direct-sow only",
      "outdoorTiming": "21 days before last spring frost",
      "daysToHarvest": 28,
      "germTempC": "7-29 °C (45-85 °F)",
      "lightRequirement": "Full sun — 6+ hours direct",
      "spacingInches": "2-3 inches (5-8 cm)",
      "frostTolerance": "half-hardy"
    },
    {
      "crop": "Rhubarb",
      "category": "Perennial",
      "startIndoors": "Direct-sow only",
      "outdoorTiming": "21 days before last spring frost",
      "daysToHarvest": 547,
      "germTempC": "Soil 4-10 °C (40-50 °F) at crown planting",
      "lightRequirement": "Full sun — 6+ hours direct (tolerates light afternoon shade in hot zones)",
      "spacingInches": "36-48 inches (90-120 cm)",
      "frostTolerance": "hardy"
    },
    {
      "crop": "Rosemary",
      "category": "Perennial",
      "startIndoors": "10 weeks before last spring frost",
      "outdoorTiming": "14 days after last spring frost",
      "daysToHarvest": 90,
      "germTempC": "18–21 °C (65–70 °F)",
      "lightRequirement": "Full sun — 6+ hours direct",
      "spacingInches": "18–36 inches (45–90 cm)",
      "frostTolerance": "half-hardy"
    },
    {
      "crop": "Sage",
      "category": "Perennial",
      "startIndoors": "6 weeks before last spring frost",
      "outdoorTiming": "around the last spring frost",
      "daysToHarvest": 75,
      "germTempC": "21–24 °C (70–75 °F)",
      "lightRequirement": "Full sun — 6+ hours direct",
      "spacingInches": "18–24 inches (45–60 cm)",
      "frostTolerance": "hardy"
    },
    {
      "crop": "Spinach",
      "category": "Cool-season",
      "startIndoors": "Direct-sow only",
      "outdoorTiming": "35 days before last spring frost",
      "daysToHarvest": 45,
      "germTempC": "4-21 °C (40-70 °F)",
      "lightRequirement": "Full sun to partial shade",
      "spacingInches": "3-6 inches (8-15 cm)",
      "frostTolerance": "hardy"
    },
    {
      "crop": "Summer squash",
      "category": "Warm-season",
      "startIndoors": "3 weeks before last spring frost",
      "outdoorTiming": "14 days after last spring frost",
      "daysToHarvest": 55,
      "germTempC": "21-29 °C (70-85 °F)",
      "lightRequirement": "Full sun — 6-8 hours direct",
      "spacingInches": "24-36 inches (60-90 cm)",
      "frostTolerance": "tender"
    },
    {
      "crop": "Sweet corn",
      "category": "Warm-season",
      "startIndoors": "Direct-sow only",
      "outdoorTiming": "10 days after last spring frost",
      "daysToHarvest": 75,
      "germTempC": "16-34 °C (60-95 °F)",
      "lightRequirement": "Full sun — 6-8 hours direct",
      "spacingInches": "9-12 inches (23-30 cm)",
      "frostTolerance": "tender"
    },
    {
      "crop": "Sweet potatoes",
      "category": "Warm-season",
      "startIndoors": "6 weeks before last spring frost",
      "outdoorTiming": "21 days after last spring frost",
      "daysToHarvest": 105,
      "germTempC": "Soil 18-24 °C (65-75 °F) for slip rooting",
      "lightRequirement": "Full sun — 6-8 hours direct",
      "spacingInches": "12-18 inches (30-45 cm)",
      "frostTolerance": "tender"
    },
    {
      "crop": "Swiss Chard",
      "category": "Cool-season",
      "startIndoors": "4 weeks before last spring frost",
      "outdoorTiming": "7 days before last spring frost",
      "daysToHarvest": 55,
      "germTempC": "10-29 °C (50-85 °F)",
      "lightRequirement": "Full sun to partial shade",
      "spacingInches": "9-12 inches (23-30 cm)",
      "frostTolerance": "half-hardy"
    },
    {
      "crop": "Thyme",
      "category": "Perennial",
      "startIndoors": "8 weeks before last spring frost",
      "outdoorTiming": "around the last spring frost",
      "daysToHarvest": 85,
      "germTempC": "18–21 °C (65–70 °F)",
      "lightRequirement": "Full sun — 6+ hours direct",
      "spacingInches": "6–8 inches (15–20 cm)",
      "frostTolerance": "hardy"
    },
    {
      "crop": "Tomatoes",
      "category": "Warm-season",
      "startIndoors": "6 weeks before last spring frost",
      "outdoorTiming": "10 days after last spring frost",
      "daysToHarvest": 75,
      "germTempC": "21-27 °C (70-80 °F)",
      "lightRequirement": "Full sun — 6+ hours direct",
      "spacingInches": "24-36 inches (60-90 cm)",
      "frostTolerance": "tender"
    },
    {
      "crop": "Turnips",
      "category": "Cool-season",
      "startIndoors": "Direct-sow only",
      "outdoorTiming": "28 days before last spring frost",
      "daysToHarvest": 50,
      "germTempC": "7-29 °C (45-85 °F)",
      "lightRequirement": "Full sun — 6+ hours direct",
      "spacingInches": "4-6 inches (10-15 cm)",
      "frostTolerance": "hardy"
    },
    {
      "crop": "Watermelon",
      "category": "Warm-season",
      "startIndoors": "4 weeks before last spring frost",
      "outdoorTiming": "14 days after last spring frost",
      "daysToHarvest": 80,
      "germTempC": "21–35 °C (70–95 °F)",
      "lightRequirement": "Full sun — 8+ hours direct",
      "spacingInches": "36–48 inches (90–120 cm) in-row; 72–96 inches (180–240 cm) between rows",
      "frostTolerance": "tender"
    },
    {
      "crop": "Winter squash",
      "category": "Warm-season",
      "startIndoors": "3 weeks before last spring frost",
      "outdoorTiming": "14 days after last spring frost",
      "daysToHarvest": 95,
      "germTempC": "21-29 °C (70-85 °F)",
      "lightRequirement": "Full sun — 6-8 hours direct",
      "spacingInches": "48-72 inches (120-180 cm) for vining types; 24-36 inches (60-90 cm) for compact types",
      "frostTolerance": "tender"
    },
    {
      "crop": "Zucchini",
      "category": "Warm-season",
      "startIndoors": "3 weeks before last spring frost",
      "outdoorTiming": "14 days after last spring frost",
      "daysToHarvest": 55,
      "germTempC": "21-29 °C (70-85 °F)",
      "lightRequirement": "Full sun — 6-8 hours direct",
      "spacingInches": "24-36 inches (60-90 cm)",
      "frostTolerance": "tender"
    }
  ]
}