Onboard processing

Labelling Fish Boxes and Crates at Sea

Updated 7 min readBy WPL Industries Engineering
Short answer

A fish box label should carry the lot number, species with scientific name, production method, FAO catch area, gear category, net weight, date marking, storage conditions and operator, as required by EU Regulations 1379/2013, 1169/2011 and 1224/2009. On board, thermal transfer printing on synthetic freezer-grade labels with a GS1-128 barcode is the robust choice.

What a fish box label must show

A fish box label must identify the lot and carry the information the next buyer needs to meet traceability and consumer information rules: species, production method, catch area, gear category, net weight, dates and the responsible operator. Exactly which items must be physically printed on the box, and which may travel in commercial documents, depends on whether the box is a trade unit for another food business or a prepack intended for the final consumer.

The table below maps common label items to their EU legal basis. It is a guide for designing label templates, not legal advice for a specific product.

Label item EU legal basis Notes
Lot identification Reg. 1224/2009, Art. 58(2) and 58(5)(a) Lots must be adequately marked; the lot number links the box to digital traceability data
Commercial designation and scientific name Reg. 1379/2013, Art. 35(1)(a) Traceability data also uses the FAO alpha-3 code (Art. 58(5)(d))
Production method Reg. 1379/2013, Art. 35(1)(b) "caught", "caught in freshwater" or "farmed"
Catch area Reg. 1379/2013, Art. 35(1)(c) and 38 FAO sub-area or division plus a consumer-understandable name for FAO areas 27 and 37
Fishing gear category Reg. 1379/2013, Art. 35(1)(c), Annex III For example trawls, seines, gillnets, hooks and lines
Defrosted indication Reg. 1379/2013, Art. 35(1)(d) With listed exceptions
Date of minimum durability or "use by" date Reg. 1379/2013, Art. 35(1)(e); Reg. 1169/2011, Art. 24 "Use by" for highly perishable food
Net quantity Reg. 1169/2011, Art. 9(1)(e), Annex IX For glazed food, net weight excludes the glaze
Date of freezing Reg. 1169/2011, Annex III point 6 and Annex X point 3 Frozen unprocessed fishery products: "Frozen on …" day, month, year
Storage conditions Reg. 1169/2011, Art. 9(1)(g) For example "Store at 0–2 °C" or "Store at −18 °C or colder"
Name and address of the food business operator Reg. 1169/2011, Art. 9(1)(h) The operator under whose name the food is marketed
Identification mark Reg. 853/2004, Annex II, Section I Where products leave an approved establishment; shows country and approval number

For prepacked food sold to another business before it reaches the final consumer, or supplied to mass caterers, Regulation (EU) No 1169/2011, Article 8(7), allows the mandatory particulars to appear in accompanying commercial documents, but the name of the food, the date marking, storage conditions and the operator's name must still appear on the external packaging. The consumer information items come from Article 35 of Regulation (EU) No 1379/2013. Fish is an allergen listed in Annex II of Regulation 1169/2011, but a separate allergen statement is not required where the name of the food clearly refers to it (Article 21(1)).

The data behind these items is captured during catch registration; see Catch Registration and Traceability from Haul to Harbour.

Barcodes and GS1 identifiers

A GS1 barcode lets the next operator scan a box and capture product, weight, lot and dates without retyping, which is why GS1-128 and GS1 DataMatrix symbols are widely used on fish cases and pallets. The data is encoded as element strings: a GS1 Application Identifier (AI) followed by its value.

AI Meaning Format
(01) Global Trade Item Number (GTIN) 14 digits
(3103) Net weight in kilograms, three decimals (variable measure) 6 digits
(10) Batch or lot number Up to 20 alphanumeric characters
(13) Packaging date YYMMDD
(15) Best before date YYMMDD
(17) Expiration date YYMMDD
(7005) Catch area Up to 12 alphanumeric characters
(7006) First freeze date YYMMDD
(7009) Fishing gear type Up to 10 alphanumeric characters
(7010) Production method Up to 2 alphanumeric characters
(00) Serial Shipping Container Code (SSCC), for pallets and logistic units 18 digits

Formats from the GS1 Application Identifiers reference. The fishery AIs 7005–7010 must be used together with a GTIN or with the identification of logistic unit contents. A variable-weight box of fish typically combines (01), (3103) and (10), plus a date. Article 39(2) of Regulation 1379/2013 also allows a QR code to carry part or all of the mandatory consumer information, in addition to, not instead of, the printed text.

Practical rules for scannable labels

  • Put fixed-length AIs such as (01), (3103) and (15) first and variable-length AIs such as (10) last, so no separator character is needed after them.
  • Keep the full quiet zone clear on both sides of a linear barcode; a label edge or a strap across the code causes read failures.
  • Print the human-readable interpretation with the AIs in brackets under the bars, so the data can be keyed in if a code is damaged.
  • Verify barcodes with a scanner at the start of every trip and after changing label stock or ribbon.

Thermal printers and labels in wet, cold conditions

On a fish deck, thermal transfer printing on synthetic labels with a freezer-grade adhesive is the robust choice; direct thermal paper labels suit short-lived, dry applications. The difference matters because a label that fades, smears or falls off makes the lot untraceable.

Direct thermal printing uses heat-sensitive media that darkens under the printhead; according to Zebra's technical FAQ, it is sensitive to heat, light and abrasion. Thermal transfer uses a heated ribbon to transfer ink to the label and is listed for cold storage and freezer applications.

Choice Direct thermal Thermal transfer
Consumables Labels only Labels and ribbon
Label materials Coated heat-sensitive paper or film Paper, polypropylene, polyester and other synthetics
Resistance to abrasion, heat, light Limited Good, especially with resin ribbons
Typical use on fishing vessels Short-life internal tickets Box, crate and pallet labels for fresh and frozen product

Installation on board

  • Adhesive is often the weak point. Standard adhesives do not bond to cold, wet or iced surfaces. Specify the application temperature (the temperature of the box when labelled) and the service temperature (hold or cold store) with the label supplier.
  • Apply to a dry spot. Label a defined, wiped area of the box or crate, or use a tag or insert where surfaces are always wet.
  • Protect the printer, not only the label. Most label printers are office or industrial devices without a high degree of protection against water; place them in a sheltered, drained enclosure away from direct wash-down. Ingress protection codes are defined in IEC 60529.
  • Watch condensation. Moving a cold printer or label roll into warm, humid air causes condensation on the printhead and media.
  • Choose resolution for the smallest element. Common printheads are 8 dots/mm (203 dpi) and 12 dots/mm (300 dpi). Higher resolution helps for small text and 2D codes.

Materials and wash-down design are covered in more depth on the hygiene and materials hub.

Designing labels in ZPL

ZPL (Zebra Programming Language) describes a label as a sequence of text commands, which makes it well suited to templates where a scale fills in weight, lot and date at print time. Most ZPL commands consist of a caret character followed by a short code; in the table below the caret is left out for readability. A label starts with the XA command and ends with XZ, and each field has a position, a font or barcode command and its data.

Command (after the caret) Purpose
XA / XZ Start and end of label format
CI28 Select UTF-8 character encoding (needed for characters such as ø, å, é)
PW Print width in dots; a 100 mm wide label at 8 dots/mm is 800 dots wide
LL Label length in dots
FO Field origin: horizontal and vertical position in dots from the top-left corner
A0 Scalable font, with orientation, character height and width in dots
FDFS Field data and field separator
BY Barcode module width (narrow bar) in dots
BC Code 128, with orientation, bar height, human-readable line and mode; mode D is the UCC/EAN (GS1-128) mode

In mode D the printer starts the symbol with FNC1, strips the brackets from the encoded data and prints them in the human-readable line; a special invocation code inserts an FNC1 separator after a variable-length AI when another AI follows (Zebra ZPL documentation, Code 128 command). The illustrative layout below is for a 150 × 100 mm label on an 8 dots/mm printer, which gives a print width of 1,200 dots and a label length of 800 dots. The GTIN is an example number, not a real product.

Field Position from top-left (dots) Font or barcode Content
Species 60 across, 40 down Scalable font, 56 dots high Atlantic cod – Gadus morhua
Origin 60 across, 110 down Scalable font, 36 dots high Caught – North Sea (FAO 27.4) – Trawls
Weight and date 60 across, 160 down Scalable font, 36 dots high Net weight: 5.120 kg Frozen on: 14.09.2026
Lot and storage 60 across, 210 down Scalable font, 36 dots high Lot 2609014 Store at −18 °C or colder
Barcode 60 across, 300 down Code 128 in mode D, module width 3 dots, bars 200 dots high, human-readable line printed (01)99506000134355(3103)005120(10)2609014

With a module width of 3 dots on an 8 dots/mm printer, each narrow module is 0.375 mm wide. Check that the complete symbol, including quiet zones, fits the label width before sending the template to the vessel. In a live template, the weight, lot and date fields are variables filled by the scale or registration system rather than fixed text.

How WPL approaches this

The R10 Configuration Panel lets users create and manage custom labels in ZPL with a preview function, so the layout can be checked before printing and less label stock is wasted. Once a design is complete, the panel is connected to the printer via USB to upload the label, and the label is assigned to the correct preset. Scales such as the M2 Series Marine Scale connect to label printers, and the R50 Catch Label System combines catch registration with labelling. Which label content a given product and market requires remains the responsibility of the operator. See also the onboard processing hub and the data integration hub.

Frequently asked questions

Can a QR code replace the printed consumer information?

No. Article 39(2) of Regulation 1379/2013 allows a QR code to outline part or all of the mandatory information listed in Article 35(1), but it does so as additional voluntary information. The mandatory items still have to be shown by appropriate marking or labelling, and voluntary information may not reduce the space available for the mandatory items.

Which barcode should a variable-weight fish box carry?

A common choice is a GS1-128 barcode with AI (01) for the GTIN, AI (3103) for net weight in kilograms with three decimals, AI (10) for the lot and a date such as AI (15) best before or AI (13) packaging date. Fishery-specific AIs such as 7005 catch area and 7009 gear type can be added when trading partners use them.

Why do labels fall off boxes in the fish hold?

Usually the adhesive was not rated for the application or service temperature, or the label was applied to a wet or iced surface. Standard adhesives do not bond reliably below freezing or on condensation. Use labels specified for freezer application, apply them to a dry, defined area, and test the complete combination of box material, label and ribbon.

Why does a ZPL label need the CI28 encoding command?

The CI28 command tells the printer to interpret field data as UTF-8, so characters used in European species names and addresses, such as ø, å, ü or é, print correctly. It is supported in newer Zebra firmware. Without it, special characters may print as wrong symbols, which can make species names or operator addresses on the label incorrect.

Sources

  1. Regulation (EU) No 1379/2013, Articles 35, 38, 39 and Annex III (EUR-Lex)
  2. Regulation (EU) No 1169/2011 on the provision of food information to consumers (EUR-Lex)
  3. Council Regulation (EC) No 1224/2009 as amended by Regulation (EU) 2023/2842, Article 58
  4. Regulation (EC) No 853/2004, Annex II Section I (identification marking)
  5. GS1 Application Identifiers
  6. GS1 Foundation for Fish, Seafood and Aquaculture Traceability Guideline
  7. Zebra ZPL Programming Guide: BC Code 128 bar code
  8. Zebra ZPL Programming Guide: CI change international font/encoding
  9. Zebra: Difference between direct thermal and thermal transfer printing
  10. IEC 60529 Degrees of protection provided by enclosures (IP Code)

Written and reviewed by WPL Industries weighing engineers. Technical and regulatory content is checked against the cited sources. Editorial policy

Talk to an engineer

Tell us what you weigh and where

Every vessel is different. Share your application and we will recommend a scale, platform size and options – with a no-obligation quote.