diff --git a/packages/ckeditor5-footnotes/.editorconfig b/packages/ckeditor5-footnotes/.editorconfig
new file mode 100644
index 000000000..37ea8ff91
--- /dev/null
+++ b/packages/ckeditor5-footnotes/.editorconfig
@@ -0,0 +1,19 @@
+# Configurations to normalize the IDE behavior.
+# http://editorconfig.org/
+
+root = true
+
+[*]
+indent_style = tab
+tab_width = 4
+charset = utf-8
+end_of_line = lf
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+[*.{js,jsx,ts}]
+quote_type = single
+
+[package.json]
+indent_style = space
+tab_width = 2
diff --git a/packages/ckeditor5-footnotes/.eslintrc.cjs b/packages/ckeditor5-footnotes/.eslintrc.cjs
new file mode 100644
index 000000000..aa41a27ad
--- /dev/null
+++ b/packages/ckeditor5-footnotes/.eslintrc.cjs
@@ -0,0 +1,46 @@
+/* eslint-env node */
+
+'use strict';
+
+module.exports = {
+	extends: 'ckeditor5',
+	parser: '@typescript-eslint/parser',
+	plugins: [
+		'@typescript-eslint'
+	],
+	root: true,
+	ignorePatterns: [
+		// Ignore the entire `dist/` (the NIM build).
+		'dist/**',
+		// Ignore compiled JavaScript files, as they are generated automatically.
+		'src/**/*.js',
+		// Also, do not check typing declarations, too.
+		'src/**/*.d.ts'
+	],
+	rules: {
+		//  This rule disallows importing from any path other than the package main entrypoint.
+		'ckeditor5-rules/allow-imports-only-from-main-package-entry-point': 'error',
+		// This rule ensures that all imports from `@ckeditor/*` packages are done through the main package entry points.
+		// This is required for the editor types to work properly and to ease migration to the installation methods
+		// introduced in CKEditor 5 version 42.0.0.
+		'ckeditor5-rules/no-legacy-imports': 'error',
+		// As required by the ECMAScript (ESM) standard, all imports must include a file extension.
+		// If the import does not include it, this rule will try to automatically detect the correct file extension.
+		'ckeditor5-rules/require-file-extensions-in-imports': [
+			'error',
+			{
+				extensions: [ '.ts', '.js', '.json' ]
+			}
+		]
+	},
+	overrides: [
+		{
+			files: [ 'tests/**/*.[jt]s', 'sample/**/*.[jt]s' ],
+			rules: {
+				// To write complex tests, you may need to import files that are not exported in DLL files by default.
+				// Hence, imports CKEditor 5 packages in test files are not checked.
+				'ckeditor5-rules/ckeditor-imports': 'off'
+			}
+		}
+	]
+};
diff --git a/packages/ckeditor5-footnotes/.gitattributes b/packages/ckeditor5-footnotes/.gitattributes
new file mode 100644
index 000000000..41be6fafe
--- /dev/null
+++ b/packages/ckeditor5-footnotes/.gitattributes
@@ -0,0 +1,19 @@
+*			text=auto
+
+*.htaccess	eol=lf
+*.cgi		eol=lf
+*.sh		eol=lf
+
+*.css		text
+*.htm		text
+*.html		text
+*.js		text
+*.ts		text
+*.json		text
+*.php		text
+*.txt		text
+*.md		text
+
+*.png		-text
+*.gif		-text
+*.jpg		-text
diff --git a/packages/ckeditor5-footnotes/.gitignore b/packages/ckeditor5-footnotes/.gitignore
new file mode 100644
index 000000000..437dda1d0
--- /dev/null
+++ b/packages/ckeditor5-footnotes/.gitignore
@@ -0,0 +1,10 @@
+build/
+coverage/
+dist/
+node_modules/
+tmp/
+sample/ckeditor.dist.js
+
+# Ignore compiled TypeScript files.
+src/**/*.js
+src/**/*.d.ts
diff --git a/packages/ckeditor5-footnotes/.stylelintrc b/packages/ckeditor5-footnotes/.stylelintrc
new file mode 100644
index 000000000..1d86a41f9
--- /dev/null
+++ b/packages/ckeditor5-footnotes/.stylelintrc
@@ -0,0 +1,3 @@
+{
+	"extends": "stylelint-config-ckeditor5"
+}
diff --git a/packages/ckeditor5-footnotes/LICENSE.md b/packages/ckeditor5-footnotes/LICENSE.md
new file mode 100644
index 000000000..b60c76711
--- /dev/null
+++ b/packages/ckeditor5-footnotes/LICENSE.md
@@ -0,0 +1,6 @@
+Software License Agreement
+==========================
+
+Copyright (c) 2025. All rights reserved.
+
+Licensed under the terms of [MIT license](https://opensource.org/licenses/MIT).
diff --git a/packages/ckeditor5-footnotes/README.md b/packages/ckeditor5-footnotes/README.md
new file mode 100644
index 000000000..21cc61d3f
--- /dev/null
+++ b/packages/ckeditor5-footnotes/README.md
@@ -0,0 +1,141 @@
+@triliumnext/ckeditor5-footnotes
+================================
+
+This package was created by the [ckeditor5-package-generator](https://www.npmjs.com/package/ckeditor5-package-generator) package.
+
+## Table of contents
+
+* [Developing the package](#developing-the-package)
+* [Available scripts](#available-scripts)
+  * [`start`](#start)
+  * [`test`](#test)
+  * [`lint`](#lint)
+  * [`stylelint`](#stylelint)
+  * [`build:dist`](#builddist)
+  * [`translations:synchronize`](#translationssynchronize)
+  * [`translations:validate`](#translationsvalidate)
+  * [`ts:build` and `ts:clear`](#tsbuild-and-tsclear)
+* [License](#license)
+
+## Developing the package
+
+To read about the CKEditor 5 Framework, visit the [CKEditor 5 Framework documentation](https://ckeditor.com/docs/ckeditor5/latest/framework/index.html).
+
+## Available scripts
+
+NPM scripts are a convenient way to provide commands in a project. They are defined in the `package.json` file and shared with people contributing to the project. It ensures developers use the same command with the same options (flags).
+
+All the scripts can be executed by running `npm run 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+