TagStudio

TagStudioDevGPL-3.0活跃维护

面向个人用户的照片与文件管理工具,用标签和元数据整理文件,替代传统文件夹分类,方便检索和浏览。

A User-Focused Photo & File Management System

v9.6.4发布于 2026-10-02 19:30 UTC7,281star +6 / 7 天470fork同步于 2026-11-10 05:32 UTC

怎么上手

README 里没有找到可直接复制的安装命令

README 里没有找到可直接复制的安装命令,请到 README 或官方文档查看安装方式。

硬件要求按 README 关键词推断
支持 Apple Silicon
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

这个项目的说明还在生成中,先参考下面「最近发版」和 README。

最近发版

5 个版本v9.6.4
  1. v9.6.4Alpha v9.6.4最新正式版2026-10-02 · 2026-10-02 19:30 UTC

    This update includes a way to selectively hide tags from appearing under any inherited categories, new ⓘ info buttons in the tag editor with explanations and examples of complex features, more QoL settings for the tag and field bars, a new changelog window, and several internal changes and bugfixes.

    This will likely be the last small update before 9.7.0 (unless critical bugfixes are needed), which has been developed simultaneously and will include several major improvements and changes when it releases in a few weeks.

    Thank you for continuing to use and support TagStudio!

    Added

    • feat: add per-tag category display options by @Sola-ris in #1470
      • fix(ui): show a tag that's a category under its own visibility section by @CyanVoxel in #1526
    • feat(ui): relayout tag editor and add info popover buttons by @CyanVoxel in #1521

    • feat(ui): add more qol settings to tag and field bars by @CyanVoxel in #1513
    • feat(ui): add changelog window by @CyanVoxel in #1517

    Changed

    • feat(ui): improve library opening error messages and correct behavior by @CyanVoxel in #1516

    Internal Changes

    • refactor(migrations): better library decoupling by @Computerdores in #1482
    • refactor!: organize project layout by @CyanVoxel in #1483
    • build: bump python version to 3.14 by @CyanVoxel in #1485
    • refactor: media types rework, dynamically load preview renderers by @CyanVoxel in #1498
      • fix: include renderers in pyinstaller build by @TrigamDev in #1504
      • fix: make archive and ebook thumbnail renderers case-insensitive by @Sola-ris in #1510
      • fix(nix/package): update build and Python versions by @Xarvex in 33199f5b2613659fe121c8a09446f0a0e9b70654
    • refactor(migrations): sqlalchemy be gone by @Computerdores in #1499
    • refactor(ui): refactor BuildTagPanel to use MVC (now EditTagPanel) by @CyanVoxel in #1519
    • refactor(ui): merge various tag/tag-like widgets into single Capsule widget by @CyanVoxel in #1520
      • fix(ui): adjust tag text baseline for different systems by @CyanVoxel in b69b46916df6f0c6760c902ba047adbf42a18795
    • fix(dev): add reuse linter by @Xarvex in c33455b7a067078bcf217813eabf531c037c667e
    • fix(nix/package): update package and dependencies, temporarily ignore tests by @Xarvex in 55b033eca4d03f5e635dc5148f9afaeea5fb570a

    Translations

    • Dutch updated by @FlannyH, @Pheubel
    • French updated by @kitsumed
    • Hungarian updated by @smileyhead

    Fixed

    • fix: fix json migration UI and tests by @CyanVoxel in #1484
    • fix(ui): only update inspector once per thumbnail click by @CyanVoxel in #1487
    • fix: prevent segfaults after progress bar tasks by @CyanVoxel in #1490
    • fix: escape filename in glob matching while relinking entries by @CyanVoxel in #1492
    • fix: fix exceptions in folders to tags by @Huluk in #1497
    • fix: update blender_thumbnailer.py to read Blender 5.x files by @050011-code in #1481
    • fix(ui): don't refresh page after cancelling file deletion by @CyanVoxel in #1512
    • fix(ui): shrink selection to normally clicked item by @CyanVoxel in #1515
    • fix: unblock migrations of v9.5.6 libraries that somehow got v9.6.2 tables by @CyanVoxel in #1518
    • fix(ui): use correct max count for search panels by @CyanVoxel in #1524
    • fix: use copyfile() instead of copy2() by @CyanVoxel in 6a06e3e7c851587b6e41e0cd218346a5abbcb9d0
      • Fixes an issue with the .ts_ignore file on Nix

    New Contributors

    • @Huluk made their
  2. v9.6.3Alpha v9.6.32026-08-15 · 2026-08-15 21:11 UTC
    查看更新说明

    This update includes some critical library bugfixes along with a handful QoL tweaks and additions to the tag/field search bars. The documentation on this feature has been updated to include the new improvements.

    Added

    • feat(ui): show library format version in "About" window by @CyanVoxel in 102cfdf4a2e12635f4b6e47259aa23ea95787421

    Tag and Field Bars

    Changed

    Internal Changes

    Translations

    • French updated by @kitsumed
    • Hebrew updated by @Tatrask
    • Hungarian updated by @smileyhead
    • Japanese updated by @coolzdaddy55-art

    Fixed

    • fix: fix being unable to create new colors by @CyanVoxel in dd00f4d4a02fd74b24d40c51b55ae3cc7db09203
    • fix(ui): increase spacing between color palettes by @CyanVoxel in 354c0a0afcdaae2e490dd6c1eca5a556e7724aea
    • fix: fix infinite loading in various refresh operations by @CyanVoxel in 3ce65552f7d459a2edebadb29cf1c17de6a1c742
    • fix(ui): fix update popup showing after closing main window by @CyanVoxel in 30c81257fa3882376111ec03637bd6f517500908
    • fix(ui): fix accent color issues on Windows by @CyanVoxel in https://github.com/TagStudioDev/TagStudio/pull/1477

    Full Changelog: https://github.com/TagStudioDev/TagStudio/compare/v9.6.2...v9.6.3

  3. v9.6.2Alpha v9.6.22026-08-07 · 2026-08-07 01:32 UTC
    查看更新说明

    Added

    Changed

    Tag & Field Search/Create Bars (by @CyanVoxel in https://github.com/TagStudioDev/TagStudio/pull/1451)

    The tagging workflow has gotten a major overhaul! Clicking the "Add Tag" button or pressing Ctrl+T will now activate an inline tag search bar that you can also use to quickly create and apply new or existing tags! Creating new tags in an empty library is now as simple as clicking the "Add Tag" button, typing in the name of a tag you wish to create, and hitting Enter! The whole workflow was redone with both casual and power users in mind, and is entirely keyboard friendly. And fields have also gotten the same treatment!

    You can read the brief feature overview below or read the updated documentation to see the full changes and features:

    • Open tagging bar clicking "Add Tag" or using Ctrl+T
    • Open field bar clicking "Add Field" or using Ctrl+L
    • When searching, the underlined tag/field template will be added on Enter
    • With no search results, a new tag or field template will be created on Enter and added to the selection
    • Holding Shift while pressing Enter will force create a new tag/field template, regardless of the search results
    • An option to always open an Edit window for new tags after creation is available by right-clicking the search bar or by going to the Settings (off by default)
    • An option to always open an Edit window for field content after applying a template is available by right-clicking the search bar or by going to the Settings (on by default)
      • Field templates are always edited after being created
    • The classic tag search panel can be accessed from File -> Add Tag to Selected / Shift+Ctrl+T

    Internal Changes

    Translations

    • French updated by @kitsumed
    • Hungarian updated by @smileyhead
    • Chinese (Simplified Han Script) updated by ???
    • Spanish updated by @2004milenadiaz-source, @JulArr22

    Fixed

  4. v9.6.1Alpha v9.6.12026-07-10 · 2026-07-10 00:06 UTC
    查看更新说明

    Added

    Changed

    Fixed

    Internal Changes

    Translations

    • French updated by @kitsumed
    • Hungarian updated by @smileyhead
    • Russian updated by @romandobra
    • Spanish updated by @JCC1998, @2004milenadiaz-source

    New Contributors

    Full Changelog: https://github.com/TagStudioDev/TagStudio/compare/v9.6.0...v9.6.1

  5. v9.6.0Alpha v9.6.02026-06-29 · 2026-06-29 21:05 UTC
    查看更新说明

    [!NOTE] There was an issue publishing macOS x86 (Intel) builds for this release. We will have the issue resolved shortly.

    Added

    Customizable Fields

    Fields are now fully customizable!

    • The built-in list of fields (now referred to as "field templates") has been reduced to a list of handy essential templates that can be fully modified or deleted
    • "Text Line" and "Text Box" field types have been combined into a single "Text" type with a "Multiline" option that can be configured on templates or toggled dynamically on existing text fields
    • You can now create your own field templates in with custom names, types, and other options
    • Fields applied to file entries can now have their names edited

    Other Additions

    Fixed

    Changed

    Internal Changes

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    TagStudio: A User-Focused Photo & File Management System

    Downloads Translations REUSE Status Python Checks

    TagStudio is a photo & file organization application with an underlying tag-based system that focuses on giving freedom and flexibility to the user. No proprietary programs or formats, no sea of sidecar files, and no complete upheaval of your filesystem structure. Read the documentation and more at docs.tagstud.io!

    Contents

    Translation hosting generously provided by Weblate. Check out our project page to help translate TagStudio!

    Feature Highlights

    Libraries

    A TagStudio library contains all of your tags, fields for a set of files based on one of your system directories. Similar to how Obsidian vaults function, TagStudio libraries act as a layer on top of your existing folders and file structure, and don't require your to move or duplicate files.

    TagStudio places a .TagStudio folder in the folder you open as a library. Files included in your library are referred to as "entries", and are kept track of inside of a SQLite database inside the .TagStudio folder along with tags and other library data.

    File Entries

    All file types are supported in TagStudio libraries, just not all have dedicated preview support. For a full list of filetypes with supported previews, see the "Supported Previews" page on the documentation site. There's also playback support for videos, audio files, and supported animated image formats.

    For a generalized list of what's currently supported:

    • Images
      • Raster Images (JPEG, PNG, etc.)
      • Vector (SVG)
      • Animated (GIF, WEBP, APNG)
      • RAW Formats
    • Videos
    • Plaintext Files
    • Documents (If supported)
    • eBooks (If supported)
    • Photoshop PSDs, Blender Projects, Krita Projects, and more!

    Tags and Fields

    Tags represent an object or attribute - this could be a person, place, object, concept, and more. Unlike most tagging systems, TagStudio tags are not solely represented by a line of text or a hashtag. Tags in TagStudio consist of several properties and relationships that give extra customization, searching power, and ease of tagging that cannot be achieved by string-based tags alone. TagStudio tags are designed to be as simple or as complex as you'd like, giving options to users of all skill levels and use cases.

    Tags currently consist of the following attributes:

    • Name: The full name for your tag. This does NOT have to be unique!
    • Shorthand Name: The shortest alternate name for your tag, used for abbreviations.
    • Aliases: Alternate names your tag goes by.
    • Color: The display color of your tag.
    • Parent Tags: Other tags in which this tag inherits from. In practice, this means that this tag can be substituted in searches for any listed parent tags.
      • Parent tags checked with the "disambiguation" checkbox next to them will be used to help disambiguate tag names that may not be unique.
      • For example: If you had a tag for "Freddy Fazbear", you might add "Five Nights at Freddy's" as one of the parent tags. If the disambiguation box is checked next to "Five Nights at Freddy's" parent tag, then the tag "Freddy Fazbear" will display as "Freddy Fazbear (Five Nights at Freddy's)". Furthermore, if the "Five Nights at Freddy's" tag has a shorthand like "FNAF", then the "Freddy Fazbear" tag will display as "Freddy Fazbear (FNAF)".
    • Is Category: A property that when checked, treats this tag as a category in the preview panel.

    Fields, like tags, are additional pieces of custom metadata that you can add to your file entries. Fields currently have several hardcoded names (e.g. "Title", "Author", "Series") but custom field names are planned for an upcoming update.

    Field types currently include:

    • Text Lines: Single lines of text.
    • Text Boxes: Multi-line pieces of text.
    • Datetimes: Dates and times.

    Search

    • Search for file entries based on tags, file path (path:), file types (filetype:), and even media types! (mediatype:). Path searches currently use glob syntax, so you may need to wrap your filename or filepath in asterisks while searching. This will not be strictly necessary in future versions of the program.
    • Use and combine boolean operators (AND, OR, NOT) along with parentheses groups, quotation escaping, and underscore substitution to create detailed search queries
    • Use special search conditions (special:untagged and special:empty) to find file entries without tags or fields, respectively

    Basic Usage

    [!TIP] For more usage instructions, see the documentation site!

    Creating/Opening a Library

    With TagStudio opened, start by creating a new library or opening an existing one using File -> Open/Create Library from the menu bar. TagStudio will automatically create a new library from the chosen directory if one does not already exist. Upon creating a new library, TagStudio will automatically scan your folders for files and add those to your library (no files are moved during this process!).

    Refreshing the Library

    Libraries under 10,000 files automatically scan for new or modified files when opened. In order to refresh the library manually, select "Refresh Directories" under the File menu or by pressing Ctrl+R (macOS: ⌘ Command+R).

    Creating Tags

    Create a new tag by accessing the "New Tag" option from the Edit menu or by pressing Ctrl+T (macOS: ⌘ Command+T). In the tag creation panel, enter a tag name, optional shorthand name, optional tag aliases, optional parent tags, and an optional color.

    Tag Manager

    You can manage your library of tags from opening the "Tag Manager" panel from Edit -> "Tag Manager" or by pressing Ctrl+M (macOS: ⌘ Command+M). From here you can create, search for, edit, and permanently delete any tags you've created in your library.

    Editing Tags

    To edit a tag, click on it inside the preview panel or right-click the tag and select "Edit Tag" from the context menu.

    Adding Tags to File Entries

    Access the "Add Tag" search box by either clicking on the "Add Tag" button at the bottom of the right sidebar, accessing the "Add Tags to Selected" option from the File menu, or by pressing Ctrl+Shift+T (macOS: ⌘ Command+Shift+T).

    From here you can search for existing tags or create a new one if the one you're looking for doesn't exist. Click the "+" button next to any tags you want to the currently selected file entries. To quickly add the top result, press the Enter/Return key to add the top-most tag and reset the tag search. Press Enter/Return once more to close the dialog box. By using this method, you can quickly add various tags in quick succession just by using the keyboard!

    To remove a tag from a file entry, hover over the tag in the preview panel and click on the "-" icon that appears.

    Adding Fields to File Entries

    To add a metadata field to a file entry, start by clicking the "Add Field" button at the bottom of the preview panel. From the dropdown menu, select the type of metadata field you’d like to add to the entry

    Editing Fields

    Hover over the field and click the pencil icon. From there, add or edit text in the dialog box popup.

    Relinking Moved Files

    Inevitably some of the files inside your library will be renamed, moved, or deleted. If a file has been renamed or moved, TagStudio will display the thumbnail as a red broken chain link. To relink moved files or delete these entries, select the "Manage Unlinked Entries" option under the Tools menu. Click the "Refresh" button to scan your library for unlinked entries. Once complete, you can attempt to "Search & Relink" any unlinked file entries to their respective files, or "Delete Unlinked Entries" in the event the original files have been deleted and you no longer wish to keep their entries inside your library.

    [!WARNING] There is currently no method to relink entries to files that have been renamed - only moved or deleted. This is a high priority for future releases.

    [!WARNING] If multiple matches for a moved file are found (matches are currently defined as files with a matching filename as the original), TagStudio will currently ignore the match groups. Adding a GUI for manual selection, as well as smarter automated relinking, are high priorities for future versions.

    See instructions in the "Creating Development Environment" section from the contributing page.

    Installation

    To download executable builds of TagStudio, visit the Releases page of the GitHub repository and download the latest release for your system under the "Assets" section at the bottom of the release.

    TagStudio has builds for Windows, macOS (Apple Silicon & Intel), and Linux. We also offer portable releases for Windows and Linux which are self-contained and easier to move around.

    For detailed instructions, installation help, and instructions for developing for TagStudio, please see the "Installation" page on our documentation website.

    [!IMPORTANT] If you're interested in contributing to TagStudio, please take a look at the contribution guidelines for how to get started!

    Third-Party Dependencies

    For video thumbnails and playback, you'll also need FFmpeg installed on your system. If you encounter any issues with this, please reference our FFmpeg Help guide. For faster library scanning and refreshing, it's also recommended you install ripgrep.

    [!CAUTION] We do not currently publish TagStudio to any package managers. Any TagStudio distributions outside of the GitHub Releases page are unofficial and not maintained by us.

    Installation support will not be given to users installing from unofficial sources. Use these versions at your own risk!

    Goals & Priorities

    TagStudio aims to create an open and robust format for file tagging that isn't burdened by the limitations of traditional tagging and file metadata systems. TagStudio is the first proof-of-concept implementation of this system.

    See the Roadmap on the documentation site for a complete list of planned features and estimated timeline.

    Overall Goals

    • To achieve a portable, private, extensible, open-format, and feature-rich system of organizing and rediscovering files.
    • To provide powerful methods for organization, notably the concept of tag inheritance, or "taggable tags" (and in the near future, the combination of composition-based tags).
    • To create an implementation of such a system that is resilient against a user’s actions outside the program (modifying, moving, or renaming files) while also not burdening the user with mandatory sidecar files or requiring them to change their existing file structures and workflows.
    • To support a wide range of users spanning across different platforms, multi-user setups, and those with large (several terabyte) libraries.

    Project Priorities

    1. The concept. Even if TagStudio as an application fails, I’d hope that the idea lives on in a superior project. The goals outlined above don’t reference TagStudio once - TagStudio is what references the goals.
    2. The system. Frontends and implementations can vary, as they should. The core underlying metadata management system is what should be interoperable between different frontends, programs, and operating systems. A standard implementation for this should settle as development continues. This opens up the doors for improved and varied clients, integration with third-party applications, and more.
    3. The application. If nothing else, TagStudio the application serves as the first (and so far only) implementation for this system of metadata management. This has the responsibility of doing the idea justice and showing just what’s possible when it comes to user file management.

    FAQ

    Will TagStudio move, modify, or mess with my files?

    No, outside of explicit functionality such as "Move File(s) to Trash".

    Will TagStudio require me to recreate my tags or library in future updates?

    No. It's our highest priority to ensure that your data safely and smoothly transfers over to newer versions.

    What state is the project currently in?

    As of writing (Alpha v9.5.5) the project is very usable, however there's still some quirks and missing QoL features. Several additional features and changes are still planned (see: roadmap) that add even more power and flexibility to the tagging and field systems while making it easier to tag in bulk and perform automated operations. Bugfixes and polishes are constantly trickling in along with the larger feature releases.

    What features are you planning on adding?

    See the roadmap page for the core features being planned and implemented for TagStudio. For a more up to date look on what's currently being added for upcoming releases, see our GitHub milestones for versioned releases.

    The most important remaining features before I consider the program to be "feature complete" are:

    • Custom names for Fields
    • List views for files
    • Multiple root directory support for libraries
    • Improved file entry relinking
    • File entry groups
    • Sorting by file date modified and created
    • Macros
    • Improved search bar with visualized tags and improved autocomplete
    • Side panel for easier tagging (pinned tags, recent tags, tag search, tag palette)
    • Improved tag management interface
    • Improved and finalized Tag Categories
    • Fixed and improved mixed entry data displays (see: #337)
    • Sharable tag data
    • Separate core library + API

    What features will NOT be added?

    • Native Cloud Integration
      • There are plenty of services already (native or third-party) that allow you to mount your cloud drives as virtual drives on your system. Hosting a TagStudio library on one of these mounts should function similarly to what native integration would look like.
      • Supporting native cloud integrations such as these would be an unnecessary "reinventing the wheel" burden for us that is outside the scope of this project.
    • Native ChatGPT/Claude/Gemini/Non-Local LLM Integration
      • This could mean different things depending on your intentions. Whether it's trying to use an LLM to replace the native search, or to trying to use a model for image recognition, I'm not interested in hooking people's TagStudio libraries into non-local LLMs such as ChatGPT and/or turn the program into a "chatbot" interface (see: Overall Goals/Privacy).
      • With that being said, the future TagStudio API should be well-suited to connect to any sort of service you'd like, including machine learning models if so you choose. I just won't personally add any native integrations with online services.

    Is a Rust port coming?

    Not from us, or at least not quite. There are plans to break off the core TagStudio library into its own MIT-licensed module that can be used in other applications and plugins, and ideally this would be written in Rust. While I understand there's a lot of vocal support and volunteers willing to help with this, it's something that's better off coming at my/our own pace in order to ensure it's done correctly to align with the project's intentions and to remain maintainable in the future.

    Windows Defender thinks TagStudio is a virus or a trojan, why?

    Unfortunately, executable Python applications "compiled" with something like PyInstaller are notorious for raising false positives in anti-virus software, most commonly Windows Defender (see: #276 and related issues). There's really not much we can do about this on our end, as the malware matches frequently change and sample submissions to Microsoft are slow and often ineffective. If you're effected by this, you may need to allow TagStudio to bypass your anti-virus software.

    Why is TagStudio already on version 9.x?

    Over the first few years of private development the project went through several major iterations and rewrites. These major version bumps came quickly, and by the time TagStudio was opened-sourced the version number had already reached v9.0. Instead of resetting to "v0.0" or "v1.0" for this public release I decided to keep my v9.x numbering scheme and reserve v10.0 for when all the core features on the roadmap are implemented. I’ve also labeled this version as an "Alpha" and will drop this once either all of the core features are implemented or the project feels stable and feature-rich enough to be considered "Beta" and beyond.