Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Rust
  3. tv-renamer

tv-renamer

MITRust0.3.3

A Rust-based tool for renaming TV series files with CLI and GTK3 interfaces, supporting custom templates and TVDB integration.

GitHubGitHub
152 stars10 forks0 contributors

What is tv-renamer?

TV Renamer is a tool that renames TV series video files based on season and episode information. It helps organize media libraries by automatically detecting video files, applying custom naming templates, and optionally fetching episode titles from TheTVDB. The tool supports both command-line and graphical interfaces for flexibility.

Target Audience

Users who manage local TV series collections and want to automate file renaming for better organization, such as media enthusiasts or home server administrators.

Value Proposition

Developers choose TV Renamer for its dual interface options, Rust-based reliability, and TVDB integration, which together provide a fast, customizable, and automated solution for media file management without relying on proprietary software.

Overview

Mirror of https://gitlab.com/mmstick/tv-renamer

Use Cases

Best For

  • Renaming downloaded TV episodes to a consistent naming scheme
  • Organizing media libraries with season-based folder structures
  • Automating batch file renaming using custom templates
  • Fetching episode titles from TheTVDB to enrich filenames
  • Managing video files exclusively (via /etc/mime.types filtering)
  • Using a lightweight Rust-based tool for file management tasks

Not Ideal For

  • Users on operating systems without GTK3 support or who prefer native GUI toolkits
  • Media libraries where episode order isn't alphabetical and needs inference from filenames
  • Projects requiring video detection based on content rather than /etc/mime.types extensions
  • Environments needing integration with multiple metadata sources beyond TheTVDB

Pros & Cons

Pros

Dual Interface Flexibility

Offers both CLI and GTK3 GUI, allowing users to choose based on preference or automation needs, as shown in the README's separate manuals for each interface.

Customizable Naming Schemes

Supports templates with tokens like ${Series} and ${TVDB_Title}, enabling precise control over filenames, as demonstrated in the CLI examples with user-defined formats.

TVDB Episode Title Integration

Automatically fetches episode titles from TheTVDB to enrich filenames, reducing manual input and improving organization, referenced in the template tokens and examples.

Rust-Based Performance

Written in Rust for safety and efficiency, ensuring reliable batch processing without crashes, as highlighted in the features list and build status.

Cons

Alphabetical Order Dependency

Episode numbers are derived from file alphabetical order, not content, which can fail if files are misordered or named inconsistently, as warned in the GTK3 manual.

GTK3 Platform Limitations

The GUI requires GTK3, making it less portable to non-Linux systems and potentially cumbersome for users on Windows or macOS without proper setup.

Limited Video Format Support

Relies solely on /etc/mime.types for video detection, which may exclude uncommon formats or be absent on some systems, as noted in the features list.

Frequently Asked Questions

Quick Stats

Stars152
Forks10
Contributors0
Open Issues4
Last commit7 years ago
CreatedSince 2016

Tags

#file-renaming#cli-tool#gtk#gtk3#linux#video-management#rust#automation

Built With

G
GTK3
R
Rust

Included in

Rust56.6k
Auto-fetched 17 hours ago

Related Projects

BatBat

A cat(1) clone with wings.

Stars59,853
Forks1,600
Last commit23 days ago
fdfd

A simple, fast and user-friendly alternative to 'find'

Stars43,855
Forks1,100
Last commit1 day ago
nushellnushell

A new type of shell

Stars40,071
Forks2,187
Last commit1 day ago
zoxidezoxide

A smarter cd command. Supports all major shells.

Stars38,203
Forks853
Last commit4 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub