Go to file
antelle ec5bacd951
updated the workflow
2020-06-02 12:29:55 +02:00
.github updated the workflow 2020-06-02 12:29:55 +02:00
app up yk-api 2020-06-02 12:23:22 +02:00
build splitted macos app signing and notarization 2020-06-01 22:51:42 +02:00
desktop up yk-api 2020-06-02 12:23:22 +02:00
graphics fixed dev app icon 2020-05-10 09:49:09 +02:00
helper updated windows helper for #554 2019-09-12 23:37:31 +02:00
img new screenshot 2019-09-08 15:07:34 +02:00
package fix #1503: arm64 Windows installer 2020-05-14 22:59:11 +02:00
plugins up modules; prettier 2020-06-01 16:53:51 +02:00
test settings 2020-05-05 20:47:15 +02:00
util imports 2019-09-15 14:16:32 +02:00
.babelrc using optional chaining 2020-05-09 10:45:12 +02:00
.editorconfig fixed editorconfig 2019-08-16 23:09:14 +02:00
.eslintrc displaying matching otp codes in entries 2020-05-11 17:24:06 +02:00
.gitignore publish release action 2020-04-06 21:41:44 +02:00
.prettierrc Fix build config to support Windows path separators and newlines 2020-01-18 16:42:36 +13:00
CONTRIBUTING.md contributing 2020-04-18 13:11:05 +02:00
Gruntfile.js reverted config changes 2020-06-01 23:54:55 +02:00
LICENSE 2019 2019-01-06 18:40:23 +01:00
README.md better building instructions 2020-05-30 12:06:53 +02:00
SECURITY.md Create SECURITY.md 2020-04-28 23:33:23 +02:00
dev-env.sh removed tools 2020-03-23 21:33:11 +01:00
grunt.entrypoints.js splitted macos app signing and notarization 2020-06-01 22:51:42 +02:00
grunt.tasks.js splitted macos app signing and notarization 2020-06-01 22:51:42 +02:00
jsconfig.json jsconfig for vscode 2019-09-16 18:34:58 +02:00
package-lock.json up yk-api 2020-06-02 12:23:22 +02:00
package.json up yk-api 2020-06-02 12:23:22 +02:00
postcss.config.js autoprefixer 2019-09-20 23:37:17 +02:00
release-notes.md fix #448: minimized login option support on macOS 2020-06-01 15:02:19 +02:00
webpack.config.js tests 2019-10-12 13:24:37 +02:00


Free cross-platform password manager compatible with KeePass

This webapp is a browser and desktop password manager compatible with KeePass databases. It doesn't require any server or additional resources. The app can run either in browser, or as a desktop app.


Apps: Web, Desktop
Timeline: Release Notes, TODO
On one page: Features, FAQ
Website: keeweb.info
Twitter: kee_web
Donate: OpenCollective, GitHub


The app is quite stable now. Basic stuff, as well as more advanced operations, should be rather reliable.


Everything you need to host this app on your server is any static file server. The app is a single HTML file + a service worker (optionally; for offline access). You can download the latest distribution files from gh-pages branch.

If you are using Docker:

  1. put your dh.pem, cert.pem, key.pem to /etc/nginx/external/
  2. run this script:
docker run --name keeweb -d -p 443:443 -p 80:80 -v $EXT_DIR:/etc/nginx/external/ antelle/keeweb

To make Dropbox work in your self-hosted app, go to this Wiki page.


The easiest way to clone all KeeWeb repos is:

curl https://raw.githubusercontent.com/keeweb/keeweb/develop/dev-env.sh | bash -

The app can be built with grunt: grunt (html files will be in dist/).
Desktop apps are built with grunt desktop. This requires some magic and currently works only on CI, you can find more details in the GitHub Actions workflow.

To run the desktop (electron) app without building an installer, build the app with grunt and start it this way:

npm run dev
npm run electron

For debug build:

  1. run npm run dev
  2. open http://localhost:8085

To build desktop apps, use these goals, the result can be found in tmp:

npm run dev-desktop-macos
npm run dev-desktop-windows
npm run dev-desktop-linux


Please read contribution guidelines for pull requests.
Here's a list of issues where your help would be very welcome. Also you can help by translating KeeWeb to your language.

Other ways of contribution can be found on this page.

Important notes for pull requests

  • please branch from develop, not master
  • don't edit translation files except base.json, they will be replaced


KeeWeb is not free to develop. It takes time, requires paid code signing certificates and domains.
You can help the project or say "thank you" with this button:

You can also sponsor the developer directly on GitHub.

Please note: donation does not imply any type of service contract.