A pure function is a function whose output depends only on its input arguments and which produces no observable side effects, such as mutating external state, performing I/O, or relying on mutable global variables. Calling a pure function with the same inputs always returns the same output.