How to Calculate Fetal Heart Rate on Ultrasound

Fetal Heart Rate (FHR) Ultrasound Calculator

Single Beat Interval (Seconds) Single Beat Interval (Milliseconds) Multiple Beats Over Time
Measured from the peak of one wave to the peak of the next in M-mode.

Resulting Fetal Heart Rate:

— BPM


How to Calculate Fetal Heart Rate on Ultrasound

In clinical obstetrics, measuring the Fetal Heart Rate (FHR) is a vital part of assessing the health and viability of the fetus. Ultrasound technicians typically use two primary methods: M-mode (Motion Mode) and Doppler Ultrasound. While modern machines automate this calculation, understanding the manual math is essential for verification.

The Basic Formula

The calculation is based on the time interval between consecutive cardiac cycles. Since there are 60 seconds in a minute, the formula is:

FHR (BPM) = 60 / Time Interval (in seconds)

If you are measuring in milliseconds (ms), use:

FHR (BPM) = 60,000 / Time Interval (in ms)

Step-by-Step Calculation Using M-Mode

  1. Obtain the View: Position the ultrasound transducer to get a clear view of the fetal heart (typically a four-chamber view or a longitudinal view).
  2. Activate M-Mode: Place the M-mode cursor across the ventricles or the atrium/ventricle junction. This produces a trace showing the movement of the heart walls over time.
  3. Freeze the Image: Once a steady rhythmic pattern is established, freeze the display.
  4. Measure the Distance: Place the first caliper at the peak of one contraction (systole) and the second caliper at the peak of the very next contraction.
  5. Calculate: Note the time interval displayed by the machine. If the machine says 0.4 seconds, the heart rate is 60 / 0.4 = 150 BPM.

Normal Fetal Heart Rate Ranges

A normal FHR varies depending on the gestational age of the fetus:

Gestational Age Typical Range (BPM)
6 Weeks 90 – 110 BPM
9 Weeks 140 – 170 BPM
10 – 40 Weeks 110 – 160 BPM

Practical Examples

  • Example 1 (M-Mode): You measure the distance between two heartbeats as 460ms. Using the formula: 60,000 / 460 = 130.4 BPM. This is considered a normal baseline.
  • Example 2 (Count Method): You count 12 beats in a 5-second ultrasound clip. Formula: (12 / 5) * 60 = 144 BPM.

Disclaimer: This tool is for educational purposes only. Fetal heart rate should always be interpreted by a qualified medical professional (OB/GYN or Radiologist) in the context of the overall clinical picture.

function toggleInputs() { var mode = document.getElementById("measurementMode").value; var singleSection = document.getElementById("singleInputSection"); var multiSection = document.getElementById("multiInputSection"); var label = document.getElementById("intervalLabel"); if (mode === "single") { singleSection.style.display = "block"; multiSection.style.display = "none"; label.innerText = "Time between 2 beats (seconds):"; } else if (mode === "milli") { singleSection.style.display = "block"; multiSection.style.display = "none"; label.innerText = "Time between 2 beats (milliseconds):"; } else { singleSection.style.display = "none"; multiSection.style.display = "block"; } } function calculateFHR() { var mode = document.getElementById("measurementMode").value; var bpm = 0; var resultBox = document.getElementById("fhrResultBox"); var resultValue = document.getElementById("fhrValue"); var resultStatus = document.getElementById("fhrStatus"); if (mode === "single") { var interval = parseFloat(document.getElementById("beatInterval").value); if (interval > 0) { bpm = 60 / interval; } } else if (mode === "milli") { var intervalMs = parseFloat(document.getElementById("beatInterval").value); if (intervalMs > 0) { bpm = 60000 / intervalMs; } } else { var count = parseFloat(document.getElementById("beatCount").value); var time = parseFloat(document.getElementById("totalTime").value); if (count > 0 && time > 0) { bpm = (count / time) * 60; } } if (bpm > 0 && !isNaN(bpm)) { var finalBpm = Math.round(bpm); resultBox.style.display = "block"; resultValue.innerText = finalBpm + " BPM"; var status = ""; var color = ""; if (finalBpm 160) { status = "Tachycardia (Above Normal for most stages)"; color = "#fd7e14"; } else { status = "Normal Baseline Range (110-160)"; color = "#28a745"; } resultStatus.innerText = status; resultStatus.style.color = color; } else { alert("Please enter valid positive numbers for the calculation."); } }

Leave a Comment