As a prototype of genomics-guided precision medicine, individualized thiopurine dosing based on pharmacogenetics is a highly effective way to mitigate hematopoietic toxicity of this class of drugs. Recently, NUDT15 deficiency was identified as a genetic cause of thiopurine toxicity, and NUDT15-informed preemptive dose reduction was quickly adopted in clinical settings. To exhaustively identify pharmacogenetic variants in this gene, we developed massively parallel NUDT15 function assays to determine the variants’ effect on protein abundance and thiopurine cytotoxicity. Of the 3,097 possible missense variants, we characterized the abundance of 2,922 variants and found 54 hotspot residues at which variants resulted in complete loss of protein stability. Analyzing 2,935 variants in the thiopurine cytotoxicity-based assay, we identified 17 additional residues where variants altered NUDT15 activity without affecting protein stability. We identified structural elements key to NUDT15 stability and/or catalytical activity with single amino acid resolution. Functional effects for NUDT15 variants accurately predicted toxicity risk alleles in patients treated with thiopurines with far superior sensitivity and specificity compared to bioinformatic prediction algorithms. In conclusion, our massively parallel variant function assays identified 1,152 deleterious NUDT15 variants, providing a comprehensive reference of variant function and vastly improving the ability to implement pharmacogenetics-guided thiopurine treatment individualization.