ZnO–ZnS porous films were formed by low-temperature sulfidation of three-dimensional (3D) ZnO porous templates. The conversion of ZnO to ZnS initialized at the ZnO surface, accompanied by volume expansion. ZnS grains were preferentially formed at the surface of ZnO blocking the pseudotriangular pores. During sulfidation, voids were generated at the interfaces between ZnO and the silicon substrate because of the Kirkendall effect. However, Kirkendall voids were refilled with ZnS grains by further sulfidation. Results indicate that the unique and complex structure of 3D ZnO porous templates facilitated the change of the ZnS growth mechanism from outward to inward.