diff --git a/Network/URI/Conduit/File.hs b/Network/URI/Conduit/File.hs
--- a/Network/URI/Conduit/File.hs
+++ b/Network/URI/Conduit/File.hs
@@ -28,10 +28,12 @@
         Nothing -> do
             wd <- F.getWorkingDirectory
             let fp = wd FP.</> FP.decodeString s
-            parseURI $ T.append "file://" $ T.map fixSlash $ either id id $ FP.toText fp
+            parseURI $ T.append "file://" $ T.concatMap fixSpace $ T.map fixSlash $ either id id $ FP.toText fp
   where
     fixSlash '\\' = '/'
     fixSlash c = c
+    fixSpace ' ' = "%20"
+    fixSpace c = T.singleton c
 
 fileScheme :: Scheme
 fileScheme = Scheme
diff --git a/uri-conduit.cabal b/uri-conduit.cabal
--- a/uri-conduit.cabal
+++ b/uri-conduit.cabal
@@ -1,5 +1,5 @@
 Name:                uri-conduit
-Version:             0.2.0
+Version:             0.2.0.1
 Synopsis:            Read and write URIs
 Homepage:            http://github.com/snoyberg/xml
 License:             BSD3
@@ -21,7 +21,7 @@
                      , bytestring               >= 0.9        && < 0.10
                      , network                  >= 2.2        && < 2.4
                      , containers               >= 0.2        && < 0.5
-                     , failure                  >= 0.1        && < 0.2
+                     , failure                  >= 0.1        && < 0.3
                      , monad-control            >= 0.3        && < 0.4
                      , system-filepath          >= 0.4.3      && < 0.5
                      , system-fileio            >= 0.3.3      && < 0.4
