Free Tool
Most Canadian investors know the basics: TFSA for tax-free growth, RRSP for tax deferral. What a lot of people miss is the third dimension, which is that the same stock can produce different tax outcomes depending on which account holds it. Not by a tiny amount. By a meaningful, permanent, year-over-year drag that compounds in the wrong direction. Getting Canadian stock account location right is one of the few tax optimizations that costs nothing except attention.
I built stockscreener.ca to solve this. It’s a free Canadian stock account location tool covering 1,000+ securities. You type in a ticker, you get a recommendation and the reasoning behind it.
Canadian stock account location in one rule: US dividend payers go in your RRSP, no-dividend US growth stocks go in your TFSA, and Canadian dividend payers are flexible. The rest is details.
Table of Contents
What Is Account Location, and Why Does It Matter?
Canadian stock account location is the decision of where to hold a security, not whether to hold it. It’s separate from stock selection. Once you’ve decided you want to own something, the question becomes: TFSA, RRSP, or taxable?
The answer isn’t the same for every stock. A Canadian bank dividend and a US dividend from Coca-Cola are taxed differently. A no-dividend growth stock and a foreign income trust have different registered-account trade-offs. Getting Canadian stock account location wrong doesn’t trigger a CRA audit, but it does cost you real dollars every single year.
Most people don’t think about this at all. They open their TFSA, see that it says “tax-free,” and drop everything into it. That’s fine for a lot of stocks. For US dividend payers, it’s quietly expensive.
The TFSA Withholding Problem in Plain English
Here’s the core issue with Canadian stock account location.
When a US company pays you a dividend, the IRS withholds 15% at source. That’s not a CRA rule, it’s a US rule, and it applies to all non-US investors. The Canada-US tax treaty does address this, but only partially, and the relief depends on which account holds the stock.
Inside an RRSP, the Canada-US treaty generally removes the US withholding tax on directly held US dividends. The IRS recognizes registered pension-type accounts as eligible for treaty treatment.
Inside a TFSA, there’s no equivalent exemption. The IRS doesn’t recognize TFSAs under the treaty. You pay 15% withholding, it leaves your account, and you never get it back. There’s no foreign tax credit available inside a registered account.
So if you hold Coca-Cola (KO) in your TFSA and it’s yielding 2.62%, you’re quietly losing 15% of every dividend payment. On $10,000 of KO, that’s roughly $39 per year gone permanently. It’s not catastrophic, but it compounds, and it’s entirely avoidable.
The fix: hold US dividend payers in your RRSP. Hold non-dividend US growth stocks in your TFSA, because there’s no withholding problem if there’s no dividend. Hold Canadian dividend payers wherever you have room. That Canadian stock account location rule covers most situations. The tool handles the edge cases.
The Three-Question Framework Behind Every Recommendation
The account-location logic on stockscreener.ca comes down to three questions for each security.
1. Where is the company domiciled? Canadian companies, US companies, and foreign companies get different treatment. Domicile determines which tax treaty applies and what kind of dividend income you’re receiving.
2. Does it pay dividends? A US stock with no dividend has no withholding problem. The TFSA is fine. A US stock with a 4% dividend has a real withholding leak in a TFSA, and the RRSP is the better fit.
3. Is it listed on a designated exchange? For a security to be eligible for a registered account, it generally needs to trade on a recognized designated exchange. The tool checks this and flags anything that doesn’t clearly qualify.
From those three inputs, the Canadian stock account location recommendation follows automatically. The tool also shows you the estimated TFSA drag in dollars per year per $1,000 invested, so you can see the actual cost of holding a US dividend payer in the wrong account.
What the Tool Actually Shows You

For Canadian stock account location purposes, search for KO (Coca-Cola Company, NYSE) and the tool immediately shows RRSP as the educational fit. The dividend character is flagged as “US-source foreign income,” and the TFSA drag is listed as $3.93 per year per $1,000 invested at current yield. That’s the 15% withholding applied to Coca-Cola’s 2.62% yield, annualized. Other US dividend payers with the same RRSP recommendation in the database include Johnson and Johnson (JNJ, 2.34% yield), McDonald’s (MCD, 2.63%), Procter and Gamble (PG, 3.04%), PepsiCo (PEP, 4.02%), and Verizon (VZ, 5.79%).

Search for RY (Royal Bank of Canada, TSX) and the result is completely different. TFSA is the fit, the dividend character is “Canadian eligible dividend,” and the TFSA drag is listed as none. Canadian eligible dividends don’t have a foreign withholding problem. They’re also relatively tax-efficient in a taxable account because of the dividend tax credit, but the TFSA still wins for simplicity.

One nuance worth knowing: some US companies now have Canadian Depositary Receipt (CDR) versions available on the TSX. If you compare PEP on NASDAQ (RRSP recommendation) versus PepsiCo CDR on TSX (TFSA recommendation), you’ll see different results. CDRs are structured differently and the withholding treatment may differ from holding the US-listed share directly. The tool accounts for this by tracking exchange and domicile separately, which matters for accurate Canadian stock account location when the same company trades on multiple exchanges.
If you want to compare how a specific stock fits across TFSA, RRSP, and taxable accounts, use the Canadian stock account-location lookup at stockscreener.ca. The full result card includes per-account notes explaining the trade-offs for each security, not just a single label.
What It Doesn’t Do
The Canadian stock account location tool doesn’t tell you whether to buy anything. That’s not a throwaway disclaimer — it’s genuinely outside the scope of what the tool is designed to answer. Stock selection, portfolio weighting, sector allocation, your individual tax situation: those are separate decisions that need a full picture of your finances, not a lookup tool.
The data also has limits. The database covers 1,000+ securities, but not every ticker is fully enriched yet. Some results will show “Delayed” data, which means the security is searchable but dividend status isn’t confirmed in the current dataset. The tool flags this clearly on every result rather than guessing. If a stock you’re looking for shows “Review,” verify the dividend status independently before drawing a conclusion.
How It’s Built
The backend is a scheduled updater running nightly on my home server. It pulls profile and dividend data from Financial Modeling Prep for TSX-listed securities and from Finnhub for US-listed stocks, applies the account-location rules, and writes a static JSON cache. The public site reads from that cache when you search, which means no API keys on the client and no live data call slowing things down.
Updates run at 2 AM and 4:45 AM Toronto time. The Canadian stock account location rules are re-applied on every refresh so the output stays current as dividend statuses change. The account-location logic covers seven distinct security types in about 130 lines of JavaScript. No machine learning, no AI, just the Canadian stock account location rules written out consistently and applied to every stock in the database.
Who Should Skip It
If you’re in the US, this isn’t for you. The TFSA and RRSP framework is specific to Canada, and the withholding logic references the Canada-US treaty specifically.
If you’re 100% in broad-market index ETFs held in a single account type, Canadian stock account location probably isn’t your highest priority right now. It gets more important when you’re holding individual securities or actively deciding how to split positions across registered and non-registered accounts.
If you’re already working with a financial advisor who handles tax-efficient placement, great. Use the tool to cross-check Canadian stock account location decisions, not to override a plan someone built with your full tax picture in mind.
Canadian Stock Account Location: Quick Reference Table
Here is how Canadian stock account location breaks down by security type. These are the same rules the tool applies to every search result.
| Security type | Best account | Reason |
|---|---|---|
| US dividend payer (NYSE/NASDAQ) | RRSP | Canada-US treaty removes 15% withholding; unrecoverable in TFSA |
| US growth stock, no dividend | TFSA | No withholding issue; shelter the gain tax-free |
| Canadian dividend payer (TSX) | TFSA | No foreign withholding drag; taxable account also reasonable |
| Canadian growth stock | TFSA | Clean tax-free growth |
| Foreign dividend payer (non-US) | Non-registered | Withholding varies; may be creditable only in taxable account |
| US company CDR on TSX | TFSA | CDR structure differs from direct US listing; verify per security |
Managing Investments From a Home Office
Getting your Canadian stock account location decisions right is one side of the equation. The other is having a workspace that actually supports focused research. Long sessions reviewing financials and dividend histories are a lot more manageable when your monitor is at the right height and your chair isn’t wrecking your back. The ergonomic desk setup checklist on this site is a solid starting point, and if you’re running a laptop as your main machine, a decent laptop stand makes a bigger difference than it sounds.
Try It
The tool is free at stockscreener.ca. No login, no email, no account required. Type in a ticker and get a full Canadian stock account location recommendation with the reasoning behind it. There’s also a detailed account-location guide on the site if you want to understand the full framework, not just use the output.
If you look up a stock and the recommendation seems off, let me know. If the Canadian stock account location result looks wrong, the most likely cause is a data gap or a CDR edge case the current logic doesn’t handle cleanly yet. The database is expanding as enrichment catches up across more tickers.