diff --git a/include/eigenpy/version.hpp b/include/eigenpy/version.hpp
index 891e0c9497be0355bc77f1f2064ca4ed21cad6b2..3e5357b2ca3fa5a61e5d2928b7e1e4456057bde3 100644
--- a/include/eigenpy/version.hpp
+++ b/include/eigenpy/version.hpp
@@ -18,6 +18,14 @@ namespace eigenpy {
 ///
 std::string EIGENPY_DLLAPI printVersion(const std::string& delimiter = ".");
 
+///
+/// \brief Returns the current version of Eigen3 as a string using
+///        the following standard:
+///        EIGEN_MINOR_VERSION.EIGEN_MINOR_VERSION.EIGEN_PATCH_VERSION
+///
+std::string EIGENPY_DLLAPI
+printEigenVersion(const std::string& delimiter = ".");
+
 ///
 /// \brief Checks if the current version of EigenPy is at least the version
 /// provided
diff --git a/python/main.cpp b/python/main.cpp
index 03bc2f2052f9251bbade21518d33880d7fe68096..b589c6c81bbfc1a8d8ea2f5bceca22348f051ebc 100644
--- a/python/main.cpp
+++ b/python/main.cpp
@@ -1,6 +1,6 @@
 /*
  * Copyright 2014-2019, CNRS
- * Copyright 2018-2022, INRIA
+ * Copyright 2018-2023, INRIA
  */
 
 #include <boost/python/scope.hpp>
@@ -22,6 +22,7 @@ BOOST_PYTHON_MODULE(eigenpy_pywrap) {
   enableEigenPy();
 
   bp::scope().attr("__version__") = eigenpy::printVersion();
+  bp::scope().attr("__eigen_version__") = eigenpy::printEigenVersion();
   bp::scope().attr("__raw_version__") = bp::str(EIGENPY_VERSION);
   bp::def("checkVersionAtLeast", &eigenpy::checkVersionAtLeast,
           bp::args("major_version", "minor_version", "patch_version"),
diff --git a/src/version.cpp b/src/version.cpp
index 7ac4383ed0edb38c8bf9a979ab6a1555968818b0..9b290e887ec3590dd5ed90e23aee667702de48a0 100644
--- a/src/version.cpp
+++ b/src/version.cpp
@@ -1,12 +1,12 @@
 //
-// Copyright (c) 2019 INRIA
+// Copyright (c) 2019-2023 INRIA
 //
 
 #include "eigenpy/version.hpp"
+#include "eigenpy/config.hpp"
 
 #include <sstream>
-
-#include "eigenpy/config.hpp"
+#include <Eigen/Core>
 
 namespace eigenpy {
 
@@ -17,6 +17,13 @@ std::string printVersion(const std::string& delimiter) {
   return oss.str();
 }
 
+std::string printEigenVersion(const std::string& delimiter) {
+  std::ostringstream oss;
+  oss << EIGEN_MAJOR_VERSION << delimiter << EIGEN_MINOR_VERSION << delimiter
+      << EIGEN_MINOR_VERSION;
+  return oss.str();
+}
+
 bool checkVersionAtLeast(unsigned int major_version, unsigned int minor_version,
                          unsigned int patch_version) {
   return EIGENPY_VERSION_AT_LEAST(major_version, minor_version, patch_version);