Paper link: http://groups.csail.mit.edu/robotics-center/public_papers/Dai17.pdf In this paper we present a novel formulation of the inverse kinematics (IK) problem with generic constraints as a mixed-integer convex optimization program. The proposed approach can solve the IK problem globally with generic task space constraints, a major improvement over existing approaches, which either solve the problem in only a local neighborhood of the user initial guess through nonlinear non-convex optimization, or address only a limited set of kinematics constraints. Specifically, we propose a mixed-integer convex relaxation on non-convex SO(3) rotation constraints, and apply this relaxation on the inverse kinematics problem. Our formulation can detect if an instance of the IK problem is globally infeasible, or produce an approximate solution when it is feasible. We show results on a 7-joint arm grasping objects in a cluttered environment, and a quadruped standing on stepping stones. We also compare our approach against the analytical approach for a 6-joint manipulator. The code is open-sourced at drake.mit.edu