Explainer
What is float in stocks? Float vs shares outstanding explained
Shares outstanding tells you how big a company is. The float tells you how much of it can actually change hands, and that is the number that moves prices.
On this page
Key takeaways
- A stock's float (free float or public float) is the number of shares the public can trade: shares outstanding minus shares held by insiders, strategic holders and anyone under lock-up.
- Coca-Cola (US:KO) had 4.303 billion shares outstanding and a free float of 3.874 billion on 2026-09-28, a float ratio of 90.03%.
- Short float is short interest divided by free float; days to cover is short interest divided by average daily volume.
- Low float stocks move further on the same news, because fewer shares have to change hands to shift the price.
- Float figures come from filings and change in steps, so check their date before comparing two sources.
A stock's float, also called free float or public float, is the number of its shares that the public can actually trade. It equals shares outstanding minus the shares held by insiders, controlling or strategic holders and anyone under a lock-up. Coca-Cola has 4.303 billion shares outstanding and a free float of about 3.874 billion, so 90% of the company trades freely.
Float is one of the few company figures that traders and developers both care about. It drives how violently a price reacts to news, it is the denominator of every short-interest ratio, and index providers use it to weight their members. This explainer works through each idea with real figures from the fundamentals endpoint of TickerLayer's stock API, captured on 2026-09-28 for seven large US companies.
What is float in stocks: float vs shares outstanding
Think of a company's shares as nested sets. Authorized shares are the legal maximum in the company's charter. Outstanding shares are the ones actually issued and held by anyone, excluding shares the company has bought back. The float is the part of the outstanding shares that can trade without restriction.
- Shares outstandingEvery share Coca-Cola has issued and not bought back.
4,303,000,000 - Closely heldMostly holders the data classifies as insiders (9.9%). Not expected to trade, so not in the float.
about 10% - Free floatWhat the public can trade: 90.03% of outstanding.
3,874,015,338 - Sold shortBorrowed and sold, not yet bought back: 1.05% of the float.
40,584,069
The gap between outstanding shares and the float is the set of holders who are not expected to sell: founders, executives, board members, parent companies, governments and long-term strategic shareholders. For most large US companies that group is tiny. Coca-Cola is the exception in this sample. Holders the data classifies as insiders own about 9.9% of the company, which is why its float ratio is 90% while the other six sit above 98%.
| Term | What it counts | US:KO |
|---|---|---|
| Shares outstanding | Issued shares held by anyone, excluding buybacks held by the company | 4,303,000,000 |
| Free float (public float) | Outstanding shares the public can trade | 3,874,015,338 |
| Closely held shares | Insiders, strategic holders, anyone under lock-up | about 429 million |
| Short interest | Shares sold short and not yet bought back | 40,584,069 |
| Institutional ownership | Share of outstanding held by funds and institutions | 68.23% |
How free float is calculated
free float = shares outstanding − closely held sharesfloat ratio = free float ÷ shares outstanding
- shares outstanding
- From the company's own reports.
- closely held shares
- From ownership disclosures: insiders, strategic holders, lock-ups.
- float ratio
- A fraction from 0 to 1; multiply by 100 for a percentage.
You can check the arithmetic yourself. With insider ownership at 0.099, Coca-Cola's float should be about 4,303,000,000 × (1 − 0.099) = 3,877,003,000 shares, within 0.08% of the reported 3,874,015,338. A small gap is normal, because the inputs come from documents filed on different dates.
That dating problem is why two data sources rarely agree on a float to the share. TickerLayer's fundamentals data handles it explicitly: when a reported float runs up to 5% above shares outstanding, a sign the two figures come from different reporting dates, it is rebuilt as shares outstanding less insider holdings, and when it cannot be reconciled at all the field is omitted rather than guessed. Every item also carries as_of, the time its share-structure figures were last refreshed.
Float across seven large US stocks
Shares outside the float, millions
One batch request returns all seven. This script sorts them by float ratio and prints the short-side figures next to it:
import os
import requests
API = "https://api.tickerlayer.com"
HEADERS = {"x-api-key": os.environ["TICKERLAYER_API_KEY"]}
resp = requests.get(
f"{API}/fundamentals/stocks",
params={"symbols": "US:KO,US:JPM,US:DIS,US:GE,US:IBM,US:PG,US:XOM"},
headers=HEADERS,
timeout=15,
)
if resp.status_code == 403:
raise SystemExit("Fundamentals is an add-on: enable it for this key first.")
resp.raise_for_status()
print(f'{"symbol":<8}{"float":>10}{"ratio":>9}{"short":>8}{"days":>6}')
for item in sorted(resp.json()["items"], key=lambda i: i.get("float_ratio", 1)):
if "free_float" not in item: # omitted when it cannot be reconciled
print(f'{item["symbol"]:<8}{"n/a":>10}')
continue
print(
f'{item["symbol"]:<8}'
f'{item["free_float"] / 1e9:>9.3f}B'
f'{item["float_ratio"]:>9.2%}'
f'{item.get("short_float_ratio", 0):>8.2%}'
f'{item.get("days_to_cover", 0):>6.2f}'
)symbol float ratio short days
US:KO 3.874B 90.03% 1.05% 2.77
US:DIS 1.724B 98.39% 1.14% 2.58
US:JPM 2.644B 99.47% 0.91% 3.88
US:GE 1.034B 99.62% 1.52% 3.97
US:IBM 0.940B 99.79% 2.39% 4.58
US:XOM 4.104B 99.80% 0.97% 2.84
US:PG 2.320B 99.84% 1.04% 2.57Six of the seven have more than 98% of their shares in the float. Short interest is small everywhere, between 0.91% and 2.39% of the float, and would take 2.6 to 4.6 days of average volume to buy back. These are what ordinary large-cap numbers look like, which makes them a useful baseline when you meet a stock whose figures are not ordinary.
Short float and days to cover
Short interest is the number of shares sold short and not yet bought back. On its own it says little: 40 million shares short means one thing for a company with 4 billion shares and something very different for one with 40 million. Two ratios put it in context:
short float = short interest ÷ free floatdays to cover = short interest ÷ average daily volume
- short float
- How crowded the short side is, as a share of what can trade.
- days to cover
- How many days of normal volume it would take every short seller to buy back.
Short float on one axis
- 1.05%US:KO
- 1.52%US:GE
- 2.39%US:IBM
- 10%Often called high
- 20%Often called very high
High readings on both ratios are what traders mean by squeeze risk: if the price rises and short sellers rush to buy back at once, normal daily volume may not absorb them. Short interest is reported periodically rather than streamed, so treat both ratios as slow-moving context rather than a live signal. Nothing here is investment advice.
Low float stocks and why they move fast
There is no official definition, but traders usually call a stock low float when fewer than about 10 to 20 million shares are free to trade. With so few shares available, one large order or a burst of attention can move the price a long way, and a single day's volume can exceed the entire float. Float turnover makes the comparison concrete: daily volume divided by free float.
Large float: US:KO
- 3.874 billion shares free to trade
- 12,261,067 shares traded on 2026-09-25: 0.32% of the float
- Large orders move the price by cents
- Broad institutional ownership
Low float: a typical case
- Under 10 to 20 million shares free to trade
- Daily volume can pass 100% of the float
- One order can move the price by whole percent
- Frequent volatility pauses
That volatility shows up in the data feed as well as on the chart. Low-float stocks trip US volatility pauses far more often than large caps, and while a stock is paused no trades print; how trading halts work explains what a feed shows during one. Float also changes over time: share offerings add to it, buybacks and new lock-ups shrink it, and the end of a post-IPO lock-up can release a large block of shares at once. The daily volume used for turnover comes from the bars described in the historical stock data guide.
Get stock float data from the API
Float is company data, not price data, so it has its own endpoint: GET /fundamentals/stocks/{symbol} for one listing, ?symbols= for up to 100 at once, or ?market=US to page through a whole market with a cursor. Fundamentals is a data add-on ($39 a month on Individual, $349 on Business) covering US, German, Spanish and French listings; without it the endpoint answers 403.
Share structure for US:KO
{
"symbol": "US:KO",
"company": "The Coca-Cola Company",
"market_cap": 377806849027,
"shares_total": 4303000000,1
"free_float": 3874015338,2
"float_ratio": 0.9003,3
"short_interest": 40584069,
"short_float_ratio": 0.0105,
"days_to_cover": 2.77,
"insider_ownership": 0.099,
"institutional_ownership": 0.6823,
"adv_10d": 16257190,4
"as_of": "2026-09-28T09:34:31.857Z"5
}
shares_totalShares outstanding, cross-checked against the market cap and the live price.free_floatShares available for public trading, in the units that trade on this listing.float_ratioA fraction from 0 to 1, derived from the two counts in the same payload; short_float_ratio works the same way.adv_10dAverage daily volume over 10 sessions; adv_90d covers 90.as_ofWhen the share-structure figures were last refreshed.
The market cap is a built-in check on the share count: 377,806,849,027 ÷ 4,303,000,000 = 87.80, within a cent of Friday's 87.81 close. On depositary receipts, where reported counts often describe home-market shares rather than the listing, the API can withhold free_float and serve an estimate in free_float_est instead, so check which field is present. For how listings and symbols relate across markets, see the ticker symbol explainer. To screen a whole market for low float, page through it:
def low_float(market="US", below=20_000_000):
"""Yield (symbol, free_float) for listings with a float under `below` shares."""
params = {"market": market, "limit": 1000}
while True:
r = requests.get(f"{API}/fundamentals/stocks", params=params, headers=HEADERS, timeout=30)
r.raise_for_status()
page = r.json()
for item in page["items"]:
if item.get("free_float", below) < below:
yield item["symbol"], item["free_float"]
if not page.get("next_cursor"):
break
params["cursor"] = page["next_cursor"]
for symbol, shares in low_float():
print(symbol, f"{shares:,}")Each page of up to 1,000 listings costs one request, so a screen costs one call per thousand listings rather than one per symbol. Share counts change slowly, so running it once a day is enough. For the price side, Coca-Cola's symbol page shows its 15-minute delayed quote.
Questions
Is a low float good or bad?
Neither. A low float means fewer shares can trade, so the price moves further on the same news in both directions. It says nothing about the quality of the company.
What is the difference between float and shares outstanding?
Shares outstanding counts every issued share still held by anyone. The float counts only the shares the public can trade, leaving out those held by insiders, strategic holders and anyone under lock-up.
What is a high short float?
There is no official threshold. Large caps usually sit around 1% to 3%; traders often call 10% high and 20% or more very high. Read it together with days to cover.
How often does a stock's float change?
Whenever shares are issued, bought back, locked up or released. The underlying filings arrive periodically, so float data moves in steps; check the date attached to each figure.
What does public float mean?
Public float is another name for free float: the shares held by public investors and free to trade, as opposed to shares held by insiders or strategic owners.
Where can I find a stock's float?
In company filings, on most finance portals, and through data APIs. On TickerLayer, GET /fundamentals/stocks/US:KO returns free_float, shares_total and float_ratio with the Fundamentals add-on.