Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



    This package binds OpenALPR with Node.js

    Version: 1.1.0 - Released January 4th, 2016

    1.1.1	- Fix for building on OSX
    1.1.0   - Updated OpenALPR to version 2.2, should fix Linux and OSX builds
    1.0.9	- Updated OpenALPR build and US region data
    1.0.7	- Added the capability to specify regions
    1.0.6	- Slowed down the event loop to 30 times per second
    1.0.1:5	- Documentation changes
    1.0.0	- Initial release

    Installation and Example

    Use npm to get the node-openalpr package. We'll attempt to use node-pre-gyp to compile from source, but if that's not possible we'll fallback to precompiled binaries.


    1. Install OpenALPR
    2. Run npm install node-openalpr


    1. Run npm install node-openalpr

    OS X

    1. Install OpenALPR
      • OpenALPR
      • using Homebrew(openalpr v2.2.0)
    2. Run npm install node-openalpr


    var openalpr = require ("node-openalpr");
    function identify (id, path) {
        console.log (openalpr.IdentifyLicense (path, function (error, output) {
            var results = output.results;
            console.log (id +" "+ output.processing_time_ms +" "+ ((results.length > 0) ? results[0].plate : "No results"));
            if (id == 349) {
                console.log (openalpr.Stop ());
    openalpr.Start ();
    openalpr.GetVersion ();
    for (var i = 0; i < 350; i++) {
        identify (i, "lp.jpg");


    This is a breakdown of all of the methods available for node-openalpr. Start needs to be called before any other method.

    • openalpr.Start ([config[, runtime[, count[, start_queue]]]]) - Initializes OpenALPR with default settings
      • config - Path to configuration file. On Windows defaults to the config file in node-openalpr directory, on Linux defaults to openalpr installation
      • runtime - Path to runtime data. On Windows defaults to "openalpr_runtime" folder in node-openalpr directory, on Linux defaults to openalpr installation
      • count - Number of concurrent OpenALPR processes to run - defaults to CPU core count
      • start_queue - Auto start queue monitoring thread - defaults to true
    • openalpr.Stop () - Stops the OpenALPR processes and clears out any queued images
    • openalpr.StartQueue () - Starts the OpenALPR queue monitoring thread (normally started automatically after calling Start ())
    • openalpr.StopQueue () - Stops the OpenALPR queue monitoring thread
    • openalpr.queueLoop () - Method used in checking queue - can be called manually if start_queue is false for finer control
    • openalpr.IdentifyLicense (path, options/callback[, callback]) - Begins the process of identifying a license from the given image, returns "working" or "queued" status result
      • path - Path to image - if image does not exist an exception will be thrown
      • callback/options - Additional options for the image or a callback
        • options.state (string) - State ("oh") license plates are in for additional validation
        • options.prewarp (string) - Prewarp configuration information
        • options.detectRegion (boolean) - Use detect region functionality of OpenALPR? (slower)
        • options.regions (array) - Specify the regions of the image to work on (format: [{ x: 0, y: 0, width: 0, height: 0 }, ...]
      • callback - Callback with results: function (errors, output)
    • openalpr.GetVersion () - Get the version of OpenALPR currently being run against

    How to Compile

    1. Download and install io.js v3.0.0+
    2. Download and install git
    3. Download and install cmake


    1. Download and install Visual Studio 2013/2015
    2. Run PowerShell ISE as an administrator and execute: Set-ExecutionPolicy RemoteSigned
    3. Run openalpr-install.ps1
    4. Take output from openalpr/windows/build/dist and put into "lib" and "release/win32" folder in node-openalpr
    5. Run npm install


    1. Run
    2. Run npm install

    Features, Bugs and Collaborating

    All of the code is provided as-is. We will not provide on-going support for any bugs that may be found. Please submit bug and features requests - we will review them but we do not garunteed that they will be addressed. Pull requests are welcome and we'll review them as quickly as we can.


    npm i node-openalpr

    Downloadsweekly downloads








    last publish


    • avatar