Herein, a pyrrole-containing hydrothermal carbon (N-SHTC) was developed by a simple one-step hydrothermal carbonization approach using starch and nitric acid as starting reactants. The introduction of nitric acid promoted the dehydration and carbonization of starch and led to the synthesis of N-SHTC at lower hydrothermal temperature, and also resulted in the incorporation of N into the furan structure to form pyrrole units. The charge transfer efficiency of N-SHTC was significantly improved due to the introduced pyrrole units as potential electron acceptor. With no scavengers or O2 bubbling, N-SHTC exhibited a H2O2 production rate of 1132 μmol g−1 h−1 in pure water under visible light. Notably, the H2O2 photoproduction performance of N-SHTC was further enhanced in the presence of metal salt ions due to the strengthened electron-withdrawing property of pyrrole units caused by the metal salt ions. These merits enabled N-SHTC the potentially practical applications in photocatalytic production of H2O2.