XML 60 R47.htm IDEA: XBRL DOCUMENT
v3.21.2

Revenues - Narrative (Details) - USD ($) $ in Millions | 6 Months Ended |
--- | --- | ---
Jun. 30, 2021 | Dec. 31, 2020
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] |  |
Payment period after invoice date | 15 days |
Expected period to recognized unearned portion of revenue for freight services in transit | The Company expects to recognize the unearned portion of revenue for freight services in transit within one week of the reporting date. |
Non-Freight Receivables |  |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] |  |
Amount related to conveyance of an easement included in non-freight receivables | $ 397 | $ 224
Non-Freight Receivables | Virginia Line Segments |  |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] |  |
Amount related to conveyance of an easement included in non-freight receivables | $ 168 |
Minimum |  |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] |  |
Average transit time to complete a shipment | 2 days |
Maximum |  |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] |  |
Average transit time to complete a shipment | 8 days |

X
- Definition Contract With Customer, Timing Of Satisfaction Of Performance Obligation, Payment Period + References No definition available. + Details
Name: | csx_ContractWithCustomerTimingOfSatisfactionOfPerformanceObligationPaymentPeriod
Namespace Prefix: | csx_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Revenue, Performance Obligation, Average Transit Time + References No definition available. + Details
Name: | csx_RevenuePerformanceObligationAverageTransitTime
Namespace Prefix: | csx_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 45 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522 + Details
Name: | us-gaap_AccountsReceivableGross
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Description of timing for satisfying performance obligation in contract with customer. Includes, but is not limited to, as services are rendered, and upon shipment, delivery or completion of service. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 606 -SubTopic 10 -Section 50 -Paragraph 12 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045 + Details
Name: | us-gaap_RevenuePerformanceObligationDescriptionOfTiming
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References No definition available. + Details
Name: | us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=csx_NonFreightReceivablesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_PropertyPlantAndEquipmentByTypeAxis=csx_LandEasementMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MinimumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MaximumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |