Open two (or more) live web pages side by side in a single tab. Drag the divider to resize, flip between side-by-side and stacked layouts, and your panes come back the way you left them next time. Local only -- no accounts, no network calls.
Open brave://extensions Turn on Developer mode (top right) Click Load unpacked and select this splitscreen/ folder Pin it, then click the icon to open a split tab.
Launching from a page puts that page in the first pane automatically, so you can just pick what goes beside it. Right-click menu : right-click a link and choose "Open link in Split Screen" , or right-click a page and choose "Open this page in Split Screen" . If a split tab is already open, the page is added to it as a new pane (and the tab is focused); otherwise a new split tab opens with that page. Right-click your way to as many panes as you like. Load a page into a pane two ways: Type a URL (or a search) in the pane's bar and press Enter , or Click ☰ in the pane bar (or use the list shown in an empty pane) to pick from your open tabs -- favicon, title, and address. The list stays current as you open and close tabs elsewhere. Grid button: hover the little matrix and click to set an arbitrary grid -- 2x2, 2x4, 4x4, 3x3, anything up to 6x6. A single row is side-by-side; a single column is stacked. Drag any gutter between columns or rows to resize. Reposition a pane : grab the ⠿ handle on a pane's bar and drag it onto another pane -- the two swap places. The cells keep their sizes; only the contents move, so you can rearrange a layout without rebuilding it. Since the first pane supplies the tab's icon and title, swapping something into slot one re-badges the tab. Give the set its own icon : type or paste an emoji into the small box next to the set name. That becomes the tab's favicon, overriding the one inherited from the first pane, and it's saved with the set (and in the bookmarkable link). Handy because a split tab is an extension page -- Site Favicons and other favicon tools physically cannot touch it, so the icon has to come from here. + Pane adds one more (the grid grows to fit). The ✕ on a pane removes it (the last one just clears instead). Per pane: ↻ reload, ↗ open that page in a normal new tab. Your layout and URLs are remembered and restored when you reopen. Bookmarking a set The entire layout -- grid shape, gutter sizes, every pane's URL, and the name -- is encoded into this tab's address live, so the address bar always matches what you see . To save a set:
Opening a bookmarked set rebuilds it exactly. Note: the bookmark points at this extension's internal address ( chrome-extension://<id>/... ), which stays valid as long as the extension stays installed from the same folder -- moving or reinstalling it from a different path changes the id and breaks old bookmarks.
If you would rather not touch your browser's bookmarks at all, hit ★ Save in the toolbar. The current layout gets pinned as a chip in the bar right under the toolbar -- named from the "Name this set" field (or the first pane's site), wearing that site's favicon. Click a chip to reload that set; the ✕ on it removes it. These are stored inside the extension only -- nothing is imported from or written to your browser bookmarks.
Most big sites send X-Frame-Options or a Content-Security-Policy: frame-ancestors header specifically to stop themselves being shown inside a frame. So that they'll load here, the extension removes those response headers -- but only for frames inside the split tab , using a declarativeNetRequest session rule scoped to that one tab id. The moment you close the tab, the rule is gone. Nothing is changed for any other tab, and nothing persists across a browser restart.
That scoping is why the extension asks for <all_urls> host access: the rule has to be able to touch whatever site you choose to load. It is not used for anything else -- there is no tracking, storage of your browsing, or network traffic of any kind.
Split tabs are extension pages, so reloading the extension (a dev iteration, or an update) would normally close them and lose your panes. Instead, the extension keeps a small record of which split tabs are open (and their exact layout) and reopens them automatically when it is reloaded or the browser restarts -- deduped against any the browser restored on its own. So a reload brings your split views right back.
Hacker News
news.ycombinator.com