Open the appTag Converter

Have you ever done collation work on a classical text?
That screen where the original is packed solid with <note>, <title>, <quote> and the rest.
By the time the tags outnumber the characters, the actual text stops registering.

Strip the tags, though, and you lose the structure.
What you need isn’t to remove the tags but to see them less intrusively.

This tool turns tags into color, font size, and underline.
Instead of the literal word <note> you get small grey type; a title becomes large bold type.
The source stays as it is and only the display changes, so you can review and fix in the same place.

How to Use

  1. Paste tagged text into the Source Text box, or upload a file.
  2. Click [Convert].
  3. The formatted result appears in the right panel.

Tags and Symbols

Supported Tags

Tags and symbols are handled in four groups.
Something that wraps a whole paragraph and something that wraps a few characters need to be shown differently.

Paragraph Tags (Structure Tags)

Tags that wrap an entire paragraph — the skeleton of the text.
Titles come out large and bold, body text at normal size, and indented body text actually indented.

TagDescriptionDefault Style
<t1>Volume title18px, right-aligned
<t2>Section20px, center-aligned
<t3>Article title17px, left-aligned
<t4>Subtitle15px, indented
<c>Body text14px
<c1>1-char indented body13px, 4em indent
<c2>2-char indented body13px, 4em indent
<도식내용>Illustrations14px, green text + background
<표>Tables14px, blue text + background

Works with or without closing tags (</t1>, </c>, etc.).

Inline Tags (Character Tags)

Tags that wrap just a few characters inside a paragraph.
Used to mark notes, memos, and anything whose nature differs from the body.

TagDescription
<b>Intaglio characters
<g>Relief characters
<r1>Tiny annotations
<m1>Head notes
<m2>Marginal notes
<m4>Collation head notes
<m9>Font specification memos
<m44>Editor memos
<그림>Figures

Symbols

Symbols are divided into paired and single symbols.

Paired Symbols — Opening and closing symbols work as a pair.

SymbolDescriptionDefault Conversion
[ ]Small character annotationsSmall text + gray background
( )Proper nounsBlue wavy underline
" "Double quotesGreen solid underline

Single Symbols — Operate on individual characters.

SymbolDescriptionDefault Conversion
Item separatorOrange
Missing characterRed + background
IllegibleRed + background
▼{...}Character decompositionPurple + background
*SeparatorConverted to ㆍ (arae-a)
^SeparatorConverted to _
.PeriodConverted to 。
:ColonBackground color
;SemicolonBackground color

Tag Legend

Detected tags are listed in the right sidebar after conversion. Only tags actually used in the text are shown.

  • Click color icon: Opens a popover to edit the tag’s style.
  • Click eye icon: Toggles visibility of that tag. Brackets, parentheses, footnotes, and non-Hanja characters can be selectively hidden.

Popover Editable Properties

Available properties vary by tag type.

  • Structure tags: Font size, indent, text color, background color, underline style/color
  • Inline tags: Text color, background color, underline style/color
  • Symbols: Text color, background color, underline style/color, size (if applicable), replacement text (separators)
  • Background ×: Reset background to transparent.
  • Text color ×: Reset to default text color.

Changes are immediately reflected in the output and automatically saved.

Pair Symbol Error Checking

Finds places where you opened a bracket or quote and never closed it.
In a manuscript thousands of lines long, spotting one unbalanced bracket by eye is genuinely hard.
The check runs automatically on every conversion.

Checked Symbols

Validates XML tag pairs along with 15 types of bracket/quote pairs.

SymbolName
" "Double quotation marks
' 'Single quotation marks
「 」Corner brackets
『 』Double corner brackets
〈 〉Angle brackets
《 》Double angle brackets
【 】Lenticular brackets
( )Fullwidth parentheses
[ ]Fullwidth square brackets
{ }Fullwidth curly brackets
( )Parentheses (halfwidth)
[ ]Square brackets (halfwidth)
{ }Curly brackets (halfwidth)
" "Double quotes (ASCII)
' 'Single quotes (ASCII)

Each pair’s checking can be individually enabled or disabled in the settings modal.

Error Types

  • Unclosed: Opening symbol without a matching closing symbol.
  • Unopened: Closing symbol without a matching opening symbol.

Viewing Errors

  • When errors exist, a ⚠ icon with the error count appears at the top.
  • Clicking the ⚠ icon opens a modal listing all errors.
  • Clicking each error item jumps to the corresponding position in the source text, marked with an orange circle.

Settings and Saving

Settings Modal

The default styles may not suit you, and different institutions use different tags.
In the settings (⚙) you can define the appearance of every tag and symbol yourself.

Tag/Symbol List

  • Items currently used in the text are highlighted; unused items appear dimmed.
  • Hovering over each row reveals edit (✎) and delete (×) buttons.

Adding Custom Tags/Symbols

Click the + button at the top of the settings modal to add custom tags or symbols.

  1. Select type: Tag or Symbol
  2. Select subtype: Paragraph/Inline for tags, Single/Paired for symbols
  3. Enter details: Tag name (or symbol character) and label

Custom tags/symbols can be styled the same way as built-in items.

Editing Tags/Symbols

Click the edit (✎) button on an item in the settings modal to modify its tag name, symbol character, or label. Style settings are preserved.

Deleting Tags/Symbols

Click the delete (×) button on an item in the settings modal to remove it. A confirmation dialog is shown.

Options

Configure conversion preprocessing behavior in the options section.

  • Auto-convert double quotes: Automatically converts ASCII double quotes (") to typographic quotes (" ") during conversion. Uses context-based detection for opening/closing, with sequential alternation as fallback. Skips conversion with a warning if the count is odd. (Default: on)
  • Auto-convert single quotes: Automatically converts ASCII single quotes (') to typographic quotes (' ') during conversion. (Default: on)

Snippets

Register up to 10 frequently used text snippets and insert them quickly via keyboard shortcuts.

  • Add: Click the + Add button to enter a name and content. Assigned to the lowest available slot number.
  • Edit: Click the edit (✎) button on a list item.
  • Delete: Click the delete (×) button on a list item. Deleting a snippet does not change other snippets’ slot numbers.
  • Shortcut: Default is Alt+Shift+1 through Alt+Shift+0 (10th slot). Can be changed to Ctrl+Shift in the dropdown.
  • Usage: Place the cursor at the desired position in the source text and press the shortcut to insert the snippet.

Pair Symbol Check Settings

A list of 15 pair symbols with checkboxes is shown at the bottom of the modal. Each item’s checking can be individually toggled.

Reset / Export / Import

  • Reset: Restores all settings to defaults. All custom tags/symbols, color changes, and label modifications are removed.
  • Download: Exports current settings as a JSON file.
  • Upload: Imports settings from a JSON file.

Auto-Save

Settings Auto-Save

All style settings (colors, sizes, underlines, custom items, etc.) are automatically saved to browser localStorage on every change. Settings persist when reopening the page.

Source Text Auto-Save

Clicking the convert button automatically saves the source text to the browser. When reopening the page, saved text is restored with a toast message showing the save timestamp. Clicking the clear button also removes the saved text.

Editing Conveniences

Wrapping Selected Text in Brackets

When text is selected in the source text area, pressing a bracket or quote key wraps the selected text with the corresponding symbols.

KeyResult
((selected text)
[[selected text]
""selected text"
''selected text'

If no text is selected, the character is typed normally.

Zoom

Zoom controls are centered in each panel header.

  • Source Text: 80%–250%, default 100%
  • Formatted Output: 80%–250%, default 150%

Position Sync

Click a paragraph in the output to jump to the corresponding position in the source text. An orange circle marks the cursor location.

Print

Click the print button in the output panel to print the current formatted view.

Panel Resizing

Drag the handle between the left and right panels to adjust their widths.

Footnotes and Export

Footnotes

Footnotes mixed into the manuscript are found and separated from the body automatically.
Two notations are supported, because institutions and individual workers write them differently.

Repetition Notation

In the form X X: annotation content, the target character is repeated once, followed by a colon and the annotation.

Input:

(義館 館: In the base text, this appears as "舒".
嶺)在(淮陽).

Result:

  • In the body, a superscript number is attached to 義館, followed by 嶺)在(淮陽)。.
  • The footnote section displays 館: In the base text, this appears as "舒"。.

Double Curly Brace Notation

In the form {{annotation content}}, the annotation is enclosed in double curly braces. Line breaks are allowed inside. This is convenient for writing long annotations without repeating the target character.

Input:

(義館
{{館: In the base text, this appears as "舒".
Check again!!!!}}
嶺)在(淮陽).

Result:

  • In the body, a superscript number is attached to 義館, followed by 嶺)在(淮陽)。.
  • The footnote section displays 館: In the base text, this appears as "舒"。Check again!!!!.

Footnote Navigation

  • Click a superscript number in the body to jump to the corresponding footnote.
  • Click anywhere in the footnote section to jump back to the superscript number in the body.

Cloud Save (Google Sign-in)

If you want your manuscript and settings kept outside the browser, sign in.
You can pick up the same manuscript at home and at the office, and it survives clearing the browser.
Use the Google sign-in button in the top right.

Auto Save

Clicking the Convert button automatically saves the source text to the cloud. Up to 30 items are kept; when exceeded, the oldest unpinned items are automatically deleted.

Saved List

Click the Saved button (visible after sign-in) to open the saved text list.

  • Click an item: Load the saved text.
  • 📌 Pin button: Pin the item to protect it from automatic deletion. Up to 20 items can be pinned.
  • Delete button: Delete the item. Chunked items are fully deleted with all their parts.

Large Text (over 1MB)

Text exceeding 1MB is automatically split into chunks for storage and merged back when loaded. The saved list displays the size and number of parts.

HWP XML Export

In the end the final manuscript often has to be handed over as a Hangul file.
Click the ㅎ icon next to the save button and an XML file plus an XSL file download together, ready to open in Hangul.

Save Rules

  • The original text (including tags) is preserved as-is.
  • Only footnote patterns (X X: annotation, {{annotation}}) are converted to Hangul’s footnote format.
  • Each line becomes a paragraph in the Hangul document.

Opening in Hangul

  1. Place the downloaded XML file and XSL file in the same folder.
  2. Open the Hangul word processor and click Open.
  3. Change the file type (extension) to XML Document (*.xml).
  4. Select the XML file to open it.

The document will not display properly if the XSL file is not in the same folder.

Good to Know

What This Tool Does Well

  • Hanja Normalization: Multi-code Hanja characters are automatically normalized in the converted output.
  • Multi-line Symbols: Bracket styles are maintained across line breaks.
  • CSS Variable Based: Symbol styles use CSS variables for natural inheritance in nested contexts.
  • Web Fonts: HCRBatang and HanaMin fonts for CJK Extended characters.

File Upload

Click the Upload button in each app to load text files.

Supported formats: .txt, .md, .html, .xml, .tsv, .csv

File Save

Download conversion results using the Save button.

Copy

Copy results to clipboard using the Copy button.

Open the appTag Converter