Universal Font Replacer
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
Universal Font Replacer gives you complete control over the typography of every website you visit. Instead of being stuck with the fonts chosen by web designers, you can select any system font or web font from a curated list and apply it to all text content on the current page. The extension replaces the font family of every text element—paragraphs, headings, links, buttons, labels, and form inputs—while preserving the original size, weight, color, spacing, and other styling attributes. This means you get consistent, readable typography across the entire web without breaking layouts or losing visual hierarchy. A live preview feature lets you test fonts instantly before committing, and a simple toggle switches between your custom font and the page's original design. All preferences are saved locally, so your chosen font follows you across browsing sessions.
WHERE IT RUNS
The extension works on every website you visit, including complex single-page applications, news portals, social media platforms, e-commerce stores, document viewers, and web-based productivity tools. It runs locally in your browser, processing each page's DOM in real-time without sending any data to external servers. The font replacement applies immediately on page load and continues to work as you navigate, scroll, and interact with dynamic content. Whether you're reading articles, filling out forms, or browsing product listings, your preferred font remains consistent. The extension supports all major browsers and adapts to both desktop and mobile viewports seamlessly.
HOW TO USE
After installation, click the extension toolbar icon to open the Universal Font Replacer panel. From the dropdown menu, select any of the 30+ available fonts, which include popular system fonts like Arial and Georgia, as well as web-optimized typefaces such as Open Sans, Roboto, and Merriweather. Click "Apply Font" to replace all text on the current page with your selection. To test a font before applying it permanently, use the "Preview" button—this temporarily switches the page to your chosen font so you can evaluate readability and aesthetics. Use the toggle switch at the bottom of the panel to enable or disable font replacement entirely, reverting to the original design with a single click. For per-site customization, click "Apply to This Site Only" to set a unique font for the current domain, overriding your global choice. To revert a site to your global setting, click "Reset Site to Global."
THE ACTUAL MECHANISM — CSS INJECTION WITH UNIVERSAL SELECTOR PIPELINE
Unlike browser extensions that attempt to modify individual elements one by one, Universal Font Replacer uses a high-performance CSS injection strategy. When you apply a font, the script creates a style element in the document head containing CSS rules with the `!important` declaration. The primary rule targets all non-container elements: `*:not(style):not(script):not(link):not(title):not(meta):not(head):not(html):not(body) { font-family: [font] !important; }`. A second rule specifically targets text-containing elements (body, p, div, span, h1-h6, a, li, td, th, label, button, input, textarea, select) to ensure comprehensive coverage. The `!important` flag overrides any inline styles or framework-generated CSS, guaranteeing the font applies correctly across all frameworks including React, Vue, Angular, and WordPress. For dynamic content, the extension uses a MutationObserver that detects when new elements are added to the DOM and re-injects the style rules only when necessary, avoiding performance degradation. This pipeline ensures near-instant response with zero layout recalculation overhead, even on content-heavy pages with thousands of elements.
THE PANEL
The settings panel is a lightweight, draggable overlay that appears in the center of your screen. You can reposition it by clicking and dragging the title bar; release it near the screen edge and it will snap into place automatically. To collapse the panel into a compact title bar, click the minimize button, expanding it again with the same control. The panel is fully responsive, adapting to different screen resolutions with a minimum width of 300px and a maximum of 480px. Press the Escape key at any time to dismiss the panel without applying changes. All controls—font dropdown, apply and preview buttons, per-site actions, and the enable/disable toggle—are accessible within a clean, high-contrast interface that respects your system's color scheme.
PLEASE NOTE
This extension requires the free BotGentz companion extension to be installed and active, which provides the underlying filtering engine and cross-browser compatibility layer. Because websites frequently update their code structures and frameworks, certain complex web applications may occasionally require script updates to maintain full font replacement functionality. The extension will automatically check for updates weekly and notify you when a new version is available. No personal data, browsing history, or page content is ever collected, stored, or transmitted. All font preferences are saved using the browser's local storage API and remain solely on your device. The extension does not inject ads, trackers, or analytics of any kind.