1<!-- start templates/web/common/site_layout.tt.html --> 2 3<!doctype html> 4<html class="no-js" lang="en" data-serverdomain="openfoodfacts.org" dir="ltr"> 5<head> 6 <meta charset="utf-8"> 7 <title></title> 8 9 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 10 <meta property="fb:app_id" content="219331381518041"> 11 <meta property="og:type" content="food"> 12 <meta property="og:title" content=""> 13 <meta property="og:url" content="https://world.openfoodfacts.org/contribute"> 14 15 <meta property="og:image" content="https://static.openfoodfacts.org/images/logos/off-logo-vertical-white-social-media-preview.png"> 16 <meta property="og:description" content="A collaborative, free and open database of ingredients, nutrition facts and information on food products from around the world"> 17 <link rel="manifest" href="/cgi/manifest.pl"> 18<link rel="apple-touch-icon" sizes="180x180" href="/images/favicon/off/apple-touch-icon.png"> 19<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon/off/favicon-32x32.png"> 20<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon/off/favicon-16x16.png"> 21<link rel="mask-icon" href="/images/favicon/off/safari-pinned-tab.svg" color="#5bbad5"> 22<link rel="shortcut icon" href="/images/favicon/off/favicon.ico"> 23<meta name="msapplication-TileColor" content="#00aba9"> 24<meta name="msapplication-config" content="/images/favicon/off/browserconfig.xml"> 25<meta name="theme-color" content="#ffffff"> 26 27 <meta name="apple-itunes-app" content="app-id=588797948"> 28 <link rel="canonical" href="https://world.openfoodfacts.org/contribute"> 29 <link rel="stylesheet" href="https://static.openfoodfacts.org/css/dist/app-ltr.css?v=1790007695" data-base-layout="true"> 30 <link rel="stylesheet" href="https://static.openfoodfacts.org/css/dist/jqueryui/themes/base/jquery-ui.css" data-base-layout="true"> 31 <link rel="stylesheet" href="https://static.openfoodfacts.org/css/dist/select2.min.css"> 32 <link rel="search" href="https://world.openfoodfacts.org/cgi/opensearch.pl" type="application/opensearchdescription+xml" title="Open Food Facts"> 33
33<script type="importmap"> 34 { 35 "imports": { 36 "@openfoodfacts/openfoodfacts-webcomponents": "https://static.openfoodfacts.org/js/dist/off-webcomponents.bundled.js", 37 "cropperjs": "https://static.openfoodfacts.org/js/dist/cropper.esm.js", 38 "leaflet": "https://static.openfoodfacts.org/js/dist/leaflet-src.js", 39 "leaflet.markercluster": "https://static.openfoodfacts.org/js/dist/leaflet.markercluster.js", 40 "jsvectormap": "https://static.openfoodfacts.org/js/dist/jsvectormap.esm.js" 41 } 42 } 43 </script>
43 44
44<script type="module" src="https://static.openfoodfacts.org/js/dist/off-webcomponents.bundled.js"></script>
44 45 46 <style media="all"> 47 .show-when-no-access-to-producers-platform {display:none} 48.show-when-logged-in {display:none} 49 50 51 .badge-container{ 52 margin: 0 auto; 53 } 54 55 .badge-container img{ 56 margin: 5px; 57 } 58 @media only screen and (max-width: 537px ) and (min-width: 280px) { 59 .badge-container{ 60 width: 280px; 61 } 62 } 63 @media only screen and (max-width: 279px ){ 64 .badge-container{ 65 width: 130px; 66 } 67 } 68 </style> 69</head> 70<body class="text_page"> 71 72 <!-- Matomo -->
73<script> 74 var _paq = window._paq = window._paq || []; 75 /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ 76 _paq.push(["setDocumentTitle", document.domain + "/" + document.title]); 77 _paq.push(["setCookieDomain", "*.openfoodfacts.org"]); 78 _paq.push(["setDomains", ["*.openfoodfacts.org"]]); 79 _paq.push(["setDoNotTrack", true]); 80 _paq.push(["disableCookies"]); 81 _paq.push(['enableHeartBeatTimer']); 82 _paq.push(['trackPageView']); 83 _paq.push(['enableLinkTracking']); 84 (function() { 85 var u="//analytics.openfoodfacts.org/"; 86 _paq.push(['setTrackerUrl', u+'matomo.php']); 87 _paq.push(['setSiteId', '5']); 88 var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; 89 g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); 90 })(); 91</script>
91 92<noscript><p><img src="//analytics.openfoodfacts.org/matomo.php?idsite=5&rec=1" style="border:0;" alt="" /></p></noscript> 93<!-- End Matomo Code --> 94 95 96 97 <off-webcomponents-configuration 98 language-code="en" 99 country-code="world" 100 robotoff-configuration='{ 101 "apiUrl": "https://robotoff.openfoodfacts.org/api/v1", 102 "imgUrl": "https://images.openfoodfacts.org/images/products" 103 }' 104 105 openfoodfacts-api-url="https://world.openfoodfacts.org" 106 assets-images-path="https://static.openfoodfacts.org/css/dist/images" 107 ></off-webcomponents-configuration> 108 109 110 <div class="skip"><a href="#content" tabindex="0">Skip to Content</a></div> 111 112 113 <div id="barcode-scanner-modal" class="modal is_hidden"> 114 <div class="modal-backdrop"></div> 115 <div class="modal-content"> 116 <div class="modal-header"> 117 <h2><span>Scan a product</span></h2> 118 <button class="modal-close-button">×</button> 119 </div> 120 <div> 121 <barcode-scanner id="barcode-scanner"></barcode-scanner> 122 </div> 123 <div> 124 </div> 125 <div > 126 <label for="barcode-modal-input">Or enter barcode manually</label> 127 <div class="barcode-modal-group"> 128 <input type="text" id="barcode-modal-input" class="barcode-modal-input" inputmode="numeric" pattern="\d*" /> 129 <button class="barcode-modal-button button" id="barcode-modal-button" disabled>Scan</button> 130 </div> 131 </div> 132 </div> 133</div> 134
135<script src="https://static.openfoodfacts.org/js/dist/barcode-scanner.js"></script>
135 136 137 138 <div id="page"> 139 140 <div class="upper-nav contain-to-grid" id="upNav"> 141 <nav class="top-bar " data-topbar role="navigation"> 142 143 <section class="top-bar-section"> 144 145 <!-- Left Nav Section --> 146 <ul class="left"> 147 148 <li class="has-dropdown"> 149 <a id="menu_link"> 150 <span class="material-icons"> 151 menu 152 </span> 153 </a> 154 <ul class="dropdown"> 155 156 <li><a href="/discover">Discover</a></li> 157 <li><a href="/contribute">Contribute</a></li> 158 <li class="divider"></li> 159 <li><label>Add products</label></li> 160 <!-- For reference: get_the_app_link_off" = /open-food-facts-mobile-app" --> 161 <li><a href="/open-food-facts-mobile-app?utm_source=off&utm_medium=web&utm_campaign=pro_platform_install_the_app_to_add_products_en">Install the app to add products</a></li> 162 <li><a href="/cgi/product.pl?type=search_or_add&action=display">Add a product</a></li> 163 164 165 <li class="divider"></li> 166 <li><label>Search and analyze products</label></li> 167 168 <li> 169 <a href="/cgi/search.pl">Advanced search</a> 170 </li> 171 <li> 172 <a href="/cgi/search.pl?graph=1">Graphs and maps</a> 173 </li> 174 175 </ul> 176 </li> 177 178 <li> 179 <ul class="country_language_selection"> 180 <li class="has-form has-dropdown" id="select_country_li"> 181 <select id="select_country" style="width:100%" data-placeholder="Country"> 182 <option></option> 183 </select> 184 </li> 185 <li class="has-dropdown"> 186 <a href="https://world.openfoodfacts.org/">English</a> 187 188 <ul class="dropdown"> 189 190 </ul> 191 </li> 192 </ul> 193 </li> 194 </ul> 195 196 197 <!-- Right Nav Section --> 198 199 <ul class="right"> 200 201 <li class="h-space-tiny has-form"> 202 <a href="/cgi/session.pl" class="round button secondary"> 203 <span class="material-icons material-symbols-button">account_circle</span> 204 Sign in 205 </a> 206 </li> 207 208 </ul> 209 </section> 210 </nav> 211 </div> 212 213 214 <div id="main_container" style="position:relative" class="block_latte"> 215 216 217 <div class="topbarsticky"> 218 <div class="contain-to-grid " id="offNav" > 219 <nav class="top-bar" data-topbar role="navigation" > 220 221 <ul class="title-area"> 222 <li class="name"> 223 <div style="position:relative;max-width:292px;"> 224 <a href="/"> 225 <img id="logo" src="https://static.openfoodfacts.org/images/logos/off-logo-horizontal-light.svg" alt="Open Food Facts" style="margin:8px;height:48px;width:auto;"> 226 227 </a> 228 </div> 229 </li> 230 </ul> 231 232 233 234 <section class="top-bar-section"> 235 236 <ul class="left small-4"> 237 <li class="search-li"> 238 239 <form action="/cgi/search.pl"> 240 <div class="row"><div class="small-12"> 241 <div class="row collapse postfix-round"> 242 <div class="columns"> 243 <input type="text" placeholder="Search for a product" name="search_terms" value="" style="background-color:white"> 244 <input name="search_simple" value="1" type="hidden"> 245 <input name="action" value="process" type="hidden"> 246 </div> 247 <div class="columns postfix-button-wrapper"> 248 <button type="submit" title="Search" class="button postfix" style="line-height:normal"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="icon" aria-hidden="true" focusable="false"><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/><path d="M0 0h24v24H0z" fill="none"/></svg></button> 249 </div> 250 <div class="columns postfix-button-wrapper is_hidden"> 251 <button 252 type="button" 253 title="Scan a product" 254 class="button barcode-scanner-button" 255 id="barcode-scanner-button" 256 > 257 <svg style="width:24px;height:24px" viewBox="0 0 24 24" class="icon" aria-hidden="true" focusable="false">
257<path d="M2,6H4V18H2V6M5,6H6V18H5V6M7,6H10V18H7V6M11,6H12V18H11V6M14,6H16V18H14V6M17,6H20V18H17V6M21,6H22V18H21V6Z"/></svg> 258 </button> 259 260
260<script src="https://static.openfoodfacts.org/js/dist/barcode-scanner-button.js"></script>
260 261</div> 262 263 </div> 264 </div></div> 265 </form> 266 </li> 267 </ul> 268 <ul class="search_and_links"> 269 <li><a href="/discover" class="top-bar-links">Discover</a></li> 270 <li><a href="/contribute" class="top-bar-links">Contribute</a></li> 271 <li class="show-for-xlarge-up"><a href="https://world.pro.openfoodfacts.org/" class="top-bar-links">Producers</a></li> 272 <li class="flex-grid getapp"><a href="/open-food-facts-mobile-app?utm_source=off&utm_medium=web&utm_campaign=search_and_links_promo_en" class="buttonbar button" style="top:0;"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="icon" aria-hidden="true" focusable="false"><path d="M16 1H8C6.34 1 5 2.34 5 4v16c0 1.66 1.34 3 3 3h8c1.66 0 3-1.34 3-3V4c0-1.66-1.34-3-3-3zm-2 20h-4v-1h4v1zm3.25-3H6.75V4h10.5v14z"/><path d="M0 0h24v24H0z" fill="none"/></svg> <span class="bt-text">Get the app</span></a></li> 273 <!-- For reference: get_the_app_link_off" = /open-food-facts-mobile-app" --> 274 </ul> 275 </section> 276 277 </nav> 278 </div> 279 </div> 280 281 282 283 <nav class="tab-bar hide"> 284 <div class="left-small"> 285 <a href="#idOfLeftMenu" role="button" aria-controls="idOfLeftMenu" aria-expanded="false" class="left-off-canvas-toggle button postfix anonymous"> 286 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="icon" aria-hidden="true" focusable="false"><path d="M3 5v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2H5c-1.11 0-2 .9-2 2zm12 4c0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3 3 1.34 3 3zm-9 8c0-2 4-3.1 6-3.1s6 1.1 6 3.1v1H6v-1z"/><path d="M0 0h24v24H0z" fill="none"/></svg> 287 </a> 288 </div> 289 <div class="middle tab-bar-section"> 290 <form action="/cgi/search.pl"> 291 <div class="row collapse"> 292 <div class="small-8 columns"> 293 <input type="text" placeholder="Search for a product" name="search_terms"> 294 <input name="search_simple" value="1" type="hidden"> 295 <input name="action" value="process" type="hidden"> 296 </div> 297 <div class="small-2 columns"> 298 <button type="submit" class="button postfix"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="icon" aria-hidden="true" focusable="false"><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/><path d="M0 0h24v24H0z" fill="none"/></svg></button> 299 </div> 300 <div class="small-2 columns"> 301 <a href="/cgi/search.pl" title="Advanced search"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="icon" aria-hidden="true" focusable="false"><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/><path d="M0 0h24v24H0z" fill="none"/></svg> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="icon" aria-hidden="true" focusable="false"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/><path d="M0 0h24v24H0z" fill="none"/></svg></a> 302 </div> 303 </div> 304 </form> 305 </div> 306 </nav> 307 308 309 <div id="content" class="off-canvas-wrap block_latte" data-offcanvas> 310 <div class="inner-wrap"> 311 312 <a class="exit-off-canvas"></a> 313 314 315 316 <!-- full width banner on mobile --> 317 318 319 320 321 322 <div class="main block_light"> 323 <div id="main_column"> 324 325 326 327 328 329 <!-- start templates/web/common/includes/donate_banner.tt.html --> 330 331 332<!-- Donation banner TOP END --> 333<!-- Donation banner @ footer start--> 334 335<!-- Donation banner @ footer end--> 336<!-- end templates/web/common/includes/donate_banner.tt.html --> 337 338 339 340 341<!-- Donation banner TOP start --> 342<section id="donation-banner-top" class="donation-banner row"> 343 344 <div class="donation-banner__left-aside"> 345 <div class="donation-banner__hook-section"> 346 <p>We still need â¬120,000 to finish 2026!</p> 347 </div> 348 <img src="/images/misc/donation-banners/donation-banner-group-photo.png" alt="group photo donation 2024" /> 349 </div> 350 <div> 351 <div class="donation-banner__aside"> 352 <div class="donation-banner__main-section"> 353 <img 354 width="50" 355 height="50" 356 src="https://world.openfoodfacts.org/images/logos/logo-variants/CMJN-ICON_WHITE_BG_OFF.svg" 357 alt="Open Food Facts logo" 358 /> 359 <h3 class="donation-banner__main-title">Become an Open Food Facts patron</h3> 360 </div> 361 <div style="padding:1rem;"> 362 <p>Every month, we serve 8 million visitors, and many times that through the API. Your support is essential to:</p> 363 <ul> 364 <li> 365 keep Open Food Facts open & available to all, 366 <ul> 367 <li>
367support infrastructure, the website, mobile app and API with a small permanent team</li> 368 </ul> 369 </li> 370 <li> 371 <p>remain independent of the food industry,</p> 372 </li> 373 <li> 374 <p>support the community</p> 375 </li> 376 <li> 377 <p>support science</p> 378 </li> 379 </ul> 380 </div> 381 </div> 382 <div class="donation-banner__actions-section"> 383 <div class="donation-banner__actions-section__financial"> 384 <p> 385 386 If every visitor this month clicked on Donate and gave just 1â¬, we'd get over 8 times our yearly budget! 387 388 </p> 389 </div> 390 <div class="donation-banner__actions-section__donate-button"> 391 <a href="https://world.openfoodfacts.org/donate-to-open-food-facts?utm_source=off&utm_medium=web&utm_campaign=donate-2026-a&utm_term=en-text-button"> 392 <button>Donate</button> 393 </a> 394 </div> 395 </div> 396 </div> 397 398 399 <div class="donation-banner__close"> 400 <button id="hide-donate-banner" class="material-icons modest" onclick="DonationButton();" onkeypress="DonationButton();">close</button> 401 </div> 402</section> 403
404<script> 405 let d = new Date(); 406 let bannerID = document.getElementById('donation-banner-top'); 407 let getDomain = window.location.origin.split('.'); 408 409 function setBannerCookie(bcname, bcval, bcexdays) { 410 d.setTime(d.getTime() + (bcexdays*60*60*24*1000)); 411 let expires = 'expires=' + d.toUTCString(); 412 // Apply cookie for every domain contains open...facts 413 let domain = 'domain=.' + getDomain.slice(1).join('.'); 414 document.cookie = bcname + '=' + bcval + ';' + expires + ';' + domain + ';SameSite=None;Secure;path=/'; 415 } 416 417 function getBannerCookie(bcname) { 418 const name = bcname + '='; 419 const decodedCookies = decodeURIComponent(document.cookie); 420 const cookies = decodedCookies.split(';'); 421 for (const cookie of cookies) { 422 let c = cookie; 423 while (c.charAt(0) == ' ') { c = c.substring(1); } 424 if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } 425 } 426 427 return ''; 428 } 429 430 function DonationButton() { 431 setBannerCookie('donation_march_2026', 1, 180); 432 bannerID.style.display = 'none'; 433 } 434 435 if (getBannerCookie('donation_march_2026') !== '') { 436 bannerID.style.display = 'none'; 437 } else { 438 bannerID.style.display = 'flex'; 439 } 440</script>
440 441 442 443 444 445 446 447 448 <div class="row"> 449 <div class="small-12 column"> 450 <h1 class="if-empty-dnone"></h1> 451 <!-- no side column --> 452<style> 453.contribute-cards-row { 454 display: flex; 455 flex-wrap: wrap; 456 justify-content: center; 457} 458.contribute-cards-row > .columns { 459 display: flex; 460 flex-direction: column; 461 margin-bottom: 1.5rem; 462} 463.contribute-cards-row > .columns .button { 464 margin-top: auto; 465 margin-bottom: 0; 466 align-self: center; 467} 468.contribute-grid { 469 display: flex !important; 470 flex-wrap: wrap; 471 justify-content: center; 472} 473.contribute-grid > li { 474 display: flex !important; 475 flex-direction: column; 476 margin-bottom: 1.5rem; 477} 478.contribute-grid > li .button { 479 margin-top: auto; 480 margin-bottom: 0; 481 align-self: center; 482} 483</style> 484 485<h1 class="emphasized-title">Contribute to Open Food Facts</h1> 486 487<div class="row"> 488 <div class="small-12 medium-6 large-4 columns"> 489 <img src="https://blog.openfoodfacts.org/wp-content/uploads/2022/11/5-1024x726.png" alt="Open Food Facts community" style="margin-bottom:2rem"> 490 </div> 491 <div class="small-12 medium-6 large-8 columns"> 492 <p> 493Open Food Facts exists thanks to the citizens who give their time and talent in many different activities. 494We are a large international family that gives a unique character to this beautiful project, made for all, by all! ð⨠495 </p> 496 <a class="button" href="https://wiki.openfoodfacts.org/Contributor">Join our community</a> 497 <p> 498To facilitate the involvement of our contributors and allow the project to grow in a more dynamic way, we are setting up a Contributors Skill Pool, as well as teams of volunteers by theme. 499 </p> 500 <p> 501â The aim is to match your skills and interests to the needs of the project. 502 </p> 503 <p> 504Whether you are already a very involved contributor or have just arrived and want to participate, we invite you to fill in the form below. (All personal data you enter will be kept confidential and used only by the permanent team to contact you). 505 </p> 506<a class="button" href="https://connect.openfoodfacts.org/join-the-contributor-skill-pool-open-food-facts">Contributors Skill Pool form in ENG/FR</a> 507 </div> 508</div> 509 510 511<hr> 512 513<div class="row text-center"> 514 <div class="large-12 columns"> 515 <h2 class="emphasized-title">
515Everyone can contribute</h2> 516 <h4 class="subheader">Be part of our collaborative, free and open source database of food products from around the world!</h4> 517 <p>Open Food Facts is a non-profit project made entirely by volunteers, we do need you.</p> 518 519 </div> 520</div> 521<div class="row text-center contribute-cards-row"> 522 <div class="medium-3 columns"> 523 <h3>Add products</h3> 524 <p>Use our <a href="https://play.google.com/store/apps/details?id=org.openfoodfacts.scanner&hl=en&utm_source=off&utm_campaign=contribute-promo&utm_medium=website">Android</a> or <a href="https://apps.apple.com/app/open-food-facts/id588797948?utm_source=off&utm_campaign=contribute-promo&utm_medium=website">iPhone</a> app to easily scan the barcode of products from your home or local stores and upload pictures of their label.</p> 525 <p>No smartphone? No problem: you can also use your camera to add products directly on the web site.</p> 526 <a class="button" href="https://world.openfoodfacts.org/open-food-facts-mobile-app?utm_source=off&utm_medium=web&utm_campaign=search_and_links_promo_en">Install the app to contribute to food, cosmetic, pet food and product transparency</a> 527 </div> 528 529 530 <div class="medium-3 columns"> 531 <h3>Complete products</h3> 532 <p>We need to categorize products and extract ingredients lists and nutrition facts to 533analyze their nutritional quality, determine if they are suitable for vegans and vegetatarians and much more!</p> 534 <p><a href="/help-complete-products">You can help us complete products</a> by selecting and cropping photos and filling in information, or by participating in our <a href="/contribute-to-open-food-facts-by-playing">Hunger Games</a>.</p> 535 536 </div> 537 538 <div class="medium-3 columns"> 539 <h3>Tell the world</h3> 540 <p>Do you like Open Food Facts? Tell others about it!</p> 541 <p>You can present the project to your family and friends, show them how to install the app and contribute, write a blog post, and share Open Food Facts on social media.</p> 542 543 </div> 544 545 <div class="medium-3 columns"> 546 <h3>Make it local</h3> 547 <p>You can help us translate the website and mobile app in your language as well as the documents, announcements etc.</p> 548 <p>Start or join a local contributors community: add local products, recruit friends, present the project in local meetups and conferences etc.</p> 549 <a class="button" href="https://wiki.openfoodfacts.org/Translations">Help translate Open Food Facts</a> 550 </div> 551</div> 552 553<hr> 554 555<div class="row text-center"> 556 <div class="large-12 columns"> 557 <h2 class="emphasized-title">Expert help needed</h2> 558 <p>Developing Open Food Facts also requires specialized knowledge and expertise in many different areas:</p> 559 </div> 560</div> 561 562<ul class="text-center small-block-grid-1 medium-block-grid-2 large-block-grid-3 contribute-grid"> 563 <li> 564 <h3>Project management</h3> 565 <p>We have tons of ideas and you probably have even more, but it is quite a challenge to prioritize them, to build a roadmap, and to manage projects when every participant is a volunteer with often limited time available.</p> 566 </li> 567 568 <li> 569 <h3>Design</h3> 570 <p>We need help to build a better user experience on the Open Food Facts web site and mobile app, to improve their design, to create impactful presentation materials etc.</p> 571 <a class="button" href="https://github.com/openfoodfacts/openfoodfacts-design">Join our design effort</a> 572 </li> 573 574 <li> 575 <h3>Development</h3> 576 <p>We have a <a href="https://world.openfoodfacts.org/development">lot of development work to do</a>. On the Open Food Facts backend (Perl and MongoDB), API (JSON), web site (templatized HTML5, JS, Foundation), our <a href="https://github.com/openfoodfacts/smooth-app">Flutter mobile app for iOS and Android</a>, but also to build new cool reuses etc. We have SDK projects in many programming languages to ensure anyone can reuse and contribute to Open Food Facts, in any language. We also have a growing Artificial Intelligence effort to simplify contribution work. Our code is on <a href="https://github.com/openfoodfacts">GitHub</a>. 577 <a class="button" href="https://github.com/openfoodfacts">Explore the list of projects on GitHub</a> 578 </li> 579 580 <li> 581 <h3>Community building</h3> 582 <p>We need to build local communities in all countries and at the same time unite them globally.</p> 583 <p>It is very difficult to bootstrap a local community in a country without living there, so your help to find the first very motivated participants is essential. Are you one of them?</p> 584 </li> 585 <li> 586 <h3>Communication</h3> 587 <p>We are not sure what to write here, could you help?</p> 588 <p>More seriously, there are lot of cool things that users, contributors and reusers do with Open Food Facts, it would be great to get more people to know about it. In particular, we need help for public and <a href="/press">media relations</a>.</p> 589 </li> 590 <li> 591 <h3>Special projects</h3> 592<p>There are lots of interesting and original applications of food open data that we could work on with government food agencies, food producers, researchers, universities, schools, NGOs etc. Maybe you already have ideas? If you do, please help us to push them forward.</p></li> 593</ul> 594 595<hr> 596 597<div class="row text-center"> 598 <div class="large-12 columns"> 599 <h2>Let's talk!</h2> 600 <h4 class="subheader">A lot of ideas, energy and enthusiasm are shared in our contributors community, join us!</h4> 601 <p>Here are some places where you can meet other contributors, talk to them and work with them:</p> 602 </div> 603</div> 604 605<ul class="text-center small-block-grid-1 medium-block-grid-2 large-block-grid-3 contribute-grid"> 606 <li> 607 <h3>Slack</h3> 608 <p>Slack is the best way to interact and collaborate with other contributors, developers and reusers. It's a discu
608ssion forum you can access from your browser or your phone. It completely changed how we work together. Please try it, <a href="https://slack.openfoodfacts.org/">click here to get invited to our Slack</a>.</p> 609 <a class="button" href="https://slack.openfoodfacts.org/">Join the Open Food Facts chat server</a> 610 </li> 611 612 <li> 613 <h3>Spread the word on social media</h3> 614 <p>We have <a href="http://world.openfoodfacts.org/follow-open-food-facts">many social media accounts and groups for Open Food Facts contributors</a> in many languages. Joining them is a good way to get news about the project and to share announcements to a wider audience.</p> 615 </li> 616 617 <li> 618 <h3>Wiki</h3> 619 <p>We also have a <a href="https://wiki.openfoodfacts.org/">wiki</a> that we use to collaboratively document Open Food Facts and its sub-projects. From the wiki, you can learn how to help translate the multilingual information (categories, labels etc.) a food product might have (<a href="https://wiki.openfoodfacts.org/Global_taxonomies">using what we call taxonomies</a>). You can even help add a food category or a label that is not yet supported by Open Food Facts.</p> 620 <a class="button" href="https://wiki.openfoodfacts.org/">Explore the Open Food Facts wiki</a> 621 </li> 622</ul> 623 624 625<div class="row text-center"> 626 <div class="large-12 columns"> 627 <h2 class="emphasized-title">Make a difference</h2> 628 <h4 class="subheader">We have several important on-going operations, join us!</h4> 629 <p>Here are some places where you can have impact now:</p> 630 </div> 631</div> 632 633<ul class="text-center small-block-grid-1 medium-block-grid-2 large-block-grid-3 contribute-grid"> 634 <li> 635 <h3>Operation Packaging</h3> 636 <p>Let's weigh the packagings of common foods to discover how much impact we have.</p> 637 <p><a href="https://blog.openfoodfacts.org/fr/rejoignez-loperation-plein-pot-sur-les-emballages">How you can help as an Open Food Facts user</a>, <a href="https://blog.openfoodfacts.org/fr/plein-pot-fabricants">How you can help as a producer</a>, <a href="https://blog.openfoodfacts.org/en/plein-pot-presse">Press page</a></p> 638 </li> 639 640 <li> 641 <h3>Data quality effort</h3> 642 <p>We have a data quality effort that <a href="https://wiki.openfoodfacts.org/Quality">you can join here</a>. We meet monthly (details on the wikipage).</p> 643 </li> 644 645 <li> 646 <h3>Your own operation</h3> 647 <p>If you have an important topic, you are very welcome to organize your own operation.</p> 648 <a class="button" href="mailto:[email protected]">Get in touch at [email protected]</a> 649 </li> 650</ul> 651 652<a class="button" href="https://wiki.openfoodfacts.org/Projects_homepage">Explore on-going projects</a> 653 654<hr> 655 656<div class="row text-center"> 657 <div class="large-12 columns"> 658 <p>There are many more ways to contribute to Open Food Facts, please <a href="https://slack.openfoodfacts.org">join us on Slack</a> and let's start the discussion!</p> 659 </div> 660</div> 661
662<script> 663 function onMount(fn) { 664 if (document.readyState === "loading") { 665 document.addEventListener("DOMContentLoaded", fn); 666 } else { 667 fn(); 668 } 669 } 670 671 onMount(() => { 672 function sendHeight() { 673 const height = document.body.scrollHeight; 674 console.debug("Calculated height: " + height); 675 if (typeof parent !== 'undefined' && parent !== window) { 676 parent.postMessage({ frameHeight: height }, '*'); 677 } 678 } 679 // Send the height on initial load 680 sendHeight(); 681 // Send the height whenever the window is resized 682 window.addEventListener("resize", sendHeight); 683 }); 684</script>
684 685 686 </div> 687 </div> 688 689 </div> 690 </div> 691 </div> 692 </div> 693 </div> 694 695 696 <footer> 697 <div class="block_light bg-white" id="install_the_app_block"> 698 <div class="row"> 699 <div class="small-12 flex-grid v-space-short v-align-center direction-row h-space-tiny"> 700 <div class="cell small-100 medium-100 large-50 flex-grid v-align-center direction-row"> 701 <img class="cell small-50 v-align-center" src="/images/illustrations/app-icon-in-the-clouds.svg" alt="The Open Food Facts logo in the cloud" style="height:120px"> 702 <div class="cell small-50 v-align-center" id="footer_scan" style="display:block"> 703 <div id="footer_install_the_app"> 704 Install the app! 705 </div> 706 Scan your <span id="everyday">everyday</span> <span id="foods">foods</span> 707 </div> 708 </div> 709 <div class="row"> 710 <div class="small-12 medium-12 large-12 v-space-normal column badge-container"> 711 <!-- android_app_link - https://play.google.com/store/apps/details?id=org.openbeautyfacts.scanner&hl=en --> 712 <a href="https://play.google.com/store/apps/details?id=org.openfoodfacts.scanner&utm_source=off&utm_medium=web&utm_campaign=install_the_app_android_footer_en"><img src="/images/misc/playstore/img/latest/GetItOnGooglePlay_Badge_Web_color_English.svg" alt="Get It On Google Play" loading="lazy" height="40" width="120"></a> 713 714 <a href="https://f-droid.org/packages/openfoodfacts.github.scrachx.openfood"><img src="/images/misc/f-droid/svg/get-it-on-en.svg" alt="Available on F-Droid" loading="lazy" height="40" width="120"></a> 715 716 <!-- android_apk_app_link - https://world.openfoodfacts.org/images/apps/off.apk --> 717 <a href="https://github.com/openfoodfacts/smooth-app/releases/latest?utm_source=off&utm_medium=web&utm_campaign=install_the_app_apk_footer_en"><img src="/images/misc/app-landing-page/download-apk/download-apk_en.svg" alt="Android APK" loading="lazy" height="40" width="120"></a> 718 719 <!-- msgid "https://apps.apple.com/app/open-beauty-facts/id1122926380" --> 720 <a href="https://apps.apple.com/app/open-food-facts/id588797948?utm_source=off&utm_medium=web&utm_campaign=install_the_app_ios_footer_en"><img src="/images/misc/appstore/black/appstore_US.svg" alt="Download on the App Store" loading="lazy" height="40" width="120"></a> 721 </div> 722 </div> 723 </div> 724 </div> 725 </div> 726 727 728 <!-- start templates/web/common/includes/donate_banner.tt.html --> 729 730 731<!-- Donation banner TOP END --> 732<!-- Donation banner @ footer start--> 733 734<!-- Donation banner @ footer end--> 735<!-- end templates/web/common/includes/donate_banner.tt.html --> 736 737 738 739<section class="donation-banner-footer row"> 740 <div class="donation-banner-footer__left-aside"> 741 <div class="donation-banner-footer__hook-section"> 742 <p>We still need â¬120,000 to finish 2026!</p> 743 </div> 744 <img src="/images/misc/donation-banners/donation-banner-group-photo.png" alt="The Open Food Facts community during the Open Food Facts Days" /> 745 </div> 746 <div> 747 <div> 748 <div class="donation-banner-footer__main-section"> 749 <img 750 width="50" 751 height="50" 752 src="https://world.openfoodfacts.org/images/logos/logo-variants/CMJN-ICON_WHITE_BG_OFF.svg" 753 alt="Open Food Facts logo" 754 /> 755 <h3 class="donation-banner-footer__main-title">Become an Open Food Facts patron</h3> 756 </div> 757 <p>Every month, we serve 8 million visitors, and many times that through the API. Your support is essential to:</p> 758 <ul> 759 <li> 760 keep Open Food Facts open & available to all, 761 <ul> 762 <li>support infrastructure, the website, mobile app and API with a small permanent team</li> 763 </ul> 764 </li> 765 <li> 766 <p>remain independent of the food industry,</p> 767 </li> 768 <li> 769 <p>support the community</p> 770 </li> 771 <li> 772 <p>support science</p> 773 </li> 774 </ul> 775 </div> 776 <div class="donation-banner-footer__actions-section"> 777 <div class="donation-banner-footer__actions-section__financial"> 778 <p> 779 If every visitor this month clicked on Donate and gave just 1â¬, we'd get over 8 times our yearly budget! 780 </p> 781 </div> 782 <div class="donation-banner-footer__actions-section__donate-button"> 783 <a href="https://world.openfoodfacts.org/donate-to-open-food-facts?utm_source=off&utm_medium=web&utm_campaign=donate-2026-a&utm_term=en-text-button"> 784 <button>Donate</button> 785 </a> 786 </div> 787 </div> 788 </div> 789</section> 790 791 792 793 794 <div class="block_light block_cappucino" id="contribute_and_discover_links_block"> 795 <div class="row"> 796 <div class="small-12 large-6 columns v-space-normal block_off"> 797 <h3 class="title-5 text-medium">Join the community</h3> 798 <p>Discover our <a href="/code-of-conduct">Code of conduct</a></p> 799 <p>Join us on <a href="https://slack.openfoodfacts.org">Slack</a></p> 800 <p><a href="https://forum.openfoodfacts.org/">Forum</a></p> 801 <p id="footer_social_icons">Follow us: 802 <a href="https://x.com/OpenFoodFacts"><img src="/images/icons/dist/x.svg" class="footer_social_icon" alt="X formerly Twitter"></a> 803 <a href="https://www.facebook.com/OpenFoodFacts?utm_source=off&utm_medium=web"><img src="/images/icons/dist/facebook.svg" class="footer_social_icon" alt="Facebook icon"></a> 804 <a href="https://www.instagram.com/open.food.facts/"><img src="/images/icons/dist/instagram.svg" class="footer_social_icon" alt="Instagram"></a> 805 806 </p> 807 <p><a href="https://link.openfoodfacts.org/newsletter-en">Subscribe to our newsletter</a></p> 808 </div> 809 <div class="small-12 large-6 columns project v-space-normal"> 810 <h3 class="title-5 text-medium">Discover the project</h3> 811 <ul class="inline-list tags_links v-space-tiny h-space-tiny" > 812 <li><a class="button small white-button radius" href="/who-we-are">Who we are</a></li> 813 <li><a class="button small white-button radius" href="/open-food-facts-vision-mission-values-and-programs">Vision, Mission, Values and Programs</a></li> 814 <li><a class="button small white-button radius" href="https://support.openfoodfacts.org/help/en-gb">Frequently asked questions</a></li> 815 <li><a class="button small white-button radius" href="https://blog.openfoodfacts.org/en/">Open Food Facts blog</a></li> 816 <li><a class="button small white-button radius" href="/press">Press</a></li> 817 <li><a class="button small white-button radius" href="https://wiki.openfoodfacts.org">Open Food Facts wiki (en)</a></li> 818 <li><a class="button small white-button radius" href="/cgi/top_translators.pl">Translators</a></li> 819 <li><a class="button small white-button radius" href="/partners">Partners</a></li> 820 <li><a class="button small white-button radius" href="/data">Data, API and SDKs</a></li> 821 <li><a class="button small white-button radius" href="https://world.openbeautyfacts.org">Open Beauty Facts - Cosmetics</a></li> 822 <li><a class="button small white-button radius" href="https://world.openproductsfacts.org">Open Products Facts</a></li> 823 <li><a class="button small white-button radius" href="https://world.openpetfoodfacts.org">Open Pet Food Facts</a></li> 824 <li><a class="button small white-button radius" href="https://prices.openfoodfacts.org/">Open Prices</a></li> 825 <li><a class="button small white-button radius" href="https://world.pro.openfoodfacts.org/">Open Food Facts for Producers</a></li> 826 </ul> 827 </div>
828 </div> 829 </div> 830 831 <div class="block_off block_dark block_ristreto" id="footer_block"> 832 833 <div id="footer_block_image_banner_outside"> 834 <div id="footer_block_image_banner_outside2"> 835 836 <div class="row"> 837 838 <div class="small-12 text-center v-space-short h-space-large"> 839 <a href="/" style="font-size:1rem;"><img id="logo" src="https://static.openfoodfacts.org/images/logos/off-logo-horizontal-mono-white.svg" alt="Open Food Facts" style="margin:8px;height:48px;width:auto;"></a> 840 841 <p>A collaborative, free and open database of food products from around the world.</p> 842 843 <ul class="inline-list text-center text-small"> 844 <li><a href="/legal">Legal</a></li> 845 <li><a href="/privacy">Privacy</a></li> 846 <li><a href="/terms-of-use">Terms of use</a></li> 847 <li><a href="https://world.openfoodfacts.org/donate-to-open-food-facts">Donate to Open Food Facts</a></li> 848 <li><a href="https://world.pro.openfoodfacts.org/">Producers</a></li> 849 <li><a href="https://link.openfoodfacts.org/newsletter-en">Subscribe to our newsletter</a></li> 850 </ul> 851 </div> 852 853 </div> 854 855 </div> 856 </div> 857 </div> 858 </footer> 859 860 861 </div> 862
863<script src="https://static.openfoodfacts.org/js/dist/modernizr.js" data-base-layout="true"></script>
vendor: 1 bytes, line 863
863
864<script src="https://static.openfoodfacts.org/js/dist/jquery.js" data-base-layout="true"></script>
vendor: 1 bytes, line 864
864
865<script src="https://static.openfoodfacts.org/js/dist/jquery-ui.js" data-base-layout="true"></script>
vendor: 1 bytes, line 865
865
866<script src="https://static.openfoodfacts.org/js/dist/hc-sticky.js"></script>
vendor: 1 bytes, line 866
866
867<script src="https://static.openfoodfacts.org/js/dist/display.js"></script>
vendor: 1 bytes, line 867
867
868<script src="https://static.openfoodfacts.org/js/dist/stikelem.js"></script>
vendor: 1 bytes, line 868
868
869<script src="https://static.openfoodfacts.org/js/dist/scrollNav.js"></script>
869 870 871
872<script> 873$(function() { 874 875 876}); 877</script>
877 878 879 880
881<script src="https://static.openfoodfacts.org/js/dist/foundation.js" data-base-layout="true"></script>
vendor: 1 bytes, line 881
881
882<script src="https://static.openfoodfacts.org/js/dist/jquery.cookie.js"></script>
vendor: 1 bytes, line 882
882
883<script src="https://static.openfoodfacts.org/js/dist/select2.min.js"></script>
vendor: 1 bytes, line 883
883
884<script src="https://static.openfoodfacts.org/js/dist/matomo-events.js"></script>
884 885
886<script> 887$(document).foundation({ 888 equalizer : { 889 equalize_on_stack: true 890 }, 891 accordion: { 892 callback : function (accordion) { 893 $(document).foundation('equalizer', 'reflow'); 894 } 895 } 896}); 897 898</script>
vendor: 1 bytes, line 898
898
899<script type="application/ld+json"> 900{ 901 "@context" : "https://schema.org", 902 "@type" : "WebSite", 903 "name" : "Open Food Facts", 904 "url" : "https://world.openfoodfacts.org", 905 "potentialAction": { 906 "@type": "SearchAction", 907 "target": "https://world.openfoodfacts.org/cgi/search.pl?search_terms=?{search_term_string}", 908 "query-input": "required name=search_term_string" 909 } 910} 911</script>
vendor: 1 bytes, line 911
911
912<script type="application/ld+json"> 913{ 914 "@context": "https://schema.org/", 915 "@type": "Organization", 916 "url": "https://world.openfoodfacts.org", 917 "logo": "https://static.openfoodfacts.org/images/logos/off-logo-vertical-light.svg", 918 "name": "Open Food Facts", 919 "sameAs" : ["https://www.facebook.com/OpenFoodFacts?utm_source=off&utm_medium=web", "https://x.com/OpenFoodFacts"] 920} 921</script>
921 922 923 924 925 926 927</body> 928</html> 929 930 931 932<!-- end templates/web/common/site_layout.tt.html -->
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.