OpenPOS is a free, open source Point-of-Sale (POS) web application you can run from a folder or host on Web server. It works offline, supports multiple users and roles, receipts and reports, barcode scanning, and persistent disk backups so your data survives clearing browser storage.
The auto-save function is optimized and designed for local/offline environments.
Do not enable Auto Save when running this from the web server.
While it may encounter errors when hosted on a live web server, you can always manually manage your data via the following options:
- Save AppData to file (AppData.json)
- Load AppData from AppData file
- Zero-build: run by opening index.html (or host on GitHub Pages)
- Offline-first: service worker and PWA install support
- Local storage (IndexedDB) with optional AppData.json disk backup for file:// runs
- Multi-user accounts with roles (Admin, Manager, Cashier) and security-question password recovery
- Products, categories, customers, cart/checkout, sales recording and printable receipts
- Live camera barcode scanning (where supported) and CSV import/export for products/customers
- Sales & Reports with CSV (Excel) and PDF export
- Theme, language and currency selection
- Download
OpenPOS App V3.0.0.zipfile or clone the repository and extract the files to a folder. - Open
index.htmlin a modern browser (Chrome/Edge recommended for full features). - On first run create an Admin account. The app will guide you through setup.
- To make backups that survive clearing browser data: use Settings → Choose AppData file (or Export Backup). On file:// runs the app will try to load
AppData.jsonfrom the same folder automatically. - To install the app on your device, host the folder on Web Server or use the browser "Install" prompt when available.
- The app stores data in your browser (IndexedDB). If you clear browser data you can restore from an exported backup or an AppData.json file saved to disk.
- For strong persistence on local file runs (file://), place an
AppData.jsonfile in the same folder or use Settings → Choose AppData file to save to disk.
All data remains on your device. Passwords and security answers are hashed using the Web Crypto API before storage. Encrypted backups (AES-GCM) are supported when exporting.
OpenPOS is released under the GNU General Public License v3.0 (GPL-3.0).
If you found OpenPOS useful or want to contribute, open an issue or pull request on the repository. Enjoy!