{
 "title": "Audio loudness targets, subtitle standards and frame rates for video editors (2026)",
 "updated": "2026-10-13",
 "publisher": "shortformkit.com",
 "notes": "Every value was taken from the source(s) listed on its row, opened between 2026-10-12 and 2026-10-13. 'official' = published by the platform or standards body; 'industry' = third-party measurement or summary; 'own measurement' = shortformkit.com study. LUFS and LKFS are the same unit. Dialogue-gated targets (Netflix, Amazon Studios) are not directly comparable with full-programme integrated measurements (EBU R 128, Spotify). null = no reliable value found.",
 "loudness_targets": [
  {
   "name": "Spotify",
   "category": "music streaming",
   "integrated_lufs": -14,
   "tolerance": null,
   "true_peak_max_dbtp": -1,
   "measurement_notes": "Playback normalization target for Premium 'Normal' setting; 'Loud' = -11 LUFS, 'Quiet' = -19 LUFS. Measured per ITU-R BS.1770. Album normalization when an album is played (gain constant across tracks), track normalization when shuffling or mixing albums. Quiet masters ARE turned up (positive gain, limited by headroom); in 'Loud' mode a limiter engages at -1 dB (sample values), 5 ms attack, 100 ms decay. Recommended master: -14 LUFS integrated, true peak below -1 dBTP; if the master is louder than -14 LUFS keep true peak below -2 dBTP.",
   "sources": [
    {
     "url": "https://support.spotify.com/us/artists/article/loudness-normalization/",
     "title": "Loudness normalization on Spotify",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "Apple Music (Sound Check)",
   "category": "music streaming",
   "integrated_lufs": -16,
   "tolerance": null,
   "true_peak_max_dbtp": null,
   "measurement_notes": "Apple's own document confirms Sound Check stores loudness in metadata, raises or lowers each track, and can work per album, but publishes no LUFS number. The -16 LUFS reference comes from industry measurement (Ian Shepherd, 2022: Apple follows AES TD1008 and normalizes music to -16 LUFS; Sound Check on by default only on new iOS/macOS installs). Apple recommends leaving at least 1 dB of headroom to avoid clipping from oversampling/encoding (not a stated true-peak spec).",
   "sources": [
    {
     "url": "https://www.apple.com/apple-music/apple-digital-masters/docs/apple-digital-masters.pdf",
     "title": "Apple Digital Masters (technology brief)",
     "type": "official"
    },
    {
     "url": "https://www.meterplugs.com/blog/2022/03/23/apple-switch-to-lufs.html",
     "title": "Apple switch to LUFS (MeterPlugs / Ian Shepherd, 2022-03-23)",
     "type": "industry"
    }
   ],
   "confidence": "medium"
  },
  {
   "name": "YouTube (incl. Shorts)",
   "category": "video platform",
   "integrated_lufs": -14,
   "tolerance": null,
   "true_peak_max_dbtp": null,
   "measurement_notes": "No official YouTube Help page publishes a loudness target. -14 LUFS is the industry-measured playback reference (changed quietly in 2019); YouTube turns loud videos down but does not turn quiet videos up. The applied gain is visible in 'Stats for nerds' (content loudness). Because normalization happens at playback, delivered files are not levelled: shortformkit.com measured 41 non-silent YouTube Shorts files (2026-10-12) at median -19.6 LUFS, 22% louder than -12 LUFS, 34% with true peak above -1 dBTP.",
   "observed_lufs_median": -19.6,
   "sources": [
    {
     "url": "https://www.meterplugs.com/blog/2019/09/18/youtube-changes-loudness-reference-to-14-lufs.html",
     "title": "YouTube changes loudness reference to -14 LUFS (MeterPlugs / Ian Shepherd, 2019-09-18)",
     "type": "industry"
    },
    {
     "url": "https://shortformkit.com/short-form-video-quality-study-2026/",
     "title": "Short-form video quality study 2026 (shortformkit.com, 135 public Reels/TikToks/Shorts measured 2026-10-12)",
     "type": "own measurement"
    }
   ],
   "confidence": "medium"
  },
  {
   "name": "Amazon Music",
   "category": "music streaming",
   "integrated_lufs": -14,
   "tolerance": null,
   "true_peak_max_dbtp": null,
   "measurement_notes": "No public Amazon Music for Artists loudness document was found. -14 LUFS is from industry measurement (MeterPlugs, 2019). Industry guides also state Amazon only turns loud content down and recommend -2 dBTP; unconfirmed by Amazon. The only official Amazon loudness doc found is for Alexa skills/Flash Briefings: average -14 LUFS/LKFS, rejected below -19 or above -9 LUFS, true peak not above -2 dBFS (that spec is not Amazon Music).",
   "sources": [
    {
     "url": "https://meterplugs.com/blog/2019/10/15/loudness-penalty-amazon-deezer.html",
     "title": "Loudness Penalty adds Amazon and Deezer (MeterPlugs, 2019-10-15)",
     "type": "industry"
    },
    {
     "url": "https://danmurtagh.com/lufs-loudness-standards",
     "title": "LUFS Loudness Standards for 50+ Platforms (Dan Murtagh, specs reviewed July 2026)",
     "type": "industry"
    },
    {
     "url": "https://developer.amazon.com/en-GB/docs/alexa/flashbriefing/normalizing-the-loudness-of-audio-content.html",
     "title": "Normalizing the Loudness of Audio Content | Alexa Skills Kit",
     "type": "official"
    }
   ],
   "confidence": "low"
  },
  {
   "name": "TIDAL",
   "category": "music streaming",
   "integrated_lufs": -14,
   "tolerance": null,
   "true_peak_max_dbtp": null,
   "measurement_notes": "Album normalization: the loudest track of each album is normalized to -14 LUFS and other tracks keep their relative level; measured per ITU-R BS.1770-4. Only attenuates, never applies positive gain, so quiet albums play quiet. Source is a 2017 report of TIDAL's implementation; TIDAL's former support article (360013379377) now returns 'page doesn't exist', so current behaviour is not officially confirmed.",
   "sources": [
    {
     "url": "https://audioxpress.com/news/tidal-implements-album-loudness-normalization-and-activates-it-by-default-for-mobile-players",
     "title": "Tidal Implements Album Loudness Normalization and Activates It by Default for Mobile Players (audioXpress, 2017-11-27)",
     "type": "industry"
    }
   ],
   "confidence": "medium"
  },
  {
   "name": "Deezer",
   "category": "music streaming",
   "integrated_lufs": -15,
   "tolerance": null,
   "true_peak_max_dbtp": null,
   "measurement_notes": "Deezer's help page confirms volume normalization exists on iOS, Android and Desktop and can be toggled off, but gives no LUFS value. -15 LUFS is from industry measurement (MeterPlugs, 2019). Track vs album normalization not documented officially.",
   "sources": [
    {
     "url": "https://support.deezer.com/hc/en-gb/articles/360005369938-Volume-Normalization-on-Deezer",
     "title": "Volume Normalization on Deezer",
     "type": "official"
    },
    {
     "url": "https://meterplugs.com/blog/2019/10/15/loudness-penalty-amazon-deezer.html",
     "title": "Loudness Penalty adds Amazon and Deezer (MeterPlugs, 2019-10-15)",
     "type": "industry"
    }
   ],
   "confidence": "medium"
  },
  {
   "name": "SoundCloud",
   "category": "music streaming",
   "integrated_lufs": -14,
   "tolerance": null,
   "true_peak_max_dbtp": -1,
   "measurement_notes": "Official mastering tip: master at -14 LUFS integrated with true peak below -1 dBTP (best for its lossy formats Ogg/Vorbis and AAC); if louder than -14 LUFS keep true peak below -2 dBTP. SoundCloud states it applies loudness normalization at playback but the page does not state the normalization level or whether quiet tracks are raised.",
   "sources": [
    {
     "url": "https://help.soundcloud.com/hc/en-us/articles/360053660014-Will-SoundCloud-play-my-track-at-the-level-it-s-mastered",
     "title": "Will SoundCloud play my track at the level it's mastered? - SoundCloud Help Center",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "Netflix (branded content, near-field mixes)",
   "category": "streaming video",
   "integrated_lufs": -27,
   "tolerance": "±2 LU",
   "true_peak_max_dbtp": -2,
   "measurement_notes": "Average loudness -27 LKFS, dialog-gated, measured over the full program per ITU-R BS.1770-1. Peaks must not exceed -2 dBTP. Applies to Netflix branded content; licensed content follows the separate Full Non-Branded Delivery Specification. Note: dialog-gated -27 is not comparable with full-program (ungated-to-dialogue) integrated LUFS readings.",
   "sources": [
    {
     "url": "https://studiopartner.netflix.net/studio/branded-sound-mix-spec-and-best-practices",
     "title": "Netflix Branded Sound Mix Specifications & Best Practices (Netflix Studio Partner Knowledge Hub; formerly Partner Help Center article 360001794307)",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "Amazon Prime Video / Amazon MGM Studios productions",
   "category": "streaming video",
   "integrated_lufs": -27,
   "tolerance": "±2 LU",
   "true_peak_max_dbtp": -2,
   "measurement_notes": "Amazon Studios portal: Near Field 5.1/2.0 mixes, loudness target -27 LKFS ±2 LU, measured with BS.1770-1 plus dialogue gating (Dolby Dialogue Intelligence); max true peak -2 dBTP; QC rejects outside -27 ±2 LU. Dolby Atmos audio has no loudness requirement. DISAGREEMENT: several industry references list Prime Video as -24 LKFS / -2 dBTP; the public Prime Video Direct/Video Central tech docs list no loudness value at all, so the -24 figure may stem from older or licensed-content specs.",
   "sources": [
    {
     "url": "https://portal.amazonstudios.com/hc/en-us/articles/15986851525147-Delivery-QC",
     "title": "Delivery & QC - Amazon Studios Portal (Audio: Near Field Loudness Levels)",
     "type": "official"
    },
    {
     "url": "https://videocentral.amazon.com/support/delivery-experience/videos/video-requirements",
     "title": "Video requirements - Prime Video Tech Docs (Video Central)",
     "type": "official"
    },
    {
     "url": "https://sounddesign.irpr.agency/tools/lufs-delivery-reference/",
     "title": "LUFS Loudness Delivery Reference (IRPR Sound)",
     "type": "industry"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "Disney+",
   "category": "streaming video",
   "integrated_lufs": -27,
   "tolerance": null,
   "true_peak_max_dbtp": -2,
   "measurement_notes": "No public official Disney+ loudness spec could be opened (Disney Media Tech Specs portal did not render audio content). Values are from one industry compilation only (-27 LKFS dialogue-gated, -2 dBTP). Treat as unverified.",
   "sources": [
    {
     "url": "https://mediatechspecs.disney.com/#/mastering/audio/audio-specifications",
     "title": "Disney Media Tech Specs (content not publicly rendered when accessed)",
     "type": "official"
    },
    {
     "url": "https://danmurtagh.com/lufs-loudness-standards",
     "title": "LUFS Loudness Standards for 50+ Platforms (Dan Murtagh, specs reviewed July 2026)",
     "type": "industry"
    }
   ],
   "confidence": "low"
  },
  {
   "name": "EBU R 128 (European broadcast)",
   "category": "broadcast",
   "integrated_lufs": -23,
   "tolerance": "±1.0 LU only where the target is not practically achievable (e.g. live); ±0.2 LU allowed for measurement error in QC",
   "true_peak_max_dbtp": -1,
   "measurement_notes": "R 128-2023 (v5.0, Nov 2023): normalise Programme Loudness to -23.0 LUFS, gated measurement per ITU-R BS.1770 and EBU Tech 3341, measured over the whole programme without emphasis on speech, music or effects (not dialogue-gated). Max true peak -1 dBTP in production (linear audio), lower limits may apply for distribution (EBU Tech 3344). Loudness Range per Tech 3342; production guidance in Tech 3343. DISAGREEMENT: v3.0 (2014) set a ±0.5 LU target tolerance; v4.0 (2020) updated tolerances, and many meter presets (e.g. iZotope) still show ±0.5 LU.",
   "sources": [
    {
     "url": "https://tech.ebu.ch/docs/r/r128.pdf",
     "title": "EBU R 128-2023 (v5.0, Nov 2023) Loudness normalisation and permitted maximum level of audio signals",
     "type": "official"
    },
    {
     "url": "https://tech.ebu.ch/publications/r128",
     "title": "EBU R 128 publication page",
     "type": "official"
    },
    {
     "url": "https://downloads.izotope.com/docs/rx6/46-loudness/index.html",
     "title": "iZotope RX 6 documentation: Loudness (standard presets table)",
     "type": "industry"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "EBU R 128 s1 (short-form: ads, promos)",
   "category": "broadcast",
   "integrated_lufs": -23,
   "tolerance": "±0.2 LU (QC measurement tolerance)",
   "true_peak_max_dbtp": -1,
   "measurement_notes": "Programme Loudness -23.0 LUFS; Maximum Short-term Loudness (3 s window) must not exceed -18.0 LUFS (+5 LU); Loudness Range not applicable. Short-form = up to approx. 2 minutes, typically under 30 s.",
   "sources": [
    {
     "url": "https://tech.ebu.ch/docs/r/r128s1.pdf",
     "title": "EBU R 128 s1 Loudness Parameters for Short-form Content (Adverts, Promos etc.)",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "EBU R 128 s2 (broadcasters' streaming)",
   "category": "streaming video",
   "integrated_lufs": -23,
   "tolerance": "interim Distribution Loudness -20.0 to -16.0 LUFS allowed if no loudness metadata is used",
   "true_peak_max_dbtp": null,
   "measurement_notes": "R 128 s2-2023: programmes produced per R 128 should be streamed unchanged at -23.0 LUFS with correct loudness metadata; without metadata, the Distribution Loudness Level may be raised to -20 to -16 LUFS. Devices that raise level should apply true-peak limiting per EBU Tech 3344. References AES71 (OTT video) and AES77 (audio streaming).",
   "sources": [
    {
     "url": "https://tech.ebu.ch/docs/r/r128s2.pdf",
     "title": "EBU R 128 s2-2023 Loudness in Streaming",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "ATSC A/85 (US broadcast, CALM Act)",
   "category": "broadcast",
   "integrated_lufs": -24,
   "tolerance": "±2 dB (measurement variation; content should not be targeted to either side)",
   "true_peak_max_dbtp": -2,
   "measurement_notes": "Target Loudness -24 LKFS for delivery/exchange without metadata; true peak kept below -2 dBTP. Long-form content: measure the Anchor Element (typically dialogue) per BS.1770, else full-program integrated loudness. Short-form (ads, interstitials): full-program integrated loudness. A/85:2013 (approved 12 March 2013).",
   "sources": [
    {
     "url": "https://www.atsc.org/wp-content/uploads/2025/06/A85-2013-with-Corrigendum-No-1.pdf",
     "title": "ATSC A/85:2013 Techniques for Establishing and Maintaining Audio Loudness for Digital Television (with Corrigendum No. 1)",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "ARIB TR-B32 (Japan broadcast)",
   "category": "broadcast",
   "integrated_lufs": -24,
   "tolerance": "±2 LU (industry preset; not verified in the official text)",
   "true_peak_max_dbtp": -1,
   "measurement_notes": "Operational guidelines for loudness of Japanese digital TV, measured per ITU-R BS.1770-3/-4 with gating. ARIB lists v1.7 dated 10.09.2026 as latest. The official numeric values could not be opened (the free sample PDF contains only the table of contents); -24 LKFS, ±2 LU and -1 dBTP come from iZotope's preset table. Other secondary sources quote ±1 LU, so the tolerance is uncertain.",
   "sources": [
    {
     "url": "https://arib.or.jp/english/std_tr/broadcasting/desc/tr-b32.html",
     "title": "Overview of ARIB Technical Report TR-B32 (Operational Guidelines for Loudness of Digital Television Programs)",
     "type": "official"
    },
    {
     "url": "https://downloads.izotope.com/docs/rx6/46-loudness/index.html",
     "title": "iZotope RX 6 documentation: Loudness (standard presets table)",
     "type": "industry"
    }
   ],
   "confidence": "medium"
  },
  {
   "name": "AES TD1004.1.15-10 (2015, superseded)",
   "category": "music streaming",
   "integrated_lufs": "-16 to -20",
   "tolerance": null,
   "true_peak_max_dbtp": -1,
   "measurement_notes": "AES recommendation for audio streaming and network file playback: target window -16 to -20 LUFS, max true peak -1 dBTP. Superseded by TD1008 (2021) and AES77-2023. Official PDF is behind a bot check, values taken from industry coverage.",
   "sources": [
    {
     "url": "https://www.production-expert.com/home-page/2015/11/17/aes-release-recommendations-for-loudness-of-audio-streaming-and-network-file-playback",
     "title": "AES release recommendations for loudness of audio streaming and network file playback (Production Expert, 2015-11-17)",
     "type": "industry"
    },
    {
     "url": "https://productionadvice.co.uk/td1008/",
     "title": "AES TD1008 explained (Production Advice / Ian Shepherd, 2021-10-01)",
     "type": "industry"
    }
   ],
   "confidence": "medium"
  },
  {
   "name": "AES TD1008 / AES77-2023 (speech, podcasts)",
   "category": "podcast/audiobook",
   "integrated_lufs": -18,
   "tolerance": "+2 LU upper tolerance for speech (industry summary)",
   "true_peak_max_dbtp": null,
   "measurement_notes": "Distribution Loudness for speech and 'assorted' content -18 LUFS; mixed music+speech streams may sit at -17 LUFS (within the speech tolerance). TD1008 (2021) became the AES Recommended Practice AES77 in July 2023. Official text not opened (AES site bot check; AES77 is paywalled), so true-peak value not verified.",
   "sources": [
    {
     "url": "https://productionadvice.co.uk/td1008/",
     "title": "AES TD1008 explained (Production Advice / Ian Shepherd, 2021-10-01)",
     "type": "industry"
    },
    {
     "url": "https://docs.telosalliance.com/docs/understanding-loudness-for-streaming-audio",
     "title": "Understanding Loudness for Streaming Audio (Telos Alliance docs)",
     "type": "industry"
    },
    {
     "url": "https://www.radioworld.com/?p=121334",
     "title": "AES77-2023 published, based on TD1008 (Radio World, 2023-07-19)",
     "type": "industry"
    }
   ],
   "confidence": "medium"
  },
  {
   "name": "AES TD1008 / AES77-2023 (music)",
   "category": "music streaming",
   "integrated_lufs": -16,
   "tolerance": null,
   "true_peak_max_dbtp": null,
   "measurement_notes": "Distribution Loudness for music -16 LUFS (TD1008 gives two methods, track-based and album/anchor-based, that give the same overall result per Production Advice). Apple Music's -16 LUFS reference is reported to follow this.",
   "sources": [
    {
     "url": "https://productionadvice.co.uk/td1008/",
     "title": "AES TD1008 explained (Production Advice / Ian Shepherd, 2021-10-01)",
     "type": "industry"
    },
    {
     "url": "https://docs.telosalliance.com/docs/understanding-loudness-for-streaming-audio",
     "title": "Understanding Loudness for Streaming Audio (Telos Alliance docs)",
     "type": "industry"
    },
    {
     "url": "https://www.meterplugs.com/blog/2022/03/23/apple-switch-to-lufs.html",
     "title": "Apple switch to LUFS (MeterPlugs / Ian Shepherd, 2022-03-23)",
     "type": "industry"
    }
   ],
   "confidence": "medium"
  },
  {
   "name": "Apple Podcasts",
   "category": "podcast/audiobook",
   "integrated_lufs": -16,
   "tolerance": "±1 dB",
   "true_peak_max_dbtp": -1,
   "measurement_notes": "Recommended: overall loudness around -16 LKFS ±1 dB, true peak not exceeding -1 dBFS, both per ITU-R BS.1770-5. Preconditioning must happen before encoding.",
   "sources": [
    {
     "url": "https://podcasters.apple.com/support/893-audio-requirements",
     "title": "Audio requirements - Apple Podcasts for Creators",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "Audible / ACX (audiobooks)",
   "category": "podcast/audiobook",
   "integrated_lufs": null,
   "tolerance": "RMS between -23 dB and -18 dB",
   "true_peak_max_dbtp": null,
   "measurement_notes": "ACX does not specify LUFS. Requirements: each file -23 to -18 dB RMS, peak values no higher than -3 dB (peak, not specified as true peak), noise floor no higher than -60 dB RMS, 1 to 5 s room tone at head/tail, max 120 min per file, 192 kbps+ CBR 44.1 kHz MP3, all files mono or all stereo.",
   "sources": [
    {
     "url": "https://help.acx.com/s/article/what-are-the-acx-audio-submission-requirements",
     "title": "ACX audio submission requirements",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "Instagram Reels",
   "category": "social",
   "integrated_lufs": -14,
   "tolerance": "±1 LU (observed, not a published spec)",
   "true_peak_max_dbtp": null,
   "measurement_notes": "No official Meta/Instagram loudness spec exists. Industry recommendation: -14 LUFS, -1 dBTP; Meta uses xHE-AAC with adaptive loudness management. Own measurement (2026-10-12): 92% of 50 non-silent public Reels were within ±1 LU of -14 LUFS, median -14.1, loudest -14.0 LUFS, none louder than -12; median true peak -0.8 dBTP. This pattern suggests Instagram turns loud uploads down to about -14 LUFS at processing time; undocumented by Instagram.",
   "observed_lufs_median": -14.1,
   "sources": [
    {
     "url": "https://shortformkit.com/short-form-video-quality-study-2026/",
     "title": "Short-form video quality study 2026 (shortformkit.com, 135 public Reels/TikToks/Shorts measured 2026-10-12)",
     "type": "own measurement"
    },
    {
     "url": "https://danmurtagh.com/lufs-loudness-standards",
     "title": "LUFS Loudness Standards for 50+ Platforms (Dan Murtagh, specs reviewed July 2026)",
     "type": "industry"
    }
   ],
   "confidence": "medium"
  },
  {
   "name": "TikTok",
   "category": "social",
   "integrated_lufs": null,
   "tolerance": null,
   "true_peak_max_dbtp": null,
   "measurement_notes": "No official TikTok loudness spec exists; industry sources call the common '-14 LUFS' figure a guess. Own measurement (2026-10-12) of 42 public TikToks: delivered files are not levelled, median -21.2 LUFS, 80% between -27.5 and -15.0 LUFS, only 10% within ±1 LU of -14, median true peak -6.6 dBTP. Practical advice from the study: master to about -14 LUFS so videos do not sound weaker than others.",
   "observed_lufs_median": -21.2,
   "sources": [
    {
     "url": "https://shortformkit.com/short-form-video-quality-study-2026/",
     "title": "Short-form video quality study 2026 (shortformkit.com, 135 public Reels/TikToks/Shorts measured 2026-10-12)",
     "type": "own measurement"
    },
    {
     "url": "https://danmurtagh.com/lufs-loudness-standards",
     "title": "LUFS Loudness Standards for 50+ Platforms (Dan Murtagh, specs reviewed July 2026)",
     "type": "industry"
    }
   ],
   "confidence": "medium"
  },
  {
   "name": "Facebook (video, Reels)",
   "category": "social",
   "integrated_lufs": null,
   "tolerance": null,
   "true_peak_max_dbtp": null,
   "measurement_notes": "No official Meta/Facebook loudness target published. Industry source: part of Meta's xHE-AAC delivery with adaptive loudness management. Not measured by shortformkit.com.",
   "sources": [
    {
     "url": "https://danmurtagh.com/lufs-loudness-standards",
     "title": "LUFS Loudness Standards for 50+ Platforms (Dan Murtagh, specs reviewed July 2026)",
     "type": "industry"
    }
   ],
   "confidence": "low"
  }
 ],
 "subtitle_standards": [
  {
   "name": "Netflix Timed Text Style Guide",
   "rule": "Maximum lines per subtitle",
   "value": "2",
   "applies_to": "All languages (Netflix originals and non-originals)",
   "sources": [
    {
     "url": "https://partnerhelp.netflixstudios.com/hc/en-us/articles/215758617-Timed-Text-Style-Guide-General-Requirements",
     "title": "Timed Text Style Guide: General Requirements - Netflix Partner Help Center",
     "type": "official"
    }
   ],
   "confidence": "high",
   "notes": "Keep to one line unless the text exceeds the character limit."
  },
  {
   "name": "Netflix Timed Text Style Guide",
   "rule": "Minimum event duration",
   "value": "5/6 second (20 frames at 24 fps)",
   "applies_to": "All languages except where a language guide overrides (see Japanese)",
   "sources": [
    {
     "url": "https://partnerhelp.netflixstudios.com/hc/en-us/articles/215758617-Timed-Text-Style-Guide-General-Requirements",
     "title": "Timed Text Style Guide: General Requirements - Netflix Partner Help Center",
     "type": "official"
    },
    {
     "url": "https://partnerhelp.netflixstudios.com/hc/en-us/articles/360051554394-Timed-Text-Style-Guide-Subtitle-Timing-Guidelines",
     "title": "Timed Text Style Guide: Subtitle Timing Guidelines - Netflix Partner Help Center (last change 2025-07-04)",
     "type": "official"
    }
   ],
   "confidence": "high",
   "notes": "Timing Guidelines phrase it as '20 frames (or 4/5 sec)'; 20 frames at 24 fps is 5/6 s, so the 4/5 s wording is a small inconsistency in Netflix's own docs."
  },
  {
   "name": "Netflix Timed Text Style Guide",
   "rule": "Maximum event duration",
   "value": "7 seconds",
   "applies_to": "All languages",
   "sources": [
    {
     "url": "https://partnerhelp.netflixstudios.com/hc/en-us/articles/215758617-Timed-Text-Style-Guide-General-Requirements",
     "title": "Timed Text Style Guide: General Requirements - Netflix Partner Help Center",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "Netflix Timed Text Style Guide",
   "rule": "Minimum gap between subtitles (frame gap)",
   "value": "2 frames",
   "applies_to": "All frame rates",
   "sources": [
    {
     "url": "https://partnerhelp.netflixstudios.com/hc/en-us/articles/360051554394-Timed-Text-Style-Guide-Subtitle-Timing-Guidelines",
     "title": "Timed Text Style Guide: Subtitle Timing Guidelines - Netflix Partner Help Center (last change 2025-07-04)",
     "type": "official"
    }
   ],
   "confidence": "high",
   "notes": "At 24 fps, gaps of 3-11 frames must be closed to 2 frames; gaps should be either 2 frames or at least half a second (12 frames at 24 fps, 15 at 30 fps, 30 at 60 fps)."
  },
  {
   "name": "Netflix Timed Text Style Guide",
   "rule": "Out-time after end of speech",
   "value": "about 0.5 s after audio ends when no subtitle follows",
   "applies_to": "All languages",
   "sources": [
    {
     "url": "https://partnerhelp.netflixstudios.com/hc/en-us/articles/360051554394-Timed-Text-Style-Guide-Subtitle-Timing-Guidelines",
     "title": "Timed Text Style Guide: Subtitle Timing Guidelines - Netflix Partner Help Center (last change 2025-07-04)",
     "type": "official"
    }
   ],
   "confidence": "high",
   "notes": "In-time on the first frame of audio, within 1-2 frames acceptable. Snap to shot changes within half a second, keeping 2 frames before the cut."
  },
  {
   "name": "Netflix Timed Text Style Guide",
   "rule": "Positioning",
   "value": "Center-justified, top or bottom of screen",
   "applies_to": "All languages; Japanese may use vertical positioning",
   "sources": [
    {
     "url": "https://partnerhelp.netflixstudios.com/hc/en-us/articles/215758617-Timed-Text-Style-Guide-General-Requirements",
     "title": "Timed Text Style Guide: General Requirements - Netflix Partner Help Center",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "Netflix Timed Text Style Guide",
   "rule": "Characters per line",
   "value": "42",
   "applies_to": "English (USA)",
   "sources": [
    {
     "url": "https://partnerhelp.netflixstudios.com/hc/en-us/articles/217350977-English-USA-Timed-Text-Style-Guide",
     "title": "English (USA) Timed Text Style Guide - Netflix",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "Netflix Timed Text Style Guide",
   "rule": "Reading speed",
   "value": "Adult: up to 20 cps; Children: up to 17 cps",
   "applies_to": "English (USA), subtitles and SDH",
   "sources": [
    {
     "url": "https://partnerhelp.netflixstudios.com/hc/en-us/articles/217350977-English-USA-Timed-Text-Style-Guide",
     "title": "English (USA) Timed Text Style Guide - Netflix",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "Netflix Timed Text Style Guide",
   "rule": "Characters per line",
   "value": "42",
   "applies_to": "German",
   "sources": [
    {
     "url": "https://partnerhelp.netflixstudios.com/hc/en-us/articles/217351587-German-Timed-Text-Style-Guide",
     "title": "German Timed Text Style Guide - Netflix",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "Netflix Timed Text Style Guide",
   "rule": "Reading speed",
   "value": "Subtitles: adult up to 17 cps, children up to 13 cps; SDH may increase to adult 20 cps, children 17 cps",
   "applies_to": "German",
   "sources": [
    {
     "url": "https://partnerhelp.netflixstudios.com/hc/en-us/articles/217351587-German-Timed-Text-Style-Guide",
     "title": "German Timed Text Style Guide - Netflix",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "Netflix Timed Text Style Guide",
   "rule": "Characters per line",
   "value": "42",
   "applies_to": "French (France)",
   "sources": [
    {
     "url": "https://partnerhelp.netflixstudios.com/hc/en-us/articles/217351577-French-France-Timed-Text-Style-Guide",
     "title": "French (France) Timed Text Style Guide - Netflix",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "Netflix Timed Text Style Guide",
   "rule": "Reading speed",
   "value": "Subtitles: adult up to 17 cps, children up to 13 cps; SDH may increase to adult 20 cps, children 17 cps",
   "applies_to": "French (France)",
   "sources": [
    {
     "url": "https://partnerhelp.netflixstudios.com/hc/en-us/articles/217351577-French-France-Timed-Text-Style-Guide",
     "title": "French (France) Timed Text Style Guide - Netflix",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "Netflix Timed Text Style Guide",
   "rule": "Characters per line",
   "value": "42",
   "applies_to": "Spanish (Latin America & Spain)",
   "sources": [
    {
     "url": "https://partnerhelp.netflixstudios.com/hc/en-us/articles/217349997-Spanish-Latin-America-Spain-Timed-Text-Style-Guide",
     "title": "Spanish (Latin America & Spain) Timed Text Style Guide - Netflix",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "Netflix Timed Text Style Guide",
   "rule": "Reading speed",
   "value": "Adult: up to 17 cps; Children: up to 13 cps (subtitles and SDH)",
   "applies_to": "Spanish (Latin America & Spain)",
   "sources": [
    {
     "url": "https://partnerhelp.netflixstudios.com/hc/en-us/articles/217349997-Spanish-Latin-America-Spain-Timed-Text-Style-Guide",
     "title": "Spanish (Latin America & Spain) Timed Text Style Guide - Netflix",
     "type": "official"
    }
   ],
   "confidence": "high",
   "notes": "Change log notes SDH reading speed limits were revised to match the interlingual limits."
  },
  {
   "name": "Netflix Timed Text Style Guide",
   "rule": "Characters per line",
   "value": "42",
   "applies_to": "Italian",
   "sources": [
    {
     "url": "https://partnerhelp.netflixstudios.com/hc/en-us/articles/215349898-Italian-Timed-Text-Style-Guide",
     "title": "Italian Timed Text Style Guide - Netflix",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "Netflix Timed Text Style Guide",
   "rule": "Reading speed",
   "value": "Adult: up to 17 cps; Children: up to 13 cps",
   "applies_to": "Italian subtitles",
   "sources": [
    {
     "url": "https://partnerhelp.netflixstudios.com/hc/en-us/articles/215349898-Italian-Timed-Text-Style-Guide",
     "title": "Italian Timed Text Style Guide - Netflix",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "Netflix Timed Text Style Guide",
   "rule": "Characters per line",
   "value": "42",
   "applies_to": "Portuguese (Brazil)",
   "sources": [
    {
     "url": "https://partnerhelp.netflixstudios.com/hc/en-us/articles/215600497-Portuguese-Brazil-Timed-Text-Style-Guide",
     "title": "Portuguese (Brazil) Timed Text Style Guide - Netflix",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "Netflix Timed Text Style Guide",
   "rule": "Reading speed",
   "value": "Subtitles: adult up to 17 cps, children up to 13 cps; SDH: adult up to 20 cps, children up to 17 cps",
   "applies_to": "Portuguese (Brazil)",
   "sources": [
    {
     "url": "https://partnerhelp.netflixstudios.com/hc/en-us/articles/215600497-Portuguese-Brazil-Timed-Text-Style-Guide",
     "title": "Portuguese (Brazil) Timed Text Style Guide - Netflix",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "Netflix Timed Text Style Guide",
   "rule": "Characters per line",
   "value": "Horizontal: max 13 full-width characters; vertical: max 11 full-width characters (half-width character/space/punctuation counts as 0.5)",
   "applies_to": "Japanese",
   "sources": [
    {
     "url": "https://partnerhelp.netflixstudios.com/hc/en-us/articles/215767517-Japanese-Timed-Text-Style-Guide",
     "title": "Japanese Timed Text Style Guide - Netflix",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "Netflix Timed Text Style Guide",
   "rule": "Reading speed",
   "value": "Up to 4 characters per second",
   "applies_to": "Japanese",
   "sources": [
    {
     "url": "https://partnerhelp.netflixstudios.com/hc/en-us/articles/215767517-Japanese-Timed-Text-Style-Guide",
     "title": "Japanese Timed Text Style Guide - Netflix",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "Netflix Timed Text Style Guide",
   "rule": "Minimum event duration",
   "value": "0.5 s (12 frames at 24 fps)",
   "applies_to": "Japanese (overrides the general 5/6 s)",
   "sources": [
    {
     "url": "https://partnerhelp.netflixstudios.com/hc/en-us/articles/215767517-Japanese-Timed-Text-Style-Guide",
     "title": "Japanese Timed Text Style Guide - Netflix",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "Netflix Timed Text Style Guide",
   "rule": "Characters per line",
   "value": "16 (Latin characters, spaces, punctuation count as 0.5)",
   "applies_to": "Korean",
   "sources": [
    {
     "url": "https://partnerhelp.netflixstudios.com/hc/en-us/articles/216001127-Korean-Timed-Text-Style-Guide",
     "title": "Korean Timed Text Style Guide - Netflix",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "Netflix Timed Text Style Guide",
   "rule": "Reading speed",
   "value": "Subtitles: adult up to 12 cps, children up to 9 cps; SDH adult up to 14 cps",
   "applies_to": "Korean",
   "sources": [
    {
     "url": "https://partnerhelp.netflixstudios.com/hc/en-us/articles/216001127-Korean-Timed-Text-Style-Guide",
     "title": "Korean Timed Text Style Guide - Netflix",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "Netflix Timed Text Style Guide",
   "rule": "TTML technical rules",
   "value": "Percentage values only (no pixels); tts:fontSize = 100%; positioning via tts:textAlign/tts:displayAlign with static tts:extent/tts:origin",
   "applies_to": "All TTML subtitle and SDH files for Netflix",
   "sources": [
    {
     "url": "https://partnerhelp.netflixstudios.com/hc/en-us/articles/215758617-Timed-Text-Style-Guide-General-Requirements",
     "title": "Timed Text Style Guide: General Requirements - Netflix Partner Help Center",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "BBC Subtitle Guidelines",
   "rule": "Line length (broadcast)",
   "value": "37 fixed-width characters (Teletext), fewer if coloured text is used",
   "applies_to": "BBC broadcast subtitles",
   "sources": [
    {
     "url": "https://www.bbc.co.uk/accessibility/forproducts/guides/subtitles/",
     "title": "BBC Subtitle Guidelines (Version 1.2.5, March 2026)",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "BBC Subtitle Guidelines",
   "rule": "Line length (online)",
   "value": "68% of video width for 16:9; 90% for 4:3, 1:1 and 9:16",
   "applies_to": "BBC online subtitles",
   "sources": [
    {
     "url": "https://www.bbc.co.uk/accessibility/forproducts/guides/subtitles/",
     "title": "BBC Subtitle Guidelines (Version 1.2.5, March 2026)",
     "type": "official"
    }
   ],
   "confidence": "high",
   "notes": "As a guide, 37 characters in a 75% region of 16:9 equals about 25 characters in a 90% region of 9:16. Content for both platforms must meet both limits."
  },
  {
   "name": "BBC Subtitle Guidelines",
   "rule": "Maximum lines",
   "value": "2 for 16:9, 4:3 and 1:1; 3 for vertical 9:16",
   "applies_to": "BBC subtitles",
   "sources": [
    {
     "url": "https://www.bbc.co.uk/accessibility/forproducts/guides/subtitles/",
     "title": "BBC Subtitle Guidelines (Version 1.2.5, March 2026)",
     "type": "official"
    }
   ],
   "confidence": "high",
   "notes": "Extra lines allowed only if no important picture information is obscured."
  },
  {
   "name": "BBC Subtitle Guidelines",
   "rule": "Subtitle speed",
   "value": "160-180 words per minute (0.33 to 0.375 s per word); aim for at least about 0.3 s per word on screen",
   "applies_to": "BBC pre-recorded subtitles; live subtitle word rate also 160-180 wpm",
   "sources": [
    {
     "url": "https://www.bbc.co.uk/accessibility/forproducts/guides/subtitles/",
     "title": "BBC Subtitle Guidelines (Version 1.2.5, March 2026)",
     "type": "official"
    }
   ],
   "confidence": "high",
   "notes": "Children's subtitles should generally follow the speed of speech, with producer advice where that rate is unsuitable for the age group."
  },
  {
   "name": "BBC Subtitle Guidelines",
   "rule": "Gaps between subtitles",
   "value": "If a gap is left: minimum 1 second, preferably 1.5 seconds",
   "applies_to": "BBC subtitles",
   "sources": [
    {
     "url": "https://www.bbc.co.uk/accessibility/forproducts/guides/subtitles/",
     "title": "BBC Subtitle Guidelines (Version 1.2.5, March 2026)",
     "type": "official"
    }
   ],
   "confidence": "high",
   "notes": "Contrasts with Netflix, which chains subtitles with a 2-frame gap."
  },
  {
   "name": "BBC Subtitle Guidelines",
   "rule": "Delivery formats",
   "value": "EBU-TT-D (online only) or EBU-TT 1.0 (broadcast and online); STL file rules documented separately",
   "applies_to": "BBC deliveries",
   "sources": [
    {
     "url": "https://www.bbc.co.uk/accessibility/forproducts/guides/subtitles/",
     "title": "BBC Subtitle Guidelines (Version 1.2.5, March 2026)",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "YouTube",
   "rule": "Supported basic caption formats",
   "value": "SubRip .srt; SubViewer .sbv/.sub; MPsub .mpsub; LRC .lrc; Videotron Lambda .cap",
   "applies_to": "YouTube uploads",
   "sources": [
    {
     "url": "https://support.google.com/youtube/answer/2734698?hl=en",
     "title": "Supported subtitle and closed caption files - YouTube Help",
     "type": "official"
    }
   ],
   "confidence": "high",
   "notes": "SRT and SBV: basic versions only, no styling recognized, file must be plain UTF-8."
  },
  {
   "name": "YouTube",
   "rule": "Supported advanced caption formats",
   "value": "SAMI .smi/.sami; RealText .rt; WebVTT .vtt; TTML .ttml (incl. iTT); DFXP .dfxp/.ttml",
   "applies_to": "YouTube uploads",
   "sources": [
    {
     "url": "https://support.google.com/youtube/answer/2734698?hl=en",
     "title": "Supported subtitle and closed caption files - YouTube Help",
     "type": "official"
    }
   ],
   "confidence": "high",
   "notes": "WebVTT: positioning supported, styling limited to <b>, <i>, <u>. TTML in partial implementation."
  },
  {
   "name": "YouTube",
   "rule": "Supported broadcast caption formats",
   "value": "Scenarist .scc (preferred, CEA-608); EBU-STL .stl; Caption Center .tds; Cheetah .cap; NCI .cap",
   "applies_to": "YouTube uploads",
   "sources": [
    {
     "url": "https://support.google.com/youtube/answer/2734698?hl=en",
     "title": "Supported subtitle and closed caption files - YouTube Help",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "EBU subtitle formats",
   "rule": "EBU STL (Tech 3264)",
   "value": "Binary file format for exchange of teletext and in-vision subtitles between broadcasters",
   "applies_to": "Broadcast exchange (legacy, still accepted by YouTube and BBC workflows)",
   "sources": [
    {
     "url": "https://tech.ebu.ch/publications/tech3264",
     "title": "EBU Tech 3264 Specification of the EBU Subtitling Data Exchange Format (STL)",
     "type": "official"
    },
    {
     "url": "https://support.google.com/youtube/answer/2734698?hl=en",
     "title": "Supported subtitle and closed caption files - YouTube Help",
     "type": "official"
    },
    {
     "url": "https://www.bbc.co.uk/accessibility/forproducts/guides/subtitles/",
     "title": "BBC Subtitle Guidelines (Version 1.2.5, March 2026)",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "EBU subtitle formats",
   "rule": "EBU-TT Part 1 (Tech 3350)",
   "value": "XML (TTML-based) archiving and interchange format; current v1.2, May 2017 (v1.0 July 2012)",
   "applies_to": "Archiving and broadcaster interchange",
   "sources": [
    {
     "url": "https://tech.ebu.ch/publications/tech3350",
     "title": "EBU Tech 3350 EBU-TT Part 1 - Subtitle format definition",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "EBU subtitle formats",
   "rule": "EBU-TT-D (Tech 3380)",
   "value": "XML (TTML-based) format for distribution over IP; current v1.0.1, May 2018, aligned with W3C IMSC 1.0.1",
   "applies_to": "Online/OTT distribution",
   "sources": [
    {
     "url": "https://tech.ebu.ch/publications/tech3380",
     "title": "EBU Tech 3380 EBU-TT-D Subtitling Distribution Format",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "SRT (SubRip)",
   "rule": "File structure",
   "value": "Numeric counter; timing line HH:MM:SS,mmm --> HH:MM:SS,mmm (comma before milliseconds, arrow is two hyphens + '>'); one or more text lines; blank line ends the cue",
   "applies_to": "Any SRT file",
   "sources": [
    {
     "url": "https://www.loc.gov/preservation/digital/formats/fdd/fdd000569.shtml",
     "title": "SubRip Subtitle format (SRT) - Library of Congress Sustainability of Digital Formats (fdd000569)",
     "type": "industry"
    },
    {
     "url": "https://support.google.com/youtube/answer/2734698?hl=en",
     "title": "Supported subtitle and closed caption files - YouTube Help",
     "type": "official"
    }
   ],
   "confidence": "high",
   "notes": "No formal published specification exists. SubRip software defaulted to Windows-1252 encoding, so parsers must detect charset; YouTube requires plain UTF-8. The LoC description mentions a 32-character line limit, which is not a formal rule and conflicts with platform guides (Netflix 42, BBC 37)."
  },
  {
   "name": "WebVTT (W3C)",
   "rule": "File structure",
   "value": "UTF-8 text, MIME type text/vtt; optional BOM then the string 'WEBVTT' on the first line, followed by a blank line; cue = optional identifier, timing line, payload",
   "applies_to": "Any WebVTT file",
   "sources": [
    {
     "url": "https://www.w3.org/TR/webvtt1/",
     "title": "WebVTT: The Web Video Text Tracks Format (W3C Candidate Recommendation Draft, 20 May 2026)",
     "type": "official"
    }
   ],
   "confidence": "high",
   "notes": "Optional STYLE, REGION and NOTE blocks; STYLE blocks must come before the first cue."
  },
  {
   "name": "WebVTT (W3C)",
   "rule": "Timestamp format",
   "value": "[hh:]mm:ss.ttt with a full stop before exactly 3 millisecond digits; hours optional unless non-zero; start --> end with spaces",
   "applies_to": "Any WebVTT file",
   "sources": [
    {
     "url": "https://www.w3.org/TR/webvtt1/",
     "title": "WebVTT: The Web Video Text Tracks Format (W3C Candidate Recommendation Draft, 20 May 2026)",
     "type": "official"
    }
   ],
   "confidence": "high",
   "notes": "Cue start times must not decrease through the file; end must be greater than start; cues may overlap. Key difference from SRT: '.' instead of ',' and the WEBVTT header."
  }
 ],
 "frame_rates_timecode": [
  {
   "name": "23.976 fps (often shown as 23.98)",
   "fps": 23.976,
   "exact_rate": "24000/1001 (24 ÷ 1.001)",
   "used_for": "North American HDTV and 'NTSC film' (24p material in 60 Hz-derived systems)",
   "timecode": "Non-drop frame only; no drop-frame variant exists",
   "sources": [
    {
     "url": "https://en.wikipedia.org/wiki/SMPTE_timecode",
     "title": "SMPTE timecode - Wikipedia (cites SMPTE ST 12-1:2008)",
     "type": "industry"
    },
    {
     "url": "https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.709-6-201506-I!!PDF-E.pdf",
     "title": "Recommendation ITU-R BT.709-6 (06/2015) HDTV parameter values",
     "type": "official"
    },
    {
     "url": "https://help.apple.com/itc/filmspec/en.lproj/apdA45d3b81b.html",
     "title": "Timecode Formats - Apple iTunes Package Film Specification",
     "type": "official"
    },
    {
     "url": "https://sonix.ai/resources/what-is-drop-frame-vs-non-drop-frame-timecode/",
     "title": "Drop Frame vs. Non-Drop Frame Timecode: The Complete Guide (Sonix, updated 2026-08-05)",
     "type": "industry"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "24 fps",
   "fps": 24,
   "exact_rate": "24/1",
   "used_for": "Film/cinema, ATSC, 2K/4K digital production",
   "timecode": "Non-drop frame",
   "sources": [
    {
     "url": "https://en.wikipedia.org/wiki/SMPTE_timecode",
     "title": "SMPTE timecode - Wikipedia (cites SMPTE ST 12-1:2008)",
     "type": "industry"
    },
    {
     "url": "https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.709-6-201506-I!!PDF-E.pdf",
     "title": "Recommendation ITU-R BT.709-6 (06/2015) HDTV parameter values",
     "type": "official"
    },
    {
     "url": "https://help.apple.com/itc/filmspec/en.lproj/apdA45d3b81b.html",
     "title": "Timecode Formats - Apple iTunes Package Film Specification",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "25 fps",
   "fps": 25,
   "exact_rate": "25/1",
   "used_for": "PAL and SECAM regions (Europe, Australia, parts of South America), DVB; also allowed in ATSC",
   "timecode": "Non-drop frame; 50i broadcast carries 25 interlaced frames per second",
   "sources": [
    {
     "url": "https://en.wikipedia.org/wiki/SMPTE_timecode",
     "title": "SMPTE timecode - Wikipedia (cites SMPTE ST 12-1:2008)",
     "type": "industry"
    },
    {
     "url": "https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.709-6-201506-I!!PDF-E.pdf",
     "title": "Recommendation ITU-R BT.709-6 (06/2015) HDTV parameter values",
     "type": "official"
    },
    {
     "url": "https://help.apple.com/itc/filmspec/en.lproj/apdA45d3b81b.html",
     "title": "Timecode Formats - Apple iTunes Package Film Specification",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "29.97 fps non-drop (NDF)",
   "fps": 29.97,
   "exact_rate": "30000/1001 (30 ÷ 1.001)",
   "used_for": "NTSC regions (US, Canada, Mexico, Colombia et al.), ATSC, PAL-M (Brazil)",
   "timecode": "Counts 30 frame numbers per second continuously, so one hour of 29.97 NDF timecode runs 3.6 s longer than wall-clock time; 00:59:56:12 NDF equals 01:00:00;00 DF",
   "sources": [
    {
     "url": "https://en.wikipedia.org/wiki/SMPTE_timecode",
     "title": "SMPTE timecode - Wikipedia (cites SMPTE ST 12-1:2008)",
     "type": "industry"
    }
   ],
   "confidence": "high",
   "notes": "Apple's iTunes film spec notes many software systems use the imprecise ratio 30/999×1000 instead of the precise 30000/1001."
  },
  {
   "name": "29.97 fps drop frame (DF)",
   "fps": 29.97,
   "exact_rate": "30000/1001",
   "used_for": "Broadcast deliveries in NTSC regions where timecode must match clock time",
   "timecode": "Skips frame NUMBERS 00 and 01 at the start of every minute except minutes divisible by 10 (00, 10, 20, 30, 40, 50): 18 numbers per 10 minutes, 108 per hour, so one hour holds 107,892 frames instead of 108,000. No picture frames are removed. Residual drift about 1 frame every 9 h 15 min. Written with a semicolon (or period) before the frames: HH:MM:SS;FF",
   "sources": [
    {
     "url": "https://en.wikipedia.org/wiki/SMPTE_timecode",
     "title": "SMPTE timecode - Wikipedia (cites SMPTE ST 12-1:2008)",
     "type": "industry"
    },
    {
     "url": "https://help.apple.com/itc/filmspec/en.lproj/apdA45d3b81b.html",
     "title": "Timecode Formats - Apple iTunes Package Film Specification",
     "type": "official"
    },
    {
     "url": "https://sonix.ai/resources/what-is-drop-frame-vs-non-drop-frame-timecode/",
     "title": "Drop Frame vs. Non-Drop Frame Timecode: The Complete Guide (Sonix, updated 2026-08-05)",
     "type": "industry"
    }
   ],
   "confidence": "high",
   "notes": "Example sequence: 01:08:59;29 is followed by 01:09:00;02, but 01:09:59;29 is followed by 01:10:00;00. Apple's spec requires the semicolon after the seconds for drop-frame mode."
  },
  {
   "name": "30 fps",
   "fps": 30,
   "exact_rate": "30/1",
   "used_for": "ATSC; common web/phone capture rate (YouTube lists 30 as common)",
   "timecode": "Non-drop frame",
   "sources": [
    {
     "url": "https://en.wikipedia.org/wiki/SMPTE_timecode",
     "title": "SMPTE timecode - Wikipedia (cites SMPTE ST 12-1:2008)",
     "type": "industry"
    },
    {
     "url": "https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.709-6-201506-I!!PDF-E.pdf",
     "title": "Recommendation ITU-R BT.709-6 (06/2015) HDTV parameter values",
     "type": "official"
    },
    {
     "url": "https://help.apple.com/itc/filmspec/en.lproj/apdA45d3b81b.html",
     "title": "Timecode Formats - Apple iTunes Package Film Specification",
     "type": "official"
    },
    {
     "url": "https://support.google.com/youtube/answer/1722171?hl=en",
     "title": "YouTube recommended upload encoding settings - YouTube Help",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "50 fps",
   "fps": 50,
   "exact_rate": "50/1",
   "used_for": "50 Hz (PAL-derived) HD progressive systems (BT.709 50/P); high-frame-rate web uploads (YouTube lists 50 as common)",
   "timecode": "Non-drop frame",
   "sources": [
    {
     "url": "https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.709-6-201506-I!!PDF-E.pdf",
     "title": "Recommendation ITU-R BT.709-6 (06/2015) HDTV parameter values",
     "type": "official"
    },
    {
     "url": "https://support.google.com/youtube/answer/1722171?hl=en",
     "title": "YouTube recommended upload encoding settings - YouTube Help",
     "type": "official"
    }
   ],
   "confidence": "high"
  },
  {
   "name": "59.94 fps",
   "fps": 59.94,
   "exact_rate": "60000/1001 (60 ÷ 1.001)",
   "used_for": "60 Hz-derived (NTSC-region) HD progressive (BT.709 60/1.001); also the field rate of 1080i/480i NTSC broadcast",
   "timecode": "Drop-frame variant exists: skips 4 frame numbers at each affected minute boundary (same every-minute-except-tenth rule as 29.97 DF)",
   "sources": [
    {
     "url": "https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.709-6-201506-I!!PDF-E.pdf",
     "title": "Recommendation ITU-R BT.709-6 (06/2015) HDTV parameter values",
     "type": "official"
    },
    {
     "url": "https://transloadit.com/glossary/drop-frame/",
     "title": "What is Drop Frame? (Transloadit glossary)",
     "type": "industry"
    },
    {
     "url": "https://sonix.ai/resources/what-is-drop-frame-vs-non-drop-frame-timecode/",
     "title": "Drop Frame vs. Non-Drop Frame Timecode: The Complete Guide (Sonix, updated 2026-08-05)",
     "type": "industry"
    }
   ],
   "confidence": "medium",
   "notes": "The 4-frame figure comes from industry sources; the SMPTE ST 12 text itself (paywalled) was not opened."
  },
  {
   "name": "60 fps",
   "fps": 60,
   "exact_rate": "60/1",
   "used_for": "60 Hz HD progressive (BT.709 60/P); high-frame-rate web uploads (YouTube lists 60 as common)",
   "timecode": "Non-drop frame",
   "sources": [
    {
     "url": "https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.709-6-201506-I!!PDF-E.pdf",
     "title": "Recommendation ITU-R BT.709-6 (06/2015) HDTV parameter values",
     "type": "official"
    },
    {
     "url": "https://support.google.com/youtube/answer/1722171?hl=en",
     "title": "YouTube recommended upload encoding settings - YouTube Help",
     "type": "official"
    }
   ],
   "confidence": "high"
  }
 ]
}