Best Video Player Apps for Android: Which One Actually Plays Everything

By The ApkcortJuly 12, 202615 min read
Best Video Player Apps for Android: Which One Actually Plays Everything — The Apkcort

If you want the one-line answer, here it is: the best video player apps for android for almost everyone is VLC, because it plays practically every file you will ever hand it, it has no ads, it costs nothing, and it does not want anything from you. If you want a slicker interface with gesture controls, MX Player is the popular alternative. If you are a stickler for correct subtitle rendering and colour, mpv-android is the enthusiast’s choice. Everything else is a niche. This is the Android video player guide of The Apkcort.

Why the Built-In Player Is Not Enough

Most Android phones ship with something that will play a video: Google Photos handles what your camera recorded, the Files app will open an MP4, and Samsung and other manufacturers include a basic media player. For a clip you filmed yourself, these are perfectly fine.

They fall over the moment you hand them a file from anywhere else. A film ripped from a Blu-ray in an MKV container with a DTS audio track and an ASS subtitle file. A fan-subtitled episode with styled karaoke text. An old AVI from a hard drive you have been carrying since 2009. A 10-bit HEVC encode. A file with five audio tracks where you want the second one. The built-in player will show you a black screen, or play the video with no sound, or play the sound with no video, or simply refuse.

The reason is not that Android cannot decode these formats. It is that the built-in players lean almost entirely on the hardware decoder in the phone’s chipset, and support only the container formats and codecs that the hardware and the platform’s media framework happen to handle. A proper video player app carries its own software decoders as a fallback, so when the hardware cannot cope, it decodes on the CPU instead. That single architectural difference is what separates “plays everything” from “plays what the phone was designed for”.

The Thing That Actually Determines Whether a File Plays

Before comparing apps, it helps to understand why files fail, because it turns “this app is broken” into “this is a codec problem I can fix in a menu”.

Container versus codec

An MKV, an MP4 or an AVI is a container — a box. What is inside the box is a video stream (encoded with a codec like H.264, HEVC, VP9 or AV1), one or more audio streams (AAC, AC3, E-AC3, DTS, Opus, FLAC), and possibly subtitles. A player can support the container but not the codec inside it, which is why “MKV won’t play” is almost never really about MKV.

Hardware decoding versus software decoding

Your phone’s chip has a dedicated video decoder block. It is fast, it barely touches the battery, and it can handle 4K without breaking a sweat — but only for the formats it was built for. Software decoding runs the same job on the CPU. It works with almost anything, but it is slower, hotter, and drains the battery. On a modern flagship, software-decoding a 1080p H.264 file is trivial. Software-decoding a 4K HEVC 10-bit file may stutter badly on a mid-range phone.

This is why every serious player has a hardware/software decoding toggle, and why “try switching the decoder” is the first fix for a video that plays with no picture, or plays with a green or pink picture, or judders.

Audio codecs are the usual culprit

When a film plays with video but silence, the audio codec is almost always the reason — typically DTS or one of the Dolby variants used on disc rips. Some players decode these in software; some do not, for licensing reasons. If you get picture with no sound, the fix is usually a player with its own audio decoders, or selecting a different audio track from the file.

Subtitles are their own can of worms

SRT is plain text and everything handles it. ASS/SSA carries styling, positioning, fonts and animation — used heavily in anime fansubs — and players vary enormously in how faithfully they render it. PGS and VobSub are image-based subtitles ripped from Blu-ray and DVD; they are pictures, not text, and a player that cannot render bitmap subtitles will simply show nothing. If your subtitles are missing, check what format they are before blaming the app.

The Comparison That Actually Matters

Player Format coverage Ads / cost Best at Weak spot
VLC for Android Extremely broad — its own decoders, bitmap and text subtitles, obscure containers Free, open source, no ads, no tracking Just working. The default recommendation. Interface is functional rather than elegant; gestures are less polished
MX Player Very broad, though some audio codecs have historically been complicated by licensing Free with ads and a bundled streaming hub; paid tier removes ads Gesture controls, playback speed, subtitle handling, general polish The free version has become cluttered with streaming content promotion
mpv-android Excellent, based on the mpv engine used by enthusiasts on desktop Free, open source, no ads Correct ASS subtitle rendering, colour accuracy, fine-grained control Spartan interface; assumes you are willing to read a config file
Just (Video) Player Whatever the platform’s media framework supports, plus some extras Free, open source, no ads Minimalism. It opens files and plays them. No library, no clutter. No software decoding fallback for exotic codecs, no built-in browser
Kodi Broad, with a full media-centre engine underneath Free, open source, no ads A TV-style library with artwork, metadata and remote sources Wildly over-engineered as a phone video player; a media centre, not a player
Plex / Jellyfin clients Depends on the server transcoding for you Plex free tier plus paid; Jellyfin free and open source Streaming your own library from a home server, on any device Requires a server. Pointless for playing a file already on the phone.

VLC: The Boring, Correct Answer

VLC has been the default recommendation on the desktop for two decades for exactly one reason: you hand it a file, and it plays. The Android version inherits that. It carries its own decoders, so it does not depend on your chipset supporting the format. It handles text subtitles and bitmap subtitles. It handles multiple audio tracks. It opens network shares. It plays audio-only files perfectly well. It has picture-in-picture, playback speed control, an equaliser, and a sleep timer.

What it is not is beautiful. The interface has improved a great deal over the years but it still feels like a tool rather than a product, and the gesture controls — swipe for volume, swipe for brightness, swipe to seek — are less refined than MX Player’s. The library view is competent rather than delightful.

None of that matters much. VLC is free, has no advertising, is not trying to upsell you a subscription, does not bundle a “content hub”, and is developed by a non-profit. In a category where a great many apps exist mainly as a delivery vehicle for adverts and data collection, that is worth more than a nicer seek bar. If you only install one video player, install this one.

The two settings to change immediately

First, find the hardware acceleration setting. VLC defaults to automatic, which is usually right, but if a specific file plays with a corrupted picture or no picture at all, force software decoding for that file and it will very often come good. Second, if you use subtitles, go into the subtitle settings and set the text encoding and size to something you can actually read; the defaults assume a much larger screen than a phone.

MX Player: Polished, Popular, and Now Rather Cluttered

MX Player earned its reputation honestly. Its gesture controls are genuinely the best in the category — the pinch-to-zoom, the swipe-to-seek with a preview, the two-finger scaling — and its subtitle handling has always been strong, including the ability to sync subtitles forwards and backwards on the fly with a gesture, which is invaluable when your SRT is half a second out.

Playback speed control with pitch correction is excellent. It remembers where you were in every file. The interface is quick and legible.

The honest caveat is that the free version has drifted a long way from being a simple player. It now leads with a streaming content hub — a library of films and shows the company wants you to watch — and it carries advertising. If you just want to open a file, you find yourself navigating past a shop front. The paid tier removes the advertising, and if you genuinely prefer the interface, that is a reasonable purchase.

There is also a long-running wrinkle around codec licensing. Certain audio formats used on disc rips have, at various points, required extra steps or been unavailable in the standard build for licensing reasons. If you find yourself with video but no sound in MX Player on a particular file, that is usually the reason, and the workaround is to open the same file in VLC, which has its own decoders. This is a good argument for keeping both installed.

mpv-android: For People Who Care About Getting It Right

If you are the kind of person who has opinions about chroma upscaling, or who has ever been genuinely irritated by a player mangling the typesetting on a fansub, mpv-android is for you. It is a wrapper around the mpv engine, which is the reference-grade player among enthusiasts on desktop, and it inherits mpv’s priorities: correctness first, interface second.

What that buys you in practice: ASS and SSA subtitles rendered faithfully, with the fonts, positioning and styling the subtitler intended, rather than approximated. Precise control over decoding and scaling. Sensible handling of unusual frame rates. Colour handling that does not do anything creative behind your back.

What it costs you: an interface that is, to put it politely, minimal. There is no glossy library browser. Configuration is done through an mpv config file, in the mpv way, and the app assumes you either know what that means or are prepared to look it up. For a mainstream user this is a bad trade. For an enthusiast it is the whole point.

Just Player, and the Case for Doing Less

There is a whole category of deliberately minimal open-source players — Just (Video) Player being the best known — that exist to do one thing: be the app that opens when you tap a video file, play it correctly, and get out of the way. No library scanning. No permissions beyond the file you opened. No network features. No ads. No account.

These are built on Android’s own media framework, which means their format support is essentially whatever the platform and your chipset support, with a few extras. That is broader than people assume — modern Android handles H.264, HEVC, VP9 and AV1 natively on most current hardware — but it is not the everything-and-the-kitchen-sink coverage of VLC. Hand it a twenty-year-old AVI with an odd codec and it may decline.

The appeal is philosophical, and it is a legitimate one. A video player does not need to be a platform. If the vast majority of what you watch is ordinary MP4 and MKV files with standard codecs, a small, quiet, ad-free app that does nothing else is genuinely a better daily experience than a large one that keeps trying to sell you something.

Kodi, Plex and Jellyfin Are Solving a Different Problem

These come up constantly in “best video player” lists and they do not really belong there, so it is worth being clear about what they are for.

Kodi is a media centre. Its purpose is to take a large, organised library of files, fetch artwork and metadata, and present it as a browsable, TV-friendly interface, ideally on a big screen with a remote. It contains a very capable player, but using Kodi to watch one file on your phone is like using a warehouse management system to find your keys.

Plex and Jellyfin are client-server systems. You run the server on a machine at home with your media on it; the phone app streams from it, and the server transcodes on the fly if the phone cannot handle the format. This is a superb solution to a specific problem — “I have a big library at home and I want it on my phone anywhere” — and it is completely irrelevant if the file is already sitting in your Downloads folder. Jellyfin is the free, open-source option; Plex is more polished with a paid tier and, in recent years, a lot of promotion for its own streaming content.

Pick these when you have a library and a server. Do not pick them as a general-purpose player.

What To Do When a File Will Not Play: A Practical Sequence

Work through these in order. It resolves the great majority of playback problems.

Video plays, no sound. Almost always an unsupported audio codec — usually DTS or a Dolby variant. Try the file in VLC, which carries its own audio decoders. If VLC plays it, the file is fine and your other player is the problem. If there are multiple audio tracks, try selecting a different one.

Sound plays, no picture — or a green, pink or blocky picture. A hardware decoder problem. Switch the player to software decoding for that file. If it then plays but stutters, your CPU is struggling with the format, and the honest answer may be that the file is too demanding for the phone.

Stuttering on 4K or high-bitrate files. Check that you are on hardware decoding, not software. If you are, and it still stutters, the file may be at a frame rate or bitrate your device genuinely cannot sustain, or it may be streaming from a slow network share rather than local storage.

Subtitles do not appear. Check the format. If they are PGS or VobSub (image-based, common on Blu-ray rips), your player needs bitmap subtitle support — VLC has it, some minimal players do not. If they are an external file, make sure it has exactly the same filename as the video, with the appropriate extension, in the same folder.

Subtitles are gibberish characters. A text encoding problem. Set the subtitle encoding manually in the player’s settings — UTF-8 is the usual right answer for modern files, but older subtitle files for non-English languages often use regional encodings.

Subtitles are out of sync. Every serious player has a subtitle delay adjustment. Nudge it until the lines land with the dialogue.

The file will not open at all. Check that it actually downloaded completely, and check the file size. A truncated download is a remarkably common cause of “no player can open this”.

The Apps To Avoid

The “video player” category on any app store is full of apps that exist for reasons other than playing video. The pattern is easy to recognise once you know it. An app with a very generic name — “HD Video Player”, “All Format Video Player”, “MAX Player” — with a screenshot of a film it has no rights to, a full-screen advert every time you press play, and a permission list including your contacts and your location. These are ad-delivery vehicles and, sometimes, data-collection vehicles. They add nothing over VLC.

Be particularly wary of video players that ask for permissions with no plausible connection to video: contacts, SMS, call logs, precise location. A player needs access to the media you point it at and, if it streams from a network share, network access. Nothing else. If you want a grounding in what those requests actually mean, our guide to Android app permissions is a good place to start.

And a specific warning about the “premium unlocked” and “ad-free mod” versions of popular players that circulate on the web. Installing a repackaged, resigned build of a video player from an unknown party gives that party code execution on your phone in exchange for saving you the cost of an ad-free tier that is often a few pounds. It is a bad trade, and we explain exactly why in the risks of modded APKs. If you do sideload a player — VLC’s own APK from its official site, for instance — do it properly, as described in how to install an APK safely.

Quick Reference: Choosing an Android Video Player

  • Do install VLC first. It is free, ad-free, carries its own decoders, and will play the files that defeat everything else.
  • Do switch the decoder from hardware to software when a video plays with no picture or a corrupted picture — it is the single most effective fix in the category.
  • Don’t install a video player that asks for contacts, SMS or precise location. There is no legitimate reason, and the app’s real business is not playing video.
  • Don’t use Kodi, Plex or Jellyfin as a general file player — they are media-centre and server systems solving a different problem entirely.
  • Do keep a second player installed. When a file plays with no sound in one app, it very often plays perfectly in another with different audio decoders.

Frequently Asked Questions

Which Android video player really plays everything?

VLC comes closest, because it ships its own software decoders rather than relying purely on your phone’s hardware. That means it can handle obscure containers, unusual codecs, bitmap subtitles from disc rips, and files old enough to have been made before your phone existed. Nothing plays literally everything, but VLC gets closer than anything else and asks nothing in return.

Why does my video have picture but no sound?

Nine times out of ten, the audio track uses a codec your player cannot decode — typically DTS or one of the Dolby formats found on disc rips. Try the same file in VLC, which carries its own audio decoders. If the file has several audio tracks, also try switching to a different one; some releases include a compatible stereo track alongside the surround one.

Is MX Player still worth using?

Its gesture controls and subtitle syncing remain the best in the category, so if you watch a lot of subtitled content and value the interface, yes. The caveat is that the free version has become cluttered with advertising and a streaming content hub, and certain audio codecs have been complicated by licensing. Keeping both MX Player and VLC installed sidesteps most of the trade-offs.

Should I pay for a video player app?

Only to remove advertising from a player you have decided you genuinely prefer. There is no paid player that plays formats VLC cannot, and no feature worth a subscription. If you find yourself being asked for a recurring payment to play local video files, close the app and install VLC.

Does a video player app drain my battery?

Playing video drains battery regardless of the app, but software decoding drains it considerably faster than hardware decoding because the CPU is doing work the dedicated decoder block was designed for. If a player is set to force software decoding on everything, it will run hotter and flatten the battery sooner. Leave decoding on automatic and only force software mode for files that need it.

Final Thoughts

The video player category is one of the few areas of Android where the honest recommendation is also the free one, and has been for years. VLC plays your files, does not advertise at you, does not want your contacts, and is maintained by people with no interest in monetising your attention. MX Player is a genuinely nicer piece of interface design and worth its paid tier if you live in it, but the free version’s drift towards being a storefront is a fair reason to hesitate. mpv-android is superb if you care about the details and prepared to configure things. Everything else in the category is either solving a different problem — Kodi, Plex, Jellyfin — or is an advertising business wearing a play button as a disguise. Install VLC, keep a second player around for the awkward files, learn the hardware/software decoder toggle, and you will not think about this again.

Explore more honest Android guides, APK explainers and app reviews across The Apkcort.

Scroll to Top