Waveform decomposition is a common step for exploitation of full-waveform lidar data. Much effort has been focused on designing algorithms based on the assumption that the returned waveforms follow a Gaussian mixture model where each component is a Gaussian. However, many real examples show that the waveform components can be neither Gaussian nor symmetric even when the emitted signal is Gaussian or symmetric. This paper proposes a nonparametric mixture model to represent lidar waveforms without any constraints on the shape of the waveform components. A fuzzy mean-shift algorithm is then developed to decompose the waveforms. This approach has the following properties: 1) It does not assume that the wave- forms follow any parametric or functional distributions; 2) the waveform decomposition is treated as a fuzzy data clustering problem and the number of components is determined during the time of decomposition; and 3) neither peak selection nor noise floor filtering prior to the decomposition is needed. Experiments are conducted on a dataset collected over a dense forest area where significant skewed waveforms are demonstrated. As the result of the waveform decomposition, a highly dense point cloud is generated, followed by a subsequent filtering step to create a fine digital elevation model. Compared with the conventional expectation–maximization method, the fuzzy mean-shift approach yielded practically comparable and similar results. However, it is about three times faster and tends to lead to slightly fewer artifacts in the resultant digital elevation model.