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,065,250 bytesSWI-Prolog 10.0.1-1 for Microsoft Windows (64 bit)

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

SHA256:e44d68593977522448953acb0b907ecc75728a22dab7bb4eada1b710e707239a
MacOS bundle34,256,380 bytesSWI-Prolog 10.0.1-1 for MacOSX 10.15 (Catalina) 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:822ab04fb2e7dbff955c981e900f2a653408d5100cd1eadee724f30dc0d51b4b
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. Used to be faster due to using GCC rather than Apple Clang. Since version 10.0.1 the fat bundle is built using GCC 15, making this version obsolete.

SHA256:bb49b99dc9b0bf6aa0772f9593eba092fece9bb2cc7ef3339144256990304dee
Sources
Source archive12,812,508 bytesSWI-Prolog source for 10.0.1

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

SHA256:a9504745310e36195cf8cee9ad9164a7aa99e389c669ca6d279e321efc2ad9d4
Documentation
PDF file3,407,314 bytesSWI-Prolog 10.0.1 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.