This paper presents a feature-preserved thinning algorithm for handwritten Chinese characters. We regard a character as a composition of strokes and a stroke is composed of stroke and fork segments that are individually processed to obtain character skeletons. At first, one of four direction codes is assigned to every black pixel. Connected black pixels with the same direction code form a block. Next, we split blocks into stroke and fork segments according to their direction codes and the adjacent relationships among the blocks. Third, the skeletons of stroke segments are extracted. Finally, skeleton segments that touch one fork segment are connected to reconstruct complete stroke skeletons by replacing the fork segment with short line segments. The four directions are just used to split strokes; the thinned strokes are still in any possible direction. The approach preserves structural features of Chinese characters for recognition; the thinned results keep away from the hairy, shortening and fork-distortion problems. The approach is also insensitive to character noise and orientation. Experimental results show that the proposed approach produces less-distortion skeletons than two general-purpose thinning algorithms produce for handwritten Chinese characters.