We use Avery labels with regular printers which makes using IIQ for labels nearly impossible.
Brand: Toshiba or HP
Model: Varies throughout the district
Size: 1” x 2 5/8”
We use Dymo LabelWriter 450 Twin Turbo and I can not get it to print to the right side, it only prints to the left roll. It does not fit on the label and looks terrible compared to what I print from my database. Maybe Incident IQ was not the way to go yet.
Anyone having issues with labels fading (due to thermal paper/labels)?
Did this thread lead to any products improvements that I may have missed?
@William Gibson Thank you for your comment; this post was to gather information from our users about which printers they use. Our team is still looking into solutions to help make this process more effective and efficient for our districts. 😄
@Kathryn Carter Thanks for the update.
Some of the improvements we would benefit from include:
- Being able to define the label size
- Choose what fields are barcoded
- Field/barcode alignment/orientation/sizing/formatting
How do you change the label size in the program? We have WPL305 printers which worked great but couldn’t find the right size label of 1 1/8 x 3 ½ Would love to use the printer again!
Is there any support for printing them on label paper in a regular printer? For Example we use Avery 5160 Paper for name tags and replacement barcodes. Would we be able to print them from IIQ with this paper?
@RWinchester 977ad07 bcsc Thank you for adding your feedback. Here is an idea you can upvote about printing asset tags on Avery Labels -
Dymo LabelWriter 450 Turbo with 30336 1” x 2 1/8” labels.
We would love a feature to print on Avery sheets of labels.
I have used the Dymo LabelWriter 450 label 30334 and still have some schools that use it but have had the labels fade out in a few months because of heat from the devices.
Currently I am using a Wasp WPL-308 label size 2.25 x 1.25. printing the label with dual technoloy.
We also worked with IncidentIQ support when we first migrated to finesse the built in label to fit the 30334 label from Dymo.
Would like too see the possiblity of moving to a 2D barcode some manufacturers are getting carried away with the serial number lenghts
We use a Brother QL-600
Label size is 1.1in x 2.4in
Need more options to customize printing like quality, margins

Rhetorical questions for the team:
Why not fill the label?
Why not crisp image? (it’s not the device, separate jobs do not do this)
Why so close to the top?
Why those dots along the bottom left/right of the asset #?
Bonus: Could use the extra L/R space for vertical text (possibly repeated, possibly person ID #….would like the ability to customize)
Hopefully this helps with the name getting cut off. We had the same problem and was able to fix it by selecting custom margin and bringing the top margin down as far as it allowed and now the name is not getting cut off. We also checked off Background graphics which also improved it

Thanks, everyone, for your continued feedback on this thread! 😄
Brand: Zebra
Model: ZD621
Label Dimensions: 3in x 1in
How about you set your labels in the system to a standard label setting, so we can print on any type of printer and not a specific label printer? Avery is pretty much the standard
@DAdmin 5004319 smithfield-ps Thanks for your feedback. Please check out and upvote this idea to do just that:
@William Gibson
All great questions and thank you for your input. Our team is looking into all these issues and how we can improve printing asset labels.
Hi Hannah,
Do you know of any active conversations surrounding improving label generation?
As a very visible/functional part of the asset management lifecycle I’d very much like to see this improved (and contribute where possible).
Is anyone using a portable label makers? something that they can carry in a backpack? that will connect to a laptop to use the IIQ labels?
Dymo LabelWriter 550 with Dymo durable 1 in x 2 1/8 in labels.
We use these, too.
That said, we would most prefer the abilty to export groups of labels to Avery templates, so we can print many labels economically.
I was able to get a brother label maker that has a phone app, this has worked for our needs

Rhetorical questions for the team:
Why not fill the label?
Why not crisp image? (it’s not the device, separate jobs do not do this)
Why so close to the top?
Why those dots along the bottom left/right of the asset #?
Bonus: Could use the extra L/R space for vertical text (possibly repeated, possibly person ID #….would like the ability to customize)
I would still like to see additional work done on asset labels.
Currently: Asset Tags are one of the most visible aspects of IIQ in our environment, they are user facing, and offer key identification details. In our experience print layouts and print quality have been limited.
Improvement: 1-The customer should be given extremely flexible control over label design (similar to working in Google Slides/Microsoft Publisher). There is currently a lot of wasted space on labels. A specific design element we would benefit from is a horizontal and vertically printed asset tag number. This increases the likelihood of a damaged label being able to be read. Font selection is also important. Sans-serif/bold letters are more readable.
2-The quality of the asset tag print is important. We are using Zebra printers which provide excellent print quality, but not when used with our IIQ configuration.
The above image is similar to @SMillsTVSD contribution (who is not using Zebra), but perhaps both suffer from similar hardware interpretations of the print job that are expressed here:
https://github.com/john-stephens/zebra-mac-label-automator?tab=readme-ov-file
Link-TLDR; The Zebra printer is very picky about image size and colors that are not black or white. Simply resizing your label or using anti-aliasing will introduce gray colors and result in a blurry print. Your label may even have gray colors to begin with.
We’re experiencing the same issues as well. We use 2x1 labels on a Zebra ZD printer. The left photo is the IIQ generated tag and the right is the Zebra Designer generated tag.

Side note, the goofy looking label is so we can fold it around the edge of a Chromebook and scan them without having to open them all or “de-case” them.

Suffice it to say we’re a little bit disappointed in the quality of the IIQ generated labels. I can’t get any CODE128 barcodes to scan on a 2” label. QR codes will usually scan, but the quality of the rest of the text is a non-starter.
Thankfully the IIQ API is useable enough that I’m just syncing our assets to a local database that I can point ZDesigner at and get our data for the labels. It’s not as portable as a browser based solution, but it gets the job done.
<?php
if (php_sapi_name() != 'cli') {
exit('ERROR: Not in CLI mode' . PHP_EOL);
};
$bearerToken = '########';
$baseURL = 'https://yourinstance.incidentiq.com/api/v1.0';
$assetStatusTypeURL = $baseURL . '/assets/status/types';
$assetQueryBaseURL = $baseURL . '/assets/assetstatustype/';
function getIIQData($url, $bearerToken){
$authorization = 'Authorization: Bearer ' . $bearerToken;
// Initiate curl
$ch = curl_init();
// Will return the response, if false it print the response
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json' , $authorization ));
// Set the url
curl_setopt($ch, CURLOPT_URL,$url);
// Execute
$result=curl_exec($ch);
// Closing
curl_close($ch);
//var_dump(json_decode($result, true));
return json_decode($result);
};
$assetStatusTypes[] = getIIQData($assetStatusTypeURL, $bearerToken);
//var_dump($assetStatusTypes[0]->Items);
$assetStatusTypes=$assetStatusTypes[0]->Items;
//var_dump($assetStatusTypes);
$i=0;
$assets=[];
foreach($assetStatusTypes as $typekey => $value){
$assetsData=[];
$assetsRawData=[];
echo $assetStatusTypes[$typekey]->Name ."\n";
$assetStatusType=$assetStatusTypes[$typekey]->Name;
//query paging info
$assetQueryURL = $assetQueryBaseURL . $assetStatusTypes[$typekey]->AssetStatusTypeId."?\$s=200";
$assetsPagingData[$i]=getIIQData($assetQueryURL, $bearerToken);
$pages=$assetsPagingData[$i]->Paging->PageCount;
echo "--------------Pages: ".$pages."\n";
//download the data from each page
$k=0;
for($x=0;$x<$pages;$x++){
$assetsData=[];
$assetsRawData=[];
$assetQueryURL = $assetQueryBaseURL . $assetStatusTypes[$typekey]->AssetStatusTypeId."?\$p=".$x."&\$s=200";
echo $assetQueryURL."\n";
$assetsRawData[]=getIIQData($assetQueryURL, $bearerToken);
//var_dump($assetsRawData[0]->Items[3]->SerialNumber);
$assetsRawData=$assetsRawData[0]->Items;
//var_dump($assetsRawData);
foreach($assetsRawData as $assetkey => $value){
if (isset($assetsRawData[$assetkey]->SerialNumber)){
$assetsData[$k]["SerialNumber"]=$assetsRawData[$assetkey]->SerialNumber;}
if (isset($assetsRawData[$assetkey]->Location->Name)){
$assetsData[$k]["Building"]=$assetsRawData[$assetkey]->Location->Name;
}
else $assetsData[$k]["Building"]=NULL;
if (isset($assetsRawData[$assetkey]->AssetTag)){
$assetsData[$k]["AssetTag"]=$assetsRawData[$assetkey]->AssetTag;
//USE FOR CREATING A SHORT ASSET TAG FIELD i.e. CB-L-CART-Q-04 will be trimmed to Q-04
if(strpos($assetsData[$k]["AssetTag"],"CB-L-CART") !== false || strpos($assetsData[$k]["AssetTag"],"CB-R-CART")!== false)
{ $assetsData[$k]["AssetTagShort"] = substr($assetsData[$k]["AssetTag"], -4);
echo $assetsData[$k]["AssetTag"]."\n";}
else $assetsData[$k]["AssetTagShort"]=NULL;
}
if (isset($assetsRawData[$assetkey]->LocationRoom->Name)){
$assetsData[$k]["Room"]=$assetsRawData[$assetkey]->LocationRoom->Name;
if(is_numeric($assetsData[$k]["Room"])){$assetsData[$k]["Room"]="Room ".$assetsData[$k]["Room"];}
}
else $assetsData[$k]["Room"]=NULL;
$assetsData[$k]["Status"]=$assetStatusType;
$k++;
}
unset($assetsRawData);
//var_dump($assetsData);
$assets=array_merge($assets,$assetsData);
}
//var_dump($assetsData);
unset($assetsData);
$i++;
}
//var_dump($assets);
$iiqdbserverName = "###";
$iiqdbusername = "###";
$iiqdbpassword = "###";
$iiqdbdatabase = "###";
$iiqtable = "###";
$iiqdbconnectionInfo = array("Database" => $iiqdbdatabase, "UID" => $iiqdbusername, "PWD" => $iiqdbpassword);
$iiqdbconn = sqlsrv_connect($iiqdbserverName, $iiqdbconnectionInfo);
if($iiqdbconn){
$sql = "delete from " . $iiqtable;
sqlsrv_query($iiqdbconn, $sql);
}
foreach($assets as $row){
if(isset($row['Room'])){$room="'" . $row['Room']. "',";}
else $room="NULL,";
if(isset($row['Building'])){$building="'" . $row['Building']. "',";}
else $building="NULL,";
if(isset($row['AssetTagShort'])){
$assetTagShort="'" . $row['AssetTagShort']. "',";}
else $assetTagShort="NULL,";
$sql = "INSERT INTO " . $iiqtable . " (serialNumber, assetId, assetIdShort, building, room, status)
VALUES ('" . $row['SerialNumber'] . "', '" . $row['AssetTag']. "',".$assetTagShort . $building . $room."'" . $row['Status']."')";
//echo $sql . "\n";
if($iiqdbconn){
sqlsrv_query($iiqdbconn, $sql);
}
}
?>
It’s not pretty, but it works.
Along the lines of portability and correcting the problem at hand. Is implementing something like QZtray on the IIQ side of things in the realm of possibilities? From what I’m reading in the docs, that would get pretty close to universal support for label printers and other doo dads...just a thought.
I’m not familiar with QZtray, but our staff are on Chromebooks, so our hope is that improvements would be friendly to this Agent deployment model.
I was able to get a brother p-touch edge printer and with it app for the phone I am able to make the labels that I need.