A graph is not a function when a single input (x-value) produces more than one output (y-value). In practical terms, this means the graph has at least one spot where two or more points sit directly above or below each other on the same vertical line. Understanding why this disqualifies a graph comes down to one core rule: a function must give you exactly one output for every input.
The One-Output Rule
A function is a machine that takes an input and produces a single output. If you feed in 3 and get back both 5 and negative 5, the machine is broken, at least by the mathematical definition. There’s no ambiguity allowed. Every x-value must point to one and only one y-value.
This is what separates a function from a broader category called a “relation.” A relation is any pairing of x-values and y-values, no restrictions. A function is a special kind of relation where the pairing is strict: each x gets one y. Many-to-one is perfectly fine (multiple x-values can share the same y-value), but one-to-many is the dealbreaker. If one input maps to multiple outputs, you don’t have a function.
The Vertical Line Test
The fastest way to check whether a graph is a function is the vertical line test. Imagine dragging a vertical line across the graph from left to right. If that line ever touches the graph at more than one point simultaneously, the graph is not a function. That’s it.
Why does this work? A vertical line represents a single x-value. Every point where the line crosses the graph is a y-value paired with that x. If the line crosses twice, that one x-value has two y-values, which violates the one-output rule. You only need to find one place where this happens. Even if the rest of the graph is perfectly well-behaved, a single failure is enough to disqualify the entire graph.
Common Graphs That Fail
The classic example is a circle. Take the equation x² + y² = 25, which graphs as a circle centered at the origin with a radius of 5. At x = 3, the circle passes through both y = 4 and y = negative 4. A vertical line at x = 3 hits the graph twice, so this circle is not a function. The same is true for most values of x between negative 5 and 5.
Sideways parabolas fail for the same reason. A graph like x = y² opens to the right and, for most x-values, has two corresponding y-values (one positive, one negative). Ellipses, hyperbolas that open left and right, and any curve that loops back on itself will also fail the vertical line test.
Even something as simple as a vertical line itself, like x = 4, is not a function. That single x-value is paired with every possible y-value, which is the most extreme violation of the one-output rule you can get.
What About Piecewise Graphs With Dots
Piecewise graphs, the ones built from different pieces stitched together, sometimes look like they fail the vertical line test at the point where the pieces meet. This is where open and closed dots matter. A closed (filled-in) dot means the point is included on the graph. An open (hollow) dot means it’s excluded.
If two pieces of a graph meet at the same x-value but one has a closed dot and the other has an open dot, only the closed dot counts as an actual point on the graph. That x-value still has just one output, so the function rule holds. But if both dots are closed at the same x-value with different y-values, you have two outputs for one input, and the graph is not a function. When reading these graphs, pay close attention to which dots are filled and which are hollow, because that detail determines whether the graph passes or fails at the transition point.
One-to-Many vs. Many-to-One
A useful way to think about all of this is through the language of mappings. Functions allow many-to-one relationships, where multiple inputs share the same output. For example, in y = x², both x = 3 and x = negative 3 produce y = 9. That’s fine. The graph passes the vertical line test because no single x-value gives two y-values.
What functions do not allow is one-to-many, where a single input leads to multiple outputs. The square root of 4 is technically both 2 and negative 2, which is why mathematicians defined the square root function to return only the positive root. They deliberately restricted the output to keep it a function. Without that restriction, you’d have one input (4) mapping to two outputs, and the result wouldn’t be a function anymore.
This distinction matters because functions are deterministic. You put something in and get a predictable, single result back. That predictability is what makes functions useful for modeling real situations. If an input could give you multiple outputs, you’d never know which one to use, and the math stops being reliable. So when a graph allows one x-value to pair with two or more y-values, it loses that deterministic quality, and that is exactly why the graph is not a function.

