UncertainData.jl provides an interface to represent data with associated uncertainties for the Julia programming language (Bezanson, Edelman, Karpinski, & Shah, 2017). Unlike Measurements.jl (Giordano, 2016), which deals with exact error propagation of normally distributed values, UncertainData.jl uses a resampling approach to deal with uncertainties in calculations. This allows working with and combining any type of uncertain value for which a resampling method can be defined. Examples of currently supported uncertain values are: theoretical distributions, e.g., those supported by Distributions.jl (Besançon et al., 2019; Lin et al., 2019); values whose states are represented by a finite set of values with weighted probabilities; values represented by empirical distributions; and more.