Skip to content

Nutrition Facts Label Tutorial


Ice cream calculator can create nutrition facts labels and ingredient lists. The calculated data can be saved or printed and can also be used with third-party label generator software.
This tutorial is targeted more at professionals than home users.

To be able to generate correct labels and ingredient lists there are several things you have to do.
• Make sure all nutrition information in your ingredients are correct.
• Fill in the correct amount of sub-ingredients for each ingredient.
• Add allergens to your ingredients.
• You need knowledge of the rules and regulations in your market.

So, you should not use the ingredients in the standard online database. These ingredients are general and does not have all the information you need. What you have to do is to build your own database of ingredients to be able to generate correct labels and ingredient lists.

Nutrition data

You should input accurate data for all the nutrients in the ingredients you use. You should follow the rules and regulations that apply. The only thing to note here is the “Nutrient label sugar”. This value is used for nutrition labels and is normally the same as Total sugars. But for some ingredients like Maltodextrin they are different.


So, what are sub-ingredients?
Simple ingredients like sugar, milk and cream usually does not have any sub-ingredients. For ingredients like this you just add it as it is to the sub-ingredients part of that ingredient.

You can do this by clicking the + button to the left of the Ingredients/Allergens button.
This will add the name of the ingredient as a 100% sub-ingredient.
If you don’t add any sub-ingredient the name of the ingredient itself will be used. (from v1.18)

Ok, now say you have made your own caramel and added that to the database.
The caramel is made of Sugar, Cream and Butter.
So, you need to add sugar, cream and butter to the ingredient list of your caramel in the correct amounts.

When creating the ingredient list of your ice cream recipe the Sugar, Cream and Butter will be summed in the correct amounts to make a minimal and correctly sorted ingredient list.

To clarify. Your ice cream has the following ingredients.
300g Milk (100% milk)
300g Cream (100% cream)
100g Sugar (100% sugar)
100g Caramel (50% sugar, 27.5% cream, 22.5% butter)
This gives a total of.
300g Milk
327.5g Cream
122.5 g Sugar
22.5g Butter
The ingredient list would be Cream, Milk, Sugar, Butter sorted by weight.

Another alternative is to write the ingredient list like this:
Milk, Cream, Sugar, Caramel (Sugar, Cream, Butter)
So, the sub ingredient of your Caramel you would add Caramel and then write the ingredients of the caramel in parentheses after “Caramel (Sugar, Cream, Butter)”
This will be treated as as one sub ingredient.

For even more complex ingredients this is probably what you will have to do unless you know exactly how that ingredient is made up.
Say you add Oreo Cookies to the database. The ingredient in the database will be Oreo Cookies. BUT the ingredient list for Oreo Cookies looks like this.
So, unless you know the exact percentage of all these sub-ingredients you will have to use the other method.

You can also set a sub ingredient as “Highlighted”. This can later be used when creating labels to format the sub ingredient bold and/or uppercase.


You should also add the allergens in your ingredients.

In this case the Oreos contains Wheat and Soybeans.

You can also add new allergens in this list. An allergen can be flagged as “Contains” or “Traces of”.

Database Handle Ingredients and Allergens

In the database dialog there are two buttons to handle ingredients and allergens.

These tools will help you find ingredients containing different sub-ingredients and allergens.
You can also use the Find sub ingredient and Find allergen inputs to filter the list.

Label Creation

Ok, now all your ingredients are filled in with the correct nutrition information, sub-ingredients and allergens and it is time to calculate nutrition labels and ingredient lists for your recipe.

On the left side you select the recipe to be used when creating labels. You can either select the current recipe or you can select from the recipe groups. More about recipe groups below.
You can also generate using the built-in editor to the right or by using a HTML file.


Highlighted Bold
This will make highlighted ingredients bold
Highlighted Uppercase
This will make highlighted ingredients uppercase
Add units to tags
This will add the unit after the value. This means you don’t need to add the unit to your template.
Net Weight
This is a percentage of the weight used to calculate the average weight.
Serving size
This is a free optional text used in the tag <SERVING_SIZE>
Servings per container
This is a free optional text used in the tag <SERVINGS_PER_CONTAINER>
Serving size weight
This is the serving size in grams. This value must be filled in for all the tags starting with <S_ and <DV_ to work. They are all used when creating labels based on serving size.
Container size
This is a free optional text used in the tag <CONTAINER_SIZE>
Container weight
This is a free optional text used in the tag <CONTAINER_WEIGHT>
User 1
Optional user text
User 2
Optional user text


A template is a document in the built-in editor with tags. The tags are then replaced with the calculated values. You can add and remove templates.


Tags are placeholders for calculated values. In the Insert drop down list you will have all available tags to use in your template document. Most tags are self-explanatory. Tags starting with <S_ are values calculated per serving size. Tags starting with <DV_ are the % Daily Value per serving size. (Based on the US regulations).

<TOTAL_FAT> is the total fat per 100g
<S_TOTAL_FAT> is the total fat per serving size weight
<DV_TOTAL_FAT> is the % daily value based on serving size


Pressing the Generate button will replace all the TAGS with calculated values. Pressing the button again will get you back to the template.


Pressing the info button will show the ingredient list with percentage information.

This is good to check to see if the calculations are valid.


There is also support for generating HTML based labels. The Sample HTML that is the default will generate a US based nutrition label.

Note! If you create your own HTML labels and would like to share them with other users please let me know and I can make it downloadable. I’m not an expert at HTML so any help is appreciated.

You can make your own HTML labels by placing the HTML file in this folder.
C:\ProgramData\Ice Cream Calculator\Templates
All files in this folder with the .html extension will be added to the list.
Tags in the HTML are different. They should be *TOTAL_FAT* instead of <TOTAL_FAT> because the <> will mess up the HTML syntax.


Recipe groups

A recipe group is a recipe made up of one or more other recipes. For example, say you are making an ice cream where you mix a vanilla ice cream and a chocolate ice cream and maybe add some add-ins as well. This can be handled using recipe groups.

Select the Use recipe groups and press the Add new group button.

This will open the dialog to edit and create one group. You can add recipes from file or you can add ingredients from the database and set the respective weights. So, let’s add a Vanilla, a Chocolate and some Cookies to this group. They are all save as separate recipe files.

So, now we have created a mixed ice cream recipe group from a vanilla ice cream a chocolate ice cream and a cookie add-in.
This is also what you need to do if you use add-ins in a recipe to be able to create nutrient labels for ice creams with add-ins properly. The add-ins added using the “normal” add-ins button in the main calculator window will not be included in the nutrient calculations.

This is how it looks after adding the group.
From here you can also Open group recipes. This button will open all the sub-recipes in separate tabs to view and edit. You can also press Check ingredients to see if any ingredients are not validated.
When creating your labels, you can also select the Quantity and Weight of each recipe group. This is very helpful if you for example use the calculator for making and selling pralines instead of ice cream. In this case each recipe group would be one praline and you could enter the quantity to fill a whole box of different pralines and make one single ingredient list for the whole box.

4 thoughts on “Nutrition Facts Label Tutorial”

  1. Hi,
    How do I open the label creator section?
    Also, is it possible to add mono-unsaturated and poly-unsaturated fat in the nutrition label?

    1. This tutorial is a bit outdated and for an older version of the software.
      But the label creation has been renamed to Reports. So in the main dialog press the Reports button.
      First, I don’t store info on mono-unsaturated or poly-unsaturated fats in the ingredients.
      So, to get this in the reports you must first add this yourself.
      In the Settings dialog you can define up to six user ingredient variables. So, you can use these for your purpose.
      This will also only work for you local user ingredients as you can not change the standard ingredients.
      After you set this up you can add this to the reports when creating labels.

  2. Amazing feature!
    Is there a way to maintain and generate the Nutrition Facts Label in multiple languages? Currently I need to do this for 3x languages for each recipe.

    This is the most time consuming thing ever!

    It would be great if I could manually add the translations for each ingredient in the Ingredients database so I can generate the label for multiple languages.

    1. Translating ingredients in the label system is a good idea. I’m not sure exactly how to implement this but I will think on it and try to find a solution.
      Also, translation of the standard ingredients are in the online language database so that should be ok.
      Translation of user ingredients is not supported and I will have to add that as well for this to work for you.
      Good ideas and I will certainly have a look at it.

Leave a Reply

Your email address will not be published. Required fields are marked *