The hosts - only promoted from the third tier of Italian football in 2013 - have already claimed a point off title-chasing Napoli this term and picked up another solid draw against a Milan attack that displayed several shortcomings going forward.
Sinisa Mihajlovic saw his side put seven goals past Sampdoria and Crotone in Serie A and the Coppa Italia in recent days following blanks against Atalanta and Juventus, but Milan were well contained by their lowly opponents, who came closest to breaking the deadlock early on.
Lorenzo Lollo had two good chances in the first half while Milan's best chances came courtesy of the lively M'Baye Niang.
The hosts kept out a frantic late scramble inside their own penalty area to secure a sixth home point of the season, leaving Milan eighth in the table with just two wins to their name on the road this term.
Carpi named former Milan players Cristian Zaccardo and Marco Borriello in their XI and began brightly, buoyed by back-to-back wins over Genoa in the league and Vicenza in the Coppa, but Lorenzo Pasciuti's early shot was blocked by Mattia De Sciglio, in for the injured Luca Antonelli.
The visitors stuttered through the opening 10 minutes with Lollo forcing Gianluigi Donnarumma into a couple of early saves before two careless touches from Alessio Cerci denied him separate one-on-ones with Vid Belec at the other end.
Milan grew into the game and edged the final stages of the half, Riccardo Montolivo and Niang testing Belec, although Alex was required to produce a superb last-ditch challenge to thwart Carpi's Kevin Lasagna before the break.
Following his brace against Sampdoria, Niang remained energetic and saw a dangerous delivery cleared early in the second half but both sides continued to lack quality in the final third.
Mihajlovic's side dominated possession after the hour but were woefully short of ideas in the final third, with the Milan boss waiting until the 68th minute to reshuffle his forward pack and introduce Luiz Adriano for Cerci.
Giacomo Bonaventura forced Belec into a routine save from a free-kick before missing the target with another set-piece soon after.
Niang saw another cross blocked by Gaetano Letizia with Luiz Adriano and Carlos Bacca waiting in the box following a quick counter but the visitors returned to San Siro with just a point despite having their best period of pressure in the final stages.
Alex saw a thumping header saved spectacularly by Belec while efforts from Bonaventura and Luiz Adriano were blocked thanks to brave Carpi defending in a frenetic goalmouth scramble that added to Milan frustrations.