Did you know ... Search Documentation:
Download SWI-Prolog stable versions

linux.png Linux versions are often available as a package for your distribution. We collect information about available packages and issues for building on specific distros here. We provide a PPA for Ubuntu and flatpak images flatpak.png

Android.png Android binaries are available for Termux as the package swi-prolog. See also Building SWI-Prolog on Android using LinuxOnAndroid

windows.jpg Please check the windows release notes (also in the SWI-Prolog startup menu of your installed version) for details.

WIP.png Examine the ChangeLog.


Binaries
Windows version (64-bits)36,823,742 bytesSWI-Prolog 10.0.0-1 for Microsoft Windows (64 bit)

Self-installing executable for Microsoft Windows 64-bit editions.

SHA256:766dafb79fb657d711813a2574d16c35e2f417c8005a0ad064aa18bf63476ca4
MacOS bundle32,565,621 bytesSWI-Prolog 10.0.0-1 for MacOSX 10.14 (Mojave) and later on x86_64 and arm64

Mac OS X disk image with relocatable application bundle. The bundle also provides the commandline tools in the Contents/MacOS directory. Users of older MacOS versions are adviced to use Macports, Homebrew or install from source. This bundle contains universal (fat) binaries that run natively on Intel (x86_64) and Apple Silicon (M*, arm64).

SHA256:df20f824f820815424aee9e84677a23b2c68cb19e7c734ef5230672cdcf80fc6
MacOS bundle21,704,201 bytesSWI-Prolog 10.0.0-1 for MacOSX bundle on intel

Mac OS X disk image with relocatable application bundle. Same as the fat bundle, but only contains the x86_64 binaries, compiled using gcc13 from Macports. This version is 50% faster than the fat binaries on Intel Macs. The intel version is not regularly updated.

SHA256:bb49b99dc9b0bf6aa0772f9593eba092fece9bb2cc7ef3339144256990304dee
Sources
Source archive12,792,426 bytesSWI-Prolog source for 10.0.0

Sources in .tar.gz format, including packages and generated documentation files. See build instructions.

SHA256:98c552c48fc8b44dcd4440abbfed632cceb75055fde267be12f340bea8106590
Documentation
PDF file3,403,784 bytesSWI-Prolog 10.0.0 reference manual in PDF

SWI-Prolog reference manual as PDF file. This does not include the package documentation.

Show all files
Install scripts may download the SHA256 checksum by appending .sha256 to the file name. Scripts can download the latest version by replacing the version of the file with latest. This causes the server to reply with the location of the latest version using an HTTP 303 See Other message.

SWI-Prolog version 10.0

The SWI-Prolog 10.0 is the latest stable release. Highlights:

  • Native GUI tools for Linux (Wayland or X11), MacOS (Cocoa) and Windows (Win32) based on SDL3, Cairo and Pango. This provides a future-proof uniform system accross all platforms with better text rendering, better support for multiple displays and hi-res displays and much more.
  • Qt based swipl-win and Windows swipl-win.exe projects that provide a SWI-Prolog console with extensions has been replaced by a terminal emulator based on the swipl-win.exe that is integrated in the native GUI toolkit.
  • Command line editing in a system console as well as in the Prolog terminals is done by BSD libedit, providing uniform behaviour on all platforms.
  • 32-bit platforms now use 64-bit Prolog data, making the implementation more uniform and lifting the 128Mb stack limit on 32-bit systems. This notably applies to the WASM version. Support for 32-bit Windows is removed.
  • The WASM version is now much faster, only 2-3 times slower than native. It now has support for yield based debugging, which allows the debugger to work in SWI-Tinker. An NPM package is available.
  • Improvements in clause indexing and compilation results in a 10-30% performance improvement.
  • The JSON libraries now support JSON Schema and JSON RPC.