The Definitive Guide to Converting Blu-ray SUP (PGS) to SRT Subtitles
Understand Blu-ray bitmap subtitle architecture, optical character recognition (OCR), and how to generate clean SubRip text files.
Blu-ray discs and modern high-definition video rips often package their subtitles in the .SUP file format, formally known as Presentation Graphic Stream (PGS). Unlike plain text formats like SubRip (.srt) or WebVTT (.vtt), a PGS SUP file does not contain a single character of raw text. Instead, it is a sequential collection of compressed 8-bit indexed bitmap images, where every line of dialogue is pre-rendered as a graphic overlay complete with proprietary fonts, colors, and alpha-transparency boundaries.
Because of this bitmap-based structure, traditional subtitle converters that simply parse text timestamps or alter file extensions fail entirely on SUP files. Renaming a .sup file to .srt or opening it inside a text editor produces nothing but unintelligible binary data, causing media players to freeze or ignore the subtitle track completely. To turn a Blu-ray SUP file into a standard, universally compatible SRT subtitle file, the image graphics must undergo optical character recognition (OCR).
Our browser-based SUP to SRT converter combines full client-side binary PGS packet parsing with high-performance WebAssembly OCR. It decodes the run-length encoded (RLE) bitmap frames, applies the embedded color palettes, calculates millisecond-accurate timestamps from the 90 kHz Presentation Time Stamps (PTS), and accurately extracts the spoken dialogue into clean, editable SubRip subtitles—all without uploading your files to any external server.
What Is a Blu-ray SUP (PGS) File?
A .sup file is an elementary subtitle stream extracted directly from an M2TS Blu-ray container or Matroska (.mkv) video file. Engineered specifically for high-definition optical media, PGS subtitles allow movie studios to display dialogue in bespoke cinematic typography with precise drop shadows and fixed screen coordinates, ensuring the text looks identical across all Blu-ray hardware players.
Internally, a Blu-ray SUP file is divided into distinct Display Sets, each containing a sequence of functional segments. The Presentation Composition Segment (PCS) controls the overall screen resolution, composition state, and display timing. The Window Definition Segment (WDS) establishes the bounding rectangles on screen. The Palette Definition Segment (PDS) provides the 8-bit YCbCr color table with alpha transparency values, and the Object Definition Segment (ODS) stores the actual subtitle imagery compressed using a custom 2-byte run-length encoding (RLE) algorithm.
Crucially, timing in a SUP file is governed by 90 kHz Presentation Time Stamps (PTS). A subtitle begins displaying when a PCS with composition objects arrives, and remains on screen until a subsequent 'clearing' PCS (with zero objects) commands the player to erase the graphic. Converting this pipeline into SRT requires calculating the exact elapsed milliseconds from the 90 kHz clock and pairing those intervals with the text extracted by OCR.
Why Convert Blu-ray SUP Subtitles to SubRip (.SRT)?
Discover the critical playback, compatibility, and performance advantages of migrating from bitmap graphics to standard text subtitles.
Universal Media Player & Device Compatibility
While specialized media players like Kodi and VLC can render PGS bitmaps, most smart TVs, mobile browsers, Apple AirPlay devices, Chromecast, and web players cannot parse SUP streams. Converting to SubRip (.srt) ensures your subtitles display flawlessly on every screen without requiring transcoding.
Over 99% File Size Reduction
Because Blu-ray SUP files store uncompressed or lightly RLE-compressed 1080p/4K graphic bitmaps for every line of dialogue, a full movie subtitle track typically weighs between 20 MB and 80 MB. The equivalent text-based SRT file consumes merely 40 KB to 120 KB, freeing up storage and enabling instant streaming.
Full Text Searchability & AI Indexing
Bitmap subtitles cannot be indexed, searched, or processed by accessibility screen readers. Converting your SUP files to SRT unlocks full-text search across dialogue, enables automated translations, and allows search engines and video catalogs to index your media.
Seamless Video Editing & Post-Production
Major non-linear editors like Adobe Premiere Pro, DaVinci Resolve, Final Cut Pro, and Avid Media Composer do not natively accept raw .sup files on their subtitle tracks. Converting to standard SRT allows editors to import, customize styles, adjust timing, and burn in captions effortlessly.
How to Convert SUP to SRT Online in 3 Steps
Follow our simple, client-side workflow to extract text subtitles from Blu-ray PGS files.
Load Your Blu-ray SUP File
Drag and drop your .sup file directly into the converter dropzone, or click 'Browse Files' to select it from your device. You can also click 'Load Sample SUP' to test the full OCR pipeline immediately with our built-in test stream.
Automatic Binary Decoding & WebAssembly OCR
The in-browser engine parses the PGS display sets, reconstructs the 8-bit bitmap frames onto an offscreen canvas, and executes optical character recognition using WebAssembly to transcribe every dialogue line with millisecond-exact PTS timing.
Review Visual Cues & Export SRT
Inspect the recognized dialogue alongside the original Blu-ray graphic thumbnails in the visual cue editor. Make any quick manual corrections if needed, then click 'Download .SRT' or 'Copy SRT' to save your clean SubRip file.
Blu-ray SUP (PGS) vs SubRip (.SRT): Complete Format Comparison
Compare the technical architecture, capabilities, and system requirements of bitmap-based and text-based subtitle standards.
| Feature / Specification | Blu-ray PGS Graphics (.SUP) | Standard SubRip Subtitles (.SRT) |
|---|---|---|
| Data Storage Format | Binary stream of 8-bit indexed RLE bitmap graphic images | Clean, human-readable UTF-8 plain text with sequential numbers |
| Average Full-Movie File Size | 20 MB – 80 MB (contains hundreds of raster images) | 40 KB – 120 KB (pure text data) |
| Timing Coordinate Clock | 90 kHz Presentation Time Stamps (PTS integers) | Standard clock timecodes formatted as HH:MM:SS,mmm |
| Typography & Visual Styling | Fixed studio font, baked-in colors, outlines, and screen positions | Rendered dynamically by player settings (font, color, and size customizable by viewer) |
| Hardware & Platform Support | Blu-ray players, VLC, Kodi, MPC-HC (often causes Plex transcoding) | Universal: iOS, Android, Smart TVs, Web browsers, YouTube, Premiere Pro |
| Editing & Searchability | Requires specialized graphic editors (BDSup2Sub); cannot be searched | Easily edited in any text editor or Subtitle Edit; 100% searchable |
Inside the Blu-ray PGS Binary Architecture
A detailed engineering breakdown of how Presentation Graphic Stream packets are decoded into raster images and synchronized to video.
Every segment in a Blu-ray PGS SUP file begins with a 13-byte header. The first two bytes must match the magic number 0x50 0x47 (ASCII characters 'PG'). Following the magic identifier are a 32-bit Presentation Time Stamp (PTS), a 32-bit Decode Time Stamp (DTS), a 1-byte segment type identifier, and a 16-bit integer indicating the total payload length.
To display a subtitle, a Blu-ray authoring muxer outputs a sequence of segments forming a Display Set. The Presentation Composition Segment (type 0x16) declares the video canvas dimensions (typically 1920x1080 for standard HD or 3840x2160 for Ultra HD Blu-ray) and points to composition objects with designated horizontal (X) and vertical (Y) coordinates. The Palette Definition Segment (type 0x14) provides color entries stored in YCbCr color space along with an 8-bit alpha transparency channel. The Object Definition Segment (type 0x15) contains the pixel data compressed via run-length encoding.
Our parser processes these segments sequentially. When an ODS is encountered, its RLE data stream is decompressed into a 2D matrix of palette index values. The indices are mapped to 32-bit RGBA color values using the active PDS table. The resulting image is drawn onto an in-memory HTML5 Canvas. A high-contrast binarization filter is applied to separate the text glyphs from shadows and anti-aliasing artifacts, creating a pristine input image for our WebAssembly OCR worker.
PTS values are converted into SubRip timecodes using the formula: Total Milliseconds = Math.round(PTS / 90). The display start timestamp is locked to the PTS of the composition PCS, and the subtitle display closes when a subsequent clearing PCS (composition state 0x00 with 0 objects) arrives. This ensures perfect lip-sync accuracy identical to the original Blu-ray disc.
Conversion Example: From Binary PGS Packet to SubRip SRT
Examine how a decoded Blu-ray subtitle graphic is converted into standard SRT text format with exact timing.
Segment Type: 0x16 (PCS) at PTS 270,000 (00:00:03,000) | Object: 1920x1080 Canvas, Subtitle Bounds: 640x72 px
Palette: Entry 1 = Y:235, Cb:128, Cr:128, Alpha:255 (Pure White Text)
Decoded Image: Rendered graphic reading 'Welcome back, Commander.'
Clearing PCS: at PTS 540,000 (00:00:06,000)1
00:00:03,000 --> 00:00:06,000
Welcome back, Commander.
2
00:00:07,500 --> 00:00:10,200
The fleet has arrived at orbit.Solution: The PTS clock timestamp 270,000 divided by 90 yields exactly 3,000 milliseconds (00:00:03,000). The clearing segment at PTS 540,000 defines the cue end time of 6,000 milliseconds (00:00:06,000). The OCR engine transcribes the bitmap glyphs into clean UTF-8 text, formatted with standard sequential cue numbers.
Can You Convert SUP to SRT Using FFmpeg?
Why standard FFmpeg commands fail on Blu-ray SUP files and how our browser tool solves the problem.
# Standard FFmpeg fails because it lacks an internal OCR engine:
ffmpeg -i input.sup output.srt
# Output error: 'Subtitle encoding not supported: bitmap to text conversion requires OCR'
# Alternative desktop tool workflow (requires Java runtime & GUI):
java -jar BDSup2Sub.jar input.sup -o output.sub
# Then open Subtitle Edit to run Tesseract OCR manuallyA common point of confusion among video enthusiasts is attempting to convert SUP to SRT using FFmpeg. When you run `ffmpeg -i subtitles.sup subtitles.srt`, FFmpeg aborts with an error message indicating that it cannot copy or convert bitmap subtitle streams into text codecs. FFmpeg is designed for stream multiplexing, demuxing, and video/audio transcoding; it does not include an optical character recognition engine by default.
While desktop power users historically combined legacy Java utilities like BDSup2Sub with Subtitle Edit, that workflow demands downloading multiple heavy software packages, configuring Java runtime environments, and managing local language dictionaries.
Our web-based converter eliminates all software installation. By running Tesseract.js directly inside a sandboxed WebAssembly worker in your browser, you get instant, accurate OCR text extraction with zero setup and complete local privacy.
Common Use Cases for SUP to SRT Conversion
Discover where converting Blu-ray subtitles into SubRip format provides immediate workflow improvements.
Preventing Plex & Emby Server Transcoding
When streaming movies with PGS SUP subtitles to Apple TV, Roku, or web browsers, media servers like Plex and Jellyfin are often forced to transcode the entire video stream on-the-fly to burn in the bitmaps. Converting your SUP tracks to SRT allows instant direct play, slashing CPU load and preventing buffering.
Creating Accessible Multi-Language Translations
Subtitle translation platforms and language-learning apps cannot read raw bitmap files. Extracting clean SRT text allows translators and automated localization tools to translate dialogue into dozens of languages effortlessly.
Hardcoding & Burning Captions for Social Media
Video creators making short clips, trailers, or commentaries from Blu-ray sources need text subtitles that can be resized, stylized, and animated in CapCut, Premiere, or DaVinci Resolve without blurry raster pixelation.
Archiving & Digital Media Optimization
Stripping 50 MB PGS subtitle tracks from MKV video libraries and replacing them with 60 KB SRT files significantly cleans up file structures and ensures long-term preservation across future playback devices.
Troubleshooting Blu-ray SUP to SRT Conversion
Proven solutions for common OCR recognition issues, italicized fonts, and complex multi-line subtitle dialogue.
OCR Confuses Similar Characters ('I', 'l', '1', or 'rn' vs 'm')
Cause: Fine serif typography, heavy italics, or low-contrast anti-aliasing borders can cause adjacent glyphs to appear merged or ambiguous to optical recognition algorithms.
Solution: Our tool automatically applies high-contrast thresholding before passing images to the OCR engine. In addition, our interactive visual cue editor displays the original Blu-ray graphic beside each recognized sentence, enabling you to inspect and correct any minor character confusions in seconds.
Subtitles Lack Punctuation or Quotation Marks
Cause: Some Blu-ray releases place curved quotation marks or dashes far to the left or above the dialogue baseline, which can be cropped if window bounding boxes are tight.
Solution: Ensure the 'Preserve Multi-line Layout' setting is enabled in the converter controls. Our parser computes the full composite bounding box of all ODS objects within each Display Set to ensure no outer punctuation is clipped.
The Converter Reports 'Invalid Header Magic (0x50 0x47 missing)'
Cause: The uploaded file is not a valid Blu-ray PGS SUP file. It may be a DVD VobSub (.sub) file, an Advanced SubStation Alpha file, or a corrupted download.
Solution: Verify that your subtitle file originates from a Blu-ray source. If your file is a DVD VobSub file (which is paired with an .idx file) or a MicroDVD file, use our dedicated SUB to SRT Converter instead.
Subtitles Drift Out of Sync When Remuxed Into Video
Cause: The video stream may have been ripped at a different frame rate (e.g. 23.976 FPS vs 25.000 FPS PAL), or an introductory studio bumper was trimmed from the video without adjusting subtitle PTS offsets.
Solution: Our tool extracts PTS timestamps with millisecond fidelity directly from the Blu-ray master clock. If your video rip was trimmed or retimed, you can adjust global offset in your media player or remuxing tool with exact confidence.
Related Subtitle Converter Tools
Streamline Your Blu-ray Subtitle Workflow Today
Converting image-based Blu-ray PGS (.sup) subtitles into clean, universally supported SubRip (.srt) files no longer requires installing cumbersome desktop applications or wrestling with complex command-line scripts. With our free online SUP to SRT converter, you can harness modern WebAssembly optical character recognition to extract dialogue and timestamps accurately in seconds.
Experience instant playback on Plex, mobile devices, and smart TVs, reduce subtitle storage by over 99%, and preserve full control over your media with complete client-side privacy. Drag and drop your .sup file above to get started!