Hacking Chinese

A better way of learning Mandarin

Adding tone marks (w/o Pinyin) above characters to practise tones

Update: This article is mostly obsolete. There are now web tools that add tone marks above characters without the hassle that was necessary when this article was written. Check one such tool over at Purple Chinese. Just select “tone marks only” before you convert.

When faced with a text presented in both Chinese characters and Pinyin, the eyes of most (Western) learners automatically focus on the familiar letters rather than the weird characters. This is true even for advanced learners such as myself. I suppose it’s because of the fact that I spent my first 25 years in life without seeing more than a handful of Chinese characters; it’s only natural that the Latin alphabet is more comfortable.

This is of course why textbook authors tend to remove Pinyin fairly quickly. They do so in different ways (gradually, suddenly, for a selection of characters, etc.), but they all do it. However, some textbooks (Practical Audio-Visual Chinese and New Practical Chinese Reader for instance) provide a cool combination, namely Chinese characters with added tone marks, but without any Pinyin.

The result looks like this:

diacriticsWhy this is useful to practise tones

It’s easy to understand why we want to get away from Pinyin and start reading characters as much as possible, but why is it useful to keep the tone marks? Isn’t that just a crutch that will actually stop us from learning “for real?” What about reasonably advanced students, do we really need tone marks?

If reading is your main goal, you’d probably right in thinking that you don’t need tone marks, but if the goal is to practise pronunciation, adding the tone marks makes a lot more sense. The reason is that reading aloud in Chinese is much harder than most people think (this will be the topic of an upcoming article). Therefore, if we want to practise one specific part of reading aloud (e.g. pronunciation), we need to decrease the work load a bit. If we introduce Pinyin, most students stop reading the characters altogether, but if we only have characters, it typically becomes too hard. Having the characters plus tone marks is the golden middle way.

In essence, producing correct tones when reading requires two things:

  1. Recalling the correct tones
  2. Pronouncing the correct tones

These are two completely different skills. Knowing which tone a character is supposed to be doesn’t mean that you can pronounce it, and being able to pronounce tone combinations doesn’t entail that you know how specific characters are read.

Adding tone marks above characters sidesteps the first skill and allows us to focus on the second, while still reading characters rather than Pinyin.

One way of getting the tone marks is to do it manually. This is time-consuming and if you’re not already an expert on text layout, it’s actually quite hard to do on a computer (on paper, you can obviously just write the tone marks, but that still takes quite a lot of time).

For the above-mentioned reasons, I wanted to find a way of doing this automatically. After having searched for various solutions and not finding anything useful, I finally posted a question on the Chinese Stack Exchange. After a while, Jens Jensen provided a solution that works very well and that works like this:

  1. Create a bookmark in your browser with the following URL/address (you can call it whatever you want):

    javascript:(function(){var i,t,ts,e,at;at=parseInt(prompt("Which row is the pinyin in?",1))-1;ts=document.querySelectorAll( 'table.textblock' );for(i=0;t=ts[i];i++){e=t.querySelectorAll('acronym')[at];e.innerHTML=e.innerHTML.replace(/w*[āɑ̄ēīōūǖĀĒĪŌŪǕ]w*/g,' ˉ ').replace(/w*[áɑ́éíóúǘÁÉÍÓÚǗ]w*/g,' ˊ ').replace(/w*[ǎɑ̌ěǐǒǔǚǍĚǏǑǓǙ]w*/g,' ˇ ').replace(/w*[àɑ̀èìòùǜÀÈÌÒÙǛ]w*/g,' ˋ ').replace(/[^ˉˊˇˋ ]+/g,' · ').replace(/ /g,' ');}})();


  2. Paste your text into Jiang Long’s Pinyin Annotator (a great tool for other purposes as well, but we’re going to use it to generate Pinyin here).
  3. Choose what you’d like the annotator to output. To generate something like the example above, just use characters and Pinyin. Click annotate.
  4. Open the bookmark you created above and enter the correct row for Pinyin (1 if you’re using Pinyin/characters only) and your Pinyin output should be replaced by tone marks only.
  5. The format is somewhat awkward to copy to other documents, but I’ve found that if you save the page as a PDF file, you can then copy from that PDF file without problems.

Note: I’ve tried this in Firefox on Ubuntu and Windows 7 and both work well. I don’t know about other browsers, but it should work anywhere.

You should be able to turn this…


Into this…


Note that the annotator uses a dictionary, so tones will be based on entries in that dictionary. If a word doesn’t exist in the dictionary, the annotator reverts to character defaults, which might be wrong for the particular meaning you have in your text (the annotator colours characters with multiple pronunciations green). A huge majority of cases should be correct, though, at least if you’re using Mainland Chinese standards.

If you need to manipulate the tone marks manually, I suggest copying the text to another document and simply copy/paste whatever you need. However, I regard this as a learning tool, not a publishing tool. If you want to control everything in detail, you’ll need to look up Ruby annotation and see how that works in your layout environment.


I think it’s necessary to find different ways of decreasing the difficulty of reading aloud in Chinese. Using tone marks without Pinyin is one case of the importance of not trying to learn everything at once and instead keeping your focus on just a few things. Regardless of how you do it, eliminating some problems to be able to focus completely on others is a useful strategy for learning complex things such as pronunciation.

Update: Neutral tones are now replaced by dots rather than keeping the letters.

Tips and tricks for how to learn Chinese directly in your inbox

I've been learning and teaching Chinese for more than a decade. My goal is to help you find a way of learning that works for you. Sign up to my newsletter for a 7-day crash course in how to learn, as well as weekly ideas for how to improve your learning!


  1. Karen Rachel Heckert says:

    I’m using Cheng & Tsui’s “Integrated Chinese” series and they keep the pinyin through the second year, but moving it further and further away from the hanzi text. Their graded series of readers also has the pinyin, but sticks it in the back as an appendix.

    My question for tones is more exasperating. When you have a series of third tones, how far does turning the first few third tones into second tones extend? What counts as a unit for modifying third tones to second? I haven’t found a good explanation, and I’m just trying to figure out the longer sequences from listening to the CDs. Can anyone help?


    1. Olle Linge says:

      I suggest you look at this article over at the Skritter blog: http://blog2.skritter.com/2013/03/tone-sandhi-third-tone.html.

  2. Adam says:

    Awesome tip. I recently have been trying to limit my focus & so I’ve been making flash cards with the design:

    Part of speech (n., v., etc.)
    Meaning (in English)

    I will cloze delete either the Pinyin or the Meaning.

    From now on, I think I will start providing myself the TONES but not the full pinyin.

  3. Mark says:

    Would be much more compact to use a colouring-by-tone system, although this would require dedicated software.

    1. Olle Linge says:

      You can already do this with MDBG, just go to the word dictionary and choose inline / popup details. You will get your text with coloured characters. I personally prefer the tone marks, though, which are much less ambiguous and one step closer to the actual pronunciation. Also works better for printing.

  4. Thomas says:

    You can also use http://code.google.com/p/hanzi2tghz/ , which will do the same, but with less of a gap. It works great on LaTex, but also for Microsoft Word.

    1. Thomas says:

      I also wrote a Word add-on ( screenshot ) , which works much better than that previous version, for my university. However, it was written using the universities copy of Visual studio, so i’m not sure about distributing it. Given that a copy of visual studio + word ≈ £600, it’s a bit too expensive to give away.

      1. Thomas says:

        @Olle Linge – Would it be possible to send you a copy of the software to look at, and if you think its worth it, i could setup a kickstarter project to get funding for the Microsoft licenses, so people could get a copy of it?

        1. Olle Linge says:

          I think you need to consider the target audience for such a program. I mean, most learners don’t care at all and those who care are likely to be satisfied either by what I provided here or a normal colouring (such as MDBG can output). The only people who would be seriously interested are those who intend to publish material with these tone marks and I think they have other solutions. They also deal with limited amounts of text that can be annotated manually (it might need to be done manually anyway because of the risk of errors if done automatically).

          However, that being said, it would still be interesting to try it out, it might be better than I think or enable me to do other things I haven’t thought of. I don’t know if many people would be prepared to pay money for it, but perhaps you don’t need a lot to be able to do this anyway?

          1. Thomas says:

            Thanks for your advice. I was thinking that it would be more useful for teachers who wanted to produce their own material. I would give it away if i didn’t need to buy visual studio, but i think you’re right as i got no interest in the other version i made.

      2. Tyson says:

        You can distribute software written using visual studio without paying additional costs. If you have Visual Studio from Dreakspark (MS’s academic licensing program for university students) you can even keep using the software after you graduate.

        The only imitation is you can’t distribute commercial applications (with some exceptions). If you want to charge for the licenses apart from the Store then you need to buy commercial version of the Visual Studio software.

        Check out: https://www.dreamspark.com/Institution/DS-EULA.aspx

        1. Thomas says:

          Thanks, that’s good to know. I’ve published it here. Can someone have a go at installing it and reviewing it? To help find any problems, and hopefully people will use this version ^_^.

          1. Thomas says:

            Any feedback would be much appreciated.

  5. John says:

    Works great on OS X Mountain Lion in Chrome. Took me 30 seconds to get setup and working. I use the Zhongwen extension and sometimes it is too tempting to popup a definition. This helps keep me honest. Thanks.

  6. George says:

    Don’t expect too much too soon. While nearly all second language programs might teach pronunciation over 6 months to a year, a native speaking child might take easily more than 5 years to learn pronunciation well.

    If you can hear it and repeat it, all this notation is a bit distracting. And the fact that typing input in Chinese is tediously slow makes me wonder when and how one will get around to this technique.

    We can create a lot of curious techniques for noting proper tones, but listening to Chinese as it is spoken and fitting in to the local usage will contradict the textbooks.

    And local usage can vary every time you relocate more than a 100 miles. Phonology is localized. People in Los Angeles don’t quite speak the same as people in San Francisco, or those in Reno, Nevada.

    1. Ernst says:

      English is not m mother tongue. When I was taking english classes my teacher never said “ok I teach english from New york, but don’t expect to understand people form Los Angeles because they speak different”. Obviously there are differences within the same country. Thats why you learn the “standard” and then you get to pick the one you like more or the one is more useful for you

  7. Anne Martin says:

    I use Key to do this task. Key is a Chinese word processor for students and teachers of Chinese. You can paste text from other applications including pdfs then highlight the text you want tones, pinyin or both and make that visible in two clicks.
    Key is available from cjkware.com. i have been using key for years and feel it is the best word processing program for students of Chinese bar none.

    1. Olle Linge says:

      Thank you! I think I’ll have to update this post and include all the different methods/programs that people have recommended. This is why I love the internet! 🙂

  8. Sean says:

    Thanks for the info. Will try it out. When practicing/reviewing writing, I always write the tone above the character to help reinforce it. Otherwise, as soon as you hide the pinyin (which I do very quickly as otherwise my eyes default to the pinyin in text, like you said, and it becomes a hinderance), there’s visual reminder of the tone (which I find by far the most difficult thing to remember, mostly because I find that I can’t hear the tones most of the time when people speak (here in Beijing). (This despite the fact that I’ve learned/studied 7-8 languages in my life, and still speak 3 fluently. I think partly it’s because I’m older now and it because much more difficult to distinguish between sounds when you’re older than younger (I picked up languages as a child and young adult effortlessly). But it’s also because people don’t pronounce the tones clearly when speaking fast (which is always), or they have an accent from another province. Primary school children are the easiest to understand as they often pronounce the tones clearly.

    Anyway, all that to say, I’ve been extremely frustrated by the fact that not a single one of the language study books that I’ve seen or tried shows you the characters with the tone marks. It would be SO useful in learning the language I don’t understand why publishers don’t do it. Yes, some software color the characters by tone, but that’s just dictionaries, so their usefulness is limited.

    If anyone knows of some simple books (new hsk 3-4 level) or language study books or exercise books that have the characters with tone marks, please let me know! Thanks.

  9. JC says:

    Now that the great Jiang Long’s Pinyin Annotator is down, does anyone know other website that do the same job (i.e. character/pinyin/translation all in one)?

  10. Kai Carver says:

    didn’t work for me, worked better when I replaced




    but it shows extra neutral tones: screenshot

    1. Olle Linge says:

      Hm… it worked when the article was published (confirmed by several different users), but perhaps something has changed with how the annotator works. The problem is that I actually have no idea of how this was done and probably can’t fix it. Good while it lasted, I suppose. 🙁

    2. Thomas says:

      If you use microsoft word, you can use this plugin to put tones on characters:

  11. Daiwen says:

    Thank you for this wonderful post. By the way, the annotator at jiang-long.com is not working. The above link (annotator.jiang-long.com) takes me to ww1.jiang-long.com.

    1. Olle Linge says:

      This article is partly obsolete (I added a comment to that effect at the top). Please check this tool over at Purple Chinese, which is able to add just tone marks above characters.

  12. redking says:

    Thanks for this article. I had the same idea independently, and then I came across your article.

    It is surprising the number of people that just don’t understand this concept. In talking to Chinese people about this, they say “we have pinyin”, and some foreigners learning Chinese say “why don’t you just learn the tones?”. Why is it so hard to grasp the usefulness of this concept?

    If it was implemented in an ebook reader it would be even better. One way it could be implemented, to cement memory, is to do it like the Japanese use furigana (phonetic symbols above Chinese characters). In most Japanese books the furigana is given a handful of times for a given character or character compound, and then dropped after a certain number of times (because you have presumably memorized it by now). The same could be done for the tones. Have them appear for each character a handful of times within the same book, and then drop them.

  13. Corey says:

    I have been working on a new tool that does this, and produces easy-to-read output, formatted with HTML.

    When there are several possibilities for the tones, the resulting will show all of the possibilities, and then you can select the one you want by clicking on it, and the other choices will disappear.


    The https: part is necessary, by the way.

    1. Olle Linge says:

      Thanks for sharing; I’ll definitely take a look later and might share it on the resource site too!

      1. Corey says:

        It’s a bit of a work-in-progress still. Some beautification is in the works 🙂

        1. Olle Linge says:

          Well, functionality first!

    2. Corey says:

      I made some changes to the site, and now you can no longer use the https:// prefix. However any submissions you make will be encrypted by SSL. The site that processes the text is https internally.

      So now, it’s just tonemarks.org or http://tonemarks.org

      1. Corey says:

        Not long after the previous post, I made it so either http:// or https:// will work, and if you go to http://tonemarks.org, it will re-direct to https://tonemarks.org


Leave a Reply to Olle Linge Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.