This is a project that aims to collect and create accurate written Cantonese subtitles for educational purposes. Accurate subtitles are those that match the spoken dialogue. Written Cantonese is the written form of the Cantonese language that contrasts with what is typically used, known as Hong Kong Written Chinese or Standard Written Chinese. Written Cantonese subtitles are seldom used but are very powerful learning resources.
If you would like to contribute to transcripts or subtitles, make a donation, find out about current projects, or simply learn more, please join our Discord server.
Important
Since many of the characters used in these subtitles fall outside the coverage of typical fonts, it is HIGHLY recommended that you install a Cantonese specific font. We recommend installing one of the fonts from https://github.com/chiron-fonts/chiron-hei-hk.
There are many different ways you can contribute to our project. If interested, please join our Discord.
Tip
Want to submit a fix or a new file but don't use Git? See CONTRIBUTING.md. You can do it entirely from your browser, no installation required.
The easiest way you can help us out is by donating to us via Kofi: https://ko-fi.com/cantocaptions
If you aren't super technically savvy, you can still help out greatly by making written Cantonese transcripts of a show. Simply create a text document with roughly a line of speech on each line. We do have specific conventions for characters and otherwise, but this is not mandatory. We could use all the help we can get.
If you don't know that much Cantonese yet, a great way you can contribute is by timing AI-generated subtitles. These will be higher quality than the AI ones and serve as a starting point for others to further improve upon. Join our Discord for a guide on how to time for us.
Of course, doing full subtitles is also greatly desired. You need not follow our specific timing or character conventions, though this is of course greatly appreciated. Join our Discord to get help with getting started.
We have a lot of learners that help with the subtitles and sometimes there are lines that are particularly difficult. Join the Discord and we can give you a "Proofreader" role so that you can get pinged to help out.
There is no official organization that sets standards for the usage of Written Vernacular Cantonese. We have decided to establish our own internal conventions in the hopes that this will make the subtitles even more useful to learners. Having conventions allows us to achieve greater specificity. For example, we have chosen a set of sentences-final particles (SFP) such that each character represents a certain syllable/tone pair. In this way, learners can build a deeper level of understanding of the language.
There are 3 main resources that served as a starting point.
- https://www.cantonese.com.hk/cantonese/sfp/ - The sentence-final particles are largely based on the table used here with some modifications. 𠵝 is dropped in favor of 呀 due to the former being unsupported by almost all fonts, as well as 呀 being far more common. 可 is dropped in favor of 嗬 for disambiguation and as a stylistic preference. Aside from those exceptions, there are some additional particles (gaa5, laa2, laa6, and zaa6) which exist but which were not mentioned in their table, so we devised our own conventions.
- https://jyutping.org/en/blog/typo/ - Many characters for disambiguation are taken directly from the list here.
- https://words.hk/ - With the excepiton of SFP, a general guiding principle behind the conventions is searchability in words.hk, which is the most comprehensible and accessible Cantonese dictionary. Character variants are also taken directly from what they consider to be the correct Hong Kong variants.
Note
The conventions have been evolving over time and many of the existing subtitles have not been updated in accordance with the latest standards.
| Syllable\Tone | 1 | 2 | 3 | 4 | 5 | 6 |
|---|---|---|---|---|---|---|
| aa | 吖 | 嗄 | 啊 | 呀 | 咓 | 𠻺 |
| aak | 𡅅 | |||||
| baa | 罷 | |||||
| bo | 噃 | |||||
| gaa | 𠺢 | 𠿪 | 㗎 | 嘎 | 㗇 | 噶 |
| gaak | 𠺝 | |||||
| ge | 𠸏 | 嘅 | ||||
| gwaa | 啩 | |||||
| haa | 吓 | 下 | ||||
| he | 嚱 | |||||
| ho | 嗬 | |||||
| laa | 啦 | 𠸎 | 喇 | 嗱 | 嚹 | |
| laak | 嘞 | |||||
| le | 呢 | 咧 | 哩 | |||
| lo | 囖 | 咯 | 囉 | |||
| lok | 嚛 | |||||
| lu | 嚕 | |||||
| maa | 嘛 | 嗎 | ||||
| me | 咩 | |||||
| tim | 𠻹 | |||||
| waa | 哇 | |||||
| wo | 喎 | 啝 | 𡁜 | |||
| zaa | 吒 | 咋 | 喳 | 𠾵 | 咤 | |
| ze | 啫 | |||||
| zek | 唧 |
| Jyutping|粵拼 | Honzi|漢字 |
|---|---|
| a1 maa3 | 吖嘛 |
| a1 naa4 | 吖嗱 |
| a3 ho2 | 啊嗬 |
| a3 haa2 | 啊吓 |
| a6 maa5 | 𠻺嗎 |
| a6 le5 | 𠻺哩 |
| baa2 laa1 | 罷啦 |
| ding2 laa1 | 定啦 |
| ga1 maa3 | 𠺢嘛 |
| ga3 wo3 | 㗎喎 |
| ga3 ne1 | 嘅呢 |
| ga3 ze1 | 㗎啫 |
| ga3 zek1 | 㗎唧 |
| ha6 waa5 | 下哇 |
| la1 maa3 | 啦嘛 |
| la3 wo3 | 喇喎 |
| la6 maa5 | 嚹嗎 |
| za1 maa3 | 吒嘛 |
| za6 maa5 | 咤嗎 |
| Jyutping|粵拼 | Honzi|漢字 | Examples|例子 |
|---|---|---|
| aa3 | 阿 | 阿爸、阿伯、阿明 |
| can1 | 親 | 親隻腳、跌親 |
| dei2 | 地 | 嘛嘛地、悶悶地 |
| di1 | 啲 | 細啲、靚啲 |
| dou2 | 到 | 見到、做唔到 |
| faan1 | 返 | 好返、畀返你 |
| gam2 | 噉 | 噉樣、係噉 |
| gam3 | 咁 | 咁多、咁耐 |
| haa5 | 下 | 睇下、試下、行行下 |
| kiu1 | Q | 痴Q線、做乜Q啊 |
| maai4 | 埋 | 同埋、畀埋、交埋 |
| saai3 | 晒 | 多謝晒、辛苦晒 |
| Jyutping|粵拼 | Honzi|漢字 | Explanation|解釋 |
|---|---|---|
| ai1 | 哎 | sigh of relief/satisfaction |
| aai1, aai2 | 唉 | sigh of exasperation/sadness |
| ai1 jaa3/5/6, ai1 jaak3 | 哎吔 | |
| ai1 jo3 | 哎喲 | |
| bai6 laa3 | 弊喇 | |
| ce1, ce2 | 唓 | "tsk", "pfft" |
| e2, ei2 | 欸 | |
| e4, e6 | 誒 | "uh" |
| hei1 | 嘿 | as a greeting / shows satisfaction |
| hei5 | 唏 | shows discontent |
| hng6 | 哼 | "hmph" |
| hou2 je5 | 好嘢 | woohoo; yeah |
| je4 | 耶 | yeah; yay |
| ji2 | 咦 | |
| m2 | 呣 | "mmm"; sound of enjoyment of food |
| m2, m3, m6 | 嗯 | "hmm"; "um"; "mhmm" |
| naa4 | 嗱 | "look"; call for attention |
| o1 | 喔 | |
| o2, o3, o4, o5, o6 | 哦 | |
| oi2, oi3 | 噯 | variant of 喂 |
| ou3 | 噢 | |
| syu4 | 𭉝 | "shh" |
| u1 | 嗚 | "ooo"; sound of interest/wonder |
| waa1 | 哇 | "wah"; sound of crying |
| waa3, waa4 | 嘩 | "wow" |
| wai2, wai3 | 喂 |
| Jyutping|粵拼 | Honzi|漢字 | Notes |
|---|---|---|
| keoi5, heoi5 | 佢 | female variant 姖 and other variants like 渠 are not used |
| nei5 | 你 | female and other variants are not used, e.g., 妳, 您, 祢, etc. |
| taa1 | 他 | female and other variants are not used, e.g., 她, 怹, 祂, etc. |
| kei4 taa1 | 其他 | treated as its own word; other variants are not used |
Where applicable, these Hong Kong variants are used. These map 1:1.
| ✅ Selected Variant | ❌ Other Variants | Jyutping |
|---|---|---|
| 為 | 爲 | wai4 |
| 揾 | 搵 | wan2 |
| 揀 | 㨂 | gaan2 |
| 説 | 說 | syut3 |
| 牀 | 床 | cong4 |
| 群 | 羣 | kwan4 |
| 裏 | 裡 | leoi5 |
| 麪 | 麵 | min6 |
| 教 | 敎 | gaau3 |
| 秘 | 祕 | bei3 |
| 市 | 巿 | si5 |
| 眾 | 衆 | zung3 |
| 濕 | 溼 | sap1 |
| 雞 | 鷄 | gai1 |
| 告 | 吿 | gou3 |
| 污 | 汙 | wu1 |
| 泄 | 洩 | sit3 |
| 罵 | 駡 | maa6 |
| 鏽 | 銹 | sau3 |
| 鈎 | 鉤 | ngau1 |
| 衞 | 衛 | wai6 |
| 葱 | 蔥 | cung1 |
| 豔 | 艷 | jim6 |
| 藥 | 葯 | joek6 |
| 匯 | 滙 | wui6 |
| 啓 | 啟 | kai2 |
| 獎 | 奬 | zoeng2 |
| ✅ Selected Variant | ❌ Other Variants | Jyutping | Explanation |
|---|---|---|---|
| 畀 | 俾 | bei2 | |
| 搞 | 攪 | gaau2 | 指「做」;搞錯 |
| 打攪晒 | 打搞晒 | daa2 gaau2 saai3 | |
| 攰 | 癐 | gui6 | |
| 郁 | 喐 | juk1 | |
| 𦧷 | 舔、lem | lem2 | 用條脷輕輕力掃 |
| 𦧲 | lur | loe1*2 | |
| 唯有 | 惟有 | wai4 jau5 | |
| 只係 | 衹係 | zi2 hai6 | |
| 之不過 | 只不過 | zi1 bat1 gwo3 | conjunction |
| 只不過 | 之不過 | zi2 bat1 gwo3 | conjunction or adverb |
| 唔止 | 唔只 | m4 zi2 | |
| 唔單止 | 唔單只 | m4 daan1 zi2 | |
| 唔止 | 唔只 | m4 zi2 | |
| 而家 | 宜家 | ji4 gaa1 | |
| 唔使 | 唔駛 | m4 sai2 | |
| 即係 | 姐係、啫係、唧係 | zik1 hai6 | |
| 淨係 | 剩係 | zing6 hai6 | |
| 呢個 | 依個 | ni1 go3 | |
| 依個 | 𠵱個 | ji1 go3 | |
| 傾偈 | 傾計 | king1 gai2 | |
| 抌 | 丼、揼 | dam2 | |
| 𢱕 | 溚、揼 | dap6 | |
| 揼 | 耽 | dam1, dam3, dam6 | |
| 着 | 著 | zoek3, zoek6 | |
| 著 | 着 | zyu3 | |
| 證 | 証 | zing3 | |
| 㧻 | 篤、督、厾 | duk1 | 係動詞,指「刺」、「戳」 |
| 涿 | 篤 | duk1 | 係量詞,指「一涿屎」或「一涿尿」 |
| 督 | 篤 | duk1 | 用於「監督」、「都督」等 |
| 篤 | 督 | duk1 | 用於「篤信」、「篤定」等 |
| 㞘 | 𡰪 | duk1 | 指最尾或末端,例如「行到㞘」 |
| 便 | 邊 | bin6 | 用於「裏便」、「入便」 |
| 邊 | 便 | bin1 | 用於「裏邊」、「入邊」 |
| 唞 | 抖 | tau2 | 休息;歇息(早唞、等等) |
| 撳 | 㩒 | gam6 | |
| 爹哋 | 爹地、爹啲 | de1 di4 | |
| BB | 啤啤 | bi4 bi1 | |
| 𠹷 | 哦 | ngo4 | 好煩噉樣批評或者抱怨 |
| 韞 | 困 | wan3 | 局限喺一個地方之內,唔出嚟 |
This section details how the subtitles should look. In general, Traditional characters are used as opposed to simplified characters, since they can always be converted to the latter with relative ease.
The goal of these subtitles is to be as useful to learners as possible. The goal is NOT to be as faithful to the literal utterances as spoken by the actors or voice actors. Put another way, we want to capture intended, correct speech, and not misspeaks or agrammatical speech. Furthermore, while the subtitles do aim at comprehensive coverage of what is said, grunts, yells, laughter, and miscellaneous expressive noises should in general be transcribed sparingly. Such subtitles, broadly speaking, don't contribute to building understanding of the language. To this end, it is recommended to transcribe most interjections only in so far as they form form part of a longer utterance (directly precedes or follows dialogue). Notable exceptions include 喂 which is always transcribed.
- .srt format
- single line max length is 17.5 characters
The .srt subtitle format is chosen because of its wide-ranging compatibility especially with language learning tools such as pop-up dictionaries.
- lines should begin 0-50ms before speech.
- lines should slightly trail the end of speech (roughly 350ms) by default
- exceptions: start of more speech or a shot change
- lines that end within roughly 50ms or less of a shot change should end right on the shot change
- lines that are trailing should end on a shot change if within 500ms of one
- lines with a length of 3 characters or more need a minimum duration of 750ms
- exceptions: interrupted speech or a shot change (though generally allow at least 500ms)
| Explanation | Examples |
|---|---|
| Written or background info is enclosed in Chinese parentheses. | (三年前) |
| The titles (of works, shows, movies, etc.) are enclosed in Chinese double arrow brackets. | 《進擊的巨人》 |
| Secondary titles are separated with a Chinese colon. | 《哈利波特:神秘的魔法石》 |
| Episode titles are enclosed in Chinese square brackets. | [那一天:西甘希娜淪陷2] |
| Miscellaneous titles, such as in on-screen text are enclosed with lenticular brackets. | 【Subtopic】 |
| Foreign speech is prefaced with the name of the language in Cantonese inside lenticular brackets, followed by a Cantonese translation. Mandarin and English do not count as foreign speech, so they do not need to be tagged. | 【日語】有冇搞錯? |
| When written text is read out loud, enclose the text in Chinese quote brackets. | 上面刻住「非戰不屈」 |
| A Chinese comma is placed after all SFP, except when followed by 你 without a pause. | ❌ 好啦我明喇。 ✅ 好啦,我明喇 ❌ 好春廢啊,你 ✅ 好春廢啊你 |
| Multiple speaker dialogue uses two lines and dialogue that begins with a hyphen without a following space. | -speaker 1 -speaker 2 |
| When a question is followed by the name of who is being addressed, then the addressee should be enclosed by the question mark. | ❌ 你點啊?阿明 ✅ 呢點啊,阿明? |
| When a 定係 question is split across multiple subtitle lines, add a question mark to both. Otherwise, use a single question mark. | 你今日想食日本嘢吖? 定係想食茶餐廳啊? 你今日想食日本嘢吖,定係想食茶餐廳啊? |
| Only 1 Chinese ellipsis character is used, never 2. | ❌ …… ✅ … |
| Repetition of a one-character word once should be transcribed fully. If repeated more than once, use a trailing Chinese ellipsis character. | ✅ 喂喂 |
| Repetition of a two-character once can either be abbreviated with a Chinese ellipsis or not depending on the speed and length of the subtitle line. Faster pacing and tighter line-length constraints favor usage of an ellipsis. | ✅ 係啊,係啊 ✅ 係啊… |
| Quick repetition of any word more than 2 times a trailing Chinese ellipsis character. | ❌ 喂喂喂 ✅ 喂… |
| Adjectives can be repeated. | ✅ 好多好多陪 |
| In the case of interrupted speech, a Chinese ellipsis character is used to mark where the speaker is cut off and a new line begins with the new speech. | -點解你… -唔知啊 |
| In the case of trailing speech, a Chinese ellipsis character is used. | ❌佢唔可以嘅話~~ ✅佢唔可以嘅話… |
| In the case of stammering, the start is separated by a Chinese ellipsis, but this is only done once. | ❌ 只只不過 ❌ 只…只…只不過 ✅ 只…只不過 |
| When listing with 同 or 同埋, Chinese list comma is used on the elements that are not connected with the conjunction. | A、B、C同埋D |
| Subtitles never end in a period and Chinese period is never used. | ❌ 我個名叫Tom。 ✅ 我個名叫Tom |
| The middle period is never used. | ❌ 哈利·波特 ✅ 哈利波特 |
| Italics are never used. | |
| English follows typical English casing rules. English words are capitalized at the start of a line but otherwise lowercased. | ✅你幾時開完meeting啊? ✅Meeting幾時開? |
In general, these subtitles are a learning resource. The goal is not to transcribe verbatim all utterances in their entirety. The goal is have a complete subtitle that contains information useful to the learner. We do not want to include very minor, incidental speech/sounds, or unintentionally incorrect speech. Sentence Final Particles are transcribed as accurately as possible to benefit the learner.
| Speech | Example |
|---|---|
| Background dialogue does not have to be subtitled. If subtitled and overlapping with main speech, use {\an8} tag to put speech on top | ✅{\an8}吓?你做咩啊? |
| The sound of hesitation, e.g. "uh" (a6 / e6), is only transcribed when drawn out and precedes a longer utterance. When directly following a word, it should not be transcribed and an ellipsis should be used instead. | ✅ 誒…你係邊個啊? ❌你誒…係邊個啊? ✅ 你…係邊個啊? ❌ 佢…誒…佢係…誒…我唔知 ✅佢…佢係…我唔知 |
| The Chinese exclamation point is used sparingly. For example, for exceptionally loud/declarative yells or for emphasis among quieter speech, such as when calling someone's name. Even if a character is yelling, it's discouraged to end every line with an exclamation point. | |
| Miscellaneous grunts, yells, screams, and the like are not transcribed. | |
| Ah, oh, hmm, huh, mhmm and other acknowledgement noises are transcribed sparingly and primarily in the case that they form part of other utterances. | ❌ 吓? ✅ 吓?你講咩啊? |