If you operate, install or buy electric vehicle chargers, you will hear the term OCPP in almost every conversation. It is the reason a charger from one manufacturer can be managed by software from a different company, and it is one of the first things you should check before you buy any hardware.
This guide explains what OCPP is in plain language: who maintains it, how a charger and a central system talk to each other, which versions exist, and what an OCPP software platform actually does for you. No programming knowledge is required.
- OCPP (Open Charge Point Protocol) is an open, vendor-neutral standard for communication between a charging station and a central management system (CSMS).
- The charger opens a WebSocket connection to the CSMS and exchanges short JSON messages such as BootNotification, Heartbeat, StatusNotification and MeterValues.
- Because the protocol is open, you can change your software provider without replacing your chargers, and mix hardware brands in one network.
- OCPP 1.6J is still the most widely deployed version; OCPP 2.0.1 and 2.1 add stronger security, a richer device model and new energy features.
What is OCPP?
OCPP stands for Open Charge Point Protocol. It is a communication protocol that defines how an EV charging station exchanges information with a back-end system. That back-end system is usually called a CSMS (Charging Station Management System). Older documents call it a "central system".
The protocol is maintained by the Open Charge Alliance (OCA), a global, non-profit consortium of charging hardware and software companies. The specifications are published openly, so any manufacturer or software developer can implement them. OCPP 2.0.1 has also been accepted as the international standard IEC 63584, which gives it additional weight in public tenders and regulation.
OCPP does not describe how the car talks to the charger. That is a separate layer, handled by standards such as IEC 61851 and ISO 15118. OCPP only covers the link between the charger and the management software.
Who uses OCPP and why it matters
Almost every group in the charging market depends on OCPP:
- Charge point operators (CPOs) use it to monitor public and semi-public stations, authorize drivers and collect energy data.
- Fleet operators use it to see which vehicle charged where, and how much energy each driver used.
- Car parks, hotels and residential sites use it to control who may charge and to report consumption.
- Installers and resellers use it to commission chargers and to support customers remotely.
The most important benefit is freedom from vendor lock-in. Without an open protocol, a charger would work only with the software of its own manufacturer. With OCPP, you can choose the hardware that fits each site and the software that fits your business, and you can change either one later without replacing the other.
How OCPP communication works
In the most common version, OCPP 1.6J, the "J" means JSON over WebSocket. The charger acts as the client. It opens a WebSocket connection to a URL provided by the CSMS, for example wss://ocpp.example.com/ocpp/CP001, where the last part of the path is the charge point ID. The connection stays open, so both sides can send messages at any time.
Each message is a small JSON array. It contains a message type, a unique message ID, an action name and a payload. Every request receives a response with the same message ID, which lets each side match answers to questions.
A typical message flow
- BootNotification: when the charger starts, it introduces itself with its vendor, model and firmware version. The CSMS answers with Accepted, Pending or Rejected, and sets the heartbeat interval.
- Heartbeat: the charger sends a short signal at a regular interval, typically every 60 to 300 seconds, so the CSMS knows it is online. The response also contains the current time, which helps keep the charger clock correct.
- StatusNotification: whenever a connector changes state, the charger reports it, for example Available, Preparing, Charging, Finishing or Faulted, together with an error code when something is wrong.
- Authorize: when a driver presents an RFID card, the charger sends the card UID as an idTag. The CSMS replies with a status such as Accepted, Blocked, Expired or Invalid.
- StartTransaction and StopTransaction: the charger reports when a charging session begins and ends, including meter readings.
- MeterValues: during the session, the charger sends measurements such as energy (kWh), power (kW) and, if the vehicle provides it, state of charge.
The CSMS can also send commands to the charger. Common examples in OCPP 1.6 are RemoteStartTransaction, RemoteStopTransaction, Reset, UnlockConnector, ChangeAvailability, ChangeConfiguration and TriggerMessage.
OCPP versions at a glance
Several versions are in use today. They are not all compatible with each other, so it is important to know which one your chargers support.
| Version | Published | Main characteristics |
|---|---|---|
| OCPP 1.6J | 2015 | JSON over WebSocket; the most widely deployed version; security added later through an OCA security extension |
| OCPP 2.0.1 | 2020 | Unified TransactionEvent, device model, built-in security profiles, improved smart charging, ISO 15118 support; not backward compatible with 1.6 |
| OCPP 2.1 | 2025 | Builds on 2.0.1 and is backward compatible with it; adds bidirectional charging (V2X), DER control, local cost calculation and payment terminal support |
OCPP 2.0 was released in 2018, but 2.0.1 is the corrected edition that the industry uses. For a detailed comparison and migration advice, read our comparison of OCPP 1.6J, 2.0.1 and 2.1.
What an OCPP software (CSMS) does
The protocol alone is only a language. The value comes from the software that listens to your chargers and turns their messages into useful information and actions. A good CSMS usually covers these areas:
- Monitoring: live connector status, current power, energy delivered and alerts when a charger goes offline or reports a fault.
- Remote control: reset a charger, stop a session, unlock a stuck cable or disable a connector without sending a technician.
- Access control: manage RFID cards and drivers, and decide who may charge at which station.
- Session records and reporting: energy per station, per driver or per vehicle, with export for accounting.
- Integration: an API and webhooks so other systems, such as ERP or fleet software, can use the charging data.
Üreticy is an example of a cloud CSMS built around these tasks. It accepts OCPP 1.6J, 2.0.1 and 2.1 chargers in the same dashboard and shows live status, power and energy on a map. You can see the full list on the Üreticy features page.
Security in OCPP
A charger that is connected to the internet must be protected. OCPP defines three security profiles. Profile 1 uses HTTP Basic authentication without encryption. Profile 2 adds TLS encryption to Basic authentication. Profile 3 uses TLS with client certificates, so both sides prove their identity with certificates.
In OCPP 1.6, these profiles were introduced later through the OCA security extension, so not every 1.6 charger supports them. In OCPP 2.0.1 and 2.1, security profiles and security event logging are part of the core specification. As a practical rule, always prefer an encrypted wss:// connection over plain ws:// when your hardware supports it.
How to get started with OCPP
If you are planning your first OCPP-managed site, follow these steps:
- Check your hardware. Confirm in the datasheet which OCPP version the charger supports and whether it supports TLS.
- Choose a CSMS. Make sure it supports the versions of your chargers and fits your business model.
- Get your connection details. The CSMS provides a server URL and you choose or receive a charge point ID for each charger.
- Configure the charger. Enter the URL, ID and optional password in the charger web interface or installer app.
- Test. Confirm that the BootNotification is accepted, heartbeats arrive and the connector status is correct.
For a detailed walkthrough of the configuration, see our guide on how to connect a charger to an OCPP server. With Üreticy, each customer receives a personal OCPP URL, and a charger that connects with an unknown ID appears as pending so you can add it to your account with one click.
Frequently asked questions
Is OCPP free to use?
Yes. The OCPP specifications are published openly by the Open Charge Alliance and can be implemented by any manufacturer or software developer. You still pay for the chargers and for the management software, but not for the protocol itself.
Does every EV charger support OCPP?
No. Many commercial chargers support OCPP, but some simple home chargers do not, and some only work with the manufacturer's own app. Always check the datasheet for the supported OCPP version before you buy.
Can I use OCPP 1.6 and OCPP 2.0.1 chargers in the same network?
Yes, if your CSMS supports both versions. The two versions are not compatible at the message level, so the software must handle each one separately. Many operators run mixed networks during a gradual migration.
What is the difference between OCPP and OCPI?
OCPP connects a charger to its management system. OCPI (Open Charge Point Interface) connects different management platforms to each other, for example to allow roaming between charging networks. They solve different problems and are often used together.
Do I need programming skills to use OCPP?
No. In most cases you only enter a server URL and a charge point ID in the charger settings. The CSMS handles the protocol messages and presents the results in a dashboard. Programming skills are only useful if you want to integrate charging data with other systems through an API.
Ready to connect your chargers? Explore Üreticy OCPP software with support for 1.6J, 2.0.1 and 2.1, per-connector pricing and no commission on your charging revenue.
