AxTongue was designed to be intuitive. But here is a detailed explanation of it.


AxTongue hosts user-submitted, dynamic bilingual captions for YouTube videos.

Definitions and transcriptions come from the user-submitted translations, not the dictionary. AxTongue does have a dictionary, but "getting" from it copies its information onto the, which you can then modify as you like. Editing a translation does not affect the dictionary, and vice versa.

The smaller text above words is for transcriptions, which are for languages written in different scripts, like Hindi and Chinese.


By default, the "From" and "To" buttons are highlighted. This makes the search results only show videos with subtitles "from" the given original language "to" the given translated language.

By default, the "By" button is not highlighted, and the "By" input is filled with the artist or source of a given video. You can select "By" if you want to see only results by a given artist or source. If you want to prioritize a given artist but not exclude others, enter the artist's name into the "Search" input instead. The "By" button activates on its own if you make changes to the "By" input.

By default, the search results are ordered by how many user-submitted tags they have in common with a given video. If you select one or more tags, the search results will only consider those tags.

The "Search" input searches for results with the text you put in. It targets titles, artists/sources, tags, and original language text. If there is any text in the search field, the search ignores unselected tags.

Changing the "To" language loads the relevant translation for the currently shown video. By contrast, changing the "From" language only affects the search results.

Each language has its own set of tags. It's possible to set the language "From" to "None," in case a video has no original language text but you still want AxTongue to include it. In that case, you still need to set a "To" language to specify the language the tags are in.


You can control the playback speed of a video with the "Speed" setting. It increments by .25 from .25 to 2. This is especially useful for timestamping videos. The possible speeds are set by YouTube.

"Autoplay" plays the first video in the search results once the current video ends. "Loop" makes the video start again when it ends. If neither is checked, the video will just stop.

You can control how many seconds Autoplay will wait to trigger once the video ends with the "Autoplay delay" setting.

"Hide seen" hides search results that your browser has already visited.

The "Conceal" options hide one or more words in a translation until they are highlighted, allowing users to test themselves. If you want to use it, I recommend Conceal "Original" and Conceal "1".

Selecting a conceal option reveals three buttons on the right-hand side of the subtitles. The "?" button reveals all highlighted hidden text, or activates the next original language text word if all the highlighted text is already revealed. The "全" button reveals all hidden text, or seeks to the next line if all the hidden text is already revealed. The "⏯️" button does the same as the "全" button, but also plays the video starting from the first word in the line, then pauses the video when the next line comes up.

The "Desync" button desynchronizes the subtitles from the video. This is for people who want to let the video play while learning with concealed subtitles. Deactivating "Desync" seeks the video to the highlighted original text word. You can double tap edit if you want the subtitles to catch up to the video instead.

The "Log in" button takes you to a log in page. At the moment, the only purpose of logging in is that it attaches your username to the edits and comments you make. Otherwise it will show as "Anonymous."

By default, the search results will only show results that are not marked "Unavailable" or "Unfinished," which requires them to be fully timestamped. Under "Show results:", the "Unfinished" button makes the search results show only unfinished results. The "Missing timestamps" button shows unfinished results that are missing timestamps. The "<10 tags" button shows results with fewer than ten tags. The number ten is arbitrary. These options were designed for people who want to contribute to works in progress.

The fourth option is "Unavailable." This is for YouTube videos that do not load or are otherwise unavailable (in every country). To mark a video as unavailable, submit an edit with a comment that begins with the word "unavailable". If the video becomes available again, or it was marked incorrectly, simply submit an edit of any kind. To bypass the check that prevents you from submitting edits if there were no changes made, you can submit an edit with a comment that begins with the word "available".

The "Edit" button or the pencil button toggles Edit Mode, which allows users to add or change captions and tags.


In edit mode, the subtitles turn into inputs you can edit directly.

Typically, one original language word is highlighted. Clicking on a translated language word matches or unmatches it with the original language word, if the translated word is not blank. This is undone if you start typing. This is because if you click a translated word, you probably want to change the matching, but if you clicked a translated word to change something like the spelling, you probably didn't want to change the matching.

If you prefer to match original language words based on the translated words, you can click on the space below a given translated word. This highlights the space. Clicking on original language words will now match or unmatch them to the highlighted translated word. Click the space again to deactivate this mode.

Pressing "Space" creates a new word. If you want to create a space within a word, press "Space" twice or press "Shift+Space." For some languages, pressing the spacebar doesn't trigger a space. In those cases, you can usually press "Ctrl+Space" to simulate an ordinary "Space," creating a new word.

Pressing "Backspace" at the beginning of a word combines it with the previous word, along with its supertitles. Pressing "Backspace" at the beginning of the first original language word in a line combines the full line with the previous line.

Pressing "Delete" at the end of a word combines it with the next word, along with its supertitles. Pressing "Delete" at the end of the last original language word in a line combines the full line with the next line.

It is possible to input numbers directly into the timestamps. This is useful for minor adjustments. Otherwise, it is usually better to use the timestamp buttons.

If you navigate to an untranslated original language line that is identical to a previous original language line, the translation will be copied from the previous line. A message on the right shows what line it was copied from. If you want to undo the match, put a "#" as the last translated word, or click the "#" button.

The dictionary buttons on the left are based on the "From" and "To" language selections.

There are three "Get from Dictionary" options for pulling translated language definitions, transcriptions, and notes for the words in the original language text from the dictionary: "Word", for the highlighted original language word, "Line," for the current original language line, and "All" for all original language lines. These buttons also split the original text for Japanese and Chinese.

For the most part, getting from the dictionary prioritizes longer words.

Selecting the "Word" option also pulls the relevant dictionary entries below the dictionary buttons. Clicking on one of the entries replaces the highlight original language word and supertitles with the dictionary entry. The "Clear" button that comes up clears the entries from the screen. If you want to change a dictionary entry without altering the current word in your edit, you can create a blank word in the subtitles, click on one of the entries, alter it to your liking, add it to the dictionary, then delete the word in the subtitles.

The "Add to Dictionary" button adds the highlighted original text word to the dictionary, along with the supertitle definition, transcription, and notes.

There is a special procedure for adding prefixes and suffixes to the dictionary. To add a prefix, add either "-[" or "]-" (a claw), without quotes, to the end of the transcription, which is the upper supertitle. To add a suffix, add this to the beginning instead. (E.g. -[ing or ]-ing, non]- or non-[). Once this is in place, you can add a space to the beginning or end of the transcription or the definition, if you want a space. Spaces at the beginning and end would otherwise be ignored. Then "Add to Dictionary" as usual.

Dictionary entries are written over, not deleted. To change a definition or transcription, just overwrite it and add it. If a word has multiple distinct meanings, you can add them all so people can retrieve the one they need with the results pulled by the "Word" button.

There is a special procedure if the original text entry itself creates a problem. Suppose an entry is created for the text "good mor." Getting "good morning" from the dictionary would incorrectly split it into "good mor" and "ning." To bury an entry, make the original language highlighted text match the text of the entry, set the transcription to "[X]", without quotes, and "Add to Dictionary". It would still be in the dictionary, but now it loses its priority to "good" and "morning."

Sometimes, the primary meaning of a string of text is clearly different depending on whether it is attached to another word. For example, "이" at the end of a Korean word is a subject marker, whereas "이" by itself means "this". If you want to ensure a word is treated differently when it's on its own, put "[]" without quotes at the beginning and the end of its transcription. This forces the "Get from Dictionary" process to respect spaces before and after the word. This isn't the default behavior is so words take affixes by default. You can put [] before a word to ensure it doesn't take a prefix, or after it to ensure it doesn't take a suffix.

Below the dictionary buttons is the tag input. Each new line corresponds to a new tag. The tags will be displayed in the order they are input.

By default, the "Desync" button on the upper right is active. This means the captions and navigation buttons are desynchronized from the video. It is especially useful for making timestamps. Deactivating the "Desync" button seeks the video to the timestamp of the highlighted original language word, if there is one. Tapping the "Edit" button makes the subtitles catch up to the video instead.

The "Previous" and "Next" buttons highlight the previous or next word in the original language captions. They are useful for timestamping videos.

The "Stamp" button timestamps the highlighted original language word. Most of the time, it is best to do this while "Desync" is active. The "& Next" button timestamps the highlight original language word then highlights the next word, the same as pressing "Stamp" and "Next." This is useful for timestamping a video in sequence. You may find it useful to reduce the video to .75 speed.

When you timestamp the first word in a line, AxTongue will check to see if this line and the following lines are identical to previous timestamped lines. If they are, it will automatically fill in blank timestamps based on previous timestamps. It will not overwrite timestamps, so you can override it manually. This was designed with song choruses in mind.

The "Break" button creates a new line beginning with the highlighted original language word. If the first word in a line is highlighted, it creates an empty line before the given line. The "(Next)" button creates a new line beginning with the next highlighted original text word. If the last word in a line is highlighted, it creates an empty line after the given line, and timestamps it as long as the current time of the video is later than the last word's timestamp, if it has one. The break buttons also timestamp if there is no timestamp already and the current time of the video is later than the previous word's timestamp, if there is one.

The break buttons also break the translated text starting from the first translated word that is matched to a word from the new original line that is not followed by any words matched to the previous line. If you want to break only the translated text, click on the number/blank below the translated language word you want to break on or before, then click "Break" or "(Next)". This also discards the matches for the broken words.

The "← 3s" button rewinds the video by three seconds. The "← Word" button rewinds the video to the previous word's timestamp.

The "Offset" input controls the number in seconds to be subtracted from the current time of the video when creating a timestamp. This is to account for human delay in pressing the button. I recommend timestamping a few words and then seeking to them without desynchronization to test your personal offset. Your offset may be different depending on how well you know the video you're timing. Personally, I set it to .2 when I stamp at .75 speed, and .15 when I stamp at .5 speed.

The "Undo" and "Redo" buttons undo or redo up to thirty of your most recent edits.

The "Unfinished" button controls whether or not an edit should be marked as unfinished, in which case it will not show up in ordinary search results. This button activates on its own if there are errors or issues.

The "Comment" input allows you to attach comments to your edit, which you can find with the "Show previous edits" buttons.

The "Submit" button submits your edit if it doesn't detect any serious errors.

The "Check" button scans the edit for possible problems, relaying up to three sets of messages. Messages with a red background are errors, which will prevent you from submitting an edit. Messages with an orange background are issues. You may submit an edit, but it will be marked as unfinished. Messages with a yellow background are merely considerations, which may not indicate a problem at all. Within these messages, clicking on underlined text brings up the relevant text in the subtitles. Words that have no definitions create a consideration that ends with a "(#)". Clicking this substitutes a pound sign for the definition. No definition will show for the word in regular viewing mode, and it will no longer register as a consideration.

In edit mode, a few more buttons and two large text inputs appear below the video.

The "Original", "Transcript", and "Code" buttons determine what the left text input shows. "Original" shows the original text, matched by line. "Transcript" shows each original text line under the timestamp of its first word, rounded to the nearest second. It's what you would get if you copied and pasted the transcript of a YouTube video. "Code" shows the JSON object that makes up the supertitles, subtitles, and basic information about the video and edit.

The "Translation" and "Timestamps" buttons determine what the right text input shows. "Translation" shows the translated text, matched by line. "Timestamp" shows the timestamps for the original text in sequence, matched by line. It also pulls special options for adjusting all timestamps. The "Adjust all lines" button adds the value of the accompanying input in seconds to all the timestamps of the edit. If you activate the "Adjust all times based on next stamp" button, the next time you timestamp an original language word that already had a timestamp, all timestamps with values will be adjusted by the difference between the new and old timestamp.

The "↓" button in the middle refills the text inputs based on the edits made to the page. The "↑" arrow on the left changes the edits on the page to the content of the left text input, and the "↑" arrow on the right the right text input. The "Code" input is strict, although it will discard text that doesn't fit AxTongue's format, or its border will glow red if there is an error that prevents the upload. When uploading from other inputs, AxTongue preserves highlight matches and supertitles if the new input is similar enough to the old one.

Clicking or tapping on one of the line numbers on the left-hand side of the text inputs pulls that line in the subtitles and scrolls up to the video. Double clicking or double tapping a line number of the "Original" and "Translation" inputs changes the subtitle line to the line in the input.

The "Show previous 10 edits" button pulls summaries of the most recent ten edits in the translated language for the video. The "Show all previous edits" button does the same for all edits in the translated language. Clicking on one of the summaries loads the edit onto the page. The "Clear" button that comes up clears the summaries from the page.

You can view edits for all videos on this page.

To prepare a new YouTube video for translation, copy and paste the video ID from the YouTube URL to the AxTongue URL, or navigate to the video on the YouTube website and replace the "youtube" in "" with "axtongue".

← Back to AxTongue