The 34-year-old captain needed just 54 balls to reach his 12th century in a majestic display against Australia on the first day of the second Test.
It beat the mark of 56 balls set by West Indies great Sir Viv Richards against England in 1986, and equalled by Pakistan's Misbah-ul-Haq in 2014.
"I was trying to hit every ball for four or six," said McCullum.
"Viv was my idol growing up, he was an incredible cricketer. I'm almost a little bit of embarrassed to go past him, to be honest."
New Zealand, who lost the opening game of the two-Test series, were 32-3 at one point on day one in Christchurch, but recovered to 370 all out before Australia closed on 57-1.
McCullum had a big piece of luck on 39, when he sliced James Pattinson to Mitchell Marsh.
But umpire Richard Kettleborough requested a replay which showed Pattinson had bowled a no-ball.
McCullum had reached 82 from 48 balls when Josh Hazlewood came on to bowl and, after failing to score from the first two balls of the over, the skipper turned on the power, hitting a six, followed by three fours, to give him the record.
He finally fell for 145 off 79 balls when he was caught by Nathan Lyon off Pattinson.
Have you added the new Top Story alerts in the BBC Sport app? Simply head to the menu in the app - and don't forget you can also add alerts for the Six Nations, cricket scores, your football team and more.
Brendon McCullum scored the fastest Test century in his 101st and final match for New Zealand before retiring.