Visual Tools
Calculators
Tables
Mathematical Keyboard
Converters
Other Tools


Range of a Function


Quadraticg(x) = (x)²
×
880 × 460
Rangex ≥ 0
-10-8-6-4-20246810
Test point
x = 1
✓ achievablesome x gives g(x) = 1
Applieda=1k=0b=1h=0a, k affect range







Getting Started with the Visualizer

Open the page and three panels appear. On the left is the function picker with eleven base functions grouped by the shape of their range — all real numbers, bounded below, bounded between 1-1 and 11, or all reals with one excluded value. In the center is the plot panel with the function g(x)g(x) in blue and a colored band drawn directly on the y-axis showing the range. On the right is the info panel with two tabs.

Below the plot sits the range card — a colored block displaying the range in interval notation, the same range drawn on a horizontal 1D number line, and a draggable test point slider that lets you check whether a specific y-value is achievable as an output of gg.

The page launches with the quadratic family. Its range is y0y \geq 0 — the parabola never produces negative values. The y-axis band starts at y=0y = 0 and extends upward; the test point at y=1y = 1 shows a green "achievable" badge.

Picking a Function

The picker groups eleven base functions by the shape of their range rather than by algebraic type — a deliberate choice that makes the visualizer act as a reference for range classification:

Unrestricted ($\mathbb{R}$) — Identity, Linear (2x), Cubic, Logarithmic. All reach every real number as an output.
Bounded below — Quadratic, Absolute, Square root (range [0,)[0, \infty)), Exponential (range (0,)(0, \infty)). Their outputs have a floor.
Bounded $[-1, 1]$ — Sine, Cosine. Periodic functions with a hard ceiling and floor.
Excluded point — Reciprocal. Reaches every real number except 00 — its horizontal asymptote.

Notice that logarithmic appears here under "Unrestricted" even though its *domain* is restricted to positive numbers. Domain and range are independent: a function can have a restricted domain and still produce every real number as output.

Click any entry to switch. Transformation parameters reset to defaults on every switch.

Why Only aa and kk Change the Range

Below the family list, four sliders apply the standard affine transformations:

$a$ — vertical scale. Multiplies every output by aa.
$k$ — vertical shift. Adds kk to every output.
$b$ — horizontal scale. Multiplies the input by bb.
$h$ — horizontal shift. Subtracts hh from the input.

A small "affects range" badge appears on the labels for aa and kk but not on bb or hh. The reason is structural. The transformed function is g(x)=af(b(xh))+kg(x) = a \cdot f(b(x - h)) + k. Reading right to left along the formula: bb and hh act on the input *before* ff runs, so they change *which* x produces each output — but the set of outputs ff can produce stays the same. Then aa scales those outputs and kk shifts them.

Drag bb or hh as wildly as you want — the y-axis band does not move. Drag aa or kk and the band immediately rescales and shifts. The visualizer makes this asymmetry visible in real time.

Reading the Y-Axis Highlight and Range Bar

The range is shown in two coordinated places:

On the y-axis of the main plot — a colored band traces the interval of achievable outputs directly on the axis, in the same coordinate system as the function. You can see which heights the blue curve actually reaches and which it skips. Open and closed endpoints render as hollow and filled circles, respectively; infinite extents render as arrows.

On a horizontal number line below the plot — the same range interval is drawn flat, like a one-dimensional version of the y-axis. This rotates the y-axis 90 degrees so it sits in the more familiar number-line orientation and gives it more room for tick marks and labels.

The two views always agree. The number-line version is easier to read at a glance and easier to compare across screenshots; the y-axis version makes the geometric relationship between the function and its range unmistakable.

For excluded ranges like the reciprocal, both views mark the excluded value with a red ×, showing the hole in the range visually.

Probing with the Test Point Slider

Inside the range card sits a test point slider labeled "x = ..." (despite the label, it represents a y-value being tested as a potential output). Drag it from 10-10 to +10+10 along the range bar. As you move:

• The slider's thumb on the number line jumps to that position, with a vertical marker and a filled circle.
• A horizontal dashed reference line appears in the main plot at the corresponding yy value, drawn in the highlight color when the value is achievable and in red when it is not.
• Below the slider, an "achievable" or "not achievable" badge updates with the result: green for in-range, red for out-of-range.

The achievability check answers the question that defines the range itself: *does there exist any input xx such that g(x)g(x) equals this yy?* When the test point sits inside the colored band, the answer is yes — and the dashed line will cross the curve somewhere. Drag it outside the band, and the dashed line never touches the curve.

The Range Card and Applied Chips

At the top of the range card, the range in interval notation is displayed as a monospace string — e.g., y0y \geq 0, 1y1-1 \leq y \leq 1, y0y \neq 0. This is the same string you would write on a homework assignment.

Below the plot, an Applied strip shows the four transformation parameter chips with their current values. The four chips are deliberately dimmed compared to other visualizers in the series; a separator and an "a, k affect range" callout to the right reinforce which parameters actually matter for this tool's question. Even though bb and hh are shown, they are visually de-emphasized — a visual reminder that they could be at any value and the range would still be the same.

The card's border color, header text, and accent badges all derive from the chosen highlight color, so the entire range UI reads as one coordinated block.

Customizing the Highlight Color

Under the family picker and parameter sliders, an Appearance section contains a single color swatch labeled "Range color". Click it to open a native color picker and choose any color you want for the range highlight, the range card chrome, the number-line band, and the dashed reference line.

The color cascades through several visual elements simultaneously:

• Y-axis highlight band in the plot
• Number-line fill below the plot
• Dashed horizontal reference line when the test point is achievable
• Range card border, header text, and "achievable" badge
• "Affects range" badges on the relevant parameter sliders

Changing the color is useful for matching the visualizer to a presentation slide deck or a printed worksheet, or simply for personal preference. The Reset button next to the section header returns the color to the default blue.

What Is the Range of a Function?

The range of a function is the set of all outputs it can produce — equivalently, the image of the domain under the function. If yy is in the range, then there exists at least one xx such that f(x)=yf(x) = y. If yy is not in the range, no input produces it.

Different function families have qualitatively different ranges:

x2x^2 — always non-negative; the range is [0,)[0, \infty)
exe^x — always strictly positive; the range is (0,)(0, \infty)
sin(x)\sin(x) and cos(x)\cos(x) — always between 1-1 and 11 inclusive
1/x1/x — reaches every real number except 00
x3x^3, lnx\ln x, identity — reach every real number

Range is independent of domain. A function can have a tiny domain and reach every real number, or have an enormous domain and stay confined to a small interval. The natural logarithm illustrates both points at once: domain restricted to x>0x > 0, range equal to all of R\mathbb{R}.

The range together with the domain fully characterizes the input-output behavior of a function. Together they answer "what goes in" and "what can come out."

Open vs Closed Endpoints and Excluded Values

Three subtle distinctions show up in the visualizer's range bar:

Closed endpoint (filled circle) — the boundary value is *reached*. Square root has range y0y \geq 0 with a closed endpoint at 00, because 0=0\sqrt{0} = 0 exactly. The range bar shows a filled dot.

Open endpoint (hollow circle) — the boundary value is *approached* but never reached. Exponential has range y>0y > 0 with an open endpoint at 00, because exe^x gets arbitrarily close to 00 as xx \to -\infty but never equals 00. The range bar shows a hollow dot.

Excluded value (red ×) — the function reaches every value except one. Reciprocal has range y0y \neq 0 — every nonzero real number is hit somewhere on the curve, but 00 is the horizontal asymptote, never touched. The range bar shows a full fill broken by a small red × at the excluded value.

The distinction between open and closed endpoints is genuinely important in calculus and analysis: it determines whether the function attains its extreme values, whether continuity holds at the boundary, and whether a maximum or minimum exists.

Related Concepts and Tools

Domain of a Function — the partner concept showing which inputs are allowed. Use the companion domain visualizer to see how domain transformations work and why bb and hh (not aa and kk) affect it — the mirror image of the rule shown here.

Functions — general theory of functions, including formal definitions of domain, range, and image.

Function Transformations — visualizer for aa, kk, bb, hh alone, useful for separating the effects of each parameter before bringing range analysis on top.

Functions Families Gallery — gallery of the same eleven base functions plotted side by side, useful as a prerequisite for understanding what each curve looks like.

Inverse Functions — visualizer for reflecting a function across y=xy = x. The range of ff becomes the domain of f1f^{-1} — a fundamental duality that the inverse and domain/range tools together make concrete.

Bounded Functions — functions whose range fits inside an interval; the trigonometric examples in this visualizer are the canonical examples.

Asymptotes — horizontal asymptotes are values the function approaches but never reaches, and they are exactly the open endpoints and excluded values of the range. The reciprocal's y=0y = 0 asymptote is a worked example.