diff --git a/pkgs/tools/misc/tcat/default.nix b/pkgs/tools/misc/tcat/default.nix
new file mode 100644
index 000000000000..350405ee4b01
--- /dev/null
+++ b/pkgs/tools/misc/tcat/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "tcat";
+  version = "1.0.0";
+  src = fetchFromGitHub {
+    owner = "rsc";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1szzfz5xsx9l8gjikfncgp86hydzpvsi0y5zvikd621xkp7g7l21";
+  };
+  vendorSha256 = "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5";
+  subPackages = ".";
+
+  meta = with lib; {
+    description = "Table cat";
+    homepage = "https://github.com/rsc/tcat";
+    maintainers = with maintainers; [ mmlb ];
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 12998682665a..efef31d6e835 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -36501,6 +36501,8 @@ with pkgs;
 
   tagref = callPackage ../tools/misc/tagref { };
 
+  tcat = callPackage ../tools/misc/tcat { };
+
   tellico = libsForQt5.callPackage ../applications/misc/tellico { };
 
   termpdfpy = python3Packages.callPackage ../applications/misc/termpdf.py {};