Small high-resolution lidar systems can be used in a broad range of applications such as object detection, foliage penetration, and positioning. In this study, a scanning lidar was used together with two visual cameras and a low-cost inertial measurement unit to obtain precise positioning in forest environments. Position accuracy better than 0.05 % of the traversed path was obtained with the system. The visual cameras and the inertial measurement unit were used to estimate an approximate trajectory and the lidar data were applied to refine the positioning using high level and low level features extracted from the lidar data. Low level features were characterized by planes and sections of the tree stems, and high level features by whole trees. The system was able to operate without support from satellite navigation data or other positioning support. The results can be applied for navigation in forest environments e.g. for small unmanned aerial vehicles or ground vehicles.