Generate SoftWare IDentification (SWID) Tags according to ISO/IEC 19770-2:2009
Switch branches/tags
Nothing to show
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.

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.