ROC/AUC Calculator

Upload CSV data to generate ROC curves, compute AUC with confidence intervals, and find the optimal threshold by Youden index. Data never leaves your browser.

CSV UploadAUC + CIYouden Index

Try it out

Load example ROC/AUC data to see the full workflow

Upload CSV

CSV must contain a binary label column (0/1) and a numeric score column. Drag & drop or click to upload.

Or paste CSV text
  • Evaluate discrimination ability of a classifier or diagnostic test with a continuous score
  • Find the optimal classification threshold using Youden index
  • Compute AUC with Hanley-McNeil confidence intervals for publication
  • Compare sensitivity-specificity trade-offs across all possible thresholds
  • Generate a threshold table with PPV, NPV, and Youden J at every unique score

Don't use for

  • Already have a fixed threshold with a 2x2 table — use the Diagnostic Test Calculator
  • Comparing two measurement methods for agreement — use the Method Comparison Analyzer
  • Data is categorical (not continuous scores) — use the Diagnostic Test Calculator directly

ROC Analysis Fundamentals

ROC analysis evaluates the discrimination ability of a binary classifier or diagnostic test with a continuous output. Key concepts:

Threshold: The cutoff value above which a case is classified as positive • Sensitivity (TPR): Proportion of true positives correctly identified • Specificity (1 − FPR): Proportion of true negatives correctly identified • AUC: Summary measure of overall discrimination (0.5 = chance, 1.0 = perfect) • Youden index: Optimal threshold maximizing J = Sens + Spec − 1

The ROC curve is threshold-invariant — it shows performance across all possible thresholds, making it more informative than accuracy at a single cutoff.

Interpreting the Threshold Table

The threshold table shows diagnostic accuracy metrics at each unique score value. Use it to:

Find the Youden-optimal threshold (highlighted) — maximizes combined sensitivity and specificity • Choose a sensitivity-first threshold — for screening, find the lowest threshold that gives \geq 90% sensitivity • Choose a specificity-first threshold — for confirmation, find the highest threshold that gives \geq 95% specificity • Evaluate PPV/NPV — at your chosen threshold, considering the prevalence in your target population

Frequently Asked Questions