Local-first YouTube metadata translation

YT Localizer

YT Localizer by Vagabondity Walks

A free-to-use, source-available YouTube metadata translator for safely translating video titles and descriptions on your own computer. Simple and powerful.

NO SUBSCRIPTIONS OR FEESProvider usage charges may apply
Open setup guide

No YT Localizer account, subscription, or hosted middleman.
You use your own Google and translation-provider accounts.

YT Localizer video library showing channel videos, filters, translation provider controls, and localization status
Functional app interface for your localizations

Why you should localize locally?

You don't want to hand your channel to a service you cannot inspect and trust.

Translating titles and descriptions requires a broad YouTube authorization, and permissions required can cover much more than localization - including changing channel content and deleting videos. With an unfamiliar website, you must trust its servers, its private code, and everyone who can access them. Will you?

The risk with an unknown service ❌

  • Your channel token is processed or stored on infrastructure you do not control.
  • You cannot inspect what its closed server code does with that access.
  • An update, ownership change, or security breach may put your channel at risk.
  • Most of such services share no information about their developers - they are basically anonymous.

What YT Localizer gives you ✅

  • The app runs on your computer and connects directly to YouTube and your chosen translator.
  • Your credentials stay in local files, with no YT Localizer account or intermediary server.
  • The source code is available for you to inspect.
  • The identity of author is known and you can always reach out with feedback or questions.

Features

Localize in batches

Translate one video, selected videos, the current page, or the entire channel in one run.

Keep access local

Your OAuth token, settings, and provider keys stay in local files on your computer.

Choose your translator

Use your own DeepL or Google Cloud Translation account for each localization run.

Live progress tracking

Follow every video-and-language pair as it is processed, including published, skipped, and failed localizations with their reasons.

Don't need to pay

YT Localizer has no fee or subscription. Translation providers offer generous free allowances that are usually enough for hundreds of video localizations; paid usage matters only for much larger volumes.

Original content protection

The original video, thumbnail, title, and description remain unchanged; only additional language localizations are published.

Choose with context

See what already exists before publishing anything.

Review source languages, provider compatibility, and existing localizations. Existing translations are skipped unless you deliberately choose to replace them.

  • Unsupported language combinations are disabled.
  • Full-length videos and Shorts can be filtered separately.
  • Provider connections can be tested before a real run.
  • Usage and YouTube quota information remain visible.
YT Localizer language selector showing available languages and existing localizations

Frequently Asked Questions

Who is the author of YT Localizer?

YT Localizer is created by a single developer Dmitrii Polovinkin (me!). I work in IT as data engineer for 7+ years, but I'm also a content creator - I make city walk videos on my channel Vagabondity Walks. YT Localizer was originally created as a solution to translate my own 200+ videos to various world languages, and I realized it would be a great idea to also make it in such a way so other creators could use it too!

What YouTube metadata can YT Localizer translate?

This tool translates YouTube video metadata — titles and descriptions — and publishes additional language versions through YouTube's localization fields. The original video, thumbnail, source title, and source description remain unchanged.

Existing localizations are skipped by default. Replacing them requires deliberately enabling the option to retranslate existing languages, which is a special feature and toggle we have.

Why do I need to bother to set up a YouTube localization tool to run this locally?

If you are a content creator, YouTube channel may be your profession, creative archive, or a project built over years - it's an important and valuable project. But YouTube does not provide a permission limited only to title and description localizations.

And this is mportant: the authorization which is used to update video metadata also includes permission to permanently delete videos from your channel. It will ask for a permission to literally "see, edit andp ermanently delete" YouTube videos, ratings, comments and captions".

Me personally, as a creator too, I would never give such an access to any third-party tool. But YT Localizer lets you create and manage everything yourself - so you are not giving some other random app any the access to your channel. The app runs only on your own computer and connects directly to YouTube and the translation provider you choose, without giving any hosted YT Localizer service access to your channel, which you can't control.

How difficult is it to set it up? Do I need to be a programmer?

Not hard at all actually, it usually takes about 10 minutes and requires no developer or IT experience! Most of the time is spent creating your own Google Cloud project, OAuth client, and translation-provider access.

It's a necessary steps to ensure only use have and access and control of your channel. After setup, starting the app only takes one Terminal command. The step-by-step setup guide includes separate clear instructions for macOS and Windows.

Do I need to pay anything? Is it really free?

Yes, it's free! You don't have to pay anything to use YT Localizer to it's fullest extent! It has no purchase price, no subscription fee (do you really need another one in your life?), or any app-imposed limits! Translation providers offer generous free allowances that are usually enough for literally hundreds of video localizations - and me, a YT Localizer developer myself used this tool to make those translations for my own channel.

But overall - getting started and using the app at normal volumes is effectively completely free for you. You only need to consider paid provider usage when translating at much larger volumes. Provider plans and free allowances can change, so check the current terms of the plan you choose before starting a large batch.

Why does Google show broad YouTube permissions?

As I've mentioned in a previous question, YouTube does not offer a narrow permission specifically for localization fields. The scope accepted for updating video metadata can also authorize actions such as video deletion.

But what's crucial here - the source code of YT Localizer, unlike other services found online, is completely publicly inspectable and contains no video-deletion API calls - you can see all the code! YT Localizer updates localization fields only - it does not upload, replace, or delete videos.

Does YT Localizer collect any data?

No. YT Localizer has no built-in analytics or telemetry and does not send usage information, channel details, credentials, or translation history to a YT Localizer server or any server whatsoever.

Usage counters and application settings are stored locally on your computer. Only the data required to perform a localization is sent directly to the services you configure: your chosen translation provider and YouTube itself.

Is YT Localizer open source?

It is source-available, free-to-use proprietary software, but not open source under the OSI definition. The source is public so you can inspect how credentials and YouTube access are handled. You may download and run the unmodified app at no charge for channels you own or are authorized to manage. But redistribution, resale, rebranding, modified releases, competing products, and offering it as a hosted service are restricted. Your translations and other output remain yours to use and monetize.

Read the complete license

Which translation provider should I use?

DeepL is the simplest starting option because it requires only an API key. Google Cloud Translation is also supported and uses a service-account JSON key with billing enabled in your Google Cloud project.

You can configure either provider or both, test their connections, and select the provider for each localization run.

Are there translation or YouTube limits?

YT Localizer adds no artificial limit. Translation volume depends on your provider plan, while publishing depends on YouTube's daily API quota.

If the YouTube quota is exhausted, the app enters a limited mode, keeps cached channel data available, shows the expected reset time, and lets you reconnect after access is restored.

What runs on my computer? (technical answer)

uv installs Python 3.12 and the exact locked dependencies into the project environment. The Flask interface listens only on 127.0.0.1:5050, which points back to your own computer rather than exposing a public web server.

Private files such as settings.toml, Google credential JSON files, and token.pickle are excluded by .gitignore. They should never be published or shared.

How is this different from a hosted service such as ReTranslate.ai?
  • Access: YT Localizer uses your own OAuth client locally instead of granting channel access to a hosted localizer.
  • Transparency: its complete application source can be inspected.
  • Limits: the app has no subscription or app-imposed translation cap; provider and YouTube quotas still apply.
  • Workflow: it supports multi-video batches, provider compatibility checks, and detailed results for every attempted localization.

The tradeoff is that you must complete the one-time local setup yourself. YT Localizer also focuses specifically on video titles and descriptions; it does not translate subtitles, channel metadata, or playlist metadata.

Open the full comparison table

Where can I report a problem or ask for help?

Feel free to create a GitHub Issue and include all the details and also the full error shown in Terminal plus the steps that led to it.

Please, don't include API keys, OAuth credential files, settings.toml, or token.pickle - it's all private.

Try it on one video.

Follow the setup guide, test one language, and scale up when you are happy with the result.