The most complete OPC UA stack for Node.js and the browser, written in TypeScript.
- Full OPC UA stack — Client, Server, Discovery, and Aggregation in a single toolkit
- Security first — Supports all OPC UA security policies, encrypted communication, and certificate management out of the box
- Cross-platform — Runs on Windows, Linux, macOS, and in the browser
- Modular architecture — Use only the packages you need, from a lightweight client to a full-featured server
- Battle-tested — Trusted in production by industrial companies worldwide
- Well documented — Comprehensive book, API reference, tutorials, and guided examples
$ mkdir myproject
$ cd myproject
$ npm init
$ npm install node-opcua$ npm install node-opcua-samples
$ ./node_modules/.bin/simple_server$ ./node_modules/.bin/simple_client -e "opc.tcp://opcuademo.sterfive.com:26543"- Node.js 20 or above is required.
NodeOPCUA by Example — The best starting point. Dozens of practical, ready-to-use, and fully documented examples.
- Create a Server
- Create a Client in TypeScript
- Role-Based Security & User Management (OPC 10000-18)
- More advanced examples and training material are available for NodeOPCUA Subscription members
Need help with your OPC UA project? Sterfive offers professional support and consulting for node-opcua.
📧 Contact: contact@sterfive.com · 🌐 sterfive.com
node-opcua-modeler-mcp-server — An MCP server that gives AI agents access to the OPC UA companion specification type system. Discover types, resolve namespace dependencies, and look up engineering units — all from your AI coding assistant.
npx node-opcua-modeler-mcp-serverOPC UA Modeler — Create, validate, and generate OPC UA information models using a YAML-first workflow with full companion spec support.
node-opcua implements a comprehensive set of OPC UA services, transport protocols, security policies, and server/client profiles.
👉 View the full supported features matrix
- Improved documentation and more tutorials
- Compliance testing and certification (CTT)
- Support for redundancy
- Session-less transactions
- JTokens and OAuth
Want to influence the roadmap? Contact Sterfive.
node-opcua is funded entirely by its users. If you use node-opcua in your project, please consider supporting its continued development:
Your sponsorship ensures long-term maintenance, new features, bug fixes, and representation of the node-opcua community at the OPC Foundation.
This project exists thanks to all the people who contribute.
We welcome contributions! Here's how to get started with the source:
$ git clone git://github.com/node-opcua/node-opcua.git
$ cd node-opcua
$ npm install -g pnpm
$ pnpm install
$ pnpm recursive install
$ pnpm build$ node packages/node-opcua-samples/bin/simple_server$ node packages/node-opcua-samples/bin/simple_client.js -e "opc.tcp://opcuademo.sterfive.com:26543"node-opcua is MIT licensed.
- You can freely use it in open-source and commercial applications.
- You must include the copyright notice in all copies or substantial portions of the software.
- node-opcua comes without any warranty of any kind.
You are strongly encouraged to join the NodeOPCUA Membership for additional benefits and support.
Copyright © 2014-2026 Sterfive SAS — 833264583 RCS ORLEANS — France (sterfive.com)
