Skip to content
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
Cannot retrieve contributors at this time



Before you can use SchemaSpy you must have the following requirements available on your local system.

  • Java
  • a JDBC driver file for your specific database engine
  • viz.js or Graphviz


You will need to have a supported version of Java installed, which includes:

  • Java version 8 or higher
  • OR OpenJDK 1.8 or higher - an open-source alternative

You can run java -version in a terminal to check the version of any currently installed Java.

If you don't already have a proper version of Java installed, see OpenJDK or Oracle Java for download and install instructions for your operating systems.

JDBC Driver

No JDBC drivers are included with the jar-distribution of SchemaSpy.

In some case, a JDBC driver may already exist on your local system if your database happens to come with drivers. Otherwise, you will need to download one yourself.

If downloading a driver, you can usually find an approriate driver by searching the internet for "[name of your database] JDBC driver".

Verify the driver you download is compatible with the version of database management system / engine that you are using. For instance, if you're using PostgreSQL 13 the JDBC driver will need to support PostgreSQL 13.

Here is a list of where you might find drivers for common database management systems:

You will need to tell SchemaSpy where to find the JDBC driver you require. For example, if you downloaded the Postgres JDBC file called postgresql-42.2.19.jar to the current directory the command would include the -dp parameter, like -dp postgresql-42.2.19.jar.

If your JDBC .jar file is in a different directory, then the -dp parameter would need to specify the directory path to the file, like -dp /opt/some-directory/your-jdbc-driver-name.jar.

See :ref:`commandline` for more information and advanced situations.

viz.js or Graphviz

This is necessary to render graphical representations / images of the database relationships.

SchemaSpy version 6.1.0 and higher now comes with viz.js, so you will not need to download anything unless you're using SchemaSpy version 6.0 or lower.

For SchemaSpy version 6.1.0 or higher, simply include -vizjs as a command line argument when executing the SchemaSpy command.

NOTE: If you are using Java 15 or later, vis.js will not work! This is because Nashorn (JavaScript engine) was removed on Java 15. Hence, if you are on Java 15 or later, you need to install Graphviz manually as described below. Or, you can switch to an earlier Java version if you would like to use vis.js.

If you must use Schemaspy version 6.0 or less, then Graphviz will need to be installed as follows.

  • Windows

    The easiest way to install Graphviz is to download the msi package from


    Remember to add the folder containing Graphviz's dot.exe application to your system PATH variable, eg.

    C:\Program Files (x86)\Graphviz2.38\bin
  • Linux, Mac OS

    Please read carefully the detailed instructions on how to install Graphviz on your operating system.


SchemaSpy is just a single executable jar-file (schemaspy-[version].jar), you can download releases from the SchemaSpy website or the GitHub releases page.

If you feel adventurous there is a link in the for latest builds.

When you have your jar-file head on over to Get Started