The Open Charge Point Protocol (OCPP) is the open communication standard between EV charging stations and the central software that manages them. A charger that speaks OCPP can connect to any compatible management platform, so a site owner is not locked into one vendor’s software.
This guide explains how OCPP works, compares OCPP 1.6, 2.0.1, and 2.1, and covers security, smart charging, certification, and common integration problems. It also gives buyers an RFP checklist and shows manufacturers and brands how OCPP fits into OEM/ODM charger projects.
Key takeaways:
-
OCPP connects a charging station to a charging station management system (CSMS) over a WebSocket connection.
-
Three versions are current: OCPP 1.6 (2015), OCPP 2.0.1 (2020), and OCPP 2.1 (2025).
-
OCPP 1.6 and 2.0.1 are not compatible with each other. OCPP 2.1 is designed so that logic built for 2.0.1 keeps working.
-
OCPP 1.6 is still widely deployed, while the industry is moving toward 2.x for security, device management, and smart charging.
-
“Supports OCPP” is not a guarantee. Ask for the version, the supported feature set, and test evidence.
What Is OCPP?
OCPP is an open, vendor-neutral protocol that defines how a charging station and a charging management system exchange messages. It is published by the Open Charge Alliance (OCA), a global consortium of charging industry companies.
The purpose of OCPP is interoperability. A charger from manufacturer A can connect to management software from provider B, as long as both support the same OCPP version and the features you need.
Who Uses OCPP?
Three parties rely on OCPP.
| Party | Role | Why OCPP matters |
| Charger manufacturer | Builds the station and its firmware | Sells hardware that works with many software platforms |
| CSMS provider | Runs the management software | Supports chargers from many manufacturers |
| Charge point operator or site owner | Owns and runs the chargers | Avoids lock-in and can change hardware or software later |
What Does OCPP Control?
OCPP carries the day-to-day operating functions of a charging site.
-
Charger registration and status reporting
-
User authorization and session start and stop
-
Meter data for billing and reporting
-
Remote commands such as resets and unlock
-
Firmware updates and configuration changes
-
Smart charging, meaning power limits and schedules
How Does OCPP Work?
The charger acts as the client and the CSMS acts as the server. The charger opens a WebSocket connection to the CSMS, and both sides then send messages in either direction over that connection.
What Is the Basic Communication Flow?
-
The charger connects to the CSMS over WebSocket.
-
The charger sends a BootNotification to identify itself.
-
The CSMS accepts it and sets the heartbeat interval.
-
The charger reports status changes and meter values during operation.
-
The CSMS sends commands, such as remote start, reset, or a power limit.
-
If the connection drops, the charger reconnects and sends the queued messages.
What Do OCPP Messages Look Like?
OCPP over JSON (OCPP-J) sends each message as a JSON array. The first element is the message type: 2 for a request (CALL), 3 for a successful response (CALLRESULT), and 4 for an error (CALLERROR).
A simplified OCPP 1.6J boot exchange looks like this:
[2, “19223201”, “BootNotification”, {“chargePointVendor”: “VendorX”, “chargePointModel”: “AC-22”}]
[3, “19223201”, {“status”: “Accepted”, “currentTime”: “2026-09-24T10:00:00Z”, “interval”: 300}]
The unique ID ties the response to its request, and interval tells the charger how often to send a heartbeat, in seconds. Real messages carry more fields, so check the specification for your version.
Which Messages Matter Most in Commercial Operation?
The table below lists the OCPP 1.6 messages that operators use every day. OCPP 2.0.1 keeps the same functions but reorganizes some of them.
| Message | Direction | Purpose |
| BootNotification | Charger to CSMS | Registers the charger at startup |
| Heartbeat | Charger to CSMS | Confirms the charger is online |
| StatusNotification | Charger to CSMS | Reports available, charging, faulted, and other states |
| Authorize | Charger to CSMS | Checks an RFID card or other credential |
| StartTransaction / StopTransaction | Charger to CSMS | Opens and closes a charging session |
| MeterValues | Charger to CSMS | Reports energy and power readings |
| RemoteStartTransaction / RemoteStopTransaction | CSMS to charger | Starts or stops a session remotely |
| Reset | CSMS to charger | Restarts the charger (soft or hard) |
| UpdateFirmware | CSMS to charger | Pushes a firmware update |
| SetChargingProfile | CSMS to charger | Sets power limits or schedules |
In OCPP 2.0.1, a single TransactionEvent message replaces StartTransaction, StopTransaction, and part of MeterValues.
What Are the Differences Between OCPP 1.6, 2.0.1, and 2.1?
OCPP 1.6 is the mature, widely deployed baseline. OCPP 2.0.1 adds device management, stronger security, and better smart charging. OCPP 2.1 builds on 2.0.1 with bidirectional charging, distributed energy resource control, and new payment options.
| Feature | OCPP 1.6 | OCPP 2.0.1 | OCPP 2.1 |
| Release | 2015 | 2020 | 2025 |
| Transport | JSON (OCPP-J) or SOAP | JSON over WebSocket | JSON over WebSocket |
| Security | Added through optional security profiles | Built into the specification | Builds on 2.0.1 |
| Device management | Limited | Get and set configuration, monitor the station | Includes 2.0.1 functions |
| Transactions | Start and stop messages | Improved transaction handling | Extended options, including resuming after a forced reboot |
| Smart charging | Load balancing and charging profiles | Added smart charging functions | Improved smart charging |
| ISO 15118 (Plug & Charge) | Not part of the core specification | Supported | Supported, including ISO 15118-20 |
| Bidirectional charging (V2X) | No | Limited | New functional block |
| Distributed energy resources (DER) | No | No | New functional block |
| Payments | Local list and authorization | Improved authorization | Prepaid cards, ad hoc card payment, secure dynamic QR codes, local cost calculation |
| Compatibility | Not compatible with 2.0.1 | Not compatible with 1.6 | Logic for 2.0.1 remains compatible |
| Standards status | OCA specification | 2.0.1 edition 3 approved as IEC 63584 (2024) | OCA specification |
Which OCPP Version Should You Choose?
Choose the version that matches your software platform, project timeline, and feature needs. The decision guide below covers the common cases.
Choose OCPP 1.6 if:
-
You need broad compatibility with existing software and hardware today.
-
The project is cost-sensitive and needs only core functions, such as sessions, status, meter data, and basic smart charging.
-
Your CSMS does not yet support 2.x.
Choose OCPP 2.0.1 if:
-
Security and device management are procurement requirements.
-
You plan to support Plug & Charge through ISO 15118.
-
You want richer diagnostics and configuration control across a large fleet of chargers.
Choose OCPP 2.1 if:
-
You need bidirectional charging, DER control, or the new payment options.
-
Your CSMS and hardware vendors already support it.
Best practice: Buy chargers that can run more than one version, and choose a CSMS that supports the versions you use. That way a firmware update, not a hardware replacement, moves you from 1.6 to 2.x.
Are OCPP Versions Backward Compatible?
OCPP 1.6 and 2.0.1 are not compatible, so a 1.6 charger cannot talk to a 2.0.1-only CSMS, and the reverse. OCPP 2.1 is designed so that application logic built for 2.0.1 remains compatible. Always confirm which versions both the charger and the CSMS support.
How Does OCPP Handle Smart Charging and Load Balancing?
OCPP controls charging power through charging profiles. A CSMS sends a profile to a charger or to a specific transaction, and the charger applies the limit. This is how a management system enforces a site power cap, schedules charging, or shares capacity among chargers.
The main charging profile purposes in OCPP 1.6 and 2.0.1 are:
| Profile purpose | Use |
| Station or charge point maximum | Sets an overall ceiling for a station |
| Transaction default | Sets a default limit for all new sessions |
| Transaction profile | Sets limits for one active session |
OCPP 2.0.1 adds an external constraints profile, so an outside system such as an energy management system can restrict the station.
How this connects to dynamic load balancing: A site controller measures building load and calculates the power available for EVs. It then passes that limit to the chargers, often as an OCPP charging profile. For a full explanation with a sizing example, read Dynamic Load Balancing for Commercial EV Charging.
Always design a local fallback, because a lost connection to the CSMS must not leave the site unprotected. The load balancing guide explains fallback limits.
How Does OCPP Handle Security?
OCPP defines security profiles that combine authentication and encryption for the charger-to-CSMS connection.
| Profile | Authentication | Encryption | Typical use |
| Profile 1 | Basic authentication (password) | None (unsecured) | Closed networks only |
| Profile 2 | Basic authentication | TLS | Common baseline for public networks |
| Profile 3 | Client certificate | TLS (mutual) | Highest security, enterprise and public funding programs |
OCPP 1.6 added these profiles through a security extension, while OCPP 2.0.1 includes them in the specification, along with certificate management and security event reporting.
Practical advice:
-
Require at least TLS with authentication (Profile 2) for any charger on the public internet.
-
Ask for client certificates (Profile 3) for public, fleet, or government projects.
-
Ask how the manufacturer handles certificate renewal and secure firmware updates.
How Is OCPP Different from ISO 15118, OCPI, and Proprietary Protocols?
OCPP covers the charger-to-backend link. Other standards cover different links, so they complement OCPP instead of replacing it.
| Standard | Connects | Purpose |
| OCPP | Charger to management system | Operate and control chargers |
| ISO 15118 | Vehicle to charger | Plug & Charge authentication, bidirectional charging |
| OCPI | Network to network | Roaming and data exchange between operators |
| Proprietary protocol | Charger to one vendor’s system | Works only within that vendor’s ecosystem |
Why Choose OCPP Over a Proprietary Protocol?
A proprietary protocol can be tuned for one product, but it ties the site owner to that vendor for software, support, and future upgrades. OCPP lets owners mix hardware, compare software providers, and replace either side without replacing both.
What Does OCPP Certification Mean?
OCPP certification is third-party testing that a charger or CSMS conforms to the OCPP specification. The OCA runs a certification program and provides test tools, and testing laboratories carry out the conformance tests. You can check certified products and verify certificates through the OCA.
Certification is a useful baseline for procurement, but it is not a guarantee of interoperability in the field. Optional features, firmware changes, and network conditions can still cause differences between a certified charger and a certified CSMS.
How Should You Test Charger and CSMS Compatibility?
Test the exact combination you plan to deploy, before a full rollout. The checklist below covers the core scenarios.
-
Connection and boot: the charger connects, boots, and reports its status
-
Authorization: RFID, app, and any other credential types you use
-
Remote start and stop
-
Reset, both soft and hard
-
Meter values: check the readings against a reference meter
-
Firmware update over the air, including a failed-update recovery
-
Offline behavior: unplug the network during a session, then reconnect
-
Smart charging: apply a charging profile and confirm the limit
-
Reconnection: confirm that queued messages arrive in the right order
What Are Common OCPP Integration Problems?
Most integration problems come from differences in optional features and configuration, not from the core protocol. The list below covers the ones that cost projects the most time.
-
Version mismatch: the charger runs 1.6 but the CSMS expects 2.0.1.
-
Unsupported optional features: smart charging, local list, or reservation are not implemented on the charger.
-
Configuration key differences: chargers use different names or defaults for the same setting.
-
Meter value formats: units, measurands, and sampling intervals vary.
-
Time synchronization: wrong clocks cause billing and log errors.
-
Reconnection storms: many chargers reconnect at once after an outage and overload the CSMS.
-
Weak certificates or expired certificates: secure connections fail without warning.
-
Poor offline handling: sessions are lost or duplicated when the network drops.
What Should You Require in an OCPP RFP?
Write OCPP requirements as testable items, not as a single line saying “OCPP compliant.” Use the checklist below as a starting point and adapt it to the project.
Protocol and versions
-
Supported OCPP versions (1.6J, 2.0.1, 2.1) and a firmware upgrade path between them
-
Feature list by version: smart charging, local authorization list, reservation, firmware management, diagnostics
Security
-
Supported security profiles (Profile 2 minimum, Profile 3 where needed)
-
Certificate management and renewal process
-
Secure, signed firmware updates
Testing and certification
-
OCA certification status, or the plan and date to obtain it
-
Documented test results with your chosen CSMS
-
A sandbox or test unit for pre-deployment testing
Operations
-
Offline behavior: local authorization, message queueing, and recovery
-
Configuration documentation, including all configuration keys
-
Remote diagnostics and log retrieval
-
Support response time and firmware update policy
Related capabilities
-
Load balancing or smart charging support, including fallback behavior
-
ISO 15118 support, if you plan for Plug & Charge
-
Meter accuracy and the certification that applies to your market
How Does OCPP Work in OEM/ODM Charger Projects?
In an OEM/ODM project, the brand or distributor specifies the charger and the manufacturer builds it, including the firmware that implements OCPP. This makes the OCPP scope a key part of the project specification.
Points to agree with the manufacturer before development:
-
Target CSMS platforms: which backends must be tested, and who runs the tests
-
OCPP versions and features: which versions and optional functions the firmware supports
-
Security profile: the minimum profile and how certificates are provisioned
-
Custom configuration: default settings, configuration keys, and any custom data transfer messages
-
Certification: whether the product goes through OCA certification, who pays, and the timeline
-
Firmware updates: how updates are delivered, tested, and versioned after launch
-
Branding and backend: whether the firmware connects to a default backend or is configured per customer
Certification and backend testing take time and money, so add them to the project schedule and budget early.
How Does EV-TOP Support OCPP?
EV-TOP supplies AC and DC chargers across power levels, with customization through its OEM/ODM programs. For buyers and brands, that means OCPP requirements can be specified up front and built into the charger firmware.
Where EV-TOP customization can apply:
-
OCPP version and feature set matched to the customer’s CSMS
-
Default configuration and configuration keys set for the customer’s platform
-
Communication interfaces to work with site controllers and load management
-
Branding and firmware settings for resale programs
Contact EV-TOP with your target platform and OCPP requirements to get a specification and quote.
FAQ About OCPP
What does OCPP stand for?
OCPP stands for Open Charge Point Protocol. It is the open standard that lets EV chargers communicate with charging management software.
Who maintains OCPP?
The Open Charge Alliance (OCA), a global consortium of charging industry organizations, publishes and maintains the protocol.
What is the latest version of OCPP?
OCPP 2.1, released in 2025. OCPP 2.0.1 (2020) and OCPP 1.6 (2015) remain in use, and 1.6 is still widely deployed.
Is OCPP 2.0.1 backward compatible with 1.6?
No. OCPP 1.6 and 2.0.1 are not compatible. OCPP 2.1 is designed so that logic built for 2.0.1 stays compatible.
Is OCPP 2.0.1 an international standard?
Yes. OCPP 2.0.1 edition 3 was approved as an IEC standard, IEC 63584, in 2024.
What is a CSMS?
A charging station management system is the software that monitors, controls, and bills for chargers. It is the server in the OCPP connection.
Do all EV chargers support OCPP?
No. Some chargers use proprietary protocols, and some models support OCPP only on certain firmware versions. Check the version and features in the specification.
Does OCPP guarantee that any charger works with any software?
No. OCPP greatly improves compatibility, but optional features and implementation differences still matter. Test the exact combination.
Is OCPP the same as ISO 15118?
No. OCPP covers the charger-to-backend link, and ISO 15118 covers the vehicle-to-charger link.
Is OCPP free to use?
The OCPP specification is available for download from the Open Charge Alliance. Check the OCA’s current terms for details on use and certification fees.
Can OCPP handle load balancing?
OCPP supports charging profiles that let a management system set power limits. A site controller or CSMS calculates the limit, and OCPP delivers it to the chargers.
Should I choose OCPP 1.6 or 2.0.1?
Choose 1.6 for broad compatibility and simple needs. Choose 2.0.1 or 2.1 for stronger security, device management, Plug & Charge, or bidirectional charging. Buying chargers that can be updated to a newer version keeps your options open.

Residential
Workplace
Commercial
Retail & Hospitality
EV Chargers
EV Adapter
EV Accessories
Home Charging
Business charging
Fast charging


