We show how to compute globally optimal solutions to inverse kinematics (IK) by formulating the problem as an indefinite quadratically constrained quadratic program. Our approach makes it feasible to solve IK instances of generic redundant manipulators. We demonstrate the performance on randomly generated designs and on real-world robots with up to ten revolute joints. The same technique can be used for manipulator design by introducing kinematic parameters as variables.