Main features
- Audio, webcam video with custom backgrounds and screen sharing
- Slide upload (PowerPoint, Word, PDF, images) with a multi-user whiteboard
- Public and private chat with pinned messages
- Polls, raise hand, emoji reactions and a timer
- Shared notes and breakout rooms
- Recording with playback in the browser
- Learning Analytics Dashboard for moderators
- Guest management and moderator permissions
- Telephone dial-in through FreeSWITCH
- Integrations with Moodle, Canvas, Sakai, D2L, Schoology and Jenzabar, plus LTI
- API for embedding in other web applications
What BigBlueButton does
BigBlueButton is a virtual classroom rather than a general meeting app. A presenter uploads slides (PowerPoint, Word, PDF or images), annotates them on a whiteboard that participants can also draw on, and runs the session with polls, a timer, raise hand, shared notes and breakout rooms. Audio, webcams, screen sharing, and public and private chat cover the usual meeting basics. Moderators get a Learning Analytics Dashboard that shows who took part and how, including inside breakout rooms.
Sessions can be recorded and played back in the browser, which matters for courses where students review a lecture later. Participants can also dial in by phone through FreeSWITCH. The project began at Carleton University in Ottawa in 2007, and it is built into several learning management systems: Moodle, Canvas, Sakai, D2L, Schoology and Jenzabar, with LTI for others.
Rooms, accounts and integrations
BigBlueButton itself has no user directory or room list. You either put the Greenlight front end in front of it, which handles accounts, rooms and OpenID Connect login, or you start meetings from an LMS or your own application through the BigBlueButton API. Greenlight is a separate Rails and React project under the same LGPL-3.0 license. The documentation does not describe end-to-end encryption, so media is protected in transit but processed on your server.
Self-hosting BigBlueButton
BigBlueButton expects a server of its own. For version 4.0 the documented minimum is a dedicated machine running Ubuntu 24.04 64-bit with Docker, 16 GB of RAM with swap, 8 CPU cores with high single-thread performance, 500 GB of free disk for recordings (50 GB if recording is off) and 250 Mbit/s of symmetrical bandwidth. It needs a hostname for TLS, both IPv4 and IPv6, TCP ports 80 and 443 and UDP ports 16384 to 32768. A TURN server is configured separately for users behind restrictive networks.
The bbb-install.sh script installs the whole stack and can add Greenlight and LTI support. Under the hood it combines a Scala and Java backend, a React and TypeScript HTML5 client, FreeSWITCH for audio, PostgreSQL with Hasura GraphQL, Redis, Nginx, HAProxy and coturn. Version 4.0 moved to Ubuntu 24.04 and Java 21 and made LiveKit the default media server, with mediasoup still available as an option.
Hosted version
bigbluebutton.com presents itself as official hosting by the founders of BigBlueButton. Many LMS vendors and hosting companies also offer BigBlueButton as part of their own services.
Limitations
The hardware requirements are high compared with other meeting servers, and the installer is tied to a specific Ubuntu release, so upgrades follow the project’s schedule. The interface is shaped around a presenter and an audience, which feels heavy for quick one-to-one calls. Without Greenlight or an LMS there is no way for users to create rooms. End-to-end encryption is not part of the documented feature set.
Who it suits
BigBlueButton suits schools, universities and training providers that teach live online classes and want slides, whiteboard, polls, breakout rooms and recordings in one place, especially if they already use Moodle or Canvas. For everyday team calls on lighter hardware, Jitsi Meet or Galene are simpler to run.
License details
LGPL-3.0. Greenlight, the usual front end, is a separate LGPL-3.0 repository. The BigBlueButton name and logo are trademarks of BigBlueButton Inc.
Technical details
Self-hosting needs
- LiveKit
- FreeSWITCH
- PostgreSQL
- Redis
- Docker
Built with
- Scala
- Java
- TypeScript
- React
GitHub topics
- bigbluebutton
- collaboration
- conferencing
- video
- video-conferencing
- webrtc
Reviewed by the OpenSourcePicks editors from the project's repository and documentation. Something out of date? Tell us.