No YT Localizer account, subscription, or hosted middleman. You use your own Google and translation-provider accounts.
Functional app interface for your localizations
•••
Why you should localize locally?
Because you don't want to hand your channel to a service you cannot inspect.
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.
For most of such services they share no information about its developer
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 idendity of author is known and you can always reach out with feedback or questions.
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.
•••
Frequently Asked Questions
What YouTube metadata can YT Localizer translate?+
It 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.
Why should a YouTube localization tool run locally?+
A YouTube channel may be your profession, creative archive, or a project built over years. YouTube does not provide a permission limited only to title and description localizations.
Important: the authorization used to update video metadata also includes permission to permanently delete videos from your channel.
YT Localizer lets you create the Google Cloud project and OAuth client yourself. The app runs on your computer and connects directly to YouTube and the translation provider you choose, without giving a hosted YT Localizer service access to your channel.
Why does Google show broad YouTube permissions?+
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.
The source code is publicly inspectable and contains no video-deletion API calls. YT Localizer updates localization fields only; it does not upload, replace, or delete videos.
What data leaves my computer?+
Only the text being translated is sent to your chosen translation provider. The finished localization is sent directly to YouTube through YouTube Data API v3.
Your private settings, OAuth token, and API credential files are stored locally. The project does not require a YT Localizer account or a YT Localizer server between those direct connections.
Does YT Localizer collect 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.
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.
Is YT Localizer open source?+
It is source-available, free-to-use proprietary software, 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. 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.
Yes. YT Localizer has no purchase price, subscription fee, or app-imposed limit. Translation providers offer generous free allowances that are usually enough for hundreds of video localizations, so getting started and using the app at normal volumes is effectively completely free.
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.
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.
How difficult is the first setup?+
It usually takes about 10 minutes and requires no previous developer experience. Most of the time is spent creating your own Google Cloud project, OAuth client, and translation-provider access.
After setup, starting the app normally takes one Terminal command. The step-by-step setup guide includes separate instructions for macOS and Windows.
What runs on my computer?+
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.