5 Users / Year$0
DescriptionPrints Mailing Labels


Prints Mailing Labels - very very cool. Saves you such a lot of time. 

Other Tools

There are other mailing label tools, some paid, some free, some work with Dymo labels. I tried one that used old S-Controls that didn't work. I think this one is really easy and it's free. 




  • Use up as many of the 6 lines you want - it will work it out and only print 3 lines if you only have data in 3 of the fields. 
  • Sort by Postal Code then City so your letters go to the post office in the right order. 

Great Things

  • Does all Avery layouts
  • FREE
  • Easy to use


  • Only prints to PDF
  • Free version only does Contacts
  • Address Lines issue - see below. 


Now, there is a stupidly weird issue with Salesforce. So bizarre it's laughable.

Your Street field  is entered as

Level 1
10 Smith Street

In aiEasyLabel that will print as

Level 1 10 Smith Street

That is NOT ideal. 


I am too much of a perfectionist to let this go. 

So this lead me on a wild journey with a very weird work around. 

Even though there are 3 seperate address fields in Salesforce Reports, there is NO WAY to use any regular formula in Salesforce to FIND the linebreak and split the MailingStreet field into two fields. 

There are many ideas for how to do this with code or Visualforce or CSS. Plus a great idea from Rakesh Gupta for how to do something tricky with Process Builder. But I needed this sorted in a simple formula field. 

There are some very weird suggestions as to how to get around this issue - the comma's one is a beauty (read ugly). 

It is really easy to join two fields together with a line break, BTW, but aiEasyLabel does not even recognize line breaks - it prints them as 

Field One<br>Field Two

Now, here is the solution I used, thanks to this fab idea on Salesforce StackExchange

Formula Field: Mailing Line 1


  CONTAINS(MailingStreet, MID($Setup.Global__c.CRLF__c,3,1)), 
    FIND(MID($Setup.Global__c.CRLF__c,3,1), MailingStreet)


Formula Field: Mailing Line 2


  CONTAINS(MailingStreet, MID($Setup.Global__c.CRLF__c,3,1)), 




Then I set up a few other formulas.

Mailing Name

TEXT(Salutation)+ ' ' + FirstName + ' ' + LastName

Mailing Line 3

(using State and Country Picklists)

MailingCity + " " + TEXT(MailingStateCode) + " " + MailingPostalCode

Mailing Line 4



So, in aiEasyLabel I then added 6 fields. 

  1. Mailing Name
  2. Account Name
  3. Mailing Line 1
  4. Mailing Line 2
  5. Mailing Line 3
  6. Mailing Line 4

Order By

  1. Mailing Post Code
  2. Mailing City