: Mafkers Docs

Kirikiri/KAG Support

Guide to translating Kirikiri visual novels with Mafkers.

Supported Versions

VersionStatusNotes
Kirikiri 2.x✅ SupportedClosed-source, format documented
KiriKiriZ✅ SupportedOpen-source fork

How Mafkers Detects Kirikiri

  1. .xp3 archives present
  2. .ks script files present
  3. Executable contains “KiriKiri” or “krkr” string

Where Strings Are Stored

.ks Script Files (PRIMARY)

KAG (Kirikiri Adventure Game) scripts are text-based .ks files. Dialog appears as plain text after [command] tags:

[bg storage="bg01.jpg"]
[Hello, player!]
[wait time="200"]
[This is a visual novel scene.]

.xp3 Archives

Kirikiri packages assets into .xp3 archives. Some archives are encrypted with custom keys (26 encryption schemes known).

.tjs Script Files

TJS2 (TypeScript-like JavaScript) scripts may contain string assignments.

Tools Used

  • GARbro (MIT, C#) - universal VN archive explorer, handles 26 XP3 encryption schemes
  • Native Python parser for .ks files (text-based)

Tag Pattern

KAG uses square bracket tags:

  • [command] - KAG directive
  • [ruby text="reading"] - ruby annotation
  • %variable - variable interpolation

Common Issues

Encrypted .xp3

Some Kirikiri games encrypt .xp3 archives. GARbro handles most encryption schemes, but some custom encryption may not be supported.

Shift-JIS Encoding

Japanese Kirikiri games often use Shift-JIS encoding. Mafkers tries UTF-8 first, falls back to Shift-JIS.

Was this page helpful?