Thin films of meso-tetra(4-carboxyphenyl)porphyrin with different metal centres (MTCPP, M = Fe, Co and Zn) in combination with anatase TiO2 have been formed on cotton fabric. Their self-cleaning properties have been evaluated by conducting the photocatalytic degradation of methylene blue under visible-light irradiation. All MTCPP/TiO2-coated cotton fabrics showed superior self-cleaning performance as compared to the bare TiO2-coated cotton. Among the three metal porphyrins, FeTCPP showed the highest photocatalytic activity with complete degradation of methylene blue in 180 min. The fabrics were characterized by FESEM, XRD, UV–vis and fluorescence spectroscopy.