> Source: https://meetrix.io/blogs/embed-jitsi-meet-wordpress/
> Markdown copy of that page. Cite the URL above, not this file.

Development

# How to Embed Jitsi Meet in WordPress

[By Binuka Ranatunga](https://meetrix.io/blogs/authors/binuka-ranatunga/) • July 24, 2026 • 9 min read

Short answer: there are two ways to do this, and picking the wrong one is why most "embed Jitsi in WordPress" attempts end up as a blank white box where the meeting should be. Install a plugin (FlexMeeting or MeetingHub) and you get a working room in about five minutes, no code touched. Paste in an iframe yourself and it takes a bit longer to set up, but you're not stuck on Jitsi's free hosted domain with its call-length cap and its branding sitting on top of your meeting.

Which one you actually want depends on one question: are you pointing at the free hosted Jitsi domain, or at a self-hosted instance running under your own domain? Get that answer first, everything below follows from it.

## Which Domain Are You Embedding?

**meet.jit.si (or another 8x8-hosted domain)** is free, requires no account, and is the default most plugins point at out of the box. It's genuinely fine for the occasional call. It's also shared infrastructure, so quality dips during peak hours, and 8x8's own branding shows up in the room.

**Self-hosted Jitsi** is a server you run under your own domain. No cap on call length, no Jitsi branding, and you can lock the room down with JWT auth if you don't want it open to anyone with the link. It's also one more server you're responsible for patching.

If you're not sure which camp you're in: if you've never set up a server for this and just want a meeting room on your site today, you're in the free-domain camp. Use Method 1.

## Method 1: A Plugin, No Code

Two plugins actively cover this as of today. **[FlexMeeting](https://wordpress.org/plugins/webinar-and-video-conference-with-jitsi-meet/)** is Jitsi-only, has 1,000+ active installs and a 4.5-star rating, and its free tier already sidesteps the 2-hour cap the plugin's own listing attributes to 8x8-hosted domains, it defaults to a different hosted domain instead. **[MeetingHub](https://wordpress.org/plugins/meetinghub/)** is the broader pick if you also run Zoom or Google Meet links from the same site, it wraps all of them (plus Webex and Microsoft Teams) into one dashboard, with 400+ installs and a 4.8-star rating as of its last update in July.

For a Jitsi-only embed, FlexMeeting is the more direct tool. Here's the setup:

1.  In wp-admin, go to **Plugins → Add New Plugin** and search "FlexMeeting" (its full listing name is "Webinar & Meeting Plugin for Jitsi Meet"). Install and activate it.
2.  Open the page or post where the meeting should live, add a block, and search "Jitsi Meet" under the Embeds category, or use its Gutenberg block directly if it appears in the inserter.
3.  Set a room name and the block's width and height. A room name is all that's required, FlexMeeting generates the meeting itself.
4.  Publish, then open the page in a private/incognito window to confirm it loads and the camera prompt appears, logged-in admin sessions can hide permission issues other visitors will hit.

MeetingHub's setup is nearly identical, install, add its block or shortcode, pick Jitsi as the platform for that particular room. If you're only ever going to embed Jitsi, though, a single-purpose plugin means fewer settings screens to get lost in.

On WordPress.com

If your site is hosted on WordPress.com rather than self-hosted WordPress.org, plugin installs (FlexMeeting included) need the Business plan or above. Personal and Premium plans block third-party plugins entirely, and the iframe method below won't work there either, since those plans also block the Custom HTML block.

## Method 2: A Plain Iframe, No Plugin

If you're self-hosting Jitsi already, this is less setup than a plugin's options page. Open the page in the block editor, add a **Custom HTML** block (not a Paragraph block, that distinction matters, more on why below), and drop this in:

```html
<iframe
  src="https://meet.yourdomain.com/YourRoomName"
  allow="camera; microphone; fullscreen; display-capture"
  style="height: 600px; width: 100%; border: 0;"
></iframe>
```

Swap in your own domain and a room name. The `allow` attribute is the part people forget, without it the browser never even asks for camera and mic permission inside the frame, the call just sits there silent.

Why it has to be the Custom HTML block

WordPress runs saved post content through [`wp_kses`](https://developer.wordpress.org/reference/functions/wp_kses/) for any account that lacks the [`unfiltered_html`](https://wordpress.org/documentation/article/roles-and-capabilities/) capability, which strips iframe and script tags. Administrators on a single-site install have that capability by default; on multisite, only Super Admins do. Paste this into a Paragraph block, or save it as an Editor-level account, and the tag quietly vanishes on save, no error, no warning, just gone.

### A Dynamic Room With the JavaScript API

The plain iframe above is fine for one fixed room. If you want the room name generated per page, per user, or per booking, that needs Jitsi's `JitsiMeetExternalAPI` object instead of a static iframe, same Custom HTML block, more code. I've written up that setup in detail, including JWT authentication for locking rooms down, in the

[

### Jitsi Meet IFrame API: Embedding, Events and Commands

How to embed Jitsi Meet with the IFrame API: the constructor options that matter, the events worth listening for, the commands you can send into a call, and the cleanup step most integrations forget.

By Hiruna Kumara • Meetrix.io

](https://meetrix.io/blogs/jitsi-api-iframe/)

.

## What Actually Breaks

The failure modes I'd check first, in the order I'd check them:

-   **Blank box, nothing loads at all.** Usually a caching or minification plugin (Autoptimize, WP Rocket's JS minify) mangling the script or iframe tag on output. Exclude the specific page from JS minification and reload.
-   **Box loads, camera/mic never prompts.** Check your own WordPress site is served over HTTPS. Browsers require a secure context to grant camera and mic permissions, and if the parent page is plain HTTP, the permission request inside the iframe gets silently blocked, even though the Jitsi domain itself is HTTPS.
-   **Works for you, breaks for other admins or editors.** The `unfiltered_html` issue above, they saved the page and the tag got stripped without them noticing.
-   **Missing entirely on the mobile app view or AMP version of the page.** AMP strips custom iframes and scripts by design. If you're running an AMP plugin, this embed simply won't appear on the AMP-served version, only the standard page.

None of these are Jitsi problems, they're all WordPress or hosting configuration catching the embed before it renders. Worth ruling out in that order before assuming the Jitsi side is broken.

## Outgrowing the Free Domain

The free hosted domain covers casual use fine. Where it stops working is anything client-facing or recurring at scale: the branding is 8x8's, not yours, the call-length cap shows up mid-meeting, and quality varies with how busy their shared infrastructure is that day. Moving to a self-hosted domain fixes all three, and once you're there, the iframe method above is the one to use, not a plugin's paid tier just to unlock a custom domain field.

If you want your own branding on the call itself, not just your own domain in the URL, that's a separate step covered in the

[

### How to Customize the Jitsi Meet Front End: A-Z Guide

Step-by-step guide to customizing the Jitsi Meet front end: replace the logo and favicon, rename the app, edit the welcome page, adjust colors, then rebuild and deploy your branded build.

By Kelum Sampath • Meetrix.io

](https://meetrix.io/blogs/customize-jitsi-meet-frontend/)

.

## Frequently Asked Questions

Is there an official Jitsi Meet WordPress plugin?

No. Jitsi (owned by 8x8) doesn't maintain one itself. The two actively maintained third-party options are FlexMeeting and MeetingHub, both free on the WordPress.org plugin directory.

Can I embed Jitsi Meet in WordPress for free?

Yes, two ways: install FlexMeeting or MeetingHub's free tier, or skip plugins entirely and paste a plain iframe pointed at meet.jit.si into a Custom HTML block. Neither costs anything.

Does the free Jitsi WordPress plugin have a time limit?

FlexMeeting's own listing calls out a 2-hour cap on 8x8-hosted domains, and says its free tier defaults to a different hosted domain to avoid it. A self-hosted domain has no such cap either way.

Do I need to know how to code to add Jitsi Meet to WordPress?

Not for the plugin route, it's block-and-shortcode based. The iframe route needs zero coding too, just one line pasted into a Custom HTML block, but it does mean typing HTML instead of clicking settings.

Why did my Jitsi iframe disappear after I saved the page?

You're probably logged in as an Editor or Author, not an Administrator. WordPress strips iframe and script tags from saved content for any account missing the unfiltered\_html capability, even inside a Custom HTML block.

Can I point a WordPress plugin at my own self-hosted Jitsi server?

With FlexMeeting, only on the Pro or Ultimate tier, custom domains are locked out of the free version. If you're already self-hosting, it's simpler to skip the plugin and use the iframe method, which works with any domain for free.

Does embedding Jitsi Meet work on WordPress.com?

Only on the Business plan or above. Personal and Premium WordPress.com plans block both third-party plugin installs and the Custom HTML block, so neither method here will work until you upgrade.

## Related Articles

[

### Jitsi Meet IFrame API: Embedding, Events and Commands

How to embed Jitsi Meet with the IFrame API: the constructor options that matter, the events worth listening for, the commands you can send into a call, and the cleanup step most integrations forget.

By Hiruna Kumara • Meetrix.io

](https://meetrix.io/blogs/jitsi-api-iframe/)

[

### What Is Jitsi? Video Conferencing Made for Everyone

What is Jitsi Meet? An open-source video conferencing platform explained: Jitsi Meet features, how it works, whether it's safe, and why it fits businesses, education, and healthcare without accounts or time limits.

By Avindi Nisansala • Meetrix.io

](https://meetrix.io/blogs/what-is-jitsi-video/)

[

### Setup Jitsi Meet on AWS-Developer Guide

A developer guide to set up Jitsi Meet on AWS for a scalable and secure video conferencing platform.

By Dinesh Chathuranga • Meetrix.io

](https://meetrix.io/blogs/setup-jitsi-meet-aws-dev-guide/)

[

### Setup Jitsi Meet on GCP - Developer Guide

Deploy and self-host Jitsi Meet on Google Cloud Platform with our step-by-step developer guide. Launch from the GCP Marketplace, point your domain, secure it with SSL, and manage the server for reliable, high-performance video conferencing.

By Hiruna Kumara • Meetrix.io

](https://meetrix.io/blogs/setup-jitsi-meet-on-gcp-developer-guide/)

[

### How to Customize the Jitsi Meet Front End: A-Z Guide

Step-by-step guide to customizing the Jitsi Meet front end: replace the logo and favicon, rename the app, edit the welcome page, adjust colors, then rebuild and deploy your branded build.

By Kelum Sampath • Meetrix.io

](https://meetrix.io/blogs/customize-jitsi-meet-frontend/)

## Get a Self-Hosted Domain Without Running the Server

Meetrix's pre-configured Jitsi Meet AMI runs under your own domain from the moment it launches, no plugin's Pro tier needed to get there. Point the iframe method above at it and the branding, the call-length cap, and the shared-infrastructure slowdowns are gone.

[Launch Jitsi Meet 50-User AMI (with Recording) on AWS Marketplace](https://aws.amazon.com/marketplace/pp/prodview-sc2ngkllox3gs)

Meetrix Store

Jitsi Meet

Self-hosted video calls for 50 to 500 users

[Deploy it](https://meetrix.io/store/jitsi-meet/)

Meetrix Store New

Deploy what this guide covers, pre-configured.

-    [Jitsi Meet Self-hosted video calls for 50 to 500 users](https://meetrix.io/store/jitsi-meet/)
-    [Coturn TURN/STUN for WebRTC, no per-minute relay fees](https://meetrix.io/store/coturn/)
-    [Mattermost Team chat, a self-hosted Slack alternative](https://meetrix.io/store/mattermost/)
-    [RustDesk Remote desktop AMI, a TeamViewer alternative](https://meetrix.io/store/rustdesk/)
-    [Plane Issues, cycles and roadmaps, a Jira alternative](https://meetrix.io/store/plane/)
-    [Mailcow Business email on your own domain](https://meetrix.io/store/mailcow/)

[Browse all products](https://meetrix.io/store/)
