Universal Abbreviation Tooltip Injector
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 scans the current page for common abbreviations and acronyms—ASAP, FYI, DIY, CEO, and over 200 more—using a built-in dictionary, and injects hover tooltips showing the expanded definition. It detects abbreviations in text nodes (excluding script, style, and already-defined elements) and adds a subtle dotted underline to identified abbreviations. A floating panel displays the full abbreviation dictionary, allowing users to add custom abbreviations, toggle highlighting on/off, and export the abbreviation list as CSV. When users hover over an underlined abbreviation, a tooltip appears with its full meaning. All abbreviation data is stored per domain locally for reuse across visits.
WHERE IT RUNS
Works on any webpage with text content—articles, documentation, blogs, emails, forums, or any site containing abbreviations. The script uses a built-in dictionary of over 200 common abbreviations and scans text nodes throughout the page, making it compatible with most websites.
HOW TO USE
The panel appears automatically when you visit a page. It shows the full abbreviation dictionary with terms and definitions. Hover over any underlined abbreviation on the page to see its definition in a tooltip. Use the "Add Custom Abbreviation" form to add terms not in the built-in dictionary—these are stored per domain for future visits. Toggle "Enable Tooltips" to turn the feature on/off. Change the highlight color using the color picker. Export the full abbreviation list as CSV for reference or sharing. Use "Reset Built-in" to clear all custom abbreviations and revert to the built-in dictionary.
TECHNICAL MECHANISM: DOM TEXT NODE SCANNING WITH WORD-BOUNDARY MATCHING AND TOOLTIP INJECTION
The script uses a built-in dictionary of over 200 common abbreviations. It scans text nodes in the document body using a TreeWalker, excluding script, style, meta, title, anchor, and heading elements to avoid interfering with page structure. For each text node, it applies a regex with word-boundary matching to find abbreviations, ensuring that partial matches (e.g., "ASAP" inside "ASAPHD") are not highlighted. Terms are sorted by length to prioritize longer matches first. When an abbreviation is found, the text node is split and a span element with a dotted underline is injected around the matching text. The span stores the expanded definition and has mouseenter/mouseleave event listeners that show and hide a fixed-position tooltip. The tooltip is positioned with viewport-aware logic to prevent overflow, and includes a 200ms delay on mouseleave to prevent flickering. Custom abbreviations are stored per domain using GM_setValue and merged with the built-in dictionary, with custom terms taking precedence. The color picker allows users to customize the underline color, which is applied via inline style.
THE PANEL
The abbreviation tooltip injector appears in a draggable, resizable panel that remembers its position per site. The panel shows the abbreviation dictionary, add custom form, and controls. Drag by the header to reposition, collapse to a compact icon with a click, and resize using the bottom-right corner. The panel snaps to screen edges for tidy placement and closes with the Escape key. All settings—tooltip toggle, highlight color, and panel position—persist per website using GM_setValue, so your view returns exactly as you left it.
PLEASE NOTE
This script requires the free BotGentz extension to run. The built-in dictionary includes over 200 common abbreviations but may not cover all terms—use the custom add form to extend it. The script scans all visible text and adds underline highlights, which may affect page styling if the site uses complex CSS selectors. The tooltip appears on hover only (desktop) and may not work on touch devices. Custom abbreviations are stored per domain and will appear on subsequent visits. The script does not read or transmit any data—all processing happens locally in your browser. Abbreviations inside links, headings, and script tags are ignored to preserve page functionality.