Code Quality Rank: L3
Programming language: PHP
Tags: Bookmarks & Link Sharing     Firefox Accounts Server    
Latest version: v2020.2

unmark alternatives and similar software solutions

Based on the "Firefox Accounts Server" category

Do you think we are missing an alternative of unmark or a related project?

Add another 'Firefox Accounts Server' Software solution



The open source to-do application for bookmarks.

NOTICE June 15, 2020: The new default branch is named "trunk". ✊

We offer this source code for Unmark completely free. We do so in hopes that Unmark will live on for many years even if we stop maintaining it. You can also use it for free (with a paid upgrade) at Unmark.it

To support its further development please consider subscribing to Unmark.it, donating via Paypal. Or, you can contribute to the code.


Running Unmark is only recommended for intermediate users. This doesn't mean if you're a beginner we don't want you to try. Hack away! Just that you should expect some speedbumps (though, we're eliminating them all the time). If you need assistance beyond what is provided please create an issue on Github. Before creating a new issue we recommend search through the issues on GitHub to see how others have solved their problems.

Technical requirements

  • Apache 2.x
  • PHP 5.6 or greater
  • mySQL 5.7 or greater

** Using Docker to run locally** If know how to use Docker we've included the appropriate Docker Compose, Dockerfile, and PHP.ini files to do so. We've been using Docker on both Windows and Mac for the last two releases and we like it. However, this is still in its experimental phase.

Common Issues

Some common issues have been reported. Some are trying to load Unmark on a sub-directory, using different versions of PHP or Apache, or using completely different databases. While it may be possible to do so, expect issues.

Other common things that come up:

  • PHP mod_rewrite isn't enabled
  • PHP mysqli extension not installed

Installation Instructions

From Zip

  • Download the latest release
  • Unpack the archive into your desired location
  • Rename the file /application/config/database-sample.php to /application/config/database.php
  • Create a database for Unmark to use in mySQL
  • Fill in proper database credentials in /application/config/database.php
  • Point your browser to your-local-url/setup
  • If succesfull, you'll be asked to register a username and password

From git repository

  • Run git clone https://github.com/cdevroe/unmark.git (Or, if you've forked the repo, use your URL)
  • Copy the file /application/config/database-sample.php to /application/config/database.php (leave database-sample.php in place)
  • Create a database for Unmark to use in mySQL
  • Fill in proper database credentials in /application/config/database.php
  • Run npm install
  • Run grunt more info on Grunt
    • To run Grunt you'll need to also install Ruby and the SASS gem
  • Point your browser to your-local-url/setup
  • If successful, you'll be asked to register a username and password

Upgrading to the latest release

From Zip (binary)

  • Download the latest release
  • Replace all Unmark files (keeping your local /application/config/database.php intact.)
  • Navigate to your-local-url/upgrade
  • Unmark will then make any needed database updates
  • That's it!

From git repository

  • Run git pull origin master
  • Run npm update in the app's root directory
  • Run grunt in the app's root directory
  • Navigate to your-local-url/upgrade
  • Unmark will then make any needed database updates
  • That's it!

Importing bookmarks

Unmark currently supports importing from Unmark's hosted version, any self-hosted version of Unmark, Readability, Pinboard, Delicious, Pocket and many other services.

To ensure this works properly be sure that your PHP.ini file's "max_upload_size" setting is larger than the file you're trying to import.

How to contribute to Unmark

Please consider donating. Another major way you can contribute is to report any issues you find with Unmark on Github and being as detailed as possible about the issue you're having.

Another way is to contribute your own code via Pull Requests. Here are some notes on how to do that.

Forking and Pull Requests

  • Fork the repository on GitHub into your own account
  • Create your own branch of the master branch git checkout -b your-branch-name
  • Update your code and push those code changes back to your fork's branch git push origin your-branch-name
  • Submit a Pull Request using that branch
  • And please accept our thanks!

This makes it easy for us to test your code locally and also allows the community to have a discussion around it.

We use Grunt to compile our SASS files into CSS and concatenate and compress our JavaScript files for use and a few other small tasks. For any updates to JavaScript or styles you will need to use Grunt too. See the Grunt web site for help.


Unmark was originally created by Colin Devroe. It was a side-project called Nilai (the Indonesian word for "mark") and rebuilt from the ground up by Plain, a small software company, which included Jeff Johns, Kyle Ruane, Tim Whitacre, Chris Fehnel, Jakub Jakubiec and Colin Devroe.

Now it is being maintained by Colin, Kyle and the community in their spare time. Please consider donating or contributing code in order to keep Unmark alive and well.


Currently being maintained by: @cdevroe and @kyleruane.

Also contributions by @thebrandonallen, @simonschaufi, @williamknauss, @hewigovens

Extra special thanks to: @phpfunk (who wrote most of Unmark), @twhitacre, @kip9 (wrote the languages and migration back-up bits), @cfehnel (who handled support for the app).