Fiducial registration is useful both in applications where other registration techniques have poor performance and for validation of new registration techniques. Registration of 3D CT or MR images to 2D X-ray images is particularly difficult, in part because automated contour extraction from 2D images is not yet well solved and in part because of the considerable computational expense in matching the contours to the 3D images. This work addresses the problem of fiducial registration from a single X-ray image. We have developed an algorithm for fast, efficient registration of 3D fiducial locations to the lines cast from the X-ray source to the 2D projective image that is 60 times faster than the popular iterated closest-point algorithm. The algorithm has been tested on fluoroscopic images from portable C-arms and on portal images from a radiotherapy device. On these images, six or seven fiducials can be registered within seconds to an absolute accuracy of about one millimeter and two degrees.