diff --git a/Changes b/Changes
index 68549bc..ec02d21 100755
--- a/Changes
+++ b/Changes
@@ -1,7 +1,8 @@
 0.44 2022-01-04
         - Fixed autosecrets migration. (diewald)
         - Format page numbers in pagination (diewald).
-        - Introduce tei2korapxml command via plugin.
+        - Introduce tei2korapxml command via plugin (diewald).
+        - Introduce korapxml2tei command via plugin (diewald).
 
 0.43 2021-11-05
         - New menu class that has an entry at the very end,
diff --git a/README.md b/README.md
index 6e810c3..3f374aa 100644
--- a/README.md
+++ b/README.md
@@ -242,6 +242,8 @@
   supported by [Kustvakt full](https://github.com/KorAP/Kustvakt/tree/master/full).
 - `Piwik`: For integrating Matomo/Piwik
 - `Tei2KorAPXML`: For integrated calls to [tei2korapxml](https://github.com/KorAP/KorAP-XML-TEI), if installed
+- `KorAPXML2Krill`: For integrated calls to [korapxml2krill](https://github.com/KorAP/KorAP-XML-Krill), if installed
+
 
 ## Troubleshooting
 
diff --git a/lib/Kalamar/Plugin/KorAPXML2Krill.pm b/lib/Kalamar/Plugin/KorAPXML2Krill.pm
new file mode 100644
index 0000000..293d0d8
--- /dev/null
+++ b/lib/Kalamar/Plugin/KorAPXML2Krill.pm
@@ -0,0 +1,16 @@
+package Kalamar::Plugin::KorAPXML2Krill;
+use Mojo::Base 'Mojolicious::Plugin';
+use Mojo::Base -strict;
+sub register {
+  my ($plugin, $mojo) = @_;
+  if (eval {
+    require KorAP::XML::Krill;
+    1;
+  }) {
+    # Add additional command path
+    push(@{$mojo->commands->namespaces}, __PACKAGE__);
+    return 1;
+  };
+  return 0;
+};
+1;
diff --git a/lib/Kalamar/Plugin/KorAPXML2Krill/korapxml2krill.pm b/lib/Kalamar/Plugin/KorAPXML2Krill/korapxml2krill.pm
new file mode 100644
index 0000000..2c6aeec
--- /dev/null
+++ b/lib/Kalamar/Plugin/KorAPXML2Krill/korapxml2krill.pm
@@ -0,0 +1,12 @@
+package Kalamar::Plugin::KorAPXML2Krill::korapxml2krill;
+use Mojo::Base 'Mojolicious::Command';
+has description => 'Merge KorAP-XML data and create Krill documents';
+has usage       => sub {
+  return qx{korapxml2krill --help};
+};
+sub run {
+  shift;
+  system('korapxml2krill', @_);
+  return 1;
+};
+1;
diff --git a/t/plugin/korapxml2krill.t b/t/plugin/korapxml2krill.t
new file mode 100644
index 0000000..52a0791
--- /dev/null
+++ b/t/plugin/korapxml2krill.t
@@ -0,0 +1,25 @@
+use Test::More;
+use Test::Mojo;
+use Test::Output;
+eval {
+  require KorAP::XML::Krill;
+  1;
+} || do {
+  plan skip_all => "KorAP::XML::Krill is not installed";
+};
+my $t = Test::Mojo->new(Kalamar => {
+  Kalamar => {
+    plugins => ['KorAPXML2Krill']
+  }
+});
+my $app = $t->app;
+my $cmds = $app->commands;
+ok(grep/::KorAPXML2Krill/, @{$cmds->namespaces}, 'Namespace is set');
+stdout_like(
+  sub {
+    $cmds->run('korapxml2krill','-v');
+  },
+  qr{\[archive\|extract\]}
+);
+done_testing;
+1;
