Generate SoftWare IDentification (SWID) Tags according to ISO/IEC 19770-2:2009
Switch branches/tags
Nothing to show
Latest commit 658abfd Dec 27, 2016 @r-brown r-brown committed on GitHub Update
Failed to load latest commit information.
src - fix HTTP429 for xmldsig May 17, 2015
.gitignore Update .gitignore Nov 30, 2014
.travis.yml Create .travis.yml Nov 30, 2014
LICENSE Initial commit Nov 30, 2014 Update Dec 27, 2016
pom.xml - update dependencies Oct 18, 2016

SoftWare IDentification (SWID) Tags Generator

Stories in Ready Build Status Maven Central

Generate SoftWare IDentification (SWID) Tags according to ISO/IEC 19770-2:2009

What are SWID Tags?

SoftWare IDentification (SWID) Tags record unique information about an installed software application, including its name, edition, version, whether it’s part of a bundle and more. SWID tags support software inventory and asset management initiatives. The structure of SWID tags is specified in international standard ISO/IEC 19770-2:2009.

Quick Start

The recommended way to get started using swid-generator in your project is by adding it as dependency in your build system:




dependencies {
    compile 'com.labs64.utils:swid-generator:0.3.0'


To generate SoftWare IDentification (SWID) Tag (gist):

// prepare SWID Tag processor
SwidProcessor processor = new DefaultSwidProcessor();
((DefaultSwidProcessor) processor).setEntitlementRequiredIndicator(true)
        .setProductVersion("2.1.0", 2, 1, 0, 0)
        .setSoftwareCreator("Labs64", "")
        .setSoftwareLicensor("Labs64", "")
        .setSoftwareId("NLIC", "")
        .setTagCreator("Labs64", "");

// create builder and pass processor as build param
SwidBuilder builder = new SwidBuilder();
SoftwareIdentificationTagComplexType swidTag =;

// output resulting object
SwidWriter writer = new SwidWriter();
StringWriter out = new StringWriter();
writer.write(swidTag, out);


...this generates the following SoftWare IDentification (SWID) Tag:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<software_identification_tag xmlns:ns2="" xmlns="">


This library requires J2SE 1.6 or never. All dependencies are handled by Maven.