v3.24.0.1

Significant Accounting Policies and Basis of Presentation (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2023
Accounting Policies [Abstract] |
Schedule of Allowance for Sales Returns | Allowance for sales returns consisted of the following activities (in thousands):
| Years Ended December 31,
| 2023 |  | 2022 |  | 2021
Beginning balance | $ | 7,417 |  |  | $ | 6,015 |  |  | $ | 5,912 |
Add: Charged to revenue | 16,560 |  |  | 19,068 |  |  | 16,181 |
Less: Utilization of sales return reserve | (16,169) |  |  | (17,666) |  |  | (16,078) |
Ending balance | $ | 7,808 |  |  | $ | 7,417 |  |  | $ | 6,015 |
Schedule of Allowance for Sales Incentives | Allowance for sales incentives consisted of the following activities (in thousands):
| Years Ended December 31,
| 2023 |  | 2022 |  | 2021
Beginning balance | $ | 28,903 |  |  | $ | 48,411 |  |  | $ | 30,838 |
Add: Charged to revenue | 85,178 |  |  | 94,731 |  |  | 90,530 |
Less: Utilization of sales incentive reserve | (91,057) |  |  | (114,239) |  |  | (72,957) |
Ending balance | $ | 23,024 |  |  | $ | 28,903 |  |  | $ | 48,411 |
Schedule of Allowance for Doubtful Accounts | Allowance for doubtful accounts consisted of the following activities (in thousands):
| Years Ended December 31,
| 2023 |  | 2022 |  | 2021
Beginning balance | $ | 3,498 |  |  | $ | 2,158 |  |  | $ | 4,181 |
Provision for (recoveries of) doubtful accounts | 1,674 |  |  | 2,081 |  |  | (904) |
Adjustments for write-off | (2,959) |  |  | (741) |  |  | (1,119) |
Ending balance | $ | 2,213 |  |  | $ | 3,498 |  |  | $ | 2,158 |

X
- Definition Schedule of valuation allowance for doubtful accounts. + References No definition available. + Details
Name: | roku_ScheduleOfValuationAllowanceForDoubtfulAccountsTableTextBlock
Namespace Prefix: | roku_
Data Type: | dtr-types1:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Schedule of valuation allowance for sales incentives. + References No definition available. + Details
Name: | roku_ScheduleOfValuationAllowanceForSalesIncentivesTableTextBlock
Namespace Prefix: | roku_
Data Type: | dtr-types1:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Schedule of valuation allowance for sales returns. + References No definition available. + Details
Name: | roku_ScheduleOfValuationAllowanceForSalesReturnsTableTextBlock
Namespace Prefix: | roku_
Data Type: | dtr-types1:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_AccountingPoliciesAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration