But profit almost halved over the year before as the central bank enforced its exchange-rate cap on the franc to protect the economy.
Interest and price gains on foreign currency holdings and gold contributed to the better than expected result, Tages-Anzeiger said quoting a news release.
Foreign currency positions accounted for 4.5 billion of the 6.9 billion profit.
Taken together, income and price gains on interest-bearing paper and equity securities were considerably higher than exchange rate-related losses of 10.6 billion.
These losses were blamed on the appreciation of the franc against the Japanese yen and the US dollar.
The net result from gold amounted to 1.4 billion francs, thanks to the price of gold rising over the year.
The SNB is to allocated 3.6 billion francs in profit to currency reserve provisions.
Of the remaining distributable profit of 2.4 billion francs, 1.5 million will go to shareholders in the form of dividends.
An additional 1 billion francs will be distributed to the federal government and cantons in accordance with an agreement.
In January, the SNB had said it anticipated a profit of 6 billion francs in 2012.
Profit in 2011 was 13.05 billion francs.