diff --git a/apps/Docs.hs b/apps/Docs.hs
--- a/apps/Docs.hs
+++ b/apps/Docs.hs
@@ -4,6 +4,7 @@
 -- base
 import Data.Foldable (forM_)
 import Data.List (sortOn)
+import Data.Maybe (isNothing)
 -- hetzner
 import Hetzner.Cloud qualified as Hetzner
 -- bytestring
@@ -24,14 +25,14 @@
   token <- maybe (fail "HETZNER_API_TOKEN is not set") pure mtoken
   now <- round <$> getPOSIXTime :: IO Int
   -- Server types
-  let dir = "public/server-types"
-  createDirectoryIfMissing True dir
+  let serverTypesFP = "public/server-types"
+  createDirectoryIfMissing True serverTypesFP
   serverTypes0 <- Hetzner.streamToList $ Hetzner.streamPages $ Hetzner.getServerTypes token
   let maxPrice = maximum . (:) 0
                . fmap (Hetzner.grossPrice . Hetzner.monthlyPrice)
                . Hetzner.serverPricing
   let serverTypes = sortOn maxPrice $ filter (not . Hetzner.serverDeprecated) serverTypes0
-  ByteString.writeFile (dir ++ "/index.html") $ renderHtml $ H.docTypeHtml $ do
+  ByteString.writeFile (serverTypesFP ++ "/index.html") $ renderHtml $ H.docTypeHtml $ do
     H.head $ do
       H.title "Hetzner Server Type List"
       H.link ! A.rel "stylesheet" ! A.href "https://use.typekit.net/yxf7kgr.css"
@@ -47,7 +48,7 @@
           H.th "Cores"
           H.th "Memory"
           H.th "Disk"
-          H.th "Included Traffic (TB)"
+          H.th "Included Traffic"
           H.th "CPU Type"
           H.th "Max Monthly Price"
         forM_ serverTypes $ \serverType -> H.tr $ do
@@ -63,6 +64,41 @@
             Hetzner.SharedCPU -> "Shared" :: String
             Hetzner.DedicatedCPU -> "Dedicated"
           H.td $ toHtml $ show (maxPrice serverType) ++ " €"
+    H.p $ H.em $ do
+      "Updated "
+      H.script $ preEscapedToHtml $
+        "const date = new Date(" ++ show (now * 1000) ++ "); "
+        ++ "document.write(date.toLocaleString());"
+      "."
+  -- Images
+  let imagesFP = "public/images"
+  createDirectoryIfMissing True imagesFP
+  images0 <- Hetzner.streamToList $ Hetzner.streamPages $ Hetzner.getImages token
+  let images = sortOn (show . Hetzner.imageName)
+             $ filter (isNothing . Hetzner.imageDeprecated) images0
+  print images
+  ByteString.writeFile (imagesFP ++ "/index.html") $ renderHtml $ H.docTypeHtml $ do
+    H.head $ do
+      H.title "Hetzner Image List"
+      H.link ! A.rel "stylesheet" ! A.href "https://use.typekit.net/yxf7kgr.css"
+      H.link ! A.rel "stylesheet" ! A.href "../common.css"
+    H.body $ do
+      H.h1 "Hetzner Image List"
+      H.p "These are the images available by default. Your project might have other images available in addition to these."
+      H.hr
+      H.table $ do
+        H.tr ! A.class_ "hrow" $ do
+          H.th "Image ID"
+          H.th "Name"
+          H.th "OS Flavor"
+          H.th "Architecture"
+          H.th "Size"
+        forM_ images $ \image -> H.tr $ do
+          H.td $ (\(Hetzner.ImageID i) -> toHtml i) $ Hetzner.imageID image
+          H.td $ toHtml $ Hetzner.imageName image
+          H.td $ toHtml $ show $ Hetzner.imageOSFlavor image
+          H.td $ toHtml $ show $ Hetzner.imageArchitecture image
+          H.td $ toHtml $ show (Hetzner.imageDiskSize image) ++ " GB"
     H.p $ H.em $ do
       "Updated "
       H.script $ preEscapedToHtml $
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,7 @@
+## 0.6.0.0
+* Add new fields to the `Image` type: `imageArchitecture`, `imageName`.
+* Add [image list webpage](https://daniel-casanueva.gitlab.io/haskell/hetzner/images).
+
 ## 0.5.0.0
 * Do not export internal fingerprint parser.
 * Wrap `Fingerprint` with a newtype to provide custom
diff --git a/hetzner.cabal b/hetzner.cabal
--- a/hetzner.cabal
+++ b/hetzner.cabal
@@ -2,7 +2,7 @@
 category: Cloud
 synopsis: Hetzner Cloud and DNS library.
 description: Hetzner Cloud and DNS library. Check the readme and documentation for more details.
-version: 0.5.0.0
+version: 0.6.0.0
 cabal-version: 1.18
 build-type: Simple
 author: Daniel Casanueva (daniel.casanueva `at` proton.me)
diff --git a/readme.md b/readme.md
--- a/readme.md
+++ b/readme.md
@@ -15,5 +15,5 @@
 
 ## Documentation
 
-Access documentation from the main (potentially unreleased) branch
+Find documentation from the main (potentially unreleased) branch
 [here](https://daniel-casanueva.gitlab.io/haskell/hetzner/doc).
diff --git a/src/Hetzner/Cloud.hs b/src/Hetzner/Cloud.hs
--- a/src/Hetzner/Cloud.hs
+++ b/src/Hetzner/Cloud.hs
@@ -19,9 +19,9 @@
 --
 -- > streamPages $ getServers token :: ConduitT i Server m ()
 --
---   Or to get all actions as a stream:
+--   Or to get all volumes as a stream:
 --
--- > streamPages $ getActions token :: ConduitT i Action m ()
+-- > streamPages $ getVolumes token :: ConduitT i Action m ()
 --
 --   If you are not interested in the streaming functionality, you
 --   can simply use 'streamToList' to turn the stream into a list:
@@ -1276,16 +1276,19 @@
 
 -- | An image that can be mounted to a server.
 data Image = Image
-  { imageCreated :: ZonedTime
-  , imageDeleted :: Maybe ZonedTime
-  , imageDeprecated :: Maybe ZonedTime
+  { -- | Image identifier.
+    imageID :: ImageID
+  , imageName :: Text
   , imageDescription :: Text
+  , imageOSFlavor :: OSFlavor
+  , imageArchitecture :: Architecture
+  , imageType :: ImageType
     -- | Size of the disk contained in the image in GB.
   , imageDiskSize :: Int
-  , imageID :: ImageID
+  , imageCreated :: ZonedTime
+  , imageDeleted :: Maybe ZonedTime
+  , imageDeprecated :: Maybe ZonedTime
   , imageLabels :: LabelMap
-  , imageOSFlavor :: OSFlavor
-  , imageType :: ImageType
     } deriving Show
 
 instance FromJSON Image where
@@ -1299,17 +1302,22 @@
                 "temporary" -> pure Temporary
                 _ -> fail $ "Unknown image type: " ++ Text.unpack t
     Image
-      <$> o .: "created"
-      <*> o .: "deleted"
-      <*> o .: "deprecated"
+      <$> o .: "id"
+      <*> o .: "name"
       <*> o .: "description"
-      <*> o .: "disk_size"
-      <*> o .: "id"
-      <*> o .: "labels"
       <*> o .: "os_flavor"
+      <*> o .: "architecture"
       <*> pure typ
+      <*> o .: "disk_size"
+      <*> o .: "created"
+      <*> o .: "deleted"
+      <*> o .: "deprecated"
+      <*> o .: "labels"
 
 -- | Get images.
+--
+--   A regularly updated list of images can be found
+--   [here](https://daniel-casanueva.gitlab.io/haskell/hetzner/images).
 getImages
   :: Token
   -> Maybe Int -- ^ Page.
