Initializing... drag & drop files here
Supports: GIF
This tool turns a GIF — animated or static — into a TS file, the MPEG-2 Transport Stream container (ISO/IEC 13818-1) built for broadcast and streaming pipelines. By default the video inside is encoded with H.264, the same codec HLS transport-stream segments carry, so the output drops straight into digital-TV, IPTV, set-top-box, and HLS tooling that expects a .ts. For general sharing — web, phones, messaging, social — a transport stream is the wrong target; pick GIF to MP4 instead. Convert to TS only when something downstream specifically ingests transport streams.
| Property | GIF (source) | TS (Transport Stream) | MP4 |
|---|---|---|---|
| Standard | GIF89a (1987) | ISO/IEC 13818-1 / ITU-T H.222.0 | ISO/IEC 14496-14 |
| Container role | Image with frames | Broadcast/streaming transport | General-purpose storage |
| Default video codec here | n/a | H.264 | H.264 |
| Packetized | No | Yes (188-byte packets) | No |
| Joinable mid-stream | No | Yes (self-contained packets) | No (needs the header) |
| Colors per frame | 256 (palettised) | ~16.7M (8-bit YUV) | ~16.7M (8-bit YUV) |
| Audio from a GIF source | None (GIF has no audio) | None — output is silent | None — output is silent |
| Plays in web browsers | Yes, in <img> |
No native browser support | Yes, via <video> |
| Best at | Tiny reactions, pixel art | HLS, IPTV, broadcast chains | Web, social, messaging |
A transport stream is designed to be transmitted over lossy channels — terrestrial and satellite broadcast — so it is packetized into fixed 188-byte chunks and can carry several programs at once, and a decoder can latch onto the stream partway through. That resilience is its whole reason to exist; it is not what you want for a clip headed to a browser, where MP4 is smaller to deliver and plays inline. The TS here is silent and capped at GIF's 256-color source, but inside a broadcast or HLS workflow it slots in where MP4 cannot.
It keeps its motion. We read every frame of the animated GIF in order and encode them as a true video inside the transport stream, so a looping GIF becomes a playable clip of the same length — not a single held frame. The per-frame "Image Duration" and "Merge" controls you may have seen on other image-to-video tools are hidden for GIF input precisely because the GIF already carries its own frame timing, and we use that timing directly.
No. GIF has no audio stream at all, so there is nothing to carry over — the resulting TS is silent by nature, not muted. This is expected for any GIF-to-video conversion. If you need narration or music, add an audio track afterwards in a video editor, or mux one in during your transport-stream workflow.
Only when the receiving end specifically wants a transport stream. TS is the container for broadcast and streaming infrastructure — digital television, IPTV set-top boxes, live broadcast chains, and HLS segment tooling. HTTP Live Streaming (standardized in RFC 8216) originally shipped MPEG-2 Transport Stream .ts segments carrying H.264 or H.265, which is exactly what this tool outputs. If your clip is bound for the web, a phone, or social media, that resilience buys you nothing and MP4 is the better pick — use GIF to MP4.
By default the transport stream wraps H.264 (AVC), the codec most TS-based pipelines and HLS players expect. If a target needs something else, open Advanced Options and switch the Video Codec — H.265 (HEVC) for newer HLS and OTT chains, or the older MPEG-2 / MPEG-1 codecs for legacy broadcast and capture gear. Pick a non-default codec only when a device or pipeline explicitly requires it; H.264 is the safest choice for broad TS compatibility.
No — the output can match the source but never exceed it. The GIF you upload is already limited to 256 colors per frame and whatever resolution and frame rate it was saved at. H.264 inside the TS can hold far more color than that, so it won't add banding, but it also can't invent detail the GIF never captured. Upscaling the resolution just enlarges the existing pixels; it does not recover lost color or sharpness.
Usually not natively. Browsers do not play a raw .ts in a <video> tag, and most phones need a third-party player like VLC to open one. A transport stream's strength is broadcast and streaming-server infrastructure, not casual playback. In our testing, a .ts exported here plays cleanly in VLC and MPV and feeds HLS segmenters without complaint, but for anything browser- or phone-bound you want GIF to MP4 instead. If you already have a .ts and need a portable file, TS to MP4 re-wraps it into a web-friendly MP4.