Skip to content

What Is Harfiyen? Free Turkish Subtitle Generator That Burns Captions Into Video, in the Browser

In Harfiyen you open a video or audio recording with Turkish speech in the browser; it transcribes the speech, writes punctuation and numbers according to Turkish rules, burns captions in your chosen style into the video and lets you download it as MP4. It's a free, open-source web app (code under MIT; the models it uses come with their own licenses, the default model CC BY-SA 4.0). The file isn't uploaded to a server; processing happens on your computer's graphics card (WebGPU). It also offers a vertical Reels crop, SRT/VTT, Turkish voiceover and Turkish ↔ English translation. Desktop Chrome or Edge is recommended. A new project: first release October 11, 2026.

What it does
Adds captions to Turkish videos in the browser
Where
harfiyen.dev, in the browser
Is my file uploaded?
No, it's processed on your computer
Requirement
A browser with WebGPU support
Output
Captioned MP4, SRT, VTT, text
Project
First release October 11, 2026, latest v0.5.0 (October 23, 2026); one main developer
Price
Free; code MIT, models under their own licenses

What does Harfiyen do?

Adding Turkish captions to a Reels or YouTube video usually means either typing them by hand or uploading the video to a site and having a paid service transcribe it. Harfiyen does it inside the browser: you open the video, it transcribes the Turkish speech word by word with timings and adds punctuation and capitalization, you apply the caption style you choose and download an MP4 with the captions written into the video. The file never leaves your computer.

You open the videoMP4, MOV, MKV, WebM or MP3, M4A, WAV…
It's transcribed in the browserOn the graphics card; word timings, punctuation.
You download a captioned MP4Style, crop and resolution are your choice.
Audio, video and text aren't sent to a server (README). Models download on first use; page visits are counted by Cloudflare's analytics script.

It follows Turkish writing rules: it separates suffixes on proper names with an apostrophe ("İstanbul'da", "TBMM'de"), writes numbers according to TDK (the Turkish Language Association) or all as digits ("Saat 15.30'da 15 kişi geldi", "15 people came at 15:30"), and handles the uppercase i → İ conversion correctly.

Who it helps: content creators who want Turkish captions for Reels, Shorts and YouTube, teachers and consultants who want to transcribe a lesson or interview recording, and small businesses that don't want to upload their video to a server.

A new, small project: the repository opened on October 9, 2026, first public release October 11, 2026, latest release v0.5.0 (October 23, 2026); one main developer.

How do you open Harfiyen? Browser and hardware

  1. Open harfiyen.dev. No account or sign-in. The README recommends desktop Chrome or Edge; a browser with WebGPU support is required.
  2. Wait for the first load. The browser downloads about 190 MB (the default model and the runtime engine) and stores it; later visits run from cache, without internet.
  3. Open your file. With the Open file button or by dragging the file onto the window.

In Chrome and Edge it can also be installed as a desktop app from the address bar (README).

Do I need a graphics card?

The default model and live microphone run on the graphics card (WebGPU). For devices without a graphics card, a model that runs on the CPU can be chosen; it works only on files, not for live recording. Without WebGPU, the captioned video is still produced; it's slower, and the frosted glass and aura effects are simplified (v0.4.1). Details in the model section.

On a phone

The README says model selection on a phone is in the ⋯ menu; a phone and browser compatibility list is not stated in the official documentation. The README recommends desktop Chrome or Edge.

How do you add Turkish captions to a video with Harfiyen?

The two examples below are compiled from the usage table in the README; the interface is in Turkish, and button names are given here in English translation.

Example 1: Captioned vertical Reels from a horizontal video
  1. Open the video with Open file; transcription doesn't start by itself, the audio waveform is drawn.
  2. Choose the 9:16 crop with the crop button above the player (or C); if you like, mark only the part you'll use with Trim at the end of the timeline.
  3. In the transcript panel press Transcribe. If you selected a section, only that part is transcribed (select 30 seconds of a 20-minute video and only 30 seconds are processed).
  4. Fix a misheard word by double-clicking the line; to change a name across the whole text, use ⌘F / Ctrl+F.
  5. In the right panel choose a style under Captions (e.g. Karaoke), then Export at the top right.

What you get: according to the README, from a 4K horizontal video you get a 1080×1920 vertical MP4 with captions written into the picture; the export menu suggests 1080p at 9:16. If you like, you also download the same captions as an SRT or VTT file.

Example 2: A voiced, captioned video from text you write

You paste text into Text to speech on the empty screen; the text is read in a synthetic Turkish voice and the words are placed into captions with their timings.

Text pasted into Text to speech (the number example from the README)"Saat 15.30'da 15 kişi geldi."What you get: the Turkish text ("15 people came at 15:30.") is read in a synthetic Turkish voice and the captions sync to the audio word by word; you pick aura or kinetic typography in the Scene tab and export as MP4. The synthetic voice can also be downloaded as WAV.
TaskHow (README)
Live transcription from the microphoneThe red button at the bottom, or R
Aligning text you already have to the audio (song lyrics, a speech script)The alignment button in the transcript header; paste the text
Cutting silences and "uh" soundsIn the right panel, Text › Remove silences
Opening and styling an existing SRT/VTTSelect the caption file with Open file
Opening the project laterThe Projects menu; saved automatically in the browser

Caption styles, crop and export

GroupStyles (README)
CalmClassic (two lines in a dark box), Plain (no box, light shadow), Glass (the video behind blurs like frosted glass)
HighlightedKaraoke, Fill, Flow, Focus, Emphasis: the spoken word stands out, fills with color or gets a box
BigPop, Single word, Sharpen: large words in the center, one at a time
  • Ten fonts (all with Turkish characters) or your own font (TTF, OTF, WOFF); size, position, box, outline, shadow, color.
  • Your own logo sits in the corner you choose.
  • In the Scene tab, eight kinetic typography styles that use the whole screen instead of captions; for audio files, an aura or your own photo becomes the background.
  • Crop: 9:16, 4:5, 1:1, 16:9 or free; Fill covers the frame, Fit fits the whole video.
  • Separate speakers works out who spoke when from their voices; the speaker's name can appear in the captions.
MP4Captioned video (H.264 or HEVC)JSONTranscript with word timingsWAVSynthetic voiceoverMP3Opening audio files

In addition, SRT, WebVTT and plain text can be downloaded or copied to the clipboard. From audio files you get a captioned MP4 in 720p, 1080p or 4K.

Turkish captions, translation and voiceover for English video

Before transcribing, you choose the language in the video: Turkish or English. After an English video is transcribed, it's translated into Turkish sentence by sentence; TR / EN above the transcript selects the caption language, and the captioned MP4 comes out in that language. A Turkish video can also get English captions and an English voiceover.

Turkish speech recognitionYesThe main job; with one of the options in the model section.
English speech recognitionPartlyOnly with the large models that need a graphics card (see the model section).
TranslationPartlyOnly Turkish ↔ English; each direction's model downloads about 360 MB on first use. Proper names and slang may be mistranslated.
Turkish voiceoverYesA single synthetic voice; every speaker is read in the same voice, not matched to lip movement.
Interface languageYesTurkish.

Which model? Speech recognition and voiceover models

According to the README, Harfiyen offers three models for transcribing speech; Whisper Turbo also has a small Light (Hafif) version, so four options appear in the table. You choose from the top bar (on a phone, from the ⋯ menu). Models download on first use and can be pre-downloaded and deleted under Settings › Models.

ModelWhat for (README)Runs onDownload
Seda (default, seda-v0.2)Small and fast; for live microphone and any device. Has Fast, Balanced and, with a language model, Most accurate settings. A separate model adds punctuationGraphics card (WebGPU)~190 MB
Duyu (Duyu-small)For devices without a graphics card; writes punctuation and capitalization itself. Files onlyCPU~85 MB
Whisper TurboFewer errors; writes punctuation, capitalization and digits itself. Only Whisper understands English video. Files onlyGraphics card (WebGPU, shader-f16)~1.5 GB
Whisper Turbo Light (Hafif)A smaller version of the same; may make slightly more errors on difficult audioGraphics card~600 MB
Which one to choose?
  • Most Turkish videos and live microphone: Seda.
  • No graphics card: Duyu.
  • English video or difficult audio (noise, music): Whisper Turbo; if the computer struggles, Light.
The maker's measurement

The README gives the accuracy from the model card: Seda (seda-v0.2) at its Most accurate setting has a 6.38% word error rate on the FLEURS-TR test (lower is better). This measurement belongs to the model's developer.

Voiceover voiceLanguageDownloadNote (README)
EMA LightningTurkish~36 MBSingle voice
Antalia MiniTurkish23 MBSingle voice
Ahenk CepTurkish18 MBRecommended for reading numbers, dates and abbreviations; slightly slower than the others
Supertonic 3English and Turkish203 MBTen voices for English voiceover

EMA Lightning guide: a small Turkish text-to-speech model

Model list checked against the README on October 29, 2026 (v0.5.0). Models come with their own licenses: Seda CC BY-SA 4.0, Duyu Apache-2.0, Whisper MIT, EMA Lightning Apache-2.0, Antalia Mini Apache-2.0, Ahenk Cep CC BY 4.0, Supertonic 3 BigScience OpenRAIL-M, translation models (OPUS-MT) CC-BY 4.0.

Is Harfiyen free? License and commercial use

Yes. Harfiyen's code is MIT-licensed; there's no account, plan, credits or usage limit, and no pricing page. Its cost is your computer's processing power and the disk space the models take up.

Allowed
  • Using, modifying and distributing the code, including commercially (MIT)
  • Publishing your own copy at your own address (the README has deployment steps)
Not allowed
  • Removing the license notice from copies
  • Assuming the models carry the code's license: each model comes with its own license (e.g. the default model CC BY-SA 4.0, one voiceover model OpenRAIL-M)

If you'll use a captioned video you made in commercial work, check the license of the model you used in the list in the model section. This is not legal advice.

Is my video uploaded to a server? Privacy

The file stays on your computer

README: audio and video don't leave your computer, and audio and text aren't sent to a server for processing. Projects are stored in the browser's own storage (IndexedDB).

What downloads from the internet

Models and the runtime engine are downloaded from harfiyen.dev's file server on first use and stored in the browser.

Site visits

The harfiyen.dev page loads Cloudflare's visit analytics script (visible in the page source). It measures page visits, not your files.

Clearing site data in the browser settings also deletes saved projects. To free up space from models, use Settings then Models; download important projects as a .harfiyen file.

Known limitations

WhatWhat the README says
TrimmingLimited to a single section; you can't cut the video by deleting words from the transcript.
CropFixed for the whole video; no crop that moves over time.
Speaker separationDoesn't separate overlapping speech; short interjections may be assigned to the wrong person and can be fixed in the transcript.
MP4 from an audio fileIf the browser can't encode AAC, Opus is used; QuickTime and iPhone Photos may not open an MP4 with Opus.
Opening over the network via httpWriting a long video directly to disk doesn't work; the video is built in memory.
File sizeChrome and Edge keep permission to access the file itself; other browsers keep a copy of files up to 1 GB in the project. The README doesn't state a size limit for the captioned video; for large files use Chrome or Edge.

Frequently asked questions

What is Harfiyen?

A free, open-source web app that transcribes Turkish speech in the browser, writes punctuation and numbers according to Turkish rules, burns styled captions into the video and lets you download it as MP4.

How do you add automatic Turkish captions to a video?

On harfiyen.dev you open the video, press Transcribe, choose a caption style in the right panel and use Export to download an MP4 with the captions written into the video. You can also get SRT and VTT files.

Can you add Turkish captions to an English video?

Yes. You set the video's language to English and transcribe it (a model that understands English is selected automatically), have it translated into Turkish and download the captioned video with TR selected. This requires a graphics card.

Is Harfiyen free?

Yes. The code is MIT-licensed, with no account or usage limit. The models it uses come with their own licenses; for commercial work, check the model's license.

Is my video uploaded to a server?

No. According to the README, audio and video don't leave your computer; processing happens in the browser. Audio, video and text aren't sent to a server; models download on first use, and page visits are counted by Cloudflare's analytics script.

Do you need a graphics card for Harfiyen?

The default model and live microphone run on the graphics card (WebGPU). Without a graphics card, you can choose the model that runs on the CPU and transcribe files. Desktop Chrome or Edge is recommended.

Related guides

Sources

Not clear in the official sources: The officially supported browser and version list (the README only recommends desktop Chrome and Edge) · which features work on a phone · the file size limit for captioned video. Each is covered in the relevant section along with what you can do.