Dust, scratches, or hair on originals (prints, slides, or negatives) distinctly appear as light or dark artifacts on a scan. These unsightly artifacts have become a major consumer concern. There are several scenarios for removal of dust and scratch artifacts. One scenario is during acquisition, e.g., while scanning photographic media. Another is artifact removal from a digital image in an image editor. For each scenario, a different solution is suitable, with different performance requirements and differing levels of user interaction. This work describes a comprehensive set of algorithms for automatically removing dust and scratches from images. Our algorithms solve a wide range of use scenarios. A dust and scratch removal solution has two steps: a detection step and a reconstruction step. Very good detection of dust and scratches is possible using side information, such as provided by dedicated hardware. Without hardware assistance, dust and scratch removal algorithms generally resort to blurring, thereby losing image detail. We present algorithmic alternatives for dust and scratch detection. In addition, we present reconstruction algorithms that preserve image detail better than previously available alternatives. These algorithms consistently produce visually pleasing images in extensive testing.