spsurvey is an R package for design-based statistical inference, with a focus on spa-tial data. spsurvey provides the generalized random-tessellation stratified (GRTS) algo-rithm to select spatially balanced samples via the grts() function. The grts() function flexibly accommodates several sampling design features, including stratification, vary-ing inclusion probabilities, legacy (or historical) sites, minimum distances between sites, and two options for replacement sites. spsurvey also provides a suite of data analysis options, including categorical variable analysis (cat_analysis()), continuous variable analysis (cont_analysis()), relative risk analysis (relrisk_analysis()), attributable risk analysis (attrisk_analysis()), difference in risk analysis (diffrisk_analysis()), change analysis (change_analysis()), and trend analysis (trend_analysis()). In this manuscript, we first provide background for the GRTS algorithm and the analysis ap-proaches and then show how to implement them in spsurvey. We find that the spatially balanced GRTS algorithm yields more precise parameter estimates than simple random sampling, which ignores spatial information.