ForHosting KIT · Health & fitness

QTc calculator

A QT of 400 ms at 80 beats per minute corrects to a QTc just under 462 ms with Bazett's formula, while at 60 beats per minute it stays at 400 ms. Enter the QT and either the heart rate or the RR interval. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Qt
400
Heart rate
60
You get
Rr
1 ms
Qtc
400

The corrected QT interval, written QTc, rescales a measured QT so that recordings taken at different heart rates can be compared on a common sixty-beats-per-minute baseline. Bazett's formula divides the measured QT by the square root of the RR interval in seconds. This QTc calculator accepts a QT interval in milliseconds together with either a positive heart rate in beats per minute or a positive RR interval in seconds, then returns QTc in milliseconds. If you supply heart rate, RR is derived as sixty divided by rate; if you supply RR, heart rate is derived as sixty divided by RR.

What Bazett QTc is and how the square-root correction works

The QT interval is the time from the start of the QRS complex to the end of the T wave, covering ventricular depolarization and repolarization. On a paper or digital electrocardiogram it is usually measured in milliseconds. Raw QT shortens as heart rate rises and lengthens as heart rate falls, so two tracings with the same myocardial recovery time can show different QT numbers purely because the RR cycle changed.

Corrected QT, or QTc, undoes that rate effect by referring the measurement to a standard cycle of one second, which is sixty beats per minute. Bazett's formula is QTc equals QT divided by the square root of RR, with RR in seconds. When QT is supplied in milliseconds, QTc is also in milliseconds: a four-hundred millisecond QT at sixty beats per minute has RR equal to one second and QTc equal to four hundred milliseconds, matching the uncorrected value.

At eighty beats per minute the same QT has RR equal to zero point seven five seconds and QTc equal to four hundred divided by the square root of zero point seven five, a little under four hundred sixty-two milliseconds. If you send heart rate instead of RR, this calculator converts with RR equals sixty divided by heart rate in beats per minute. If you send RR in seconds, heart rate is recovered as sixty divided by RR.

The implementation is elementary arithmetic plus one square root. It does not apply Fridericia's cube-root formula, Framingham linear correction, Hodges, Rautaharju, or any regression that uses age or sex. It does not read ECG files, detect QRS onset, or locate the T-wave end.

Those tasks belong to signal-processing tools and to clinicians. Treat the output as an educational evaluation of Bazett's closed form, not as a diagnosis of long QT syndrome, a drug-safety decision, or a substitute for a reviewed tracing.

Where a QTc calculator is used, pricing, and honest limits

Electrocardiography labs, cardiology clerkships, and clinical-pharmacology courses constantly assign Bazett drills from textbook QT and rate pairs, so a single trusted oracle that returns QTc beside the derived RR speeds grading and demo setup. Exam generators and LMS plugins need a deterministic engine that rejects a non-positive RR or heart rate instead of silently emitting NaN that a buggy grader might treat as success.

Product teams building educational physiology widgets want a documented Bazett path that students can audit by hand, rather than a black-box risk score that mixes several correction formulae without disclosure. Keep expectations educational: this is a calculation and learning tool, not a diagnostic medical device, and it does not replace a reviewed electrocardiogram, a specialist interpretation, or local prescribing rules for QT-prolonging drugs. People with syncope, a family history of sudden death, or a known channelopathy should follow professional medical advice rather than any single automated QTc.

Pin qtc in tests, treat Bazett as the named formula rather than a universal truth at very high or very low rates, convert RR measured in milliseconds to seconds before you call (eight hundred milliseconds is zero point eight seconds), and never send QT already expressed in seconds without converting to milliseconds first.

Classroom Bazett answer keys

Generate QTc from textbook QT and heart-rate pairs so instructors and auto-graders share one transparent Bazett ground truth.

Pharmacology and ECG teaching labs

Show the square-root rate correction in clerkship demos without mixing Fridericia or linear formulae on the same landing.

What is QTc and which formula do you use?

QTc is the QT interval corrected to a standard heart rate. This calculator uses Bazett: QTc = QT / √RR, with QT in milliseconds and RR in seconds. The result is QTc in milliseconds.

Do I send heart rate or RR interval?

At least one must be a positive number.

What happens if heart rate or RR is zero or negative?

Bazett needs a positive RR interval; a non-positive heart rate or RR is rejected rather than returning Infinity or a silent NaN.

Is QT in milliseconds or seconds?

Milliseconds. A typical adult QT is a few hundred milliseconds (for example 400). If you measured QT in seconds, multiply by 1000 before calling. RR is in seconds (0.8 s, not 800).

What does the QTc calculator cost?

The browser tool is free and runs locally.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/health/qtc

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/health/qtc \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"qt":400,"heart_rate":60}'
{
  "qt": 400,
  "heart_rate": 60
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "health.qtc",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Zero or negative cycle-length values fail with invalid_input and are not billed.

Input contract, response shape, and error behaviour

If the RR interval or heart rate is not a positive number the task fails rather than taking an absolute value or returning Infinity from a zero square-root denominator. Classic smoke checks include QT four hundred milliseconds at sixty beats per minute, which yields QTc four hundred, and QT four hundred milliseconds with RR zero point eight seconds, which yields a QTc near four hundred forty-seven milliseconds. POST a JSON body with a required QT interval and at least one cycle-length field. The field qt is the measured QT in milliseconds and must be a finite number strictly greater than zero; aliases qt_ms, qt_interval, and qt_msec are accepted. The field heart_rate is the heart rate in beats per minute and must be a finite positive number when present; aliases hr, bpm, and rate are accepted. The field rr is the RR interval in seconds and must be a finite positive number when present; aliases rr_interval, rr_s, and rr_sec are accepted. You must provide heart_rate, rr, or both. Each numeric field may arrive as a JSON number or as a numeric string. Missing qt, empty strings, booleans, NaN, Infinity, zero, and negative values fail with invalid_input naming the field, and those failures are not charged. When only heart_rate is sent, RR is computed as sixty divided by that rate. When only rr is sent, heart_rate is computed as sixty divided by that interval. When both are sent, both must be positive; Bazett uses the supplied RR, and the supplied heart_rate is echoed so you can see what you sent. On success the body returns qt, heart_rate, rr, qtc in milliseconds, unit set to ms, the formula string QTc equals QT over square root of RR, and method bazett. Pair the JSON with your own plot of QTc versus rate if you need a graph; this endpoint computes the Bazett number only.

Where a QTc calculator is used, pricing, and honest limits

Drug-safety and thorough QT study worksheets that already store a measured QT and a heart rate can call a tiny parse API instead of reimplementing the square root in every spreadsheet language. Because this capability is a pure parse engine, every successful API call costs the published $0.002 base price with no model tokens and no outbound network, and failed validation does not consume prepaid balance.

Deterministic QT-study fixtures

Bulk-produce stable QTc labels for worksheets and regression tests with hard invalid_input on a non-positive RR or heart rate.

Read the full KIT documentation →