Parabola x-intercepts from vertex form
Get the x-intercepts straight from vertex form, without expanding: y = (x − 2)² − 4 crosses the x-axis at 0 and 4, each 2 units from the vertex at (2, −4). Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- A
- 1
- H
- 2
- K
- -4
- Equation
- y = (x − 2)² − 4
- Opens
- up
- Vertex position
- below
- Intercept count
- 2
Vertex form makes the turning point of a parabola obvious, but students still need the places where the curve crosses the x-axis. Starting from y equals a times open parenthesis x minus h close parenthesis squared plus k, this calculator solves y equals zero in closed form and returns the real intercept abscissae, the ordered intercept points with y equal to zero, and a half-width equal to the horizontal distance from the vertex to each root when two roots exist. When the radicand negative k over a is negative—including the familiar classroom case where the vertex sits above the axis and the parabola opens upward—the response reports zero intercepts and a short note instead of inventing complex roots.
Vertex form and the x-intercept identity
A quadratic written as y equals a open parenthesis x minus h close parenthesis squared plus k is said to be in vertex form because the vertex is exactly the point open parenthesis h comma k close parenthesis and the sign of a decides whether the parabola opens upward or downward. The x-intercepts are the real solutions of y equals zero.
Substituting zero for y yields a open parenthesis x minus h close parenthesis squared plus k equals zero, which rearranges to open parenthesis x minus h close parenthesis squared equals negative k over a whenever a is not zero.
The right-hand side is the radicand that classifies the graph: if it is strictly positive there are two real roots symmetric about the vertical line x equals h, namely x equals h plus or minus the square root of negative k over a; if it is exactly zero the vertex itself lies on the x-axis and there is a single intercept at x equals h; if it is negative the horizontal axis never meets the curve and there are no real intercepts.
That last case covers the situation students phrase as the vertex sitting above the axis when a is positive and k is positive, and the mirror situation when a is negative and k is negative. Expanding vertex form into standard form and applying the quadratic formula produces the same roots, but the vertex-form route avoids expanding and keeps the symmetry with the axis of symmetry explicit in the answer.
Classroom, grading, and automation use
Algebra teachers and tutoring platforms use a parabola x-intercepts from vertex calculator so learners can check both roots for arbitrary a, h, and k without dropping a sign inside the square root. Exam generators and LMS plugins need a deterministic oracle that marks zero intercepts when the vertex sits above an upward-opening parabola instead of silently returning an empty array that a buggy grader might treat as success.
Keep requests small, pin the rounded intercepts in tests, and you get reproducible roots for homework, auto-graders, and edge workers without standing up symbolic math infrastructure of your own.
What you can do with it
Homework checks from vertex form
Students enter a, h, and k for y=a(x−h)²+k and verify the ordered x-intercepts (or the no-intercept note) against textbook methods.
LMS auto-grading of intercept items
Mark vertex-form intercept questions with a deterministic oracle that reports zero roots when the graph misses the x-axis.
Notebooks and trajectory ground crossings
Compute real ground crossings from a completed-square parabola without importing a full computer-algebra library.
FAQ
How do I find x-intercepts from vertex form?
Send finite numbers a (non-zero), h, and k for y=a(x−h)²+k.
What if the vertex sits above the x-axis?
If a>0 and k>0 the parabola opens upward from a point above the axis, so there are no real x-intercepts.
Why must a be non-zero?
If a is zero the expression is not a parabola—only the horizontal line y=k. The solver requires a≠0 so intercepts are well-defined roots of a true quadratic.
What happens when the vertex is on the x-axis?
Then k is zero and the parabola only touches the axis at one point, the vertex itself. You get a single intercept at h instead of two.
What is the half-width in the result?
It is the horizontal distance from the vertex to each intercept when there are two. For y = (x − 2)² − 4 it is 2, so the intercepts sit at 2 − 2 and 2 + 2, that is 0 and 4.
Related tools
For developers — API access
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.
API endpoint
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.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/algebra/quadratic-vertex-to-intercepts \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":1,"h":2,"k":-4}'const res = await fetch("https://api.kit.forhosting.com/algebra/quadratic-vertex-to-intercepts", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 1,
"h": 2,
"k": -4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/algebra/quadratic-vertex-to-intercepts",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 1,
"h": 2,
"k": -4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/algebra/quadratic-vertex-to-intercepts", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":1,"h":2,"k":-4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":1,"h":2,"k":-4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/algebra/quadratic-vertex-to-intercepts", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"a": 1,
"h": 2,
"k": -4
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "algebra.quadratic_vertex_to_intercepts",
"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.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
No network calls, no model tokens, and invalid coefficients fail with invalid_input without billing.
Vertex form and the x-intercept identity
This endpoint always returns intercepts ordered from left to right so clients can plot them without an extra sort.
Input contract, response fields, and errors
When none exist, note explains whether the vertex sits above an upward-opening graph, below a downward-opening graph, or simply that negative k over a is negative. Pair the response with your own plotter if you need a sketch; this capability solves for intercepts only and does not emit graphs or multi-step prose beyond the formula and note fields. POST a JSON object with three required finite numbers: a, the non-zero stretch factor; h, the vertex abscissa; and k, the vertex ordinate. Each field may arrive as a JSON number or as a numeric string; missing values, empty strings, NaN, and Infinity fail with invalid_input naming the field. If a is zero the request is rejected because the expression would no longer describe a parabola. On success the body echoes a, h, and k after stable rounding; an equation string rewritten for display; vertex as open parenthesis h comma k close parenthesis; opens as up or down; vertex_position as above, on, or below the x-axis according to the sign of k; intercept_count zero, one, or two; x_intercepts as an ascending array of abscissae; intercept_points as objects with x and y equal to zero; and a formula string restating the closed form. When two intercepts exist, half_width is the positive distance from h to each root. Example: a equals one, h equals two, k equals negative four gives y equals open parenthesis x minus two close parenthesis squared minus four, intercepts at x equals zero and x equals four, and half_width two.
Classroom, grading, and automation use
Engineering notebooks often keep trajectory or stress models in vertex form after a completion-of-square step and only need the ground crossings; calling a tiny parse API avoids pulling a full computer-algebra system for three coefficients.
Technical questions
How many intercepts can the calculator return?
Two symmetric intercepts when −k/a>0, one when k=0 (vertex on the axis), and none when −k/a is negative. Complex roots are not returned.
What does the parabola x-intercepts calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.