AI-Prompted Safari Extension Ideas You Can Build
This list covers ten Safari extensions you can build for yourself using AI coding tools like Cursor, Copilot, or Claude. Each idea is concrete, with real implementation details, so you can pick one and start building today. Whether you’re a beginner or a seasoned developer, these projects will save you time and teach you the Safari extension API.
1. Tab Snooze
Ever open a tab you don’t have time for but don’t want to lose? Tab Snooze lets you hide a tab and bring it back later. You set a timer (e.g., “tomorrow 9 AM”) and the extension stores the URL in its private database, closing the tab. When the time hits, it reopens the tab in a new window or the same window. Implementation: use the safari.tabs API to close and create tabs, and safari.storage to persist the schedule. It’s a great first project because it only needs a popup and a background script.
2. Reader Mode Toggle
Safari has a built-in reader mode, but it’s not always available or easy to trigger. This extension adds a toolbar button that forces reader mode on any article page, even if the site doesn’t offer it. You can also customize the font size, line height, and theme (light/dark/sepia) from the popup. The trick is to use the safari.extension API to inject a CSS and JS that clones the article content into a clean overlay. It’s a solid way to learn content extraction and DOM manipulation.
3. Link Text Copier
When you copy a link from Safari, you get the URL, not the anchor text. This extension adds a context menu item “Copy Link as Markdown” that copies [anchor text](url) to the clipboard. You can also copy as HTML or plain text with title. Implementation: use the safari.contextMenus API to add the menu item, and safari.extension to get the selected text and the link’s href. It’s a tiny project that you’ll use daily if you write docs or notes.
4. Page Speed Insights
This extension gives you a quick performance report for the current page: load time, number of requests, total page weight, and a breakdown by resource type (scripts, images, CSS). It uses the safari.extension API to inject a script that measures performance.timing and counts resources via performance.getEntriesByType(). The popup displays the results in a simple bar chart. It’s a great way to learn the Performance API and build a useful debugging tool.
5. Form Filler
Stop typing the same information into every form. This extension stores your common data (name, email, phone, address) and fills them into fields automatically. You can define profiles (e.g., “Work”, “Personal”) and map fields by name or ID. Implementation: use safari.storage to save profiles, and inject a content script that finds input fields and sets values. Add a keyboard shortcut (like Cmd+Shift+F) to fill the current form. This is a practical project that touches on content scripts and storage.
6. Tab Manager
If you’re a tab hoarder, this extension helps you organize. It lists all open tabs in a popup, grouped by domain, with a search box. You can close tabs in bulk, pin them, or save a session to reopen later. The key is to use safari.tabs.query() to get all tabs and safari.windows to manage them. You can also add a “Duplicate Tab” button to quickly copy the current tab. This is a more complex project that will teach you the full tab API.
7. URL Cleaner
Many URLs are cluttered with tracking parameters like utm_source, fbclid, or gclid. This extension strips those parameters from the current URL and copies the clean version to the clipboard. You can also set it to automatically redirect to the cleaned URL when you visit a page. Implementation: use the safari.page API to get the current URL, parse it with URLSearchParams, and remove known tracking keys. It’s a small, focused tool that improves privacy and readability.
8. Word Count
For writers and editors, this extension shows the word count and reading time of the current page. It selects the main article content (using heuristics like article tag or p elements) and counts words. The popup shows the count, estimated reading time (at 200 words per minute), and a character count. You can also select a portion of text and get its count. Implementation: inject a content script that traverses the DOM and counts text nodes. It’s a great way to practice DOM traversal and text processing.
9. Password Generator
This extension generates strong, random passwords and saves them to your clipboard. You can choose length (12-32), include symbols, numbers, and uppercase. It also checks the password against a list of common weak passwords. Implementation: use the crypto.getRandomValues() for secure randomness, and display the generated password in the popup. Add a “Copy” button that uses navigator.clipboard. It’s a useful security tool that teaches you about the Web Crypto API.
10. Screenshot Annotator
Take a full-page screenshot of the current page and annotate it with arrows, text, and highlights. The extension captures the page using html2canvas or the native tabCapture API, then opens an overlay where you can draw. You can export the annotated image as PNG. Implementation: use a content script to capture the page, and a separate popup or new tab for the annotation UI. This is the most ambitious project on the list, but it’s a fantastic portfolio piece.
How to Choose
When picking an idea, consider your current skill level. If you’re new to Safari extensions, start with a simple one like Link Text Copier or URL Cleaner—they only need a few API calls. If you’re comfortable with JavaScript and DOM, try Tab Snooze or Form Filler. For a challenge, go for Screenshot Annotator or Tab Manager. Also think about what you’ll actually use. The best extension is one you’ll install and use daily. Finally, check the Safari extension documentation to ensure the APIs you need are available (some require user permission prompts).
Frequently Asked Questions
Q: Do I need a Mac to build Safari extensions? Yes, Safari extensions are built with Xcode and require a Mac with Xcode installed. You also need to enable the “Develop” menu in Safari to load unsigned extensions.
Q: Can I use AI to write the entire extension? AI can generate most of the code, but you’ll still need to set up the Xcode project and configure the extension’s manifest. AI is great for the logic, but you must understand the structure to debug.
Q: How do I test my extension? In Safari, go to Develop > Show Extension Builder, then add your extension and click “Install”. You can then use it immediately. For debugging, use the Web Inspector on the extension’s popup or content scripts.
Q: Can I distribute my extension on the App Store? Yes, but it requires an Apple Developer Program membership ($99/year) and a review process. For personal use, you can keep it unsigned and load it via the Extension Builder.
Q: What’s the difference between a Safari app extension and a Safari web extension? Safari app extensions are built with native code and have more access to system features. Safari web extensions are cross-platform (also work in Chrome and Firefox) and use web technologies. For these ideas, web extensions are simpler and recommended.
Final Thoughts
Building your own Safari extensions is a rewarding way to learn the platform and solve your own problems. Start with a small idea, use AI to speed up the coding, and iterate. You’ll end up with a tool that’s exactly what you need, and you’ll have gained valuable skills along the way.
Related
Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.