A free and open source presentation software package for Churches, providing display of Bible verses, songs, notifications, and custom slides to a secondary displays, typically a projector, monitor or television.
- Windows 10 x64 22H2 or higher (most testing occurs on Windows 11)
- Ubuntu 22.04 x64 or higher
- Mac OS 10.15 to 27 (when Rosetta support is ended)
- Plenty of RAM (4 or more)
- A decent/recent multicore CPU
- At least 2 video outputs
- Free, no cost, no ads, nothing.
- Multiple screen support (limited only by the number of physically connected displays)
- Display Bible verses
- Display song lyrics
- Display custom slides
- Fully customizable templates for displaying Bible verses, song lyrics, and notifications
- Support for huge number of picture, video, audio formats
- Support for transition animations between slides, Bible verses, song lyrics, etc.
- Support for creating and editing Bibles, songs, and slides
- Support for displaying two languages side-by-side when presenting Bible verses and song lyrics
- Support for displaying notifications/alerts
- Support for "workspaces" where you can split your assets between different services
- Support for export/import of content (build at home, export, import at church)
- Support for adding slides to a service queue (no auto-play yet)
- Support for bulk editing Bible verses/song lyrics
- And more!
Workspace Selection Workspaces allow you to collect all your assests (Bibles, song lyrics, videos, pictures, etc.) in a single location. You could create one workspace for Bible study nights and separate workspace for worship services or a third workspace for youth services or special events.
Multiple Outputs Praisenter allows you to send content to each display independently. The number of displays is dependent on the number of video outputs your system supports.
Sample Output Display Bible verses, song lyrics, pictures, videos, custom slides, and notifications.
Two-Language Display Present side-by-side two languages (or two versions) when presenting Bible verses or song lyrics.
Editing With Praisenter you can create Bibles, song lyrics, and slides that include pictures, videos, and audio. Slides can have backgrounds, static text, dynamic text, the current date/time, count downs, pictures, animations, and more.
Export/Import Since Praisenter is free, you can download it anywhere, and build content. After building that content you can export it and import it on another computer. This is a great way to prepare content ahead of time.
Relevance Searching Other features include Bible searching, edit safety, notification overlays, slide queuing, text scaling, and more.
Media Support Praisenter can import hundreds of different media file formats. Upon importing, Praisenter will convert them to an optimized form. You can change (or turn off) this feature to fit your workflow.
Bulk Editing Bibles and songs lyrics support bulk editing for easy copy/paste from other sources or fast transcription.
Install WiX Toolset 6.x: https://github.com/wixtoolset/wix/releases
mvn clean installhttps://partner.microsoft.com/en-us/dashboard/products
# to build the snap, navigate to the /snapcraft folder, copy the praisenter.deb there, then run
snapcraft pack
# to install a locally built snap
sudo snap install --devmode ./praisenter.snap
# to uninstall a snap
sudo snap remove praisenter
# to list interfaces
snap connections praisenter
# to connect interfaces
snap connect praisenter:avahi-control
# to disconnect interfaces
snap disconnect praisenter:avahi-control
# to upload a new snap to the snapstore
snapcraft login
snapcraft upload ./praisenter_3.1.3_amd64.snaphttps://github.com/BtbN/FFmpeg-Builds
The FFmpeg binaries are too large for GitHub to track so they are stored in Git LFS.
To update the files, ensure that when you clone the repo that you initialize Git LFS:
git lfs installTo install Git LFS: https://docs.github.com/en/repositories/working-with-files/managing-large-files/installing-git-large-file-storage
Current Git LFS tracked objects:
git lfs track src/main/resources/org/praisenter/data/media/tools/linux64/ffmpeg
git lfs track src/main/resources/org/praisenter/data/media/tools/linux64/ffprobe
git lfs track src/main/resources/org/praisenter/data/media/tools/windows64/ffmpeg.exe
git lfs track src/main/resources/org/praisenter/data/media/tools/windows64/ffprobe.exe
git lfs track packaging/macos64/app/exec/ffmpeg
git lfs track packaging/macos64/app/exec/ffprobeThe bash scripts used below recreate some of the jpackage steps but are different due to additional native code used on MacOS, embedded executables, and custom packaging/signing to meet the App Store requirements.
- Make sure provisioning profiles are stored in packaging/macos64/app/content (or replace if expired), download from https://developer.apple.com/account/resources/profiles/list
- Make sure certificates (Developer ID Application, Developer ID Installer, Mac App Distribution, Mac Installer Distribution) are installed (or replace if expired), download from https://developer.apple.com/account/resources/certificates/list
- Run maven build from Eclipse to produce an unsigned "app-image" (the Praisenter.app file)
- Run either the
package-store.shorpackage-adhoc.shto generate an installer pkg file - Use the pkg generated by the
package-adhoc.shscript to test locally:- Delete the Praisenter.app from /Applications
- Delete the Praisenter.app from the target folder
- Delete the pkg-work folder in the target folder
- Double click the pkg file to install
- Test by running from /Applications
- Use the Transporter app to upload the pkg file to App Store Connect
- NOTE: this pkg cannot be tested locally
- Once uploaded to App Store Connect, you can use TestFlight to test these builds
https://toolbox.marketingtools.apple.com/en-us/app-store/us/app/6756894623
Icons for the application were created using Icon Composer. This tool creates the newer version of icons in the Assets.car and the legacy .icns file for older OSes.
The editable file is /packaging/macos64/Praisenter.icon. The creation of the icon involved splitting the standard SVG icon into layers and tweaking the settings in Icon Composer. From there, I created a dummy XCode project, added the icon to it and built it. In the output directory for the dummy project contained the Assets.car file that I manually add to the app package and reference from the Info.plist.
Follow the process outlined here and repeated below, just in case that gist is removed.
| Name | Dimensions |
|---|---|
icon_16x16.png |
16x16 |
icon_16x16@2x.png |
32x32 |
icon_32x32.png |
32x32 |
icon_32x32@2x.png |
64x64 |
icon_128x128.png |
128x128 |
icon_128x128@2x.png |
256x256 |
icon_256x256.png |
256x256 |
icon_256x256@2x.png |
512x512 |
icon_512x512.png |
512x512 |
icon_512x512@2x.png |
1024x1024 |
- Move all of the images into a new folder
- Rename the folder to:
icon.iconset - Confirm the file extension when prompted
This will convert the folder of images into an iconset, this can be verified by quick looking with the spacebar - a resizable preview of your icon should now appear.
- Navigate to the directory containing your
icon.iconsetin the terminal - Run
iconutilwith the following command:iconutil -c icns icon.iconset - Your
icon.icnswill be generated in the current directory








