Windows installation

Before you install Neo4j on Windows, check System Requirements to see if your setup is suitable.

Windows console application

  1. If it is not already installed, get OpenJDK 17 or Oracle Java 17. From version 5.14 onwards, Neo4j also supports JDK 21.

  2. Download the latest release from Neo4j Deployment Center.

    Select the appropriate ZIP distribution.

  3. Check that the SHA hash of the downloaded file is correct:

    1. To find the correct SHA hash, go to Neo4j Deployment Center and click SHA-256, which is located below your downloaded file.

    2. Using the appropriate commands for your platform, display the SHA-256 hash for the file that you downloaded.

    3. Ensure that the two are identical.

  4. Right-click the downloaded file and click Extract All.

  5. Place the extracted files in a permanent home on your server and set the environment variable NEO4J_HOME to point to the extracted directory, for example, export NEO4J_HOME=/path/to/_<NEO4J_HOME> to make it easier to refer to it later.

  6. From Neo4j 5.4 onwards, you are required to accept either the commercial or the evaluation license agreement before running the Neo4j Enterprise Edition. If you are using Community Edition, you can skip this step.

    • Use one of the following options to accept the commercial license agreement. See the Neo4j licensing page for details on the available agreements.

      • Set it as an environment variable using set NEO4J_ACCEPT_LICENSE_AGREEMENT=yes.

      • Run $NEO4J_HOME\bin\neo4j-admin server license --accept-commercial

    • Use one of the following options to accept the Neo4j Evaluation Agreement for Neo4j Software.

      • Set it as an environment variable using set NEO4J_ACCEPT_LICENSE_AGREEMENT=eval.

      • Run $NEO4J_HOME\bin\neo4j-admin server license --accept-evaluation.

  7. (Optional) Decouple the data and configuration directories from the binary files by setting the environment variable NEO4J_CONF and server.directories.data to point to the desired locations. Storing your data and configuration on a separate disk or partition can simplify the upgrade process later.

  8. Before starting up the database for the first time, it is recommended to use the set-initial-password command of neo4j-admin to define the password for the native user neo4j.

    If the password is not set explicitly using this method, it will be set to the default password neo4j. In that case, you will be prompted to change the default password at first login.
    For more information, see Set an initial password.

  9. Start Neo4j:

    • To run Neo4j as a console application, use: $NEO4J_HOME\bin\neo4j console.

    • To install Neo4j as a service use: $NEO4J_HOME\bin\neo4j windows-service install. For additional commands and to learn about the Windows PowerShell module included in the Zip file, see Windows PowerShell module.

  10. Open http://localhost:7474 in your web browser.

  11. Connect using the username neo4j with your password or the default password neo4j. You will then be prompted to change the password.

  12. Stop the server by typing Ctrl-C in the console.

Windows service

Neo4j can also be run as a Windows service.

By default, the Neo4j Windows service runs as the LocalSystem account, which has full access to the system. This is a security risk, and it is recommended to run the service as a user without full LocalSystem privileges.

Install the Windows service

Install the service with bin\neo4j windows-service install, and start it with bin\neo4j start.

The available commands for bin\neo4j are: version, help, console, start, stop, restart, status, and windows-service.

When installing a new release of Neo4j, you must first run bin\neo4j windows-service uninstall on any previously installed versions.

Change the Windows service configuration

When Neo4j is installed as a service, the Java options are stored in the service configuration file. If you want to change any of these options or environment variables after the service is installed, you must update and restart the service for the changes to take effect. For example, updating the value of server.memory.heap.initial_size in the default neo4j.conf file or by using the NEO4J_CONF environment variable will not automatically apply the changes. The service needs to be updated and restarted to pick them up. To update the service, run bin\neo4j windows-service update. Then restart the service to run it with the new configuration.

The same applies to the path to where Java is installed on the system. If the path changes, for example when upgrading to a new version of Java, it is necessary to run the update-service command and restart the service. Then, the new Java location will be used by the service.

Example 1. Update service example
  1. Install service

    bin\neo4j windows-service install
  2. Change memory configuration

    echo server.memory.heap.initial_size=8g >> conf\neo4j.conf
    echo server.memory.heap.initial_size=16g >> conf\neo4j.conf
  3. Update service

    bin\neo4j windows-service update
  4. Restart service

    bin\neo4j restart

Windows PowerShell module

The Neo4j PowerShell module allows administrators to:

  • Install, start, and stop Neo4j Windows® Services.

  • Start tools, such as Neo4j Admin and Cypher Shell.

The PowerShell module is installed as part of the ZIP file distributions of Neo4j.

System requirements

  • Requires PowerShell v2.0 or above.

  • Supported on either 32 or 64-bit operating systems.

Manage Neo4j on Windows

On Windows, it is sometimes necessary to Unblock a downloaded ZIP file before you can import its contents as a module.

  1. Right-click on the ZIP file and choose Properties.
    A dialog appears with an Unblock button.

  2. Click the Unblock button to enable the import of the module.

    Running scripts has to be enabled on the system. This can, for example, be achieved by executing the following from an elevated PowerShell prompt:

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

    For more information, see About execution policies.

The PowerShell module displays a warning if it detects that you do not have administrative rights.

Import the module file

The module file is located in the bin directory of your Neo4j installation.

  1. Assuming that Neo4j is installed in C:\Neo4j, run the following command to import the module:

    Import-Module C:\Neo4j\bin\Neo4j-Management.psd1

    This adds the module to the current session.

  2. Once the module is imported, you can start an interactive console version of a Neo4j Server:

    Invoke-Neo4j console

To stop the server, use Ctrl-C in the console window, created by the command.

Inspect the module

You can get all available commands in the module by running the following command:

Get-Command -Module Neo4j-Management

The output should be similar to the following:

CommandType     Name                                Version    Source
-----------     ----                                -------    ------
Function        Invoke-Neo4j                        5.25.1      Neo4j-Management
Function        Invoke-Neo4jAdmin                   5.25.1      Neo4j-Management
Function        Invoke-Neo4jBackup                  5.25.1      Neo4j-Management
Function        Invoke-Neo4jImport                  5.25.1      Neo4j-Management
Function        Invoke-Neo4jShell                   5.25.1      Neo4j-Management

The module also supports the standard PowerShell help commands

Get-Help Invoke-Neo4j

Run the following to see examples of help commands:

Get-Help Invoke-Neo4j -examples

Example usage

  • List of available commands:

    Invoke-Neo4j
  • Current status of the Neo4j service:

    Invoke-Neo4j status
  • Install the service with verbose output:

    Invoke-Neo4j windows-service -Verbose
  • Available commands for administrative tasks:

    Invoke-Neo4jAdmin

Common PowerShell parameters

The module commands support the common PowerShell parameter of Verbose.

Uninstall Neo4j

Here are the steps to uninstall Neo4j on Windows:

  1. (Optional) Create a backup to avoid losing your data.

  2. Stop all Neo4j processes by using the Task Manager.

  3. Uninstall the Neo4j Windows service:

    ---
    bin\neo4j windows-service uninstall
    ---
  4. Delete NEO4J_HOME:

    ---
    rmdir NEO4J_HOME
    ---