Standard form calculator
Rewrite any line as Ax + By = C in whole numbers and lowest terms: 0.5x + 1.5y equals 3 becomes x + 3y equals 6, with a non-negative x coefficient and a label for horizontal, vertical or slanted lines. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- A
- 0.5
- B
- 1.5
- C
- 3
- A
- 1
- B
- 3
- C
- 6
- Equation
- x + 3y = 6
Standard form of a linear equation is the integer-coefficient identity Ax plus By equals C that algebra courses, entrance exams, and geometry pipelines treat as the canonical way to write a line in the plane. Students meet it after slope-intercept work; tutors need a check that clears decimals and reduces by a greatest common divisor; automation scripts that feed line solvers want A, B, and C as integers with a stable sign convention. This standard form calculator accepts the three finite coefficients of ax plus by equals c — including a lone number k sent as the horizontal line y equals k — multiplies through to clear decimal places, divides by the positive gcd of the scaled integers, and forces the leading x-coefficient to be non-negative.
What standard form means and why the coefficients become integers
In secondary algebra a line is often introduced as y equals mx plus k, which is convenient for graphing but awkward for vertical lines, for integer-lattice arguments, and for any algorithm that wants a unique triple of coefficients.
Standard form writes the same relation as Ax plus By equals C, where A, B, and C are integers, the triple is reduced by their positive greatest common divisor, and the leading x-coefficient is chosen non-negative so that minus two x plus four y equals minus six and x minus two y equals three are recognised as the same line. Clearing decimals is the classroom move: one-half x plus three-halves y equals three is multiplied through by two to obtain x plus three y equals six, already in lowest terms.
The same clearing works for any terminating decimal snapshot — two tenths, five hundredths, scientific-looking inputs such as 1.5 times ten to the minus one — because each coefficient is read as a rational with a power-of-ten denominator, the least common multiple of those denominators becomes the common scale, and the resulting integers are divided by their gcd.
A lone number k is not a second product: it is the horizontal line y equals k, sent as a equals zero, b equals one, and c equals k, and it returns the integer form of that line. Vertical lines are first-class as well: x equals four is a equals one, b equals zero, c equals four after reduction.
The identity Ax plus By equals C with those conventions is what this calculator returns, together with a display string and a kind tag of horizontal, vertical, or oblique so a client does not have to re-inspect the signs.
Input contract, reduction steps, and how errors are reported
If a and b are both zero the statement is no longer a line in the plane — it is either the contradiction zero equals one or the identity zero equals zero — and the task is rejected rather than returning a hollow triple.
On success the body echoes the reduced integers a, b, and c, an equation string that omits a coefficient of one and a zero term, a kind of horizontal, vertical, or oblique, the positive gcd that was divided out after scaling, the formula Ax plus By equals C, and a short message that repeats the equation. Example: a equals one half, b equals three halves, c equals three yields x plus three y equals six with gcd one.
Example: a equals minus two, b equals four, c equals minus six yields x minus two y equals three after dividing by two and flipping the leading sign.
Where a standard form calculator earns its keep
Classrooms and tutoring platforms use a standard form calculator so learners can check that their cleared-denominator rewrite matches the textbook convention without losing a sign when they multiply through by a negative scale. Exam-prep generators and learning-management plugins need a deterministic oracle that marks 0.5x plus 1.5y equals 3 as x plus 3y equals 6 and rejects a pair of zero variable coefficients instead of silently inventing a point.
Computer-aided design, GIS, and game-editor pipelines often ingest slope-intercept or decimal general form from a human and then hand integer A, B, C to a clipper, a lattice enumerator, or a dual-line intersection routine that is happier with integers than with binary floating-point noise. Failed validation does not consume balance. Keep requests inside the published absolute-value limit, pin the integer triple in tests, and you get reproducible standard-form coefficients for homework, LMS items, and edge workers without standing up a computer-algebra system for a three-number rewrite.
What you can do with it
Classroom and homework checks
Let students submit a, b, and c for ax+by=c and verify the reduced integer triple Ax+By=C, including the horizontal-line case of a lone number k.
CAD, GIS, and notebook pipelines
Normalise decimal or slope-intercept input to integer A, B, C before clipping, lattice work, or intersection, without importing a full computer-algebra library.
FAQ
How do I convert a single number to standard form?
A number k is the horizontal line y = k.
What happens if a and b are both zero?
Zero x plus zero y equals c is not a linear equation in x and y, whether c is zero (an identity) or not (a contradiction).
How do I clear decimals from a line equation?
Multiply every term by the power of ten that turns all the coefficients into whole numbers, then divide by their greatest common divisor. That is how 0.5x + 1.5y equals 3 becomes x + 3y equals 6.
Why is the coefficient of x never negative in the result?
So that one line always gets one answer. Multiplying an equation by −1 describes the same line, so the calculator keeps the version with a non-negative x coefficient: −2x + 4y equals −6 comes out as x − 2y equals 3.
How do I convert slope-intercept form y = mx + k?
Enter minus m as the coefficient of x, 1 as the coefficient of y and k as the right-hand side. The calculator then clears any decimals and reduces the result to whole numbers in standard form.
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/math/standard-form \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":0.5,"b":1.5,"c":3}'const res = await fetch("https://api.kit.forhosting.com/math/standard-form", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 0.5,
"b": 1.5,
"c": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/standard-form",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 0.5,
"b": 1.5,
"c": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/standard-form", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":0.5,"b":1.5,"c":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":0.5,"b":1.5,"c":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/standard-form", 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": 0.5,
"b": 1.5,
"c": 3
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.standard_form",
"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.
Limits
max_abs | 1000000000000 |
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
The same pure module powers the free browser tool and the API path, so homework checks and production jobs never disagree on whether one-half x plus three-halves y equals three is x plus three y equals six.
Input contract, reduction steps, and how errors are reported
POST a JSON body with three required finite numbers: a, the coefficient of x; b, the coefficient of y; and c, the right-hand side of ax plus by equals c. Each field may arrive as a JSON number or as a numeric string, and the aliases A or x_coeff, B or y_coeff, and C, constant, or k are accepted so slope-intercept callers can map y equals mx plus k onto a equals minus m, b equals one, and c equals k without inventing a second schema. Missing fields, empty strings, NaN, and Infinity fail with invalid_input naming the field and stating that a finite number was expected; those failures are not billed. Pair the integers with your own plotter if you need a sketch; this endpoint rewrites coefficients only and does not emit graphs, step-by-step prose, or a slope when the line is vertical.
Integration use cases
Exam and LMS auto-grading
Mark standard-form items with a deterministic oracle that clears decimals, divides by gcd, and rejects a=b=0 instead of inventing a line.
Technical questions
How do I convert ax + by = c to standard form?
Send finite numbers a, b, and c. The API clears decimal denominators, divides by the positive gcd, forces A to be non-negative, and returns the integers A, B, C plus the equation string Ax + By = C.
How do I convert slope-intercept form y = mx + k?
Send a = −m, b = 1, and c = k. The same reduction produces integer standard form. Vertical lines have no finite slope; send them as a = 1, b = 0, c = the x-intercept.
What does the standard form calculator cost?
The browser tool is free. API requests use prepaid balance at $0.002 per successful call; invalid input is not billed.