Schemacrawler logo

SchemaCrawler

Free database schema discovery and comprehension tool

SchemaCrawler Downloads

The Central Repository Main distribution Docker Pulls

Distributions and Downloads

SchemaCrawler is distributed in a variety of ways, to support various use cases.

If you would like to use SchemaCrawler without installing it, you can explore the SchemaCrawler command-line with a live online tutorial. The tutorial works from within any browser with no software or plugins needed.

If you need to use SchemaCrawler locally, you have a number of options. You can install the SchemaCrawler Interactive Shell using platform-specific installers downloaded from schemacrawler/SchemaCrawler-Installers. On Windows, SchemaCrawler is available via Scoop, Chocolatey, and winget. On macOS, SchemaCrawler is available via Homebrew. On Linux and macOS, SchemaCrawler is available via SDKMan. Across all platforms, SchemaCrawler is available via Docker.

If you want to use SchemaCrawler as a library, and in your build, all jars are in the Central Repository. They can be used as dependencies in Gradle or Apache Maven projects, or with any other build system that supports the Central Repository. SchemaCrawler reports can be incorporated into Apache Maven builds with the SchemaCrawler Report Maven Plugin and into the GitHub Actions workflow with the SchemaCrawler Action or in GitLab pipelines. If you would like to extend SchemaCrawler with plugins for a certain database, create new database lints, or create a new command, use the starter projects to create new SchemaCrawler plugins on GitHub.

Pre-packaged SchemaCrawler Docker images are available on Docker Hub. Refer to schemacrawler/SchemaCrawler-AI-MCP-Server-Usage for SchemaCrawler AI images. See the Docker section below for installation steps.

Additional SchemaCrawler database plugins are available from the schemacrawler/SchemaCrawler-Database-Plugins project.

Installation on Windows

Scoop

Scoop

You can install SchemaCrawler on Windows using the Scoop command-line installer. Follow these steps:

  1. Install the Scoop command-line installer
  2. Run
    scoop install schemacrawler
    from a PowerShell command-prompt
  3. Run SchemaCrawler with schemacrawler

Chocolatey

Chocolatey

You can install SchemaCrawler on Windows using Chocolatey. Follow these steps:

  1. Install Chocolatey
  2. Run
    choco install schemacrawler -y
    from a PowerShell command-prompt with administrative privileges
  3. Run SchemaCrawler with schemacrawler

The Chocolatey SchemaCrawler package is maintained by Adrien Sales.

Winget

You can install SchemaCrawler on Windows using the Windows Package Manager (winget). Follow these steps:

  1. Run
    winget install SchemaCrawler.SchemaCrawler --accept-package-agreements --accept-source-agreements
    from a command-prompt
  2. Run SchemaCrawler with schemacrawler

Installation on macOS

Homebrew

You can install SchemaCrawler on macOS using Homebrew. Follow these steps:

  1. Install Homebrew
  2. Add the SchemaCrawler tap and install SchemaCrawler:
brew tap schemacrawler/homebrew-tap
brew install --formula schemacrawler
  1. Run SchemaCrawler with schemacrawler

Installation on Linux and macOS

SDKMan

You can install SchemaCrawler on Linux and macOS using SDKMan. Follow these steps:

  1. Install SDKMan
  2. Install a Java runtime (or use SDKMan to install it)
  3. Run
    sdk install schemacrawler
    from a command-prompt
  4. Run SchemaCrawler with schemacrawler.sh

Cross-platform Installation

Docker

Pre-packaged SchemaCrawler Docker images are available on Docker Hub. Follow these steps:

  1. Pull the SchemaCrawler Docker image:
    docker pull schemacrawler/schemacrawler:latest
  2. Run SchemaCrawler:
docker run --rm \
  --name schemacrawler \
  --volume "$(pwd):/home/schcrwlr/share" \
  schemacrawler/schemacrawler:latest \
  /opt/schemacrawler/bin/schemacrawler.sh --version

See Docker Image for full documentation on using SchemaCrawler with Docker.

Examples

SchemaCrawler examples are available on this website. The examples cover the command-line, diagramming, scripting, templating, lint, serialization, and more. See the SchemaCrawler Examples index to get started.