Our verdict
Is Millie's Wolfheart Surf & Turf a good dog food?
We score it 70/100 (Good). This reflects the ingredient quality, composition and label transparency of the recipe as declared on the label.
Complete extruded dry food for adult dogs, with fish meal, salmon and beef as the main ingredients.
Who is this food for?
Suits
- Labelled by the manufacturer for adult dogs
- Grain-free: no grain ingredients listed
- Doesn't list chicken, turkey, lamb, venison, duck as ingredients
Consider something else if:
- Your dog avoids beef: the label lists beef
- Your dog avoids fish: the label lists fish meal
- Your dog avoids pork: the label lists pork
- You want a single-protein recipe: this one lists more than one animal protein
These points are derived from declared ingredients and analysis, not a substitute for veterinary advice. If your dog has a diagnosed condition, food choice is a medical nutrition decision: speak to your vet. Find foods that fit your dog.
Nutrition and feedingProtein 34% · Fat 14%
Typical analysis (as fed)
| Nutrient | As fed |
|---|---|
| Protein | 34% |
| Fat | 14% |
| Fibre | 2% |
| Ash | 10.50% |
| Moisture | 8% |
| Omega-3 fatty acids | 0.80% |
| Omega-6 fatty acids | 1.40% |
| Calcium | 2% |
| Phosphorus | 1.60% |
Energy: 372.5 kcal/100g
Additives & feeding info
Additives declared on the label
Nutritional additives
Vitamin A 14,433 IU; Vitamin D3 1,346 IU; Vitamin E 96 IU; Zinc (Zinc Sulphate Monohydrate) 48 mg; Iron (Iron (II) Sulphate Monohydrate) 48 mg; Manganese (Manganous Sulphate Monohydrate) 34 mg; Copper (Copper (II) Sulphate Pentahydrate) 5 mg; Iodine (Calcium Iodate Anhydrous) 0.96 mg
Ingredients (26)22% of the recipe is estimated
Estimated composition
- meat 63.5%
- veg 13.2%
- carb 11.5%
- oil 6.5%
- supplement 3.6%
- fibre 1.6%
| # | As declared | Matched | Label reading | Declared % | Est. % |
|---|---|---|---|---|---|
| 1 | Dried Fish (17%) | Fish Meal | meat · medium | 17 | 17.0 |
| 2 | Dried Salmon (13%) | Salmon | meat · good | 13 | 13.0 |
| 3 | Freshly Prepared Beef (8%) | Beef | meat · medium | 8 | 8.0 |
| 4 | Freshly Prepared Scallops (8%) | Freshly Prepared Scallops | meat · good | 8 | 8.0 |
| 5 | Freshly Prepared Whelk (8%) | Freshly Prepared Whelk | meat · good | 8 | 8.0 |
| 6 | Freshly Pepared Pork (8%) | Pork | meat · medium | 8 | 8.0 |
| 7 | Sweet Potato (8%) | Sweet Potatoes | carb · good | 8 | 8.0 |
| 8 | Potato | Potatoes | carb · medium | - | 1.8 |
| 9 | Tapioca | Tapioca | carb · medium | - | 1.7 |
| 10 | Chickpeas | Chickpeas | veg · good | - | 1.7 |
| 11 | Pork Fat (5.5%) | Pork Fat | oil · medium | 5.5 | 5.5 |
| 12 | Salmon Gravy (1.5%) | Salmon | meat · good | 1.5 | 1.5 |
| 13 | Tomato Pomace | Tomato Pomace | fibre · medium | - | 1.6 |
| 14 | Salmon Oil (1%) | Salmon Oil | oil · good | 1 | 1.0 |
| 15 | Minerals | Vitamins and minerals | supplement · medium | - | 1.6 |
| 16 | Mixed Herbs | Herbs | veg · medium | - | 1.5 |
| 17 | Dried Apple | Apples | veg · good | - | 1.5 |
| 18 | Burdock Root | Burdock Root | veg · good | - | 1.4 |
| 19 | Dried Camomile | Chamomile | veg · good | - | 1.3 |
| 20 | Dried Carrot | Carrots | veg · good | - | 1.3 |
| 21 | Dried Cranberry | Cranberries | veg · good | - | 1.2 |
| 22 | Dried Dandelion | Dandelion Root | veg · good | - | 1.2 |
| 23 | Aniseed & Fenugreek | Fenugreek | veg · good | - | 1.1 |
| 24 | Dried Seaweed | Dried Sea Algae | supplement · good | - | 1.1 |
| 25 | Dried Peppermint | Peppermint | veg · good | - | 1.0 |
| 26 | Yucca Extract | Yucca Schidigera | supplement · good | - | 1.0 |
- 1. Dried Fish (17%)17% declared17.0% estimated
- 2. Dried Salmon (13%)13% declared13.0% estimated
- 3. Freshly Prepared Beef (8%)8% declared8.0% estimated
- 4. Freshly Prepared Scallops (8%)8% declared8.0% estimated
- 5. Freshly Prepared Whelk (8%)8% declared8.0% estimated
- 6. Freshly Pepared Pork (8%)8% declared8.0% estimated
- 7. Sweet Potato (8%)8% declared8.0% estimated
- 8. Potato1.8% estimated
- 9. Tapioca1.7% estimated
- 10. Chickpeas1.7% estimated
- 11. Pork Fat (5.5%)5.5% declared5.5% estimated
- 12. Salmon Gravy (1.5%)1.5% declared1.5% estimated
- 13. Tomato Pomace1.6% estimated
- 14. Salmon Oil (1%)1% declared1.0% estimated
- 15. Minerals1.6% estimated
- 16. Mixed Herbs1.5% estimated
- 17. Dried Apple1.5% estimated
- 18. Burdock Root1.4% estimated
- 19. Dried Camomile1.3% estimated
- 20. Dried Carrot1.3% estimated
- 21. Dried Cranberry1.2% estimated
- 22. Dried Dandelion1.2% estimated
- 23. Aniseed & Fenugreek1.1% estimated
- 24. Dried Seaweed1.1% estimated
- 25. Dried Peppermint1.0% estimated
- 26. Yucca Extract1.0% estimated
Trust and sourceNo recalls recorded in our database · checked 2026-09-14
Brand and contact: Millie's Wolfheart
- Phone
- 0800 612 4655
- Contact page
- www.millieswolfheart.co.uk
Trust and provenance
- Recall history
- No recalls recorded in our database
- Label data last checked
- 2026-09-14
- Scored with
- Model v3 (methodology)
- Product page
- www.millieswolfheart.co.uk
Recall history is presentation-only and never affects the score. Dates are when we recorded the data, not when the manufacturer last changed the recipe.
Spotted a mistake in this listing? Report it here and we'll take a look.
Score details and methodologyCalculations, history and evidence
Recipe: how the 1-100 score is calculated
Why this score?
This recipe achieves an overall score of 70 out of 100. The overall quality of the ingredient list contributed +6.9 points and the meat content contributed +5.9 points. However, the processing format adjusted the score by -6.7 and ingredients without printed percentages contributed -2.3 points.
Scored with model v3 on 2026-10-25. Each component is the feature value for this product multiplied by the model's published coefficient.
| Component | Input | Coefficient | Contribution |
|---|---|---|---|
| Base score | - | 30.909 | +30.91 |
| Average ingredient quality | 0.7 | 9.191 | +6.88 |
| Meat share of dry matter | 61.9% | 0.096 | +5.94 |
| Carb share of dry matter | 4.9% | -0.115 | -0.56 |
| Oil share of dry matter | 10.9% | -0.092 | -1.00 |
| Vegetable share of dry matter | 14.3% | -0.005 | -0.07 |
| Supplement share of dry matter | 5.6% | -0.012 | -0.07 |
| Undeclared quantities | 22.0% | -0.106 | -2.32 |
| Complete diet | yes | 2.294 | +2.29 |
| High meat (30%+ of dry matter) | yes | 0.707 | +0.71 |
| Processing multiplier | 0.98 | 33.786 | +33.11 |
| Processing: Dry Extruded | yes | -6.713 | -6.71 |
Show all 40 components
| Component | Input | Coefficient | Contribution |
|---|---|---|---|
| Base score | - | 30.909 | +30.91 |
| Average ingredient quality | 0.7 | 9.191 | +6.88 |
| Meat share of dry matter | 61.9% | 0.096 | +5.94 |
| Carb share of dry matter | 4.9% | -0.115 | -0.56 |
| Oil share of dry matter | 10.9% | -0.092 | -1.00 |
| Vegetable share of dry matter | 14.3% | -0.005 | -0.07 |
| Additive share of dry matter | 0.0% | 0.163 | +0.00 |
| Supplement share of dry matter | 5.6% | -0.012 | -0.07 |
| Other share of dry matter | 0.0% | -0.375 | +0.00 |
| Unrecognised share of dry matter | 0.0% | -0.027 | +0.00 |
| Recipe graded poor | 0.0% | -0.065 | +0.00 |
| Poor-quality meat in recipe | 0.0% | -0.179 | +0.00 |
| Number of poor ingredients | 0 | -0.876 | +0.00 |
| Largest single poor ingredient | 0.0% | 0.060 | +0.00 |
| Undeclared quantities | 22.0% | -0.106 | -2.32 |
| Prints ingredient percentages | no | 0.000 | +0.00 |
| Complete diet | yes | 2.294 | +2.29 |
| Frozen or chilled fresh | no | 0.000 | +0.00 |
| High meat (30%+ of dry matter) | yes | 0.707 | +0.71 |
| Low meat (under 10% of dry matter) | no | -3.158 | +0.00 |
| High carb and low meat | no | -1.180 | +0.00 |
| Meat share × printed percentages | 0.0 | 0.000 | +0.00 |
| Meat share × fresh | 0.0 | 0.000 | +0.00 |
| Fresh × high meat | 0.0 | 11.084 | +0.00 |
| Additive penalty | 0.00 | 0.222 | +0.00 |
| Processing multiplier | 0.98 | 33.786 | +33.11 |
| Processing: Raw | no | -0.054 | +0.00 |
| Processing: Fresh Chilled | no | -2.354 | +0.00 |
| Processing: Fresh Frozen | no | -2.354 | +0.00 |
| Processing: Fresh Refrigerated | no | 0.000 | +0.00 |
| Processing: Fresh Shelf | no | -0.672 | +0.00 |
| Processing: Dry Freeze Dried | no | 6.629 | +0.00 |
| Processing: Dry Air Dried | no | 6.331 | +0.00 |
| Processing: Dry Cold Pressed | no | -6.713 | +0.00 |
| Processing: Dry Baked | no | -6.713 | +0.00 |
| Processing: Dry Extruded | yes | -6.713 | -6.71 |
| Processing: Dry Semi Moist | no | -6.174 | +0.00 |
| Processing: Dry Muesli | no | -10.146 | +0.00 |
| Processing: Wet Pate | no | -0.672 | +0.00 |
| Processing: Wet Chunks | no | -0.672 | +0.00 |
- Processing-type offset
- +0.02
- Additives declared on label
- +1 transparency bonus
- Subtotal
- 70.1
- Final score
- 70/100
Contributions are rounded to two decimals, so they may not sum exactly to the subtotal. The full coefficient table is published on the methodology page.
Score history across model versions
The score shown above is always computed with the latest published model. Earlier scores are kept for the record and are never edited or deleted; a scoring change ships as a new model version with a public write-up on the methodology page.
Nutritional: declared analysis vs reference ranges
How the declared analysis compares with FEDIAF reference ranges for adult dogs. The label prints as-fed values; we convert to a dry-matter basis before scoring, and the bands are dry-matter ranges. Scores rise to 100 at the band midpoint: the reference is adequacy, not maximisation. Nutrients with a published upper limit taper again above it; fat is policed through calorie density rather than a direct penalty.
| Nutrient | As fed (label) | Dry matter (scored) | Score |
|---|---|---|---|
| Protein | 34 | 37 (band 18.220108695652172 to 40%) | 100 |
| Fat | 14 | 15.2 (band 5.567255434782608 to 20%) | 100 |
| Fibre | 2 | 2.2 (band 0.5 to 5%) | 92.3 |
| Calcium | 2 | 2.2 (band 0.5061141304347826 to 2.5%) | 100 |
| Phosphorus | 1.6 | 1.7 (band 0.4048913043478261 to 1.6%) | 91.3 |
| Calcium:phosphorus ratio | 1.3 | 1.3 (band 1 to 2%) | 85 |
| Omega fatty acids (omega-6 and omega-3) | - | - | 100 |
| Energy (kcal/100g) | 372.5 | 404.9 | 100 |
Omega fatty acids (omega-6 and omega-3): scored as the mean of its declared components (omega-6 100). The FEDIAF minimum for omega-6 is linoleic acid specifically.
Scored over 8 declared nutrients (combined weight 100); undeclared nutrients do not affect the score.
Declared fortification: 8 nutritional additives on the label
- Vitamin A 14,433 IU
- Vitamin D3 1,346 IU
- Vitamin E 96 IU
- Zinc (Zinc Sulphate Monohydrate) 48 mg
- Iron (Iron (II) Sulphate Monohydrate) 48 mg
- Manganese (Manganous Sulphate Monohydrate) 34 mg
- Copper (Copper (II) Sulphate Pentahydrate) 5 mg
- Iodine (Calcium Iodate Anhydrous) 0.96 mg
High confidence: full analysis plus minerals or omegas and declared energy.
This measures agreement with published reference ranges, not suitability for an individual dog. For medical conditions, follow veterinary guidance.
Transparency: what the label discloses
How much the manufacturer discloses, measured against the FEDIAF Code of Good Labelling Practice and Regulation 767/2009. Mandatory items dominate the weighting.
| Item | Points |
|---|---|
| Ingredient list on the label (mandatory) | 10/10 |
| Printed percentages on the label (78% of the recipe mass) (voluntary) | 15.6/20 |
| Analytical constituents declared (mandatory) | 15/15 |
| Additives declared (mandatory) | 5/10 |
| Energy value declared (voluntary) | 5/5 |
| Complete/complementary designation (mandatory) | 5/5 |
| Feeding guidance given (mandatory) - not on file | 0/10 |
| Manufacturer identity and address (mandatory) | 5/10 |
| Country of manufacture stated (voluntary) | 10/10 |
| Batch and date labelling (mandatory) - not on file | 0/5 |
Capped at 60: mandatory items missing (Feeding guidance given, Batch and date labelling).
Safety: recall history
Recall and safety-notice history, time-decayed. This dimension is shown alongside the score and never feeds the headline number.
No recalls recorded in our database.
See all current recalls we track.
Evidence: what the brand claims, and what supports it
The claims made on the pack and product page, checked against the declared label. We record claims as stated; "consistent" means our stored label data supports the claim, "contradicted" means it conflicts with it. Functional claims are recorded but never scored.
100/100 · moderate — 2 checkable claims: 2 consistent, 0 contradicted.
Consistent with the label
- "high meat, high protein food to be formulated using scallops and whelks" — supported by the declared high protein data.
- "Formulated without: Gluten, Grain, Rice, Chicken or Eggs, Beet Pulp, Synthetic Preservatives and Additives" — supported by the declared chicken data.
3 further claims on file that we cannot check against the label.
Moderate: every checkable claim is consistent with the declared label.
| Claim | Type | Check | Substantiation |
|---|---|---|---|
| naturally hypoallergenic (on page) | Functional | not checkable | Manufacturer assertion |
| 30% Fruits/Vegetables/Herbs/Botanicals (on page) | Content | not checkable | Manufacturer assertion |
| 70% Fish with Scallops, Whelks, Beef & Pork (on page) | Content | not checkable | Manufacturer assertion |
| high meat, high protein food to be formulated using scallops and whelks (on page) | High/low level | consistent | Manufacturer assertion |
| Formulated without: Gluten, Grain, Rice, Chicken or Eggs, Beet Pulp, Synthetic Preservatives and Additives (on page) | Free-from | consistent | Manufacturer assertion |
The full scoring method is published. See the methodology for exactly how the headline score and each dimension are calculated.
Alternatives to Surf & Turf
Similar on ingredients, protein, format or nutrition, using the same stored data.
Community0 comments
Comments (0)
No comments yet. Be the first to share how this went down with your dog.




