"Butt has been charged under level two of the ICC (International Cricket Council) code of conduct for criticising match officials after a hearing with match referee Alan Hurst," said an ICC spokesman.
The 23-year-old Butt was summoned for the hearing with Hurst after the fourth day's play on Thursday.
Hurst said: "Butt has been charged under the ICC code of conduct 2.3 which relates to the player publicly criticising or making inappropriate comments on a match related incident or official."
Butt had criticised umpiring in the first and second Test during his post-match comments on Wednesday.
"There have been some decisions where we have been unlucky like, I think, myself in the second innings of the Karachi Test," Butt told reporters on Wednesday of his dismissal three when a bat-pad catch was held at short-leg.
The decision was referred to television umpire Riazuddin who ruled Butt out.
"The third umpire gave me out when it was a bounce catch," said Butt, who also criticised decision against Pakistan's ace batsman Mohammad Yousuf in the first innings of the second Test.
"I don't think Yousuf was out. When you lose your premier batsman like that, one decision can make a lot of difference to the team," said Butt of Yousuf's leg-before decision off paceman Dale Steyn on Tuesday.
Pakistan, chasing a mammoth 457 to level the two-Test series, were 108-1 on the fourth day -- needing another 349 runs to win or bat out 90 overs on Friday. South Africa won the first Test in Karachi by 160 runs.