Universal Ingredient Allergen Highlighter
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
This script automatically scans ingredient lists and product descriptions for common allergens, making them instantly visible with color-coded highlights and severity indicators. It detects dairy, gluten, tree nuts, peanuts, soy, eggs, shellfish, fish, sesame, and sulfites—plus any custom allergens you specify. Each allergen is highlighted with a distinct color based on its severity level (high, medium, low), and hovering over a highlighted term shows a tooltip with the allergen name. A floating summary badge displays the total number of allergens found, their severity levels, and how many times each appears, helping you quickly assess the safety of a product.
WHERE IT RUNS
The script works on any page that contains ingredient lists—food and beverage products, dietary supplements, cosmetics, skincare items, pet food, and more. It runs on grocery store websites (Whole Foods, Instacart, Amazon Fresh), supplement retailers (iHerb, GNC), beauty sites (Sephora, Ulta), and countless product pages across the web. The script automatically detects ingredient list containers regardless of how they're styled, formatted, or positioned on the page.
HOW TO USE
After installation, the script scans automatically when you load a product page. Open the panel to customize your experience: toggle auto-scan on or off, set the severity threshold to show all allergens, only medium/high, or only high-severity items, choose a highlight style (background, underline, or border), and add custom allergens not in the default database. Control the summary badge display and position it in any screen corner. Click "Scan Now" to re-run a scan after dynamic content loads, or "Clear Highlights" to remove all styling. Hover over any highlighted term to see a tooltip with the allergen name.
TECHNICAL MECHANISM
The script uses a multi-stage detection pipeline to identify allergens in page content. First, it locates ingredient containers using a prioritized selector strategy that targets common ingredient-list elements (.ingredients, .nutrition-facts, .product-ingredients, #ingredients) and then falls back to text-based detection across paragraphs and description elements. Second, it scans the text content of each container against a comprehensive allergen database containing over 100 keywords organized by allergen category. Each keyword is matched as a whole word to avoid false positives (e.g., "butter" matches dairy but "butterfly" does not). Third, it applies severity scoring based on allergen type and counts occurrences. The script tracks which elements have been processed to avoid duplicate highlighting, and uses DOM mutation observation to re-scan when new content loads dynamically.
THE PANEL
The settings panel is fully draggable and can be positioned anywhere on your screen. It automatically snaps to the nearest edge when released, keeping your workspace organized. The panel can be collapsed to a small bubble showing only a gear icon, and restored with a single click. Its position is remembered across page reloads using GM_setValue. The panel also responds to the Escape key, which instantly hides it until you click the bubble again. All settings are saved immediately when changed and persist across browser sessions.
PLEASE NOTE
This script requires the free BotGentz extension to run. Ingredient list formats vary widely across websites, and the script's detection may occasionally miss non-standard formulations or incorrectly identify ingredient names. The script provides helpful guidance but should not be relied upon as a substitute for careful label reading or professional medical advice. Always verify ingredient information with the product manufacturer or official label before consumption. The script does not access, store, or transmit any personal data, health information, or browsing history. All detection and highlighting happens locally in your browser, and no information ever leaves your device.