Your HTML, in a real browser.
Fenestra opens the port on 127.0.0.1 and hands the site to your browser. It is not a browser — it is the window between your folder and the browser you already use.
How it works
Three steps, no configuration.
You open the HTML
Double-click a .html or a build folder.
Fenestra serves it
A local server starts on 127.0.0.1, with a stable port per folder.
The browser shows it
The page opens in the browser you pick below.
Make Fenestra the default for .html
Every system has its own way. Pick yours:
This step is optional. To open a project once, drag its index.html onto Fenestra or pass the path; the .html handler stays unchanged.
Open once, without setting a default
- Drag the
index.htmlonto Fenestra, or pass its path on the command line. - The project opens in a normal browser tab.
- Close the window Fenestra opened. The local server stops with it.
If the browser was already running, the server stops after 4 idle hours; closing only the tab does not close the browser process.
Windows
Through Windows Settings:
- Open Settings (Win + I).
- Go to Apps → Default apps.
- Search
.htmland choose Fenestra.
Shortcut: ms-settings:defaultapps.
Linux
Register the handler once:
fenestra --installxdg-mime default fenestra.desktop text/html
Undo with fenestra --uninstall.
user@linux:~$ xdg-mime default fenestra.desktop text/html
macOS
No terminal needed — use Finder:
- Right-click an
.html→ Get Info. - Open with → Fenestra.
- Click Change All….
Choose Fenestra's browser
This is not a list. Click a browser to tell Fenestra which one to open — the choice applies to the next .html.
Windows asks for confirmation the first time. The list updates on every run.
Every day
The commands that matter.
Fenestra.exe with no file to open the settings screen. --diagnose shows which browser Windows is handing over.Create a shortcut for a site
A shortcut is not just a link to the .html: it must start Fenestra with the file as an argument.
Windows
- Right-click the Desktop → New → Shortcut.
- In “Type the location of the item”, paste:
%LOCALAPPDATA%\Fenestra\Fenestra.exe "%USERPROFILE%\Documents\Example\dist\index.html" - Click Next, name it Example, and finish.
- Optional: Properties → Start in = the
distfolder. - Double-click it to test.
Windows expands %LOCALAPPDATA% and %USERPROFILE%. Keep the quotes around the .html path.
%LOCALAPPDATA%\Fenestra\Fenestra.exe "%USERPROFILE%\Documents\Example\dist\index.html"C:\...\distNormal windowLinux
Create ~/.local/share/applications/example.desktop:
Mark it trusted or run update-desktop-database. Linux does not expand $HOME in .desktop files — use an absolute path or a wrapper script.
[Desktop Entry]
Type=Application
Name=Example
Exec=/home/you/.local/bin/fenestra "/home/you/Example/dist/index.html"
macOS
Save Example.command:
Run chmod +x Example.command once, then double-click it.
#!/bin/sh exec "$HOME/Applications/fenestra" \ "$HOME/Example/dist/index.html"
Where things live
Everything in one folder: %LOCALAPPDATA%\Fenestra.