Skip to content
GUI to create OPC UA models and export them as XML
Python Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
uamodeler another _recent_files fix May 25, 2019
.travis.yml move all tests to pytest Feb 7, 2019
LICENSE Initial commit Jul 26, 2016
Makefile adding a new node type works Jul 30, 2016 Fix markup typo Jun 12, 2019 initial UI Jul 30, 2016
example.xml Fix XML example Apr 24, 2017 add setup and files Aug 17, 2016
screenshot.png update screenshot Aug 21, 2016 new release Feb 21, 2019 add test for modifying structures Feb 9, 2019

Free OPC UA Modeler

Scrutinizer Code Quality Build Status Build Status

Free OPC UA Modeler is a tool for designing OPC UA address spaces. It uses OPC UA specified XML format which allows the produced XML to be imported into any OPC UA SDK.

Basic features of the modeler work, but this is a work in progress.
Bug reports and feature requests are welcome.

Ïn the background the modeler uses an OPC UA server which can be connected to. The server is either a python-opcua server (default) or the C based open65421 server. To use the open62541 backend, must be available as well as the its python wrapper.

Current state and plans can be found here:


Creating custom structures

The process of creatig custom structures is a bit different than in order modelers. Ideas and code to improve process is welcome

  1. Create a new namespace (Only ONE namespace is required, namespace one will be used)
  2. create a new data type under DataType / Structure
  3. populate data type with new variables using correct data type
  4. save

The new nodes under your custom Structure will not be saved in model but a new node called TypeDictionnay will be created and its value describe the custom nodes (As specified in UA specification). When reopening your model, the design nodes will be recreated on the fly and you can add/modify your custom structure

How to Install

Note: PyQT 5 is required.
Note: Python 3.6+ is required.


  1. Make sure python 3.6+ and python-pip is installed
  2. pip3 install opcua-modeler
  3. Run with: opcua-modeler


  1. Install winpython
  2. Use pip to install opcua-modeler: pip install opcua-modeler
  3. Run via the script pip created: YOUR_INSTALL_PATH\Python\Python35Python\Python35-32\Scripts\opcua-modeler.exe

To update to the latest release run: pip install opcua-modeler --upgrade

Development version

  1. git clone
  2. git clone
  3. export PYTHONPATH=$PWD/python-opcua;$PWD/opcua-widgets # let Python find the repositories or set PYTHONPATH=%PYTHONPATH%;%cd%\python-opcua;%cd%\opcua-widgets on Windows
  4. git clone
  5. cd opcua-modeler;
  6. 'python3' # or 'make run'
You can’t perform that action at this time.