Skip to content

Set any URL as your Chrome new tab page. Take full control of your browsing experience with customizable new tab content.

License

Notifications You must be signed in to change notification settings

anthonymjones/custom-new-tab-extension

Repository files navigation

Custom New Tab Page

A Chrome extension that lets you set any URL as your new tab page - something Chrome doesn't allow by default.

Chrome Extension License Version

✨ Features

  • 🌐 Universal URL Support - Works with ANY website (bypasses CSP restrictions)
  • 🔄 Cross-Device Sync - Settings automatically sync across all your Chrome devices
  • 🎛️ Multiple Loading Methods - Choose between direct navigation or iframe embedding
  • Smart Fallbacks - Graceful handling when sites can't load
  • 🎨 Modern UI - Clean, responsive design with smooth animations
  • ⚙️ Multiple Interfaces - Settings accessible via new tab, options page, or toolbar popup
  • 🛡️ Privacy First - No external connections, all data stored locally

📦 Installation

From Source (Developer Mode)

  1. Download or clone this repository
  2. Open Chrome extensions - Go to chrome://extensions/
  3. Enable Developer mode - Toggle in the top right
  4. Load unpacked - Click and select this folder
  5. Done! - Extension is now active

Note: All required icon files are already included in the icons/ folder.

From Chrome Web Store

Coming soon - submission pending

🚀 Quick Start

  1. Open a new tab - You'll see the welcome screen
  2. Click the settings gear (⚙️) or "Get Started" button
  3. Enter your URL - Any website you want (e.g., github.com, news.ycombinator.com)
  4. Choose loading method:
    • Direct navigation ⭐ - Works with ALL sites, replaces entire tab
    • Iframe embedding - Keeps extension controls, but some sites block it
  5. Save settings - Your new tab page is ready!

⚙️ Configuration Options

Setting Description Default
Custom URL Any valid website URL None
Enable Custom Tab Toggle your custom page on/off Off
Loading Method Direct navigation vs iframe embedding Direct
Fallback Behavior What to show if URL fails (iframe mode) Default page

🌐 Supported Sites

Direct Navigation Mode (Recommended):

  • ALL websites work - no restrictions!
  • ✅ GitHub, Google, social media, banking, corporate portals
  • ✅ Authentication sites (Duo, Okta, etc.)

Iframe Embedding Mode:

  • ✅ Google, DuckDuckGo, many news sites
  • ❌ GitHub, Facebook, banking sites (CSP restrictions)
  • ❌ Authentication/SSO platforms

🛠️ Development

Project Structure

├── manifest.json          # Extension configuration
├── newtab.html            # Main new tab page
├── newtab.js             # Core functionality
├── newtab.css            # Styling
├── options.html          # Settings page
├── options.js            # Settings logic  
├── popup.html            # Toolbar popup
├── popup.js              # Popup logic
├── icons/                # Extension icons
└── docs/                 # Documentation

Build Requirements

  • Chrome 88+ (for Manifest V3 support)
  • ImageMagick (for icon generation)

Testing

The extension includes comprehensive error handling and fallback mechanisms. Test with various URL types to ensure compatibility.

� Troubleshooting

Extension doesn't load?

  • Check Chrome Developer Console for errors
  • Verify all files are present in the extension folder

Custom URL doesn't work?

  • Try "Direct navigation" mode for maximum compatibility
  • Some sites prevent iframe embedding (use direct navigation)
  • Verify URL is valid and accessible

Settings don't sync?

  • Ensure you're signed into Chrome
  • Check Chrome sync settings
  • Settings may take a moment to sync across devices

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

� Acknowledgments

  • Chrome Extensions team for the comprehensive API documentation
  • The community for feedback and feature requests

⭐ If this extension helps you, please consider giving it a star!

About

Set any URL as your Chrome new tab page. Take full control of your browsing experience with customizable new tab content.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published