Vikunja Icon

Vikunja is an open-source to-do application. It is suitable for a wide variety of projects, supporting List, Gantt, Table and Kanban views to visualize all tasks in different contexts. For collaboration, it has sharing support via private teams or public links. It can be self-hosted or used as a managed service for a small fee.

Open Source

Vikunja Source Code




Mirror of vikunja from






28 Nov 18

Last Updated

08 Jun 24

Latest version


Primary Language



59,319 KB







Language Usage

Language Usage

Star History

Star History

Recent Commits

  • Frederick [Bot] (08 Jun 24)

    chore(i18n): update translations via Crowdin

  • kolaente (06 Jun 24)

    fix(datepicker): make the date format in the picker consistent with the input field Resolves

  • kolaente (06 Jun 24)

    chore(auth): show registration disabled message when registration is disabled The route still exists when the registration is disabled, even though all links to the page are removed.

  • kolaente (06 Jun 24)

    fix(favorites): allow marking favorite tasks as done from favorites pseudo project Resolves

  • kolaente (06 Jun 24)

    fix(tasks): ambiguous column name error when fetching favorite tasks

  • kolaente (06 Jun 24)

    fix(quick add magic): assume today when no date was specified with time

  • kolaente (06 Jun 24)

    fix(logo): add width and height to pride logo svg

  • kolaente (06 Jun 24)

    fix(kanban): remove leftovers of kanban_position property This might fix a bug where the kanban position would not be saved correctly.

  • kolaente (06 Jun 24)

    fix(caldav): do not crash for wrong parameters

  • kolaente (05 Jun 24)

    feat(typesense): move partial reindex to a flag instead of a separate command

  • kolaente (05 Jun 24)

    fix(typesense): correctly index assignee changes on tasks This change fixes a bug where adding or removing an assignee to a task would not update the index in Typesense, causing filter queries for that assignee to return incorrect data. This was caused by the events being dispatched by the task update process not containing all the data. Resolves

  • kolaente (05 Jun 24)

    fix(typesense): do not try to sort by position when searching in a saved filter This change fixes a bug where Typesense would try to sort by the project view of a saved filter. The view position is not indexed in Typesense, hence filtering fails. Because sorting by position is not a feature in saved filters, I've removed the logic for sorting saved filters with Typesense.

  • kolaente (05 Jun 24)

    fix(typesense): correctly join task position table when sorting by it This change fixes a bug where the project view to use for joining was empty, since Typesense only supports 3 sorting parameters. When using more than that, the logic to fetch the view ID parameter would not return the correct parameter, but the logic building the order by statement would. That led to inconsistencies where the task position was included in the order by statement, but the table would not be joined, failing the query.

  • Frederick [Bot] (05 Jun 24)

    chore(i18n): update translations via Crowdin

  • kolaente (04 Jun 24)

    fix(typesense): only return distinct tasks once

  • kolaente (04 Jun 24)

    fix(typesense): correctly incorporate existing filter when it is empty

  • Frederick [Bot] (04 Jun 24)

    [skip ci] Updated swagger docs

  • kolaente (04 Jun 24)

    fix(docs): correctly document filter query usage

  • kolaente (04 Jun 24)

    chore(desktop): only build zip in ci to speed up smoke test builds

  • Frederick [Bot] (04 Jun 24)

    [skip ci] Updated swagger docs

  • kolaente (04 Jun 24)

    feat(tasks): expand subtasks (#2345) This change adds a parameter to expand subtasks - if provided, Vikunja will ensure all subtasks are present in the results list. Resolves Reviewed-on: Co-authored-by: kolaente <[email protected]> Co-committed-by: kolaente <[email protected]>

  • kolaente (04 Jun 24)

    fix(db migration): do not try to create a unique index Related to

  • kolaente (04 Jun 24)

    fix(migration): ensure tasks are put into the correct bucket when migrating from todoist Resolves

  • Frederick [Bot] (04 Jun 24)

    chore(i18n): update translations via Crowdin

  • kolaente (03 Jun 24)

    fix(views): edit views with filters This change fixes a bug where filter values of views would be transformed in the wrong order, not transformed at all or at the wrong time. Transforming the filters now happens transparently in the background without anything funky happening visible to the user.

  • Frederick [Bot] (03 Jun 24)

    [skip ci] Updated swagger docs

  • kolaente (03 Jun 24)

    feat(api): all usable routes behind authentication now have permissions Previously, only routes which were coming from crudable entities could be used with an api token because there was no way to assign permissions to them. This change implements a more flexible structure for api permissions under the hood, allowing to add permissions for these routes and making them usable with an api token. Resolves

  • kolaente (03 Jun 24)

    fix(tasklist): migrate old tasklist format Resolves Resolves

  • kolaente (03 Jun 24)

    fix(views): transform bucket configurations This fixes a bug where filter buckets would not be editable because the bucket configuration was a read-only entry from the watcher.

  • kolaente (03 Jun 24)

    fix(task): do not try to set bucket for filtered bucket configuration

Vikunja Website


The open-source, self-hostable to-do app | Vikunja

Vikunja - the open-source to-do app to organize your life.


Does not redirect

Security Checks

All 66 security checks passed

Server Details

  • IP Address
  • Hostname
  • Location Nuremberg, Bayern, Germany, EU
  • ISP Hetzner Online GmbH
  • ASN AS24940

Associated Countries

  • US
  • DE

Saftey Score

Website marked as safe


Blacklist Check was found on 0 blacklists

  • ThreatLog
  • OpenPhish
  • PhishTank
  • Phishing.Database
  • PhishStats
  • URLhaus
  • RPiList Not Serious
  • AntiSocial Blacklist
  • PhishFeed
  • NABP Not Recommended Sites
  • Spam404
  • CRDF
  • Artists Against 419
  • CERT Polska
  • PetScams
  • Suspicious Hosting IP
  • Phishunt
  • CoinBlockerLists
  • MetaMask EthPhishing
  • EtherScamDB
  • EtherAddressLookup
  • ViriBack C2 Tracker
  • Bambenek Consulting
  • Badbitcoin
  • SecureReload Phishing List
  • Fake Website Buster
  • TweetFeed
  • CryptoScamDB
  • StopGunScams
  • ThreatFox
  • PhishFort

Website Preview

Vikunja Docker

Container Info

Vikunja is a self hosted, open-source to-do list application


Run Command

docker run -d \ 
  -e IP=${IP} \
  -e PORT=${PORT} \

Compose File

version: 3.8
    image: undefined
      PORT: 80
    restart: undefined

Environment Variables

  • Var Name Default
  • IP
  • PORT 80

Vikunja Reviews

More Cloud Productivity Suites

  • A zero knowledge cloud productivity suite. Provides Rich Text, Presentations, Spreadsheets, Kanban, Paint a code editor and file drive. All notes and user content, are encrypted by default, and can only be accessed with specific URL. The main disadvantage, is a lack of Android, iOS and desktop apps - CryptPad is entirely web-based. You can use their web service, or you can host your own instance. Price for hosted: free for 50mb or $5/ month for premium.

  • NextCloud Icon


    A complete self-hosted productivity platform, with a strong community and growing app store. NextCloud is similar to (but arguably more complete than) Google Drive, Office 365 and Dropbox. Clear UI and stable native apps across all platforms, and also supports file sync. Supports encrypted files, but you need to configure this yourself. Fully open source.

  • A platform providing online services based on principles of freedom, privacy, federation and decentralization. It is an implementation of NextCloud, with strong encryption configured - it is widely used by journalists, activists and whistle-blowers. It is free to use, but there have been reported reliability issues of the cloud services.

  • An open source platform for self-hosting web apps. Once you've set it up, you can install items from the Sandstorm App Market with -click, similar to NextCloud in terms of flexibility.

About the Data: Vikunja


You can access Vikunja's data programmatically via our API. Simply make a GET request to:

The REST API is free, no-auth and CORS-enabled. To learn more, view the Swagger Docs or read the API Usage Guide.

About the Data

Beyond the user-submitted YAML you see above, we also augment each listing with additional data dynamically fetched from several sources. To learn more about where the rest of data included in this page comes from, and how it is computed, see the About the Data section of our About page.

Share Vikunja

Help your friends compare Cloud Productivity Suites, and pick privacy-respecting software and services.
Share Vikunja and Awesome Privacy with your network!

View Cloud Productivity Suites (5)