What NavShelf is
NavShelf is a free, no-signup start page that runs in your browser. A nested folder tree on the left, link cards on the right: you put the dozen sites you actually use into your own categories and see them the moment you open a new tab — no feed, no pop-ups to dismiss. It ships in English, Simplified Chinese and Traditional Chinese, with light and dark themes and a tools column of browser-based utilities (Base64, JSON formatting, timestamps). Folders, links and search settings live in your browser; nothing is uploaded, and there is no account.
The most overlooked part of that page is the search box at the top: most people only ever use the default Google entry, never noticing the rest of the list — or that they can add their own.
The search box is not one engine, it is a list
At the top of the sidebar is a “Search the web” button. Open it and you get an input field with an engine list underneath: which site handles your words depends on which row you pick. Three engines ship by default — Google, Bing and Baidu — and Google carries the “Default” tag.
Searching takes three steps
- Click “Search the web” at the top of the sidebar. The input is already focused, so just start typing.
- Pick the engine you want; the selected row highlights — by default, the one marked “Default”.
- Press Enter, or click the ↵ button. The results open in a new tab and the overlay closes.
Two details: the new tab opens without handing it a reference to your page, and a temporary engine switch is not remembered — reopening the overlay puts you back on the default. That is deliberate: nine searches out of ten go to the default engine.
Switching and managing live in the same overlay
Click “Manage” at the top right of the engine list. In manage mode each row grows three small buttons, and an “+ Add engine” row appears at the bottom:
| Button | What it does |
|---|---|
| ★ | Set as default |
| ✎ | Edit name, search URL and icon |
| ✕ | Delete this entry |
| + Add engine | Append a new engine to the list |
The “Manage” button turns into “Done” at the same time; click it again to put those controls away and go back to plain picking. Clicking the empty space outside the overlay closes it.
Adding and editing use the same three fields:
- Name (required): shown in the list, and the source of the letter icon when you leave that one blank.
- Search URL (required): must contain the
{query}placeholder and be an http(s) link. - Icon (optional): one character, two at most, to tell rows apart; left empty, it becomes the first letter of the name.
Mistakes are rejected with “Enter a name and an http(s) search URL containing {query}.” — an unusable engine never reaches the list.
{query} is the whole secret
{query} marks where the keywords go. All NavShelf does is swap in the URL-encoded keywords and open the rest as-is — so it need not sit at the end, and it can live alongside other parameters:
https://www.google.com/search?q={query}
https://www.bing.com/search?q={query}
https://duckduckgo.com/?q={query}
https://www.baidu.com/s?wd={query}
https://zh.wikipedia.org/w/index.php?search={query}
https://github.com/search?q={query}
https://www.google.com/search?q={query}&hl=en&num=20
That last line uses the same trick differently: put the language and page size in the URL and the engine becomes permanently “English results, 20 per page”. Because keywords are URL-encoded, Chinese terms reach Baidu, Zhihu and Bilibili just as happily.
The same rule builds two genuinely useful kinds of engine:
- Site search. Paste a site’s own search URL — the GitHub line above. To look something up there, pick that engine from your start page instead of opening the site and hunting for its search field.
- Vertical tools. Dictionaries, translators, maps, shops: anything whose search page follows a
?q=shape can become a row in the list.
Two hard rules
- At least one engine survives. Once you are down to a single engine the ✕ button goes dead, and forcing it only shows “Keep at least one search engine.”
- Delete the default and the first row takes over. Remove the row marked default and the top engine in list order becomes the default automatically.
Where those engines are stored
Like folders and links, the engine list lives only in this browser, under searchEngines in the navProjectData key: a JSON export carries it along, and an import restores it (see Your data stays in your browser).
Imports are cleaned on the way in: entries missing a name, missing {query} or not using http(s) are dropped, and exactly one default is guaranteed. If nothing usable is left, it falls back to the Google / Bing / Baidu trio.
Worth stating plainly: search hands you straight to the target engine from your browser. NavShelf has no backend and no idea what you searched for — the engine you picked does, as it would if you typed in the address bar.
FAQ
Can I add Chinese-language engines?
Yes. Baidu, Zhihu, Weibo, Douban, Bilibili — any of them, as long as the URL carries {query}; Chinese keywords are encoded automatically.
What if the URL has no {query}? It will not save. Without the placeholder the engine does not know where the keywords belong, so the dialog rejects it.
Is there a keyboard shortcut for search? Not today — the entry point is the button at the top of the sidebar. The convenient workaround: make this page your browser start page, so a new tab is one click away (see Turn your browser start page into your own dashboard).
Can I get a deleted engine back? There is no recycle bin. Re-add it with the templates above, or import a JSON export that still contains it.
Does searching upload my keywords to NavShelf? No. There is no backend and nothing collecting search terms; the keywords travel with the new tab’s URL, straight to the engine you chose.
The short version
The default engine handles nine searches out of ten, the extras cover the rest, and custom engines cover “that thing that only exists inside one site” — all three edited in the same place: “Search the web” → “Manage”.
Open NavShelf, add one on-site search from the templates above, and you will use it tomorrow.