Home▸Running & Overuse Lower-Limb Injuries▸Medial Tibial Stress Syndrome (Shin Splints) Simulator

🏃 Medial Tibial Stress Syndrome (Shin Splints) Simulator

A simulator that regulates the volume of running, footwear, and foot biomechanics to demonstrate the development of periostitis in medial tibial stress syndrome (shin splints).

Running & Overuse Lower-Limb Injuries2DModerate60 FPS
medial-tibial-stress-syndrome-shin-splints-simulator ↗ Open standalone

Normal Tibial Loading

A trained tibia absorbs repeated footstrike forces without injury.

  • 25–35 km: Typical weekly volume (stable training baseline)
  • <20: Periosteal strain index (well within tolerance)
  • ~100 days: Bone remodeling cycle (osteoblast/osteoclast balance)
  • ~13–20%: MTSS lifetime incidence (among runners)

The tibia under repeated load

Bone remodels continuously to match habitual mechanical stress.

Periosteum as a sensing layer

The periosteum is a richly innervated sheath wrapping the bone.

Healthy periosteum tolerates thousands of footstrikes per run.

Adaptive capacity has a limit

Bone strengthens gradually — only when load increases slowly.

Training Volume Increase

Mileage climbs faster than the tibia can remodel to match it.

  • <10%: Safe weekly increase (commonly cited guideline)
  • variable: Simulated increase here (set by mileage slider)
  • weeks: Remodeling lag (bone adapts slower than muscle)
  • 2–3×: Risk multiplier (for rapid volume spikes)

The 10% rule and why it exists

Sudden mileage jumps outpace cortical bone adaptation.

Cumulative microdamage begins

Each run adds small strain the bone has not yet absorbed.

Volume spikes are the single strongest MTSS risk factor.

Surface and shoe factors compound load

Hard surfaces and worn shoes raise impact transmitted upward.

Repetitive Periosteal Strain

The tibialis posterior tugs at its periosteal attachment with every step.

  • posteromedial: Attachment zone (distal tibial border)
  • ~7,000: Footstrikes per 10 km (repetitive traction cycles)
  • strong: Pronation link (overpronation raises fiber pull)
  • ~40–60: Strain threshold (index before microtears)

Traction from the tibialis posterior

This muscle controls arch support and pulls on the periosteum.

Overpronation amplifies the pull

A collapsing arch increases eccentric load on each stride.

Excess pronation multiplies periosteal traction at every footstrike.

Strain accumulates before symptoms appear

Tissue damage can precede any perceptible pain.

Periosteal Inflammation

Repeated microtrauma triggers periostitis spreading along the tibial shaft.

  • days–weeks: Inflammation onset (of sustained overload)
  • >5 cm: Affected length (diffuse, not focal)
  • diffuse: Vs. stress fracture (not a discrete focal point)
  • periosteal edema: Imaging finding (on MRI, if ordered)

From microtrauma to periostitis

Unresolved microtears provoke a local inflammatory response.

Diffuse spread along the medial border

Inflammation extends along the tibia rather than one spot.

Diffuse tenderness distinguishes MTSS from a stress fracture.

The tissue is still trying to heal

Rest windows allow remodeling to catch up with damage.

Shin Splint Pain

Pain along the inner shin now limits running and daily load.

  • diffuse ache: Pain pattern (lower two-thirds of tibia)
  • 2–6 weeks: Typical recovery (with load modification)
  • high: Recurrence risk (if training resumes too fast)
  • relative rest: First-line management (plus gradual reload)

Pain as a load-limiting signal

Symptoms now restrict how much running the tibia tolerates.

Load modification is the primary fix

Reducing mileage and impact lets periosteum settle and heal.

Returning too soon at prior volume commonly triggers relapse.

Correcting the upstream causes

Gradual mileage build and pronation control prevent recurrence.

⚙ Under the hood

A simulator that regulates the volume of running, footwear, and foot biomechanics to demonstrate the development of periostitis in medial tibial stress syndrome (shin splints).

CanvasBiomedicine

2D · HTML5 Canvas 2D · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)