diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 9028ed0eda058eacf3c1eb52a92da5178e25457f..fac04e2c9c9b422c326ee696e8a580928e72c9a5 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -4561,3 +4561,22 @@ (define-public emacs-gnuplot
     (description "@code{emacs-gnuplot} is an emacs major mode for interacting
 with gnuplot.")
     (license license:gpl2+)))
+
+(define-public emacs-transpose-frame
+  (package
+    (name "emacs-transpose-frame")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri "http://www.emacswiki.org/emacs/download/transpose-frame.el")
+       (sha256
+        (base32
+         "1f67yksgw9s6j0033hmqzaxx2a93jm11sd5ys7cc3li5gfh680m4"))))
+    (build-system emacs-build-system)
+    (home-page "https://www.emacswiki.org/emacs/TransposeFrame")
+    (synopsis "Transpose window arrangement in current frame")
+    (description "@code{emacs-transpose-frame} provides some interactive
+functions which allows users to transpose windows arrangement in currently
+selected frame.")
+    (license license:bsd-2)))