Let \(\Omega \subset \mathbb {R}^2\) be a bounded, convex set. A set \(\mathcal {O} \subset \mathbb {R}^2\) is an opaque set (for \(\Omega \) ) if every line that intersects \(\Omega \) also intersects \(\mathcal {O}\) . What is the minimal possible length L of an opaque set? The best lower bound \(L \ge |\partial \Omega |/2\) is due to Jones (1962). It has been remarkably difficult to improve this bound, even in special cases where it is presumably very far from optimal. We prove a stability version: if \(L - |\partial \Omega |/2\) is small, then any corresponding opaque set \(\mathcal {O}\) has to be made up of curves whose tangents behave very much like the tangents of the boundary \(\partial \Omega \) in a precise sense.