frbpoppy conducts fast radio burst population synthesis and continues the work of PSRPOP (ascl:1107.019) and PsrPopPy (ascl:1501.006) in the realm of FRBs. The code replicates observed FRB detection rates and FRB distributions in three steps. It first simulates a cosmic population of one-off FRBs and allows the user to select options such as models for source number density, cosmology, DM host/IGM/Milky Way, luminosity functions, and emission bands as well as maximum redshift and size of the FRB population. The code then generates a survey by adopting a beam pattern using various survey parameters, among them telescope gain, sampling time, receiver temperature, central frequency, channel bandwidth, number of polarizations, and survey region limits. Finally, frbpoppy convolves the generated intrinsic population with the generated survey to simulate an observed FRB population.