Even or Odd Function Checker
Enter a polynomial and find out whether it is even, odd or neither: 3x⁴ − 2x² + 7 is even, because replacing x with −x leaves it unchanged. Both f(x) and f(−x) are shown side by side. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Text
- f(x) = 3x^4 - 2x^2 + 7
- Classification
- even
- Degree
- 4
- F x
- 3x^4 - 2x^2 + 7
- F negative x
- 3x^4 - 2x^2 + 7
This even or odd function checker determines the symmetry of a polynomial by substituting negative x and comparing the result with the original function. Enter an expression such as 3x^4 - 2x^2 + 7, x^5 - 4x, or a polynomial containing both even and odd powers. The result shows the normalized forms of f(x) and f(-x), states the relevant identity, and classifies the polynomial as even, odd, neither, or both in the special case of the zero polynomial.
How to test a polynomial for symmetry
A function is even when replacing x with -x leaves its value unchanged, so the defining test is f(-x) = f(x). A function is odd when the same substitution reverses the entire output, giving f(-x) = -f(x). This checker performs that substitution algebraically rather than testing a few numerical points.
It parses the polynomial, combines like terms, expands products and nonnegative integer powers, and then changes the sign of every coefficient attached to an odd power of x. The normalized f(-x) can then be compared with f(x) and -f(x) coefficient by coefficient. Because the comparison is symbolic, the answer applies to every real x, not merely to the sample values someone happened to choose.
You may enter a bare expression or use notation such as f(x)=2x^6-5x^2+1. Parentheses, multiplication signs, implicit multiplication, decimal coefficients, and scientific notation are supported when they still describe a polynomial in x.
Reading even, odd, and neither results
An even polynomial contains no surviving odd-power terms after like terms are combined. Constants and terms such as x^2, x^4, and x^8 therefore fit even symmetry, which corresponds geometrically to reflection across the y-axis. An odd polynomial contains no surviving even-power terms, including no nonzero constant term.
Terms such as x, x^3, and x^7 fit odd symmetry, corresponding to a 180-degree rotation about the origin. A polynomial with both kinds of surviving powers is neither, even when parts of it look symmetric on their own. Cancellation matters: an input may contain odd terms that cancel during simplification and still define an even function.
The zero polynomial is the sole polynomial that satisfies both identities, because zero equals its own negative. The displayed relation explains exactly which identity was established, while the normalized expressions make the sign comparison visible and easy to verify.
Input rules and useful checks
Use x as the variable and ordinary polynomial operations: addition, subtraction, multiplication, parentheses, and powers written with a caret. Exponents must be nonnegative integers, because expressions such as x^-1, x^0.5, square roots, division by x, and trigonometric functions are not polynomials. For a quick hand check, inspect the simplified exponents: only even exponents means even, only odd exponents means odd, and a mixture means neither.
Still, expand products and combine terms before deciding. For example, (x+1)(x-1) initially contains mixed-looking factors but simplifies to x^2-1 and is even. Conversely, adding a constant to an odd polynomial normally makes it neither.
What you can do with it
Verify algebra homework
Check a completed symmetry classification and see the normalized f(-x) expression used to justify it.
Teach function symmetry
Demonstrate how even and odd powers react differently when negative x is substituted into a polynomial.
Validate generated polynomials
Confirm programmatically that a constructed polynomial preserves the even or odd symmetry required by a model.
FAQ
What makes a function even?
A function is even when f(-x) equals f(x) throughout its domain. For a simplified polynomial, every nonzero term has an even exponent.
What makes a function odd?
A function is odd when f(-x) equals -f(x). For a simplified polynomial, every nonzero term has an odd exponent and the constant term is zero.
Can a polynomial be neither even nor odd?
Yes. A simplified polynomial containing at least one nonzero even-power term and one nonzero odd-power term is neither.
Can a function be both even and odd?
Only the zero polynomial is both, because it equals its own negative. The checker labels that special case as both instead of forcing it into one group.
Why not just test a few numbers?
A few sample values can agree by coincidence. Here the sign of every odd-power term is flipped and the coefficients are compared, so the answer holds for every real x.
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/function-even-odd \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"f(x) = 3x^4 - 2x^2 + 7"}'const res = await fetch("https://api.kit.forhosting.com/algebra/function-even-odd", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "f(x) = 3x^4 - 2x^2 + 7"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/algebra/function-even-odd",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "f(x) = 3x^4 - 2x^2 + 7"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/algebra/function-even-odd", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"f(x) = 3x^4 - 2x^2 + 7"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"f(x) = 3x^4 - 2x^2 + 7"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/algebra/function-even-odd", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"text": "f(x) = 3x^4 - 2x^2 + 7"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "algebra.function_even_odd",
"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
Reading even, odd, and neither results
The checker reports that case as even_and_odd instead of arbitrarily choosing one label.
Input rules and useful checks
The parser also limits the expanded degree so an accidentally enormous power cannot consume excessive browser or API resources. API requests cost $0.002, while the browser version uses the same deterministic solver.
Technical questions
Is the zero function even or odd?
It is both. The zero function satisfies f(-x)=f(x) and f(-x)=-f(x), so the result is reported as even_and_odd.
What does the API request cost?
Each API request costs $0.002. The same deterministic calculation is also available in the browser.