Peralta will make $7 million this season and $7.5 million in each of the next two campaigns, a source told Nick Piecoro of the Arizona Republic.
The 32-year-old was scheduled to become a free agent following the 2020 season.
The Venezuelan owns a career .824 OPS and won a Silver Slugger Award in 2018 after belting 30 home runs for the D-Backs. He also picked up a Gold Glove in 2019 for his defensive efforts in Arizona's outfield.
Peralta has spent his entire six-year career with the franchise.