- Notifications
You must be signed in to change notification settings - Fork466
TagSpaces is an offline, open source, document manager with tagging support
License
tagspaces/tagspaces
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
TagSpaces is a free and open-source platform for organizing, tagging, and managing your local files. It runs completely offline, with no need for cloud services, internet connection, or vendor lock-in. Available forWindows,Linux, andmacOS, it also includes abrowser extension (Web Clipper) for Firefox, Edge, and Chrome to capture online content as local files.
Grab the latest release from theGitHub Releases Page.
Check out the fullchangelog for recent updates.
- File & Folder Management – Browse, organize, and manage local files in a powerful interface.
- Tagging System – Add tags directly into filenames or use sidecar files for metadata storage.
- Flexible Search – Filter and find files by name or tags using fuzzy search.
- Offline First – 100% offline, serverless, and privacy-focused.
- Cross-platform – Runs seamlessly on Windows, Linux, and macOS.
- Note Taking – Create notes in TXT, Markdown, or HTML.
- To-Do Support – Manage task lists using the built-in HTML editor.
- Media Player – Play common audio and video formats directly within the app.
- Web Clipper – Save web pages or screenshots locally using our browser extension.
- Javascript Framework:React.js
- User Interface Styling:MUI
- Desktop App Framework:Electron
- Boilerplate:Electron React Boilerplate
src/ renderer/ # Core application logic main/ # Electron main process locales/ # Language translation files node_modules/ # TagSpaces extension modulescordova/ # Deprecated Android builddll/ # Live reload support for developmentdocker/ # Docker container setupinternals/ # Flow and ESLint configurationsresources/ # Images and build resourcesscripts/ # NPM task-related scriptstest/ # Unit and E2E testsweb/ # Assets for web versionInstall the following tools:
git clone https://github.com/tagspaces/tagspaces.gitcd tagspacesgit checkout develop # or 'master' for stable releasenpm installCreate a .env file in release/app/ with a custom key to avoid conflicts:
The desktop version of the application uses a web service which is running locally as a separate process. The web service is responsible for the search index creation and the generation of the thumbnails for most of the images formats. A key is required in order for the main application to communicate with the web server. It should be generated from webpack script in the.env file located inrelease/app folder. This is an example for an .env file.
KEY=a_custom_keyHaving a custom key, ensures that another instance of TagSpaces will not communicate with the web service of the initial instance, since it is always running on the same port.
npm run buildnpm run startnpm run devThis will start a development server in background, which watches for changes in background and refreshes the application automatically once you have done some changes in the source code.
Run unit and integration tests:
npm run test-unitnpm run test-playwrightnpm run test-playwright-web
Build native apps for each platform:
npm run package-winnpm run package-linuxnpm run package-macnpm run package-mac-arm64
The commands will create packages for Windows, Linux, Mac OS and Mac OS with the M1 processor respectively.
⚠️ Run npm run build before packaging.
npm run version-metanpm run prepare-cordovanpm run package-android
Start the web version locally:
npm run run-webTagSpaces supports extension modules for opening and editing different file types. Learn more on ourExtensions Page.
We welcome contributions! Please review and sign theContributor License Agreement (CLA) before submitting PRs.
TagSpaces is available in over 20 languages. Help us translate the app by joining our team onTransifex.
Have an idea or a feature request? Share it on ourcommunity forum and join the discussion.
If you encounter a bug or need help,open an issue on GitHub.
TagSpaces is not optimized for locations with more than 100,000 files.
TagSpaces is dual-licensed under theAGPL (GNU Affero General Public License) v3 for open-source projects and a commercial license for vendors or resellers. Contact us if you're interested in using TagSpaces under different terms.
About
TagSpaces is an offline, open source, document manager with tagging support
Topics
Resources
License
Code of conduct
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
