ForHosting KIT · Health & fitness

ACR TI-RADS calculator

A solid, hypoechoic, wider-than-tall nodule with smooth margins and no echogenic foci scores 4 points, TR4: fine-needle aspiration from 1.5 cm, follow-up from 1.0 cm. Five ultrasound features, scored with the 2017 ACR table. 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
Composition
Solid
Echogenicity
Hypoechoic
Shape
Wider than tall
Margin
Smooth
Echogenic foci
None or large comet tail
You get
Points
4
Tr level
TR4
Risk
moderately_suspicious
Fna threshold cm
1.5

ACR TI-RADS, the American College of Radiology Thyroid Imaging Reporting and Data System, assigns integer points to a thyroid nodule from five ultrasound descriptors: composition, echogenicity, shape, margin, and echogenic foci. This calculator applies the published 2017 Tessler white-paper table, adds those points, and maps the total onto TR1 through TR5 with the matching risk label and the size-based FNA or follow thresholds that accompany each category.

The five ACR ultrasound features and how each one scores

ACR TI-RADS is a five-item lexicon for thyroid nodules on greyscale ultrasound, published by Tessler, Middleton, Grant, and colleagues in 2017 so that composition, echogenicity, shape, margin, and echogenic foci would be scored the same way in every report. Send one value for each of the five features. Composition is cystic or almost completely cystic (zero points), spongiform (zero), mixed cystic and solid (one), or solid or almost completely solid (two).

Echogenicity is anechoic (zero), hyperechoic or isoechoic (one), hypoechoic (two), or very hypoechoic relative to anterior strap muscle (three). Shape is wider-than-tall on an axial image (zero) or taller-than-wide (three). Margin is smooth (zero), ill-defined (zero), lobulated or irregular (two), or extra-thyroidal extension (three).

Echogenic foci are none or large comet-tail artifacts (zero), macrocalcifications (one), peripheral or rim calcifications (two), or punctate echogenic foci (three). When more than one foci type is present the white paper adds the points; this calculator accepts an array or a comma-separated string and sums them, dropping a none token if real calcifications are also listed. Identical inputs always yield the same integer total because the path is a pure table lookup with no network, no model, no random seed, and no wall clock.

How the point total becomes TR1 through TR5, and when input is rejected

Each feature contributes a published integer; the ACR TI-RADS total is their sum. Zero or one point maps to TR1, labelled benign, with no FNA recommended on the white-paper chart. Two points map to TR2, not suspicious, also with no FNA.

Three points map to TR3, mildly suspicious: FNA if the nodule is at least 2.5 centimetres, follow if at least 1.5 centimetres. Four through six points map to TR4, moderately suspicious: FNA at 1.5 centimetres, follow at 1.0 centimetre. Seven or more points map to TR5, highly suspicious: FNA at 1.0 centimetre, follow at 0.5 centimetre.

A one-point nodule is uncommon; the committee maps it to TR1 rather than leaving a hole in the scale, and this calculator does the same. Do not treat a high total as a diagnosis, a reason to biopsy without looking at size and clinical context, or a substitute for a radiologist.

Radiology and sonography TI-RADS homework

Students submit composition, echogenicity, shape, margin, and echogenic foci from a teaching-file nodule, then pin expected points and TR level in automated checkers.

Ultrasound simulation labs and structured-report drills

Manikin and e-learning cases need a deterministic ACR TI-RADS oracle so the same five descriptors always yield the same integer total and TR category.

How is the ACR TI-RADS score calculated?

ACR TI-RADS adds published points from five ultrasound features: composition, echogenicity, shape, margin, and echogenic foci. When several foci types are present the points add. The integer total maps to TR1 through TR5.

What happens if a feature is missing?

A TI-RADS total without all five descriptors is not a TI-RADS total, and that failure is not billed.

How do TR levels relate to FNA size thresholds?

TR1 and TR2 have no FNA recommendation. TR3 uses FNA at 2.5 cm and follow at 1.5 cm; TR4 uses 1.5 cm and 1.0 cm; TR5 uses 1.0 cm and 0.5 cm. Nodule diameter is not an input here.

Can I send more than one type of echogenic foci?

Yes. Send an array or a comma-separated string; points from macrocalcifications, peripheral calcifications, and punctate foci add, matching the 2017 white paper.

Is this a diagnosis, and what does the TI-RADS calculator cost?

No. It is an educational reporting aid, not a medical device. The browser tool runs free on your device.

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/tirads

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/tirads \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"composition":"solid","echogenicity":"hypoechoic","shape":"wider_than_tall","margin":"smooth","echogenic_foci":"none_or_large_comet_tail"}'
{
  "composition": "solid",
  "echogenicity": "hypoechoic",
  "shape": "wider_than_tall",
  "margin": "smooth",
  "echogenic_foci": "none_or_large_comet_tail"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "health.tirads",
  "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.

Every feature is required; a missing or unrecognised value fails with invalid_input instead of inventing a score. Successful API items cost $0.002. This is an educational reporting aid, not a diagnosis and not a substitute for a radiologist.

The five ACR ultrasound features and how each one scores

This endpoint implements that table only: it does not read images, does not measure longest diameter, and does not convert the total into a malignancy percentage. Missing fields, empty strings, booleans in lexical slots, and tokens outside the published vocabulary fail with invalid_input naming the field.

How the point total becomes TR1 through TR5, and when input is rejected

On success the body echoes the five canonical feature values, lists per-item points in breakdown, and returns points as the integer total, tr_level as TR1 through TR5, risk as a snake-case label, recommendation as the FNA or follow sentence, method acr_tirads, and a formula string restating the 2017 table. For TR3 through TR5 the payload also includes fna_threshold_cm and follow_threshold_cm; those keys are omitted for TR1 and TR2 rather than sent as null. Use points for a single chip, tr_level for a report heading, and recommendation for a teaching caption. A request that omits any of the five features, or that sends a value the lexicon does not recognise, fails with invalid_input and is not billed.

API usage, pricing, product workflows, and educational limits

Call the free in-browser ACR TI-RADS calculator for radiology homework, ultrasound teaching files, and chart-review labs without reimplementing the 2017 bands in every spreadsheet. Keep expectations educational: a taller-than-wide, very hypoechoic solid nodule with punctate foci needs a radiologist, not an automated label alone. Send a JSON body with required composition, echogenicity, shape, margin, and echogenic_foci. Canonical tokens are cystic, spongiform, mixed_cystic_and_solid, solid; anechoic, hyperechoic_or_isoechoic, hypoechoic, very_hypoechoic; wider_than_tall, taller_than_wide; smooth, ill_defined, lobulated_or_irregular, extra_thyroidal_extension; and none_or_large_comet_tail, macrocalcifications, peripheral_calcifications, punctate_echogenic_foci. Aliases such as comp, echo, nodule_shape, margins, and foci are accepted when documented, as are common clinical synonyms such as isoechoic, irregular, and microcalcifications. Use the prepaid API when a health-education SaaS, structured-reporting prototype, or school LMS needs a stable contract under KIT balance at $0.002 per successful item; validation failures never consume balance after the engine rejects the request. Pair this endpoint with your own size and clinical-history logic if you need a full FNA decision—this calculator returns the published centimetre thresholds but does not take nodule diameter as input. Store points, tr_level, and breakdown alongside the raw descriptors for dashboards, and export columns for the five features, each point band, and the total. The product never contacts an imaging archive, never invents a random score, and never stamps a clock into the payload.

Health-education SaaS backends

Server pipelines that already store ultrasound lexicon fields call a prepaid endpoint instead of duplicating the 2017 Tessler point table in every language.

Read the full KIT documentation →