diff --git a/include/aidge/utils/Log.hpp b/include/aidge/utils/Log.hpp
index a400f8046d07df4ff4493470737f5c4d42945db7..f198e83fbacdc2cceee1c947d0c17244d4c9953e 100644
--- a/include/aidge/utils/Log.hpp
+++ b/include/aidge/utils/Log.hpp
@@ -145,6 +145,14 @@ public:
         mConsoleLevel = level;
     }
 
+    /**
+     * Set or disable colors on console.
+     * Initial value should be assumed true.
+    */
+    static void setConsoleColor(bool enabled) {
+        mConsoleColor = enabled;
+    }
+
     /**
      * Set the minimum log level saved in the log file.
     */
@@ -173,6 +181,7 @@ private:
     static void initFile(const std::string& fileName);
 
     static Level mConsoleLevel;
+    static bool mConsoleColor;
     static Level mFileLevel;
     static std::string mFileName;
     static std::unique_ptr<FILE, decltype(&std::fclose)> mFile;
diff --git a/python_binding/utils/pybind_Log.cpp b/python_binding/utils/pybind_Log.cpp
index 7b5e7548b3126ed2ebfe3d9243248dc070c54076..f70a4bfab54ee14194ea04f96efa33a6b8e04201 100644
--- a/python_binding/utils/pybind_Log.cpp
+++ b/python_binding/utils/pybind_Log.cpp
@@ -82,6 +82,14 @@ void init_Log(py::module& m){
           :param level: Log level.
           :type level: Level
           )mydelimiter")
+    .def_static("set_console_color", &Log::setConsoleColor, py::arg("enabled"),
+          R"mydelimiter(
+          Enables or disable color output on comsole.
+          Initial value should be assumed True.
+
+          :param enabled: Activate or deactivate colors on console.
+          :type enabled: bool
+          )mydelimiter")
     .def_static("set_file_level", &Log::setFileLevel, py::arg("level"),
           R"mydelimiter(
           Set the minimum log level saved in the log file.
diff --git a/src/utils/Log.cpp b/src/utils/Log.cpp
index 54af888caca8dc2c4b512515ff70663f9437dd45..ae8816e78b6fc7b8f2288b6873642f0729e195b6 100644
--- a/src/utils/Log.cpp
+++ b/src/utils/Log.cpp
@@ -28,6 +28,16 @@ Aidge::Log::Level Aidge::Log::mConsoleLevel = []() {
     }
     return Info;
 }();
+bool Aidge::Log::mConsoleColor = []() {
+    const char* logColor = std::getenv("AIDGE_LOG_COLOR");
+    if (logColor == nullptr)
+        return true;
+    auto logColorStr = std::string(logColor);
+    if (logColorStr == "off" || logColorStr == "OFF" ||
+        logColorStr == "0")
+        return false;
+    return true;
+}();
 Aidge::Log::Level Aidge::Log::mFileLevel = []() {
     const char* logLevel = std::getenv("AIDGE_LOGLEVEL_FILE");
     if (logLevel != nullptr) {
@@ -55,7 +65,8 @@ void Aidge::Log::log(Level level, const std::string& msg) {
         // Styles that were already applied to msg with fmt are kept also in 
         // the log file.
         const auto modifier
-            = (level == Debug) ? fmt::fg(fmt::color::gray)
+            = !mConsoleColor ? fmt::text_style()
+            : (level == Debug) ? fmt::fg(fmt::color::gray)
             : (level == Notice) ? fmt::fg(fmt::color::medium_purple)
             : (level == Warn) ? fmt::fg(fmt::color::orange)
             : (level == Error) ? fmt::fg(fmt::color::red)