diff --git a/eistoeigen.h b/eistoeigen.h
new file mode 100644
index 0000000000000000000000000000000000000000..89dd85760a47f0a8eae212e8b4d6194737748f97
--- /dev/null
+++ b/eistoeigen.h
@@ -0,0 +1,21 @@
+#pragma once
+
+#include <Eigen/Core>
+#include <eisgenerator/eistype.h>
+#include <vector>
+
+Eigen::VectorX<std::complex<fvalue>> eistoeigen(const std::vector<eis::DataPoint>& data, Eigen::Vector<fvalue, Eigen::Dynamic>* omega = nullptr)
+{
+ Eigen::VectorX<std::complex<fvalue>> out(data.size());
+
+ if(omega)
+ *omega = Eigen::VectorX<fvalue>(data.size());
+
+ for(size_t i = 0; i < data.size(); ++i)
+ {
+ out[i] = data[i].im;
+ if(omega)
+ (*omega)[i] = data[i].omega;
+ }
+ return out;
+}