In CAD/CAM, NURBS (Non-Uniform Rational B-Spline) is used to represent a wide variety of free-form curves. NURBS interpolation is advantageous in the processing of smooth curves and is capable of high-speed and high-precision CNC machining. In this paper, a real-time 5-axis NURBS curve interpolator is proposed. The proposed interpolator is based on tool center point control and can produce smooth tool orientations as well as accurate tool paths, thereby realizing high precision and efficient 5-axis machining. Using newly defined G codes, tool orientations are described by vectors and the proposed interpolator can be applied to any 5-axis machines regardless of their rotary axis configurations. In addition, the proposed interpolator calculates both tool positions and orientations simultaneously using a shared interpolation routine and we can reduce the computation load. The proposed NURBS interpolator is implemented on a PC-based 5-axis CNC testbed. The performance of the proposed interpolator is compared with the conventional linear interpolator in terms of smoothness of feedrate, contour errors, and tool orientation errors.