"It's because they were France that they were shot. It's because they were freedom that they were massacred," Hollande said in a speech which he was reported to have been working on up to the last minute.
He promised to do everything necessary to destroy the Islamic State armed group, which claimed responsibility for the attacks.
The ceremony opened with songs, followed by the reading of 129 of the 130 victims' names.
More than 2,000 people were expected, among them the victims' families, MPs, former presidents and prime ministers.
The average age of the victims, many of whom were attending a heavy metal concert at the Bataclan venue, was 35, an official close to Hollande pointed out before the ceremony.
Hollande earlier called on all French people to display the flag on Friday and the government put online a high-defintion representation of it for people to print and display.
Two families refused to take part in the ceremony, one asking that their relation's name not be read out, because they said the government was partly responsible for failing to prevent the attacks.
"Attacks on 7-9 January claimed 17 lives in France," Emanuelle Prévost, ths sister of François-Xavier Prévost who died at the Bataclan, wrote on her Facebook page. "Since then nothing has been done. If bills have been passed, no decree enacting them has been published. Ten months later the same men are able to start all over again."
Paris's main Grand Mosque was to hold a "solemn prayer" in homage to the victims later on Friday.