EspoCRM is a free, open source crm & sales project written in PHP and released under AGPL-3.0. It has 3,368 GitHub stars, 972 forks and 69 open issues, and was last pushed 10 hours ago. On this registry it ranks #4 of 11 tracked projects in CRM & Sales, with 5 head-to-head comparisons available. It gained 23 stars over the last 6 tracked days.

What is EspoCRM?

What it is

EspoCRM is a free, open-source customer relationship management application written in PHP. It lives in the open-source business-software ecosystem for CRM and sales systems, and it combines a single-page frontend with a REST API backend. The project describes itself as a platform for storing, organizing, and managing leads, contacts, sales opportunities, marketing campaigns, support cases, and related business information.

The concrete problem it addresses is keeping customer data and sales or support workflows in one manageable system. Instead of leaving contact records, opportunity details, campaign information, and support cases across disconnected tools, EspoCRM centralizes them in a customizable application. The README also frames the software as a platform for building custom business applications, not only a fixed CRM.

Key capabilities

  • It manages leads, contacts, sales opportunities, marketing campaigns, and support cases in one CRM application.
  • It provides a single-page frontend and a REST API backend for web use and external integration.
  • It supports customization through custom entities, fields, relationships, and buttons, allowing the application to fit specific business processes.
  • It includes topic-listed features such as calendar, documents, email marketing, kanban, customer portal, and customer support.
  • It is released under AGPL-3.0, and the README states that anyone can inspect the source code.

Who uses it and how

  • Startups, small businesses, medium-sized businesses, and larger organizations can use it to maintain customer relationships in one on-premise or self-hosted system.
  • Developers and tech enthusiasts can extend functionality, create custom entities and fields, build extensions, and create integrations through the REST API.
  • Sales teams can use lead, contact, opportunity, and kanban features to track prospective and active customer relationships.
  • Support teams can use support cases, customer portal, documents, and email-marketing features to coordinate customer communications.

Getting started

The README says to download the latest release from the EspoCRM website or GitHub releases, then install it manually, by script, with Docker, or with Traefik. The stated requirements are PHP 8.3 through 8.5 and MySQL 8.0 or later, MariaDB 10.3 or later, or PostgreSQL 15 or later.

When to use it — and when not to

Use EspoCRM when you need a PHP-based open-source CRM with a REST API, customization, and self-hosted control over customer records. Do not choose it when you cannot operate the required PHP server and database, because the provided facts describe downloads and self-installation. The registry data lists 0 contributors and 0 years of repository age, and it shows 69 open issues, so the facts do not establish a long public maintenance record.

project readme (upstream, from github) — read inline

EspoCRM

PHPStan level 8

EspoCRM is a free, open-source CRM platform designed to help organizations build and maintain strong customer relationships. It provides a wide range of tools to store, organize, and manage leads, contacts, sales opportunities, marketing campaigns, support cases, and more – all business information in a simple and intuitive interface.

Screenshot

Architecture

EspoCRM is a web application with a frontend designed as a single-page application and a REST API backend written in PHP.

Demo

You can try the CRM on an online demo.

Requirements

  • PHP 8.3 - 8.5;
  • MySQL 8.0 (and later), or MariaDB 10.3 (and later);
  • PostgreSQL 15 (and later).

For more information about server configuration, see this article.

Download

Download the latest release from our website or from GitHub releases.

Release notes

Release notes are available at GitHub releases.

Documentation

See the documentation for administrators, users and developers.

Why EspoCRM?

  • Open-source transparency. EspoCRM's source code is open and accessible, so anyone can inspect it and see how data is being managed within the CRM.
  • Customization freedom. You can develop features, create custom entities, fields, relationships, buttons to make the system fit your specific needs. EspoCRM is more than a CRM – it's a platform for building custom business applications.
  • Clean user interface. EspoCRM offers an uncluttered, minimalist, and fast user interface, which is easy to navigate and has a short learning curve.
  • Straightforward REST API. It can be easily integrated with other applications using a REST API.

Who is EspoCRM for?

  • From startups, small & medium-sized businesses to larger organizations. A flexible, fully customizable solution that scales with your needs.
  • Developers & tech enthusiasts. You can extend functionalities, build extensions, and create custom integrations.
  • Anyone seeking a free or on-premise CRM.

Installing stable version

See installation instructions:

Bug reporting

Create a GitHub issue or post on our forum.

Development

See the developer documentation.

We highly recommend using an IDE for development. The backend codebase adheres to SOLID principles, utilizes interfaces, static typing and generics. We recommend to start learning EspoCRM from the Dependency Injection article in the documentation.

Metadata plays an integral role in the EspoCRM application. All possible parameters are described with a JSON Schema, meaning you will have autocompletion in the IDE. You can also find the full metadata reference in the documentation.

The frontend is an SPA built on a custom framework. It utilizes nested views and service DI, with the core partially written in TypeScript. Developers primarily work with existing form and field view implementations.

Community & Support

If you have a question regarding some features, need help or customizations, want to get in touch with other EspoCRM users, or add a feature request, please use our community forum. We believe that using the forum to ask for help and share experience allows everyone in the community to contribute and use this knowledge later.

License

EspoCRM is an open-source project licensed under GNU AGPLv3.

Contributing

Before we can merge your pull request, you need to accept our CLA here. See the contributing guidelines.

Branches:

  • fix – upcoming maintenance release; minor fixes should be pushed to this branch;
  • master – develop branch; new features should be pushed to this branch;
  • stable – last stable release.

Language

If you want to improve existing translation or add a language that is not available yet, you can contribute on our POEditor project. See instructions here. It may be reasonable to let us know about your intention to join the POEditor project by posting on our forum or via the contact form on our website.

Changes on POEditor are usually merged to the GitHub repository before minor releases.

Frequently asked questions

Is EspoCRM free to use?

EspoCRM is open source under the AGPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does EspoCRM do?

Complete customer relationship management made simple

What is EspoCRM written in?

EspoCRM is primarily written in PHP. Its source is publicly available at https://github.com/espocrm/espocrm, and it has 3,368 GitHub stars.