v3.20.4

Debt - Additional Information (Details) - USD ($) |  |  | 1 Months Ended | 12 Months Ended
--- | --- | --- | --- | ---
Nov. 18, 2019 | May 03, 2019 | Mar. 31, 2020 | Dec. 31, 2020 | Dec. 31, 2019
Debt Instrument [Line Items] |  |  |  |  |
Letters of credit outstanding |  |  |  | $ 30,900,000 | $ 31,800,000
Credit Agreement |  |  |  |  |
Debt Instrument [Line Items] |  |  |  |  |
Interest expense |  |  |  | 2,600,000 | 400,000
Credit Agreement | Morgan Stanley Senior Funding, Inc | Minimum |  |  |  |  |
Debt Instrument [Line Items] |  |  |  |  |
Adjusted quick ratio |  | 1.00% |  |  |
Credit Agreement | Morgan Stanley Senior Funding, Inc | Revolving Credit Facility |  |  |  |  |
Debt Instrument [Line Items] |  |  |  |  |
Debt instrument term, years |  | 4 years |  |  |
Maximum borrowing capacity |  | $ 100,000,000.0 |  |  |
Amount borrowed under debt facility |  |  | $ 69,300,000 |  |
Credit facility expiration and maturity month and year |  | 2023-02 |  |  |
Letters of credit outstanding |  |  |  | $ 30,800,000 | $ 30,700,000
Credit Agreement | Morgan Stanley Senior Funding, Inc | Revolving Credit Facility | Adjusted One-Month LIBOR |  |  |  |  |
Debt Instrument [Line Items] |  |  |  |  |
Debt instrument, applicable margin on variable rate |  |  | 1.75% |  |
Credit Agreement | Morgan Stanley Senior Funding, Inc | Term Loan A Facility |  |  |  |  |
Debt Instrument [Line Items] |  |  |  |  |
Debt instrument term, years |  | 4 years |  |  |
Maximum borrowing capacity |  | $ 100,000,000.0 |  |  |
Amount borrowed under debt facility | $ 100,000,000.0 |  |  |  |
Debt instrument, amortization description |  |  |  | Loans under the Term Loan A Facility amortize in equal quarterly installments beginning on March 31, 2020, in an aggregate annual amount equal to (i) on or prior to December 31, 2021, 1.25% of the drawn principal amount of the Term Loan Facility or $1.25 million and (ii) thereafter, 2.50% of the drawn principal amount of the Term Loan Facility or $2.5 million, with the remaining balance payable on the maturity date of the Term Loan A Facility in February 2023. |
Debt instrument maturity month and year |  | 2023-02 |  |  |
Credit Agreement | Morgan Stanley Senior Funding, Inc | Term Loan A Facility | On or Prior to December 31, 2021 |  |  |  |  |
Debt Instrument [Line Items] |  |  |  |  |
Percentage of amortization on drawn principal amount |  | 1.25% |  |  |
Amortization, aggregate principal amount |  | $ 1,250,000 |  |  |
Credit Agreement | Morgan Stanley Senior Funding, Inc | Term Loan A Facility | Thereafter December 31, 2021 |  |  |  |  |
Debt Instrument [Line Items] |  |  |  |  |
Percentage of amortization on drawn principal amount |  | 2.50% |  |  |
Amortization, aggregate principal amount |  | $ 2,500,000 |  |  |
Credit Agreement | Morgan Stanley Senior Funding, Inc | Term Loan A Facility | Adjusted One-Month LIBOR |  |  |  |  |
Debt Instrument [Line Items] |  |  |  |  |
Debt instrument, applicable margin on variable rate | 1.75% |  |  |  |
Credit Agreement | Morgan Stanley Senior Funding, Inc | Uncommitted Incremental Facility |  |  |  |  |
Debt Instrument [Line Items] |  |  |  |  |
Maximum borrowing capacity |  | $ 50,000,000.0 |  |  |
Debt to company's EBITDA, description |  |  |  | 1.0x of the Company’s EBITDA for the most recently completed four fiscal quarter period |
Credit Agreement | Morgan Stanley Senior Funding, Inc | Uncommitted Incremental Facility | Maximum |  |  |  |  |
Debt Instrument [Line Items] |  |  |  |  |
Secured leverage ratio |  | 1.50% |  |  |

X
- Definition Debt instrument adjusted quick ratio. + References No definition available. + Details
Name: | roku_DebtInstrumentAdjustedQuickRatio
Namespace Prefix: | roku_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Debt instrument amortization aggregate principal amount. + References No definition available. + Details
Name: | roku_DebtInstrumentAmortizationAggregatePrincipalAmount
Namespace Prefix: | roku_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Debt instrument amortization description. + References No definition available. + Details
Name: | roku_DebtInstrumentAmortizationDescription
Namespace Prefix: | roku_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Debt instrument amortization percentage. + References No definition available. + Details
Name: | roku_DebtInstrumentAmortizationPercentage
Namespace Prefix: | roku_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Debt instrument maturity month and year. + References No definition available. + Details
Name: | roku_DebtInstrumentMaturityMonthAndYear
Namespace Prefix: | roku_
Data Type: | xbrli:gYearMonthItemType
Balance Type: | na
Period Type: | duration

X
- Definition Debt instrument secured leverage ratio. + References No definition available. + Details
Name: | roku_DebtInstrumentSecuredLeverageRatio
Namespace Prefix: | roku_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Description of debt to consolidated earnings before interest tax depreciation and amortization ratio. + References No definition available. + Details
Name: | roku_DescriptionOfDebtToConsolidatedEarningsBeforeInterestTaxDepreciationAndAmortizationRatio
Namespace Prefix: | roku_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Line of credit facility expiration and maturity month and year. + References No definition available. + Details
Name: | roku_LineOfCreditFacilityExpirationAndMaturityMonthAndYear
Namespace Prefix: | roku_
Data Type: | xbrli:gYearMonthItemType
Balance Type: | na
Period Type: | duration

X
- Definition Percentage points added to the reference rate to compute the variable rate on the debt instrument. + References No definition available. + Details
Name: | us-gaap_DebtInstrumentBasisSpreadOnVariableRate1
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
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_DebtInstrumentLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. + References No definition available. + Details
Name: | us-gaap_DebtInstrumentTerm
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of the cost of borrowed funds accounted for as interest expense for debt. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Publisher FASB -Name Accounting Standards Codification -Topic 470 -SubTopic 20 -Section 50 -Paragraph 6 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=120520924&loc=SL6036836-161870 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 220 -SubTopic 10 -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03.8) -URI http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227 + Details
Name: | us-gaap_InterestExpenseDebt
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition The total amount of the contingent obligation under letters of credit outstanding as of the reporting date. + References No definition available. + Details
Name: | us-gaap_LettersOfCreditOutstandingAmount
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.19(b),22(b)) -URI http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682 + Details
Name: | us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition The cash inflow from a contractual arrangement with the lender, including letter of credit, standby letter of credit and revolving credit arrangements, under which borrowings can be made up to a specific amount at any point in time with maturities due beyond one year or the operating cycle, if longer. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 230 -SubTopic 10 -Section 45 -Paragraph 14 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=121586364&loc=d3e3255-108585 + Details
Name: | us-gaap_ProceedsFromLongTermLinesOfCredit
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Details
Name: | us-gaap_DebtInstrumentAxis=roku_CreditAgreementMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_LineOfCreditFacilityAxis=roku_MorganStanleySeniorFundingIncMember
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: | us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_VariableRateAxis=roku_AdjustedOneMonthLIBORMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_CreditFacilityAxis=roku_TermLoanAFacilityMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_DebtInstrumentRedemptionPeriodAxis=us-gaap_DebtInstrumentRedemptionPeriodOneMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_DebtInstrumentRedemptionPeriodAxis=us-gaap_DebtInstrumentRedemptionPeriodTwoMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_CreditFacilityAxis=roku_UncommittedIncrementalFacilityMember
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: |