The 34-year-old underwent an arthroscopy on his right knee on Friday night to repair damaged cartilage.
Doctor Ramon Cugat told the Barcelona website: "He (Puyol) will decide the timing of his return. It could be a month and a half, two or three months."
Puyol underwent similar surgery last summer and missed Spain's successful Euro 2012 campaign, but Cugat revealed Friday's operation was not as complicated.
He said he was "optimistic" Puyol would be able to continue with his career after recovering.
The surgery means Puyol will definitely miss next month's Champions League quarter-final with Paris St Germain.