About Bort

Bort is a web app for website bookmarks and search – a web page interface to browse and manage your bookmarks and to search the web via custom search engines. Bort is intended for daily web browsing and suitable for use as your browser home page and/or default new tab page. It's also useful when using a public computer or borrowing someone else's computer, where you cannot or don't want to permanently store bookmarks.

Bort saves your bookmarks as a file in your Dropbox. Via Dropbox those same bookmarks are accessible on any device and any browser you want to use. Bookmarks are automatically periodically synced and any changes made on one device will show up on other devices. Since Dropbox is used for storage, Bort does not have user accounts of its own, you just log in with your Dropbox account.

Bort is designed, written, maintained and operated by Osmo Salomaa. Bort has been around since October 2015.

Is it like Pocket?

No. Bort is not specifically designed for read-later and does not allow storing pages for offline use. Bort can be used though, to bookmark pages to read later – just add a bookmark and tag it as e.g. “read”.

Is it like Delicious or Pinboard?

No. Bort is not UI and technology-wise designed to handle a huge archive of rarely accessed links, but rather a moderate amount of frequently accessed ones. Bort also has no social or sharing features.

Is it like browser bookmarks?

Yes, sort of. Bort can best be seen as a replacement for browser bookmarks, providing a better user interface and a sync mechanism that is independent of which operating system, browser etc. you use.

FAQ

Search bookmarks are URLs that are evaluated based on a search query and sent to an external search engine. The URL should contain %s in place of the query – e.g. if you type “donuts” in the search field and have a bookmark https://www.google.com/search?q=%s tagged with “search”, the link will point to https://www.google.com/search?q=donuts. Any search bookmarks you mark as favorites are presented whenever your search query does not match any of your normal bookmarks. All search bookmarks are presented if you add a question mark (?) to the query.

Why are some icons either missing or wrong?

The most common reason for missing icons is that websites don't provide them – either at all, or in a sufficiently large size. Sometimes there are also errors detecting website icons, for a multitude of reasons.

Bort uses external services to load icons and, for privacy reasons, sends only the host and domain part of bookmark URLs when querying for icons – thus e.g. a bookmark pointing to https://www.google.com/maps/... will load an icon for www.google.com. In cases where the icon is wrong or missing, you can have individual bookmarks load their icon from a different source – see the next question for details.

How do I use a custom icon for a bookmark?

In the Add and Edit bookmark dialogs, you can choose to use a custom icon for the bookmark. Several types and sources of icons are supported – you can use the following values in the custom icon field.

https://... Use the icon of another web page, or if the URL points to an image file, use that image instead of the website icon.
image:https://... Use the image file at the given URL. You only need to specify the image: prefix if the URL, despite pointing to an image, doesn't end in a common image filename extension.
favicon Use the 16x16 pixel favicon for the bookmark URL. Usually these don't scale nicely to the size Bort uses to display icons.
favicon:https://... Like the previous, but use the 16x16 pixel favicon of the given URL instead of the bookmark URL.
facebook:xxx Use the Facebook profile image of user xxx.
x Use a letter icon for the letter x.

If you have the icon you want to use as a file on your own computer, you can upload it to an image host, and from there, copy the direct URL to the image.

Are my bookmarks private?

Yes. Your bookmarks are saved in two places: your own browser's local database on devices you use Bort on and in your own Dropbox. Your browser's local database is cleared when you log out. In your Dropbox, Bort only has access to its own folder Apps/Bort and cannot see or access any other files you may have. Your data is not saved anywhere outside these two locations under your own control. Bookmark sync happens via a secure connection between your browser and Dropbox's servers. The Bort website does not have any database of its own and your bookmarks are never transmitted there. Your usage is not recorded. There are no trackers. No data is sold to advertisers or other third parties. Nothing is social, nothing is shared.

On Bort's side, yes. Normal searches done through search bookmarks merely evaluate URLs in JavaScript code run by your browser. Those search queries are not transmitted or saved anywhere. If you use Bort's search suggestion feature (off by default, can be enabled in the preferences dialog), then those suggestions are anonymously queried from Bort's own proxy server, which in turn requests them from the service provider. This proxy server does not handle any user accounts and does not save any data, except temporary caching for performance reasons. Once you actually execute your search, you are redirected to the search provider's website and subject to their privacy conventions.

How do I export my bookmarks?

If you want to migrate your bookmarks to another service or app, just click the Export link in the footer of the main page. You should get your bookmarks out as a Netscape HTML format bookmark file, which is fairly standard and supported by most services and apps that deal with bookmarks. Additionally, you can find Bort's own JSON format bookmark file in your Dropbox, file Apps/Bort/bookmarks.json. For most people this is not a useful format, but e.g. programmers of other services can easily write code to parse bookmarks from it.

Which technologies does Bort use?

The Bort app itself is written entirely as client-side JavaScript – there is no server to execute code or operate databases, only one to serve static pages, leaving everything to happen in the browser. Saving bookmarks to browser's local database (IndexedDB) is done using PouchDB. The Dropbox JavaScript SDK is used to sync bookmarks.

Apart from the web app, Bort has a custom caching proxy server to relay non-essential resources – currently website icons and search suggestions. It is needed in order to get around cross-origin limitations of browsers and to deliver resources for Bort's particular use case, e.g. icons as 48x48 PNG images with proper caching. Bort Proxy is open source, written in Python using Flask with a non-persistent Redis database for caching.

Contact

Have a question or a suggestion? Found a bug? Get in touch by email.

Changes

2024-06-24 Updated the Chrome extension to manifest v3.
2024-01-13 Fix sync error for new users with no files yet at Dropbox.
2023-04-28 Twitter icons (twitter:...) no longer work due to Twitter API changes.
2023-01-02 Set add and edit bookmark dialogs' input field types and autocapitalize and autocorrect properties for better manual input on mobile.
2023-01-01 Add demo (see next to the login button).
2022-09-24 Add more fonts to the font stack used – should be better especially on Linux and Android.
2022-05-26 Switch from using the Dropbox HTTP API to the JavaScript SDK. This allows us to use tokens with a longer validity thus removing the need to log in again when initiating a sync, which has been an issue at least on some mobile browsers since changes made on 2021-07-15 (see below). It's possible that this raises browser version requirements, but we probably still support way older browsers than you should be using.
2022-05-26 Upgrade PouchDB to version 7. This drops support for WebSQL, which used to be used on Safari/iOS, but shouldn't be relevant anymore.
2021-10-31 Use a "system font stack" for everything except titles.
2021-07-15 Switch to short-lived Dropbox tokens as eventually required by Dropbox API changes. In practice, this means that when syncing bookmarks, you will reauthenticate against Dropbox as the token you got when logging in is no longer valid. If you are logged in to Dropbox, you will not see any prompts, the sync will just take a second or so longer. If you are not logged in to Dropbox, you should see a Dropbox login prompt when starting a sync.
2021-07-15 Change the mechanism of how removed bookmarks are synced. Identifiers of removed bookmarks used to be written into the meta.json file synced to Dropbox. The problem there was that the list would eventually grow long and slow down syncing. After some earlier changes, this is no longer needed and the sync should be simpler and faster now. If everything works right, you shouldn't notice any difference, except maybe a faster sync if you have a lot of removed bookmarks. If, however, you notice something not syncing correctly, let me know.
2021-07-15 Add Edge to the list of supported browsers. The version tested was 91, but Edge has probably worked since at least 79, which is the first Chromium-based version.
2021-01-10 Add a button at the end of the tag list to open all bookmarks of the selected tag in new tabs. For this to work, you might need to set your browser to site-specifically allow popups for bort.io.
2020-04-10 Fix sort order to be locale aware as per your browser's language settings (navigator.language).
2019-08-31 Speed up modal dialogs.
2018-12-30 Move DNS and CDN from Cloudflare to Amazon. Upgrade to newer versions of JavaScript libraries used. Use San Francisco (SF) fonts if available. Simplify and update lander page.
2018-05-10 Have bookmark search match against URL in addition to title.
2018-01-27 Update icon handling for better reliability.
2017-04-11 Add sync frequency to the preferences dialog.
2017-03-05 Migrate Firefox extension from Jetpack to WebExtension for compatibility with future versions of Firefox. No changes in functionality.
2017-03-05 PouchDB updated to version 6.
2016-11-07 Use rel="noreferrer" for bookmark and search links to avoid sending referrer information to the destination website.
2016-10-16 Add support for Google search suggestions. This is off by default, can be enabled in the preferences dialog.
2016-10-05 Icon server rewritten for better speed, better caching and more icon sources. General support for low resolution icons removed. Added support for custom icons from Twitter and Facebook profile images. See the above FAQ for details.
2016-09-19 Use dynamic URLs with selected tags (?tags=...), so that the browser back button works as expected in all browsers.
2016-09-19 Allow ampersands in tags.