v3.24.0.1

Leases - Narrative (Details) $ in Millions | 12 Months Ended
--- | ---
Dec. 31, 2023 USD ($)
Leases [Line Items] |
Commitment relating to operating lease, that have not yet commenced | $ 0.0
Minimum |
Leases [Line Items] |
Remaining lease term, operating lease | 1 year
Maximum |
Leases [Line Items] |
Remaining lease term, operating lease | 10 years

X
- Definition Commitment relating to operating lease, that have not yet commenced. + References No definition available. + Details
Name: | roku_CommitmentRelatingToOperatingLeaseThatHaveNotYetCommenced
Namespace Prefix: | roku_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Leases. + References No definition available. + Details
Name: | roku_LeasesLineItems
Namespace Prefix: | roku_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Remaining lease term operating lease. + References No definition available. + Details
Name: | roku_RemainingLeaseTermOperatingLease
Namespace Prefix: | roku_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

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: |