Enter the number of correct questions out of 57 for the English Language Arts section.
Enter the number of correct questions out of 57 for the Mathematics section.
Estimated Composite Score
0
ELA Scaled
–
Math Scaled
–
Specialized High School Eligibility
Based on recent historical cutoff scores (estimates only):
Understanding Your SHSAT Score
The Specialized High Schools Admissions Test (SHSAT) is the sole criterion for admission to eight of the nine New York City Specialized High Schools. Unlike standard tests where scores are linear, the SHSAT uses a complex scoring algorithm that converts your "Raw Score" (number of correct answers) into a "Scaled Score" and finally a "Composite Score".
How the Calculation Works
The exam consists of two sections: English Language Arts (ELA) and Mathematics. Each section has 57 questions. However, only 47 questions in each section are scored (10 are field test questions), though students do not know which ones count. For the purpose of practice tests, calculators usually assume a curve based on 57 items to estimate performance.
The scoring curve is non-linear. This means that improving your raw score from 50 to 55 yields significantly more points than improving from 10 to 15. High performance in one section is often rewarded more heavily than balanced but average performance in both.
Historical Cutoff Scores
Admission is competitive and based on the highest composite scores. While cutoff scores vary slightly every year based on the difficulty of the test and student demand, here are the typical ranges for the top schools:
School Name
Typical Cutoff Range
Stuyvesant High School
560 – 565
Bronx High School of Science
520 – 525
Brooklyn Technical High School
490 – 500
York College High School
520 – 530
Staten Island Technical
525 – 535
HS for Math, Science and Engineering
515 – 525
HS of American Studies at Lehman
515 – 525
Brooklyn Latin School
480 – 490
Tips for Interpreting This Calculator
It is an Estimate: The DOE does not release the exact conversion formula for the current year until after the test. This calculator uses a composite curve derived from historical practice tests.
The "Curve" Factor: The closer you get to a perfect raw score (57/57), the higher the multiplier. Missing just 2-3 questions at the top can drop your scaled score significantly.
Balanced vs. Skewed: While high scores are rewarded, completely bombing one section (e.g., scoring below 15) can make it mathematically impossible to reach Stuyvesant, even with a perfect score in the other section.
How to Improve Your Score
To maximize your chances, focus on accuracy. Since there is no penalty for wrong answers, never leave a question blank. However, prioritize mastering the difficult questions at the end of the sections, as consistent high accuracy drives the scaled score up exponentially.
function calculateSHSAT() {
// 1. Get Input Values
var elaRawInput = document.getElementById("elaRaw").value;
var mathRawInput = document.getElementById("mathRaw").value;
// 2. Validate Inputs
if (elaRawInput === "" || mathRawInput === "") {
alert("Please enter both ELA and Math scores.");
return;
}
var elaRaw = parseInt(elaRawInput);
var mathRaw = parseInt(mathRawInput);
if (isNaN(elaRaw) || elaRaw 57) {
alert("ELA score must be between 0 and 57.");
return;
}
if (isNaN(mathRaw) || mathRaw 57) {
alert("Math score must be between 0 and 57.");
return;
}
// 3. Define Conversion Logic (Approximate Curve)
// This array maps Raw Score (Index) to Approximate Scaled Score (Value).
// Based on historical data where curve is steep at the top.
// 0-57 mapping.
var conversionTable = [
// 0-9
50, 60, 70, 80, 90, 100, 110, 120, 130, 140,
// 10-19
148, 156, 164, 171, 178, 185, 192, 198, 204, 210,
// 20-29
215, 221, 226, 231, 236, 241, 246, 251, 255, 260,
// 30-39
265, 269, 274, 279, 284, 289, 294, 299, 304, 310,
// 40-49
316, 322, 328, 334, 340, 347, 354, 361, 368, 375,
// 50-57
383, 391, 400, 409, 419, 430, 442, 455
];
// Ensure we don't go out of bounds (though validation handles this)
var elaScaled = conversionTable[elaRaw];
var mathScaled = conversionTable[mathRaw];
// 4. Calculate Composite
var compositeScore = elaScaled + mathScaled;
// 5. Determine School Chances
// Define schools and their approx cutoffs
var schools = [
{ name: "Stuyvesant", cutoff: 563 },
{ name: "Bronx Science", cutoff: 524 },
{ name: "York College HS", cutoff: 525 },
{ name: "Staten Island Tech", cutoff: 525 },
{ name: "HSMSE @ CCNY", cutoff: 518 },
{ name: "HS American Studies", cutoff: 516 },
{ name: "Brooklyn Tech", cutoff: 498 },
{ name: "Brooklyn Latin", cutoff: 485 }
];
var schoolsHtml = "";
for (var i = 0; i = school.cutoff + 10) {
status = "Likely Admission";
statusClass = "status-likely";
} else if (compositeScore >= school.cutoff – 5) {
status = "Borderline / Competitive";
statusClass = "status-borderline";
} else {
status = "Reach / Unlikely";
statusClass = "status-reach";
}
schoolsHtml += '