What is iXBRL, and what does it change about reading a 10-K?
iXBRL, or inline XBRL, embeds machine-readable XBRL tags in the HTML document people read, so one file is both the filing and its data. In a 10-K, every number in the financial statements and notes carries a tag naming its concept, period and unit, and each note is also tagged as one block of text.
If you have opened a 10-K on EDGAR in the past few years, you have read an iXBRL document, probably without noticing. The tags are invisible in a browser. You see them when you open the file's source, or when you load the filing in the SEC's viewer and click a number.
How is inline XBRL different from XBRL and plain HTML?
There are three ways a set of financial statements can reach EDGAR, and they differ in who can read them. A plain HTML document is for people. Your browser lays out the tables, and a program that wants the figures has to scrape them from the layout and guess what each one means. XBRL is for machines: each figure is a fact with a concept name, a period, a unit and an entity, defined against a taxonomy such as US GAAP. Before inline XBRL, SEC filers sent that data next to the readable document rather than inside it.
Inline XBRL puts the two in one file. XBRL International, which maintains the standard, describes it as "an open standard that enables a single document to provide both human-readable and structured, machine-readable data." In the SEC's words, it "involves embedding XBRL data directly into the filing so that the disclosure document is both human-readable and machine-readable." The 10-K you read in a browser and the data a screener downloads are now the same document.
| Plain HTML | XBRL | Inline XBRL | |
|---|---|---|---|
| Who it is for | People | Software | Both, from one file |
| What a number carries | Only its position in a table | Concept, period, unit, precision | The same, attached to the printed number |
| Can the data and the text disagree? | No data to disagree with | Yes, they are separate files | Harder, since the tag wraps the printed figure |
| What you see in a browser | The document | Raw XML | The document; tags are invisible |
Sources: XBRL International, What is iXBRL?; SEC press release 2018-117.
When did the SEC require inline XBRL?
The SEC adopted inline XBRL for operating company financial statements on June 28, 2018, in Release No. 33-10514, and phased it in by filer size. The dates key off the end of the fiscal period the filing covers, not the filing date.
| Filer group | Must use inline XBRL for fiscal periods ending on or after |
|---|---|
| Large accelerated filers using U.S. GAAP | June 15, 2019 |
| Accelerated filers using U.S. GAAP | June 15, 2020 |
| All other filers | June 15, 2021 |
Source: SEC press release 2018-117, "SEC Adopts Inline XBRL for Tagged Data", June 28, 2018; SEC, Inline XBRL.
The same release ended a chore from the first XBRL era: "The requirement for operating companies and funds to post XBRL data on their websites will be eliminated upon the effective date of the amendments." Today the rule sits in Regulation S-T. Rule 405 requires operating companies to submit the data in inline XBRL, "partly embedded into a filing with the remainder simultaneously submitted as an exhibit." The part that is not embedded includes the company's own taxonomy extension schema, which Apple's file references as aapl-20250927.xsd. Apple's exhibit index lists Exhibit 101, an "Inline XBRL Document Set for the consolidated financial statements and accompanying notes," and Exhibit 104, "Inline XBRL for the cover page."
What does an iXBRL tag look like in a real 10-K?
We opened the raw file of Apple Inc.'s Form 10-K for the fiscal year ended September 27, 2025 (filed October 31, 2025) and read it with a short Python script. Apple reports as a large accelerated filer, so it fell in the first phase. Two element types carry nearly all of the data. ix:nonFraction wraps a number. ix:nonNumeric wraps text, from a single date to an entire note.
This is the first figure on Apple's income statement, Products net sales of $307,003 million:
<ix:nonFraction unitRef="usd" contextRef="c-12" decimals="-6"
name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax"
format="ixt:num-dot-decimal" scale="6" id="f-72">307,003</ix:nonFraction>Each attribute answers a question the printed page leaves to the reader. name is the concept from the US GAAP taxonomy. scale="6" says the printed 307,003 is in millions, and decimals="-6" says it is accurate to the million. unitRef="usd" points to a unit defined in the file's hidden header. contextRef="c-12" points to a context that sets the period, September 29, 2024 to September 27, 2025, and adds a dimension, srt:ProductOrServiceAxis with the member us-gaap:ProductMember. That dimension is the only thing that separates this fact from Apple's total net sales of $416,161 million, which uses the same concept with no dimension.
Two facts from Note 7, Income Taxes, show the other end of the scale:
<ix:nonFraction unitRef="number" contextRef="c-1" decimals="3"
name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="f-750">15.6</ix:nonFraction>
<ix:nonFraction unitRef="usd" contextRef="c-20" decimals="-8"
name="us-gaap:UnrecognizedTaxBenefits" scale="9" id="f-786">23.2</ix:nonFraction>The effective tax rate prints as 15.6 with scale="-2", so the stored value is 0.156. The gross unrecognized tax benefits print as 23.2 inside a sentence ("$23.2 billion") with scale="9", and contextRef="c-20" is an instant, September 27, 2025, because a balance has a date rather than a period. A number in running text is tagged the same way as a number in a table.
The note itself is one ix:nonNumeric fact:
<ix:nonNumeric contextRef="c-1" name="us-gaap:IncomeTaxDisclosureTextBlock"
id="f-685" continuedAt="f-685-1" escape="true">Income Taxes</ix:nonNumeric>
...
<ix:continuation id="f-685-1" continuedAt="f-685-2">...The tag opens on the heading "Income Taxes" and the block is carried to the end of the note by ix:continuation elements, three of them in this case. escape="true" means the value keeps its HTML, so software that extracts the fact gets the note's tables and paragraphs with their formatting.
How are notes tagged: detail tags or text blocks?
Both. Regulation S-T Rule 405(d) sets four layers for the notes to the financial statements, and an iXBRL filing carries all of them at once, nested inside each other:
| Rule | What must be tagged | Apple example |
|---|---|---|
| 405(d)(1) | "Each complete footnote must be block-text tagged" | us-gaap:IncomeTaxDisclosureTextBlock |
| 405(d)(2) | "Each significant accounting policy within the significant accounting policies footnote must be block-text tagged" | us-gaap:IncomeTaxPolicyTextBlock |
| 405(d)(3) | "Each table within each footnote must be block-text tagged" | us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock |
| 405(d)(4)(i) | "Each amount (i.e., monetary value, percentage, and number) must be tagged separately" | us-gaap:UnrecognizedTaxBenefits |
Source: 17 CFR 232.405(d), eCFR; tag names from Apple's 10-K for fiscal 2025.
The fourth layer is detail tagging, and it is the one that makes US filings unusual. Rule 405(d)(4)(ii) makes narrative tagging optional: text "may be tagged separately to the extent the electronic filer chooses." So the numbers inside a note are individually tagged, while the words around them are usually reachable only through the block that holds the whole note.
A block tag is a single fact whose value is the full note. For a data user it is a reliable way to pull "the income tax note" from any company without knowing its note number, because IncomeTaxDisclosureTextBlock is the same concept at Apple and at every other US GAAP filer that uses it. For a reader the block changes nothing on screen. Apple calls this Note 7; the tag does not record the number.
Notes do not always map one to one onto tags. Apple's Note 8, Leases, opens with two note-level blocks nested together, us-gaap:LesseeOperatingLeasesTextBlock and us-gaap:LesseeFinanceLeasesTextBlock, because the one note covers both kinds of lease. Apple also adds its own extension elements where the US GAAP taxonomy has nothing suitable, such as aapl:DisaggregatedNetSalesAndPortionOfNetSalesThatWasPreviouslyDeferredTableTextBlock for a table in Note 2, Revenue.
How many tags are in Apple's 2025 10-K?
We counted every inline XBRL element in the raw document. The filing is about 1.5 MB of HTML.
| Item | Count |
|---|---|
ix:nonFraction (numeric facts) | 969 |
| Distinct numeric concepts | 258 |
ix:nonNumeric (text, date and other non-numeric facts) | 162 |
| of which in the hidden header | 22 |
ix:continuation | 35 |
| TextBlock tags, all | 58 |
| TextBlock tags in the financial statements | 48 |
| whole notes (13 notes) | 14 |
| accounting policies | 11 |
| tables and other sub-blocks inside notes | 23 |
TextBlock tags for cybersecurity (Item 1C, cyd: taxonomy) | 9 |
| Contexts / of which with a dimension | 182 / 172 |
| Units | 7 |
Source: SeeNote count of the raw file of Apple Inc. Form 10-K, fiscal year ended September 27, 2025, matching element names in the document. The remaining TextBlock tag is dei:DocumentsIncorporatedByReferenceTextBlock on the cover.
Where the numeric facts sit says more than the totals. Of the 969, 289 are in the five primary statements and 678 are in the notes, from Note 1 to the end of Note 13. Note 7, Income Taxes, alone holds 123 numeric facts and five block tags: the note and its four tables. The other two numeric facts are on the cover page, Apple's public float and its shares outstanding.
Apart from the cybersecurity disclosures in Item 1C, nothing between the cover and the statements is tagged. The MD&A repeats many of the same figures, including total net sales of $416,161 million and the 15.6% effective tax rate, but as plain HTML. If you pull Apple's figures from the XBRL data, you are reading Item 8; the discussion of those figures is outside the data entirely.
How do you use the EDGAR inline XBRL viewer?
The SEC says it "has incorporated an Inline XBRL Viewer into the Commission's Electronic Data Gathering, Analysis, and Retrieval (EDGAR) system," and that users can "click on individual tagged data points in the filing to find more information about the data, such as citations and hyperlinks to the relevant accounting guidance." The page looks like the ordinary 10-K. A practical way to use it when a number matters:
- Open the 10-K in the SEC's inline XBRL viewer, for example Apple fiscal 2025 in the viewer.
- Click a number in a statement or note to see its concept name, period and unit.
- Follow the citations shown for the concept to the accounting guidance it is defined against.
- Compare the concept on a note figure with the one on the matching statement line to confirm you are reading the same number.
- Read the note itself on the page, since its block tag holds the whole note as one fact and adds no structure you can see.
Step four catches more than you might expect. A note can present a figure differently from the statement, net instead of gross or with a dimension added, and the concept and context tell you which. Our guide to reading filings on raw EDGAR covers what happens when the text sends you to another note.
What does iXBRL not do for a reader?
Inline XBRL describes facts. It does not describe how the document refers to itself. Apple's MD&A explains the fall in its tax rate and then sends you elsewhere: "refer to Note 7, 'Income Taxes' in the Notes to Consolidated Financial Statements in Part II, Item 8 of this Form 10-K." In the HTML, that sentence is plain text. There is no tag on "Note 7" and no link to the block that holds it, and the block tag would not tell you it was Note 7 anyway.
Apple is a light case. In our count of numbered note references across the latest 10-Ks of 28 Dow Jones Industrial Average companies, Apple had the fewest, 7, and the note it referred to most was Note 7, Income Taxes, five times. The median was 51.5 references per 10-K, and JPMorgan Chase had 347. The full data is published, and our guide to reading 10-K footnotes covers how to work through them. Nothing in the four layers of Rule 405(d) covers a reference from one part of the filing to another.
So iXBRL changes what a machine can do with a 10-K a great deal and what a reader sees very little. The text you read is the same text. If you work with the data, the tags tell you exactly what each number is. If you read the notes, you still navigate them the way the document was written.
Questions
What is the difference between XBRL and inline XBRL?
XBRL is a data format in which each figure is a fact with a concept, period and unit. Inline XBRL embeds those tags in the HTML document people read, so one file is both human-readable and machine-readable. Before inline XBRL, SEC filers sent the readable document and separate XBRL files.
When did inline XBRL become mandatory at the SEC?
The SEC adopted it on June 28, 2018. Large accelerated filers using U.S. GAAP had to comply for fiscal periods ending on or after June 15, 2019, accelerated filers using U.S. GAAP from June 15, 2020, and all other filers from June 15, 2021.
How are the notes to financial statements tagged in iXBRL?
Under Regulation S-T Rule 405(d), each complete note, each significant accounting policy and each table in a note is block-text tagged, and each amount in the notes is tagged separately. In Apple's 2025 10-K, Note 7, Income Taxes, carries one note block, four table blocks and 123 numeric facts.
What is an ix:nonFraction tag?
It is the inline XBRL element that wraps a number. Its attributes give the concept name, a context with the period and any dimension, the unit, the scale and the precision. Apple's Products net sales of $307,003 million are tagged with scale 6, meaning millions.
Following Apple's Note 7 reference without losing your place
The tags make each number precise, but the reference in Apple's MD&A to Note 7 is still plain text, in the normal view and in the inline XBRL viewer. SeeNote is a Chrome extension that turns "see Note 7" style references in 10-Ks and 10-Qs on EDGAR, in classic HTML and in the inline XBRL viewer, into links that open the referenced note verbatim in a popup where you are reading. Pressing S opens an index of every note in the filing. Your first three filings are free, with no card and no expiry; pricing is on seenote.co.