ByteScope

Codec Check

HEVC browser support test and AV1 codec check — hardware vs software decode, in this tab.

Nothing is uploaded. The scan reads this browser's decoder APIs in this tab and never sends a file.

This browser

checking

navigator.mediaCapabilities
checking
MediaSource.isTypeSupported
checking
HTMLMediaElement.canPlayType
checking

H.264 (AVC)

The web's default video codec. YouTube, Zoom, almost every MP4 from a camera that is not an iPhone.

    HEVC (H.265)

    Apple's ecosystem codec. iPhone camera rolls, 4K Blu-ray, many drones. Safari plays it; Firefox usually does not.

      VP9

      Google's codec inside WebM. YouTube's workhorse before AV1; still common on Android and Chrome OS.

        AV1

        The new bandwidth-saver on YouTube and Netflix. Royalty-free; decode cost is the question, not the license.

          Dolby Vision

          HDR with per-scene metadata. Streaming apps and some iPhone videos; needs a decoder plus a display path.

            AAC

            The MP4 audio default. Every iTunes track, most phone videos, almost every HLS stream.

              Opus

              WebRTC and WebM audio. Discord, Meet, and most in-browser calls.

                AC-3

                Dolby Digital. Broadcast, Blu-ray, and many TV recordings. Often licensed, so browsers skip it.

                  E-AC-3 / Atmos

                  Dolby Digital Plus, including Atmos JOC. Streaming apps; still `ec-3` in the codec string.

                    FLAC

                    Lossless audio. Bandcamp, some WebM, a few MP4 soundtracks.

                      MP3

                      Everywhere, still. Downloads, podcasts, and `mp4a.40.34` when it sits inside MP4.

                        Typical browser support

                        The table is a typical picture. Trust the live rows above — HEVC on Chrome depends on the OS and GPU, not the Chrome version string.

                        API / codecChromeEdgeFirefoxSafari
                        MediaCapabilities.decodingInfoChrome, Edge, Firefox, Safari. One call can still reject.
                        MediaSource.isTypeSupportedSafari MSE is real but narrower than Chromium.
                        HTMLMediaElement.canPlayTypeReturns "" / maybe / probably — not a boolean.
                        HEVC (hvc1 / hev1)Safari: yes. Firefox: generally no. Chrome/Edge: OS and GPU.
                        AV1 (av01)Chrome/Edge/Firefox: yes. Safari 17+: yes on Apple silicon.

                        This browser, right now: checking

                        About this tool

                        This page asks the browser in front of you whether it can play HEVC, AV1, VP9, H.264, Dolby Vision, AAC, Opus, AC-3, E-AC-3, FLAC and MP3. It does not upload a file. It calls navigator.mediaCapabilities.decodingInfo(), MediaSource.isTypeSupported(), and HTMLMediaElement.canPlayType() for a fixed matrix of codec strings, then prints what came back. An HEVC browser support test and an AV1 codec check are the same scan — one table, this tab.

                        Three APIs, one table

                        decodingInfo is async and can reject; each row is try/caught so one failure cannot take the table down. canPlayType is left as "" / maybe / probably — it is not flattened to a boolean. isTypeSupported is the MSE answer, which is not the same as a <video src> file.

                        Hardware vs software

                        When decodingInfo returns, three flags are shown: supported, smooth, and powerEfficient. Supported and power-efficient is labelled hardware decode. Supported but not power-efficient is labelled likely software (it uses more power). Missing or rejected decodingInfo stays unknown — this page will not guess from canPlayType alone.

                        maybe is not yes

                        canPlayType("maybe") means the browser is unwilling to promise. probably is a stronger hint, still not a frame-accurate guarantee. The empty string means no. Those three states are the API; collapsing them would hide the answer people actually get from Safari and Firefox.

                        What this browser has

                        Feature detection runs after the page mounts. Chromium, Firefox and Safari all expose canPlayType; MediaCapabilities and MSE coverage differs. About and FAQ render in every browser, including ones that cannot decode HEVC. Trust the live rows, not a version table — HEVC on Chrome is an OS and GPU question.

                        Frequently asked questions

                        Can Chrome play HEVC?

                        Sometimes. Safari generally can (Apple silicon and many iPhones). Firefox generally cannot. Chrome and Edge depend on the OS HEVC pack and the GPU, not the Chrome version string. This page is the HEVC browser support test for *this* install.

                        What does powerEfficient mean?

                        powerEfficient: true is the browser saying a dedicated decoder (hardware) is likely in use. false with supported: true is the software path — it will play, and it will use more CPU and battery. The page labels those hardware and software in plain language.

                        Why do you show maybe and probably instead of yes/no?

                        canPlayType is specified as three states: "", maybe, probably. maybe is a real answer, especially for HEVC and Dolby Vision. Flattening it to a boolean would pretend the browser was more sure than it is.

                        Is a video uploaded?

                        No. There is no sample file. The scan is MIME strings and decoder queries in this tab. Nothing is sent to a server.

                        Why test both mp4 and webm?

                        The same codec token can be allowed in one container and refused in the other. VP9 and AV1 are at home in WebM; HEVC and Dolby Vision almost only in MP4. Trying both is how you see which combination this browser actually accepts.