A hole in a function is a single missing point on its graph, a spot where the function is not defined even though the curve passes smoothly through that location in every other way. You’ll most often encounter holes in rational functions (fractions with polynomials on top and bottom), and they appear whenever the numerator and denominator share a common factor. The formal name is a “removable discontinuity,” because you could theoretically fill the gap by defining just one additional point.
Why Holes Happen
A rational function like f(x) = (x² − 3x − 10) / (x − 5) has a denominator that equals zero when x = 5. Plugging in x = 5 gives you 0/0, which is undefined. But if you factor the numerator, you get (x − 5)(x + 2) / (x − 5). The (x − 5) appears in both the top and bottom, and when you cancel it, the simplified function is just x + 2.
That simplified version works perfectly at x = 5, giving you 5 + 2 = 7. The original function, however, still cannot accept x = 5 because the original denominator is zero there. So the graph of the original function looks exactly like the line y = x + 2, except with a single missing point at (5, 7). That missing point is the hole.
How to Find a Hole Step by Step
The process comes down to factoring and canceling:
- Factor both parts. Write the numerator and denominator in fully factored form.
- Spot shared factors. Any factor that appears in both the numerator and the denominator signals a potential hole.
- Find the x-coordinate. Set the shared factor equal to zero and solve. That x-value is where the hole lives.
- Find the y-coordinate. Cancel the shared factor to get the simplified function, then plug the x-value into that simplified version. The result is the y-coordinate of the hole.
For example, with f(x) = (x² − 3x − 10) / (x − 5), factoring gives (x − 5)(x + 2) / (x − 5). The shared factor is (x − 5), so the hole is at x = 5. Plugging x = 5 into the simplified function x + 2 gives y = 7. The hole is at the point (5, 7).
Holes vs. Vertical Asymptotes
Both holes and vertical asymptotes occur at x-values that make the denominator zero, but they behave very differently. The distinction depends on whether that same factor also cancels from the numerator.
If a factor like (x − 3) appears in the denominator but not the numerator, the function blows up toward infinity at x = 3 and you get a vertical asymptote. If the same factor appears in both the numerator and denominator, the zero cancels out and you get a hole instead. The graph stays calm near the hole, approaching a finite y-value rather than shooting off toward infinity.
Things get slightly more nuanced when the same factor appears with different powers (multiplicities) in the numerator and denominator. If (x − c) appears s times in the numerator and t times in the denominator:
- s equals t: The factors cancel completely, leaving a hole. The y-value of the hole is found by evaluating the reduced function at x = c.
- s is greater than t: The factors partially cancel, still leaving a hole at x = c, and the hole sits on the x-axis (y = 0).
- s is less than t: Some denominator factors survive after canceling, so the function still blows up. You get a vertical asymptote at x = c, not a hole.
What a Hole Looks Like on a Graph
On a graph, a hole is drawn as a small open (hollow) circle at the exact coordinates of the missing point. The curve passes through that location as if nothing is wrong, but the open circle signals that the function is not actually defined there. If you were tracing the graph with a pencil, you’d lift the pencil for just that one point and then set it back down immediately after.
When graphing by hand, the standard approach is to first graph the simplified function as though the hole doesn’t exist, then go back and place the hollow circle at the correct (x, y) coordinates.
How Holes Affect the Domain
Because the function is undefined at the hole’s x-value, that value must be excluded from the domain. If a function has a hole at x = 5, the domain includes all real numbers except 5. In interval notation, that looks like (−∞, 5) ∪ (5, ∞). In set-builder notation: {x | x ≠ 5}.
This is true even though the simplified version of the function works fine at x = 5. The original function, as written, still has a zero in the denominator at that point. Simplifying changes the formula but doesn’t retroactively fix the original domain restriction.
The Limit Perspective
In calculus, holes connect to the concept of limits. At a hole, the limit of the function exists and equals a finite number, but the function itself is either undefined at that point or defined as something different. That’s exactly what makes the discontinuity “removable.” You could remove the gap by redefining the function’s value at that single point to match the limit.
For instance, if f(x) = (x² − 3x − 10) / (x − 5), the limit as x approaches 5 is 7. The function is undefined at x = 5, but you could create a new function g(x) that equals f(x) everywhere except at x = 5, where g(5) = 7. That new function g is continuous, with no hole. This is why the discontinuity is called removable: it takes only a single point to fix it, unlike a vertical asymptote, which no simple redefinition can repair.
Common Mistakes to Watch For
The most frequent error is canceling the common factor and then forgetting about the hole entirely. Once you cancel (x − 5) from the top and bottom, the simplified expression no longer shows any problem at x = 5. But the original function was never defined there, and that restriction carries forward. Always note the hole before you simplify.
Another common slip is confusing the x-coordinate of the hole with the y-coordinate. The x-value comes from setting the canceled factor equal to zero. The y-value comes from plugging that x into the already-simplified function. Mixing up these steps can place the hole at the wrong location on the graph.

