diff --git a/editors/demo/config-overrides.js b/editors/demo/config-overrides.js
index 6bc5ae421f27f4825e4d4bb5a6f9b17606d5a728..1b6da38784b41f0271147cdcda1f60d309c1b5e0 100644
--- a/editors/demo/config-overrides.js
+++ b/editors/demo/config-overrides.js
@@ -15,6 +15,10 @@ module.exports = function override(config, env) {
         __dirname,
         '../../wax-questions-service/index',
       ),
+      'wax-table-service': path.resolve(
+        __dirname,
+        '../../wax-table-service/index',
+      ),
     },
   };
   config.module = {
diff --git a/editors/demo/package.json b/editors/demo/package.json
index 3751aee52b8a8e8efba3b686c62db0ac2effdfaa..466716b9595e29bce16a03706ef38d5e955f45de 100644
--- a/editors/demo/package.json
+++ b/editors/demo/package.json
@@ -15,7 +15,8 @@
     "typeface-vollkorn": "^0.0.54",
     "wax-prosemirror-core": "^0.8.9",
     "wax-prosemirror-services": "^0.8.9",
-    "wax-questions-service": "^0.8.9"
+    "wax-questions-service": "^0.8.9",
+    "wax-table-service": "^0.8.9"
   },
   "scripts": {
     "start": "react-app-rewired start",
diff --git a/editors/demo/src/Editoria/config/config.js b/editors/demo/src/Editoria/config/config.js
index d24ceb1b6bb46e293c14cc9a30c86426f37fd3f5..a11306ffd7d8e5dd138a1816c8b6b3ef7d357c13 100644
--- a/editors/demo/src/Editoria/config/config.js
+++ b/editors/demo/src/Editoria/config/config.js
@@ -9,7 +9,6 @@ import {
   LinkService,
   ListsService,
   ListToolGroupService,
-  TablesService,
   BaseService,
   BaseToolGroupService,
   DisplayBlockLevelService,
@@ -46,10 +45,10 @@ import {
   // YjsService,
   // BlockDropDownToolGroupService,
   // TitleToolGroupService,
-  tableEditing,
-  columnResizing,
 } from 'wax-prosemirror-services';
 
+import { TablesService, tableEditing, columnResizing } from 'wax-table-service';
+
 import { EditoriaSchema } from 'wax-prosemirror-core';
 
 import invisibles, {
diff --git a/editors/demo/src/Editoria/config/configMobile.js b/editors/demo/src/Editoria/config/configMobile.js
index 3db3eb6c71fa5e290407460567d31a6d0f376168..a87d5ec5e72338992b4c82cba17085f1fd71d4d5 100644
--- a/editors/demo/src/Editoria/config/configMobile.js
+++ b/editors/demo/src/Editoria/config/configMobile.js
@@ -6,7 +6,6 @@ import {
   LinkService,
   ListsService,
   ListToolGroupService,
-  TablesService,
   BaseService,
   BaseToolGroupService,
   DisplayBlockLevelService,
@@ -34,6 +33,8 @@ import {
   CustomTagService,
 } from 'wax-prosemirror-services';
 
+import { TablesService, tableEditing, columnResizing } from 'wax-table-service';
+
 import { DefaultSchema } from 'wax-prosemirror-core';
 
 import invisibles, {
diff --git a/editors/demo/src/HHMI/config/config.js b/editors/demo/src/HHMI/config/config.js
index 1ba9568d15f75da3a28f6aefc2213649bc696d51..7fc649f31ced9483756acb011a2040eceeaa1626 100644
--- a/editors/demo/src/HHMI/config/config.js
+++ b/editors/demo/src/HHMI/config/config.js
@@ -7,7 +7,6 @@ import {
   LinkService,
   ListsService,
   ListToolGroupService,
-  TablesService,
   BaseService,
   BaseToolGroupService,
   DisplayTextToolGroupService,
@@ -18,6 +17,7 @@ import {
 } from 'wax-prosemirror-services';
 
 import { QuestionsService } from 'wax-questions-service';
+import { TablesService, tableEditing, columnResizing } from 'wax-table-service';
 
 import { DefaultSchema } from 'wax-prosemirror-core';
 import invisibles, { hardBreak } from '@guardian/prosemirror-invisibles';
diff --git a/editors/demo/src/OEN/config/config.js b/editors/demo/src/OEN/config/config.js
index b2a987205a362da6c322a104fb436e9b934ed2dd..159cad8845432ee10f071910d351c663ccc6c38b 100644
--- a/editors/demo/src/OEN/config/config.js
+++ b/editors/demo/src/OEN/config/config.js
@@ -9,7 +9,6 @@ import {
   LinkService,
   ListsService,
   ListToolGroupService,
-  TablesService,
   BaseService,
   BaseToolGroupService,
   DisplayBlockLevelService,
@@ -47,6 +46,7 @@ import {
   OENContainersToolGroupService,
   OENAsideToolGroupService,
 } from 'wax-prosemirror-services';
+import { TablesService, tableEditing, columnResizing } from 'wax-table-service';
 
 import { EditoriaSchema } from 'wax-prosemirror-core';
 
diff --git a/package.json b/package.json
index 00e25850c1b7483f52364fbc897b77ddbc5aa938..f728163b96123cbbe005841875a99a48e99e4bf6 100644
--- a/package.json
+++ b/package.json
@@ -14,6 +14,7 @@
     "wax-prosemirror-core",
     "wax-prosemirror-services",
     "wax-questions-service",
+    "wax-table-service",
     "editors/*"
   ],
   "scripts": {
diff --git a/wax-prosemirror-core/rollup.config.js b/wax-prosemirror-core/rollup.config.js
index 1eb417eb1cb2b076650a1268293fcb333f53a827..3acc3b132c6a82ce28d33771d7ce965c5bc9d2c9 100644
--- a/wax-prosemirror-core/rollup.config.js
+++ b/wax-prosemirror-core/rollup.config.js
@@ -30,10 +30,5 @@ export default {
     commonjs(),
     terser(),
   ],
-  external: [
-    'react-dropdown',
-    'uuid',
-    'prop-types',
-    'wax-prosemirror-services',
-  ],
+  external: [],
 };
diff --git a/wax-prosemirror-services/index.js b/wax-prosemirror-services/index.js
index 97c1d53df79971e913553c32cfaae1ad5a8b54c7..47ca65e64e54e53b8e39e16f8cb81719d5f210d6 100644
--- a/wax-prosemirror-services/index.js
+++ b/wax-prosemirror-services/index.js
@@ -5,7 +5,6 @@ export { default as BaseService } from './src/BaseService/BaseService';
 export { default as ImageService } from './src/ImageService/ImageService';
 export { default as InlineAnnotationsService } from './src/InlineAnnotations/InlineAnnotationsService';
 export { default as ListsService } from './src/ListsService/ListsService';
-export { default as TablesService } from './src/TablesService/TablesService';
 export { default as TextBlockLevelService } from './src/TextBlockLevel/TextBlockLevelService';
 export { default as DisplayBlockLevelService } from './src/DisplayBlockLevel/DisplayBlockLevelService';
 export { default as NoteService } from './src/NoteService/NoteService';
@@ -61,5 +60,3 @@ export { default as TitleToolGroupService } from './src/WaxToolGroups/TitleToolG
 /* Plugins */
 
 export { default as disallowPasteImagesPlugin } from './src/ImageService/plugins/disallowPasteImagesPlugin';
-
-export { tableEditing, columnResizing } from './src/TablesService/tableSrc';
diff --git a/wax-prosemirror-services/rollup.config.js b/wax-prosemirror-services/rollup.config.js
index f4d5cd16f37bc1d655b01208600babcae841e0c2..46fa70aa6cb0fad1e51b5c258de9273c7f13de85 100644
--- a/wax-prosemirror-services/rollup.config.js
+++ b/wax-prosemirror-services/rollup.config.js
@@ -40,11 +40,7 @@ export default {
     'uuid',
     'react',
     'react-dom',
-    'react-dropdown',
     'lodash',
-    'prosemirror-schema-list',
-    'prosemirror-model',
-    'prosemirror-inputrules',
     '@babel/runtime/regenerator',
   ],
 };
diff --git a/wax-table-service/README.md b/wax-table-service/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..b8d971e91fb0d7bf6970c3267f60dd6e2baefe9e
--- /dev/null
+++ b/wax-table-service/README.md
@@ -0,0 +1 @@
+## Wax table package
diff --git a/wax-table-service/index.js b/wax-table-service/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..556e566daeb211f238884deb9475c02a66667344
--- /dev/null
+++ b/wax-table-service/index.js
@@ -0,0 +1,2 @@
+export { tableEditing, columnResizing } from './src/tableSrc';
+export { default as TablesService } from './src/TablesService';
diff --git a/wax-table-service/package.json b/wax-table-service/package.json
new file mode 100644
index 0000000000000000000000000000000000000000..4f51a4ae7829d93cf1af5899b0e02509fb4a5cb6
--- /dev/null
+++ b/wax-table-service/package.json
@@ -0,0 +1,37 @@
+{
+  "name": "wax-table-service",
+  "author": "Christos Kokosias & Giannis Kopanas",
+  "version": "0.8.9",
+  "description": "Wax Table Service",
+  "license": "MIT",
+  "main": "dist/index.js",
+  "style": "dist/index.css",
+  "files": [
+    "dist"
+  ],
+  "scripts": {
+    "test": "echo \"Error: no test specified\" && exit 1",
+    "build": "BABEL_ENV=production rollup -c"
+  },
+  "dependencies": {
+    "@pubsweet/ui-toolkit": "^2.3.1",
+    "inversify": "^5.0.1",
+    "lodash": "^4.17.4",
+    "uuid": "^7.0.3",
+    "prosemirror-keymap": "1.2.1",
+    "prosemirror-state": "1.4.2",
+    "prosemirror-view": "1.30.2",
+    "prosemirror-transform": "1.7.1",
+    "wax-prosemirror-core": "^0.8.9",
+    "wax-prosemirror-services": "^0.8.9"
+  },
+  "devDependencies": {
+    "mocha": "^3.4.2",
+    "prosemirror-test-builder": "^1.0.1"
+  },
+  "peerDependencies": {
+    "react": "^18.2.0",
+    "react-dom": "^18.2.0",
+    "styled-components": "^5.3.1"
+  }
+}
diff --git a/wax-table-service/rollup.config.js b/wax-table-service/rollup.config.js
new file mode 100644
index 0000000000000000000000000000000000000000..7db020053fa745910cb74f40a152cdd7dad19eb6
--- /dev/null
+++ b/wax-table-service/rollup.config.js
@@ -0,0 +1,40 @@
+import babel from 'rollup-plugin-babel';
+import commonjs from '@rollup/plugin-commonjs';
+import external from 'rollup-plugin-peer-deps-external';
+import css from 'rollup-plugin-import-css';
+import { terser } from 'rollup-plugin-terser';
+
+export default {
+  input: 'index.js',
+  output: [
+    {
+      file: 'dist/index.js',
+      format: 'cjs',
+      sourcemap: false,
+    },
+  ],
+  plugins: [
+    css(),
+    external({
+      includeDependencies: true,
+    }),
+    babel({
+      presets: ['react-app'],
+      plugins: [
+        [
+          '@babel/plugin-transform-runtime',
+          {
+            regenerator: true,
+          },
+        ],
+        ['@babel/plugin-proposal-decorators', { legacy: true }],
+        'babel-plugin-parameter-decorator',
+      ],
+      exclude: 'node_modules/**',
+      runtimeHelpers: true,
+    }),
+    commonjs(),
+    terser(),
+  ],
+  external: ['uuid', 'react', 'react-dom', 'lodash', 'prosemirror-model'],
+};
diff --git a/wax-prosemirror-services/src/TablesService/EditTableService/EditTableService.js b/wax-table-service/src/EditTableService/EditTableService.js
similarity index 100%
rename from wax-prosemirror-services/src/TablesService/EditTableService/EditTableService.js
rename to wax-table-service/src/EditTableService/EditTableService.js
diff --git a/wax-prosemirror-services/src/TablesService/EditTableService/TableDropDownOptions.js b/wax-table-service/src/EditTableService/TableDropDownOptions.js
similarity index 100%
rename from wax-prosemirror-services/src/TablesService/EditTableService/TableDropDownOptions.js
rename to wax-table-service/src/EditTableService/TableDropDownOptions.js
diff --git a/wax-prosemirror-services/src/TablesService/InsertTableService/InsertTableService.js b/wax-table-service/src/InsertTableService/InsertTableService.js
similarity index 100%
rename from wax-prosemirror-services/src/TablesService/InsertTableService/InsertTableService.js
rename to wax-table-service/src/InsertTableService/InsertTableService.js
diff --git a/wax-prosemirror-services/src/TablesService/InsertTableService/Table.js b/wax-table-service/src/InsertTableService/Table.js
similarity index 100%
rename from wax-prosemirror-services/src/TablesService/InsertTableService/Table.js
rename to wax-table-service/src/InsertTableService/Table.js
diff --git a/wax-prosemirror-services/src/TablesService/TableToolGroupService/TableToolGroupService.js b/wax-table-service/src/TableToolGroupService/TableToolGroupService.js
similarity index 100%
rename from wax-prosemirror-services/src/TablesService/TableToolGroupService/TableToolGroupService.js
rename to wax-table-service/src/TableToolGroupService/TableToolGroupService.js
diff --git a/wax-prosemirror-services/src/TablesService/TableToolGroupService/Tables.js b/wax-table-service/src/TableToolGroupService/Tables.js
similarity index 100%
rename from wax-prosemirror-services/src/TablesService/TableToolGroupService/Tables.js
rename to wax-table-service/src/TableToolGroupService/Tables.js
diff --git a/wax-prosemirror-services/src/TablesService/TablesService.js b/wax-table-service/src/TablesService.js
similarity index 100%
rename from wax-prosemirror-services/src/TablesService/TablesService.js
rename to wax-table-service/src/TablesService.js
diff --git a/wax-prosemirror-services/src/TablesService/components/CreateTable.js b/wax-table-service/src/components/CreateTable.js
similarity index 100%
rename from wax-prosemirror-services/src/TablesService/components/CreateTable.js
rename to wax-table-service/src/components/CreateTable.js
diff --git a/wax-prosemirror-services/src/TablesService/components/InsertTableTool.js b/wax-table-service/src/components/InsertTableTool.js
similarity index 100%
rename from wax-prosemirror-services/src/TablesService/components/InsertTableTool.js
rename to wax-table-service/src/components/InsertTableTool.js
diff --git a/wax-prosemirror-services/src/TablesService/components/TableDropDown.js b/wax-table-service/src/components/TableDropDown.js
similarity index 100%
rename from wax-prosemirror-services/src/TablesService/components/TableDropDown.js
rename to wax-table-service/src/components/TableDropDown.js
diff --git a/wax-prosemirror-services/src/TablesService/index.js b/wax-table-service/src/index.js
similarity index 100%
rename from wax-prosemirror-services/src/TablesService/index.js
rename to wax-table-service/src/index.js
diff --git a/wax-prosemirror-services/src/TablesService/table.css b/wax-table-service/src/table.css
similarity index 100%
rename from wax-prosemirror-services/src/TablesService/table.css
rename to wax-table-service/src/table.css
diff --git a/wax-prosemirror-services/src/TablesService/tableSrc/index.js b/wax-table-service/src/tableSrc/index.js
similarity index 99%
rename from wax-prosemirror-services/src/TablesService/tableSrc/index.js
rename to wax-table-service/src/tableSrc/index.js
index 71d900556a93b4740a67f5f8482be404d7933d20..4b193e70c180a62918e623b67356300507e848f2 100644
--- a/wax-prosemirror-services/src/TablesService/tableSrc/index.js
+++ b/wax-table-service/src/tableSrc/index.js
@@ -1,3 +1,5 @@
+/* eslint-disable*/
+
 // src/index.ts
 import { Plugin as Plugin2 } from 'prosemirror-state';