WordPress's built-in video block and popular page builders (Elementor, Divi, Gutenberg) all support self-hosted MP4 video. The challenge is file size — large videos slow page load speed, hurt Core Web Vitals scores, and can exceed your server's max upload limit (typically 64–256 MB set in php.ini). Encoding to H.264 MP4 at 1080p produces a file that is compact enough to upload directly to WordPress while playing smoothly in every browser.
Try a WordPress-ready H264 MP4 encode at 720p. Create a free account for up to 8K/120fps and production workflows.
H.264 MP4 is the universally supported video format for WordPress. It plays natively in Chrome, Firefox, Safari, and Edge without plugins. AV1 MP4 works in Chrome and Firefox but not in older Safari — use H.264 for the broadest compatibility.
The default upload limit is set by PHP configuration (upload_max_filesize and post_max_size), typically 64 MB on shared hosting. Compress your video to H.264 at 1080p to stay under this limit, or increase the limit via your hosting control panel.
For background videos, hero sections, and short product clips (under 60 seconds), self-hosting a compressed H.264 MP4 is fine. For longer content or when you want view counts, embed from YouTube or Vimeo — this also offloads bandwidth from your server.
Browsers only allow autoplay on muted videos. In the WordPress video block, enable Autoplay and Muted. Encode with Strip Audio if it is a background or ambient video — this also reduces file size by 10–15%.
Compress video to H.264 at 1080p (or 720p for non-hero sections). Add the preload=none attribute to non-autoplay videos so the browser does not fetch video data on page load. Consider using a lazy-loading plugin for off-screen videos.
The public encoder is useful for quick previews. For larger files, up to 8K/120fps output, bulk jobs, API access, storage outputs, and webhooks, create an account and run production workflows with predictable NEU estimates.