The tax-free savings account (TFSA) is a powerful savings vehicle for Canadians, whether they hold domestic, U.S. or international stocks.
However, there is some fine print in the TFSA rules that you need to know about if you hold foreign or U.S. stocks in the account. The “fine print” in question includes potential taxes, as well as currency exchange fees.
In this article, I will explore three “fine print” rules every Canadian should know before holding U.S. stocks in a TFSA.

Source: Getty Images
Rule #1: U.S. stocks charge Canadian investors a 15% withholding tax
Canadian investors holding dividend-paying U.S. stocks incur a 15% tax on the dividends, and there is no way to recover the tax, not even in a TFSA. While you might be surprised to hear that you pay taxes on U.S. dividend stocks held in your TFSA, the logic behind this tax is pretty simple. Almost all countries tax dividends paid to citizens of other countries; only provisions in tax treaties can override such taxes; and Canada-U.S. tax treaties have no exemption for TFSAs. The treaties do exempt RRSPs – but there’s a catch there too, which I’ll cover later.
Rule #2: Brokers almost always charge currency conversion fees
Another fine print rule regarding the trading of U.S. stocks – although this one isn’t exactly TFSA-specific – is the fact that you’ll pay currency exchange fees if buying/selling U.S. stocks in a typical Canadian account. Canadian dollar accounts are designed to hold, well, Canadian dollars. Most brokers will open a U.S. dollar account for you in conjunction with the Canadian dollar account you open, but there’ll still be fees involved in converting from your Canadian checking account to the U.S. dollar TFSA. Unless you get paid in U.S. dollars, there’s no way to avoid some form of conversion fee. However, the fee for transferring Canadian dollars to a USD TFSA is likely to add up to less than the fees from placing many USD trades in a CAD account over many years.
Rule #3: Canadian-listed ETFs of U.S. stocks also pay withholding taxes
As a final rule, Canadian-listed ETFs of U.S. stocks pay withholding taxes at the fund level, meaning that neither the RRSP nor the TFSA can eliminate the withholding tax in this case.
Consider the Canadian version of the Vanguard S&P 500 Index Fund (TSX:VFV), for example. It’s a pretty good index fund all things considered, though its management fee (0.09%) is more than double that of the closest American alternative (VOO).
Nevertheless, with roughly 500 U.S. stocks and a TSX-listing, trading VFV spares you conversion fees. If you’re a Canadian frequently trading the S&P 500 with Canadian dollars, then trading it as VFV may be wise (assuming that frequent trading can ever be ‘wise,’ the jury’s sort of out on that one).
There’s just one problem:
Being a Canadian fund of U.S. stocks, VFV charges withholding taxes at the fund level. By the time the dividends hit your TFSA, they have been taxed. Unfortunately, not even the mighty RRSP can spare you this tax: the taxes are levied before they hit the account, making the relevant tax treaty inapplicable. I’m no lawyer, but from what I’ve read online, it is not possible to apply to recover this tax when holding VFV in an RRSP. C’est la vie.