diff --git a/CHANGES.md b/CHANGES.md
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,8 @@
+1.2.1
+=====
+
+* Supports Unix paths in log configs even on Windows.
+
 1.2.0
 =====
 
diff --git a/log-warper.cabal b/log-warper.cabal
--- a/log-warper.cabal
+++ b/log-warper.cabal
@@ -1,5 +1,5 @@
 name:                log-warper
-version:             1.2.0
+version:             1.2.1
 synopsis:            Flexible, configurable, monadic and pretty logging
 homepage:            https://github.com/serokell/log-warper
 license:             MIT
diff --git a/src/System/Wlog/LoggerConfig.hs b/src/System/Wlog/LoggerConfig.hs
--- a/src/System/Wlog/LoggerConfig.hs
+++ b/src/System/Wlog/LoggerConfig.hs
@@ -68,6 +68,7 @@
                                          object, (.!=), (.:), (.:?), (.=))
 import           Formatting             (bprint, shown)
 import           GHC.Generics           (Generic)
+import           System.FilePath        (normalise)
 
 import           System.Wlog.LoggerName (LoggerName)
 import           System.Wlog.Wrapper    (Severity)
@@ -122,8 +123,9 @@
 
 instance ToJSON HandlerWrap
 instance FromJSON HandlerWrap where
+    -- we use 'normalise' so that Unix paths would work on Windows
     parseJSON = withObject "handler wrap" $ \o -> do
-        (_hwFilePath :: FilePath) <- o .: "file"
+        (_hwFilePath :: FilePath) <- normalise <$> o .: "file"
         (_hwRounding :: Maybe Int) <- o .:? "round"
         pure HandlerWrap{..}
 
@@ -133,8 +135,8 @@
 instance ToJSON LoggerTree
 instance FromJSON LoggerTree where
     parseJSON = withObject "loggers tree" $ \o -> do
-        (singleFile :: Maybe FilePath) <- o .:? "file"
-        (manyFiles :: [FilePath]) <- o .:? "files" .!= []
+        (singleFile :: Maybe FilePath) <- fmap normalise <$> o .:? "file"
+        (manyFiles :: [FilePath]) <- map normalise <$> (o .:? "files" .!= [])
         handlers <- o .:? "handlers" .!= []
         let fileHandlers =
                 map (\fp -> HandlerWrap fp Nothing) $
