diff --git a/app/src/main/java/io/legado/app/help/BookHelp.kt b/app/src/main/java/io/legado/app/help/BookHelp.kt
index fbf05f538..803d11a9a 100644
--- a/app/src/main/java/io/legado/app/help/BookHelp.kt
+++ b/app/src/main/java/io/legado/app/help/BookHelp.kt
@@ -191,6 +191,25 @@ object BookHelp {
         return null
     }
 
+    fun reverseContent(book: Book, bookChapter: BookChapter) {
+        if (!book.isLocalBook()) {
+            val file = FileUtils.getFile(
+                downloadDir,
+                cacheFolderName,
+                book.getFolderName(),
+                bookChapter.getFileName()
+            )
+            if (file.exists()) {
+                val text = file.readText()
+                val stringBuilder = StringBuilder()
+                text.toStringArray().forEach {
+                    stringBuilder.insert(0, it)
+                }
+                file.writeText(stringBuilder.toString())
+            }
+        }
+    }
+
     fun delContent(book: Book, bookChapter: BookChapter) {
         if (book.isLocalBook()) {
             return
diff --git a/app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt b/app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt
index 9ec9fbaf3..732c1b902 100644
--- a/app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt
+++ b/app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt
@@ -242,6 +242,9 @@ class ReadBookActivity : ReadBookBaseActivity(),
                 supportFragmentManager,
                 ReadBook.book?.tocUrl
             )
+            R.id.menu_reverse_content -> ReadBook.book?.let {
+                viewModel.reverseContent(it)
+            }
             R.id.menu_set_charset -> showCharsetConfig()
             R.id.menu_get_progress -> ReadBook.book?.let {
                 viewModel.syncBookProgress(it) { progress ->
diff --git a/app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt b/app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt
index 5fff40d5c..5b6281320 100644
--- a/app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt
+++ b/app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt
@@ -295,6 +295,16 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) {
         }
     }
 
+    fun reverseContent(book: Book) {
+        execute {
+            appDb.bookChapterDao.getChapter(book.bookUrl, ReadBook.durChapterIndex)
+                ?.let { chapter ->
+                    BookHelp.reverseContent(book, chapter)
+                    ReadBook.loadContent(ReadBook.durChapterIndex, resetPageOffset = false)
+                }
+        }
+    }
+
     /**
      * 替换规则变化
      */
diff --git a/app/src/main/res/menu/book_read.xml b/app/src/main/res/menu/book_read.xml
index b34861c5a..e2cdb3f45 100644
--- a/app/src/main/res/menu/book_read.xml
+++ b/app/src/main/res/menu/book_read.xml
@@ -73,6 +73,11 @@
         android:title="@string/get_book_progress"
         app:showAsAction="never" />
 
+    +
- 导出文件夹
     导出编码
     导出到WebDav
+    反转内容
 
 
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 762318f9f..0f4e05286 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -808,5 +808,6 @@
     匯出資料夾
     匯出編碼
     匯出到WebDav
+    反转内容
 
 
diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml
index d4dad82b7..cf60feffd 100644
--- a/app/src/main/res/values-zh/strings.xml
+++ b/app/src/main/res/values-zh/strings.xml
@@ -808,5 +808,6 @@
     导出文件夹
     导出编码
     导出到WebDav
+    反转内容
 
 
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 227aeb400..0e1c150cd 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -811,5 +811,6 @@
     导出文件夹
     导出编码
     导出到WebDav
+    反转内容
 
 
diff --git a/build.gradle b/build.gradle
index e4a3e9d2e..228c51fa0 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,7 +1,7 @@
 // Top-level build file where you can add configuration options common to all sub-projects/modules.
 
 buildscript {
-    ext.kotlin_version = '1.4.30'
+    ext.kotlin_version = '1.4.31'
     repositories {
         google()
         jcenter()