Finance.Foundation
finance.foundation / Companies / Johnson & Johnson (JNJ)
Company · Healthcare · Pharma & MedTech

Johnson & Johnson (JNJ)

Diversified healthcare: innovative medicines and medical devices.

Legal name
Johnson & Johnson
Ticker
JNJ
Exchange
New York Stock Exchange · MIC XNYS
Country
United States
Sector
Healthcare
Industry
Pharma & MedTech
Market cap ≈
$645.9bn — computed, not copied: 2.410bn shares × $268.04 close on 2026-08-28
Reporting currency
USD
Founded
1886
Website
www.jnj.com
LEI
549300G0CFPGEF6X2043 (GLEIF)
ISIN
US4781601046 (check digit validated)
FIGI
BBG001S5SHQ9 (share class, OpenFIGI)

Graph connections view in graph →

lists_onNew York Stock Exchange
domiciled_inUnited States member_ofS&P 500

Sector peers — Healthcare

Compare: JNJ vs LLY · JNJ vs UNH · JNJ vs ABBV

How this market cap is arrived at

Shares outstanding2,409,898,597
Basisoutstanding
As of2026-06-28
SourceSEC 10-Q cover page (2026-06-28)
Price268.04 USD · JNJ · close 2026-08-28
VenueNYSE
Market cap$645.9bn

Single class. J&J carries very large treasury stock (issued shares are roughly 3.12bn against ~2.41bn outstanding) — the figure above is the outstanding, net-of-treasury count and is the correct one; do not use issued shares. Post-Kenvue-separation share count is essentially flat.

Share counts move on a filing cadence, prices move continuously — so this figure is exact only as of the two dates above, and we publish both rather than a single undated number. Provenance.

Fundamentals

From the 10-K for the year ended 2025-12-28USDAs reported
Revenueus-gaap:RevenueFromContractWithCustomerExcludingAssessedTax $94.2bn
Net incomeus-gaap:NetIncomeLoss $26.8bn
Research & developmentus-gaap:ResearchAndDevelopmentExpense $109m
Total assetsus-gaap:Assets $199.2bn
Shareholders' equityus-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest $81.5bn
Cash & equivalentsus-gaap:CashAndCashEquivalentsAtCarryingValue $19.7bn

Net margin 28.5% — net income divided by revenue, both from this same filing.
Market cap / net income 24.1× — a market value from 2026-08-28 divided by earnings for a year that ended 2025-12-28. The two dates are far apart on purpose: this is arithmetic on two published numbers, not a valuation.

Every figure above is read from the same 10-K, filed 2026-02-11, and each row names the XBRL tag it came from so it can be checked against the document. Metrics absent from that filing are absent here rather than sourced from a different year — a table mixing periods is individually true and collectively meaningless.

Identifier crosswalk

StandardValueWhat it answers
Ticker JNJ Venue-local shorthand — ambiguous across markets
MIC XNYS ISO 10383 — the venue
ISIN US4781601046 ISO 6166 — the security
LEI 549300G0CFPGEF6X2043 ISO 17442 — the legal entity
FIGI BBG001S5SHQ9 OpenFIGI — instrument, share class
CUSIP 478160104 Derived from the US/CA ISIN, check digit verified — licensed identifier, not republished as data

6 naming systems for one entity — only codes we actually hold are listed, with no gaps filled by guessing. Sources: LEI from GLEIF (CC0), ISIN read from the issuer's own primary listing document, with its ISO 6166 check digit validated, FIGI from OpenFIGI (open standard), MIC from the ISO 10383 registry. CUSIP appears because it is arithmetically embedded in US and Canadian ISINs — we derive and verify it from a code we already hold, and we do not redistribute CUSIP Global Services data. Each linked code opens its reverse-lookup page; the validator checks any code's check digit. seed-0.7 · marketcap-1 · 2026-08-30.

Approximate reference values from public sources · seed-0.7 · marketcap-1 · 2026-08-30 · not real-time. See data & methodology.

# this page as data GET https://finance.foundation/api/v1/companies/johnson-johnson

JSONCSV No key, CORS enabled — paste any of these straight into a notebook.

Code to fetch it
curl
curl -s https://finance.foundation/api/v1/companies/johnson-johnson
Python
import requests r = requests.get("https://finance.foundation/api/v1/companies/johnson-johnson", timeout=30) r.raise_for_status() data = r.json()
JavaScript
const r = await fetch("https://finance.foundation/api/v1/companies/johnson-johnson"); if (!r.ok) throw new Error(r.status); const data = await r.json();
pandas
import pandas as pd df = pd.read_csv("https://finance.foundation/api/v1/companies/johnson-johnson.csv")