Domain And Range Calculator
What inputs does your function accept and what outputs can it produce?
Enter a mathematical function and get its domain and range in interval notation, set notation, and plain English. Works with polynomials, rational functions, radicals, logarithms, and trigonometric functions.
—
Send feedback
💡 Share your idea or report a problem
✓ Thanks! We'll take a look.
Learn more
How It Works
The formula, explained simply
Think of a function as a machine with an input slot and an output chute. The domain is the list of items the machine will accept without breaking. Drop in a negative number under a square root? The machine jams. Divide by zero? The machine catches fire. Domain analysis is nothing more than a systematic search for inputs that break the machine.
Range works the other direction: given only the items the machine accepts, what outputs can it actually produce? A square root machine always outputs a non-negative number, no matter what valid input you feed it. So even though the machine accepts any non-negative number, its output is also restricted to non-negative numbers. These two restrictions are independent and must be analyzed separately.
The notation system codifies these restrictions precisely. Interval notation like [3, +∞) communicates two things at once: the direction of the restriction and whether the boundary point is itself included. Practitioners prefer interval notation over inequality notation because it renders clearly in typeset mathematics and stacks well when unions are needed, such as (-∞, 2) ∪ (2, +∞) for a rational function with a hole at x = 2.
When To Use This
Right tool, right situation
Use domain and range analysis whenever you need to know whether a specific input is valid before computing. This comes up in software validation (checking that a user-entered value will not cause a division by zero or a square root of a negative number), in physics (identifying singularities or boundary conditions in a model), and in statistics (checking that a probability or log-likelihood function is defined at a proposed parameter value).
Domain and range analysis is also the right tool when you need to know the full set of possible outputs from a function before you run it. If you are designing a control system and need to guarantee the output stays within a safe range, the mathematical range of the transfer function tells you exactly what that envelope looks like without having to simulate every input.
This tool is not appropriate when your function involves piecewise definitions, implicit functions (where y appears on both sides of the equation), or parametric curves. Those require case-by-case analysis that depends on specific domain intervals and cannot be summarized by the coefficient-based approach used here. For multivariate functions, domain analysis requires checking all variable combinations, which is also outside the scope of this tool.
Common Mistakes
Why results sometimes look wrong
Confusing the domain restriction with the exclusion point direction. For a logarithm log(ax + b) with a negative leading coefficient, the argument ax + b must be positive, which means x must be less than -b/a, not greater. Students often automatically write x > boundary without checking whether a is positive or negative. The sign of a determines which side of the boundary is valid.
Assuming the range of a square root always starts at zero. The vertical shift c changes where the range begins. √(2x - 6) + 4 has domain [3, +∞) but range [4, +∞) because the output of the radical itself is always at least zero, and then 4 is added. Ignoring c produces a correct domain but a wrong range, which is the half-correct answer that costs points on exams.
Missing the horizontal asymptote exclusion from the range of rational functions. Students find the vertical asymptote (domain exclusion) correctly, then write the range as all real numbers. But the horizontal asymptote k is never reached by the function output, so k must also be excluded from the range. The range of a/(bx + c) + k is always (-∞, k) ∪ (k, +∞), not all of the real numbers.
The Math
Worked examples and deeper derivation
For a square root function f(x) = √(ax + b) + c, the domain condition is ax + b ≥ 0. Solving for x: if a > 0, then x ≥ -b/a, giving domain [-b/a, +∞). If a < 0, then dividing by a flips the inequality, giving x ≤ -b/a and domain (-∞, -b/a]. The range always starts at c because √(0) = 0, so the minimum output is 0 + c = c.
For a rational function f(x) = a/(bx + c) + k, the domain excludes x = -c/b (where the denominator is zero). As x approaches -c/b from either side, the function grows without bound, creating a vertical asymptote. The horizontal asymptote k is approached as x approaches ±∞, so k is excluded from the range. This gives range (-∞, k) ∪ (k, +∞).
For an even-degree polynomial f(x) = ax² + bx + c with a > 0, the vertex is at x = -b/(2a) and the minimum y value is c - b²/(4a). This formula comes from completing the square: rewriting ax² + bx + c as a(x + b/(2a))² + (c - b²/(4a)) shows the vertex form directly. The range is then [c - b²/(4a), +∞). For a < 0, the parabola flips and the range is (-∞, c - b²/(4a)].
Expert Unlock
The thing most explanations skip
The standard analysis used here assumes the function is defined over the real numbers, which hides a structural limitation: functions defined on restricted natural domains (non-negative integers, closed intervals given by a physical constraint) may have domains that are subsets of what this tool reports. More precisely, the range computed for a polynomial is the range of the continuous extension, which may not match the range over an integer-only domain. When the input variable represents a count, a discrete quantity, or a time index, the continuous range is an upper bound on reachable outputs, not the exact set.
What do the domain and range intervals actually tell you?
Need something this doesn't cover?
Suggest a tool — we'll build it →