The design and implementation of a software package for the analysis of single-crystal NMR data is presented. The SCFit software can treat spectra arising from various interactions: (i) chemical shift tensor only; (ii) chemical shift tensor and quadrupolar coupling tensor; (iii) dipolar and indirect nuclear spin-spin coupling tensors; (iv) all four interactions. The software is demonstrated on recently reported 17O and 31P single-crystal NMR data for triphenylphosphine oxide and for two of its halogen-bonded cocrystals. The 17O single-crystal NMR data represent a case where all four above-mentioned interactions simultaneously affect the spectra. SCFit can fit the chemical shift and quadrupolar coupling in two ways: (i) through an unconstrained fitting process where all tensor parameters are freely optimized or (ii) through a constrained fitting process where the principal components of the tensors may be fixed to values known previously with high precision via the analysis of powder samples. The second strategy is explored in an effort to reduce the number of unknowns in the fitting process; an improvement in the precision of the resulting tensor orientations is noted in some cases.