Skip to content

Haddock to BMP Converter

FileFlip converts Haddock to BMP entirely inside your browser, using Pandoc, MuPDF and ImageMagick compiled to WebAssembly. The file is never uploaded to a server: it is read off your disk, converted on your own machine, and saved back by the browser. That means no file-size limit, no queue and no account.

Convert HADDOCK to

How do I convert a Haddock file to BMP?#

  1. Drop your Haddock file onto the converter at the top of this page, or click it to pick one from your computer. You can add as many as you like.
  2. Leave the target set to BMP and the conversion starts on its own. FileFlip downloads 79.9 MB of WebAssembly the first time and nothing after that, then runs Pandoc, MuPDF and ImageMagick on your own machine.
  3. Save the BMP file. Your browser writes it straight to your downloads folder, because there was never a server holding it.

Does converting Haddock to BMP lose quality?#

Yes, in the sense that text stops being text. Each Haddock page is rendered to pixels and handed to BMP, so the result looks right and can no longer be selected, searched, or reflowed.

Is it safe to convert Haddock files online?#

Yes, because nothing is uploaded. FileFlip converts Haddock files inside the browser tab you already have open, using WebAssembly builds of the same engines a desktop converter would install. Your file is read from your own disk into the page's memory, and no request carrying it is ever made.

You do not have to take that on trust. Open your browser's network panel, run a conversion, and you will see the engine come down and your file go nowhere. There is no upload, no server-side copy, no retention window, and no account tied to what you converted.

How FileFlip works lists every engine, its version and its download size, and shows how to check for yourself that nothing leaves your machine.

What Haddock to BMP actually does to the file#

Converting Haddock to BMP runs on Pandoc, MuPDF and ImageMagick, downloads 79.9 MB of WebAssembly the first time and nothing after that, renders each page to pixels, keeps page layout, and drops selectable text and transparency.

EnginePandoc, MuPDF and ImageMagick
Conversion path3 steps: Haddock → HTML → PNG → BMP
Downloaded to your browser79.9 MB, once, then cached by your browser
QualityText becomes pixels
You get backOne image per page, zipped when the source has several
Where it runsIn a background worker, so the page stays responsive

What survives the conversion

What is in the fileThis conversionWhy
Selectable textDroppedThe target format has nowhere to put it.
Page layoutKeptCarried through into the converted file.
TransparencyDroppedThe target format has nowhere to put it.

Worth knowing before you start:

  • pages render at twice their point size in opaque RGB, roughly 144 DPI, with no transparency
  • reflowable input is laid out on a fixed 595x842pt page at 11pt before anything else happens
  • the file passes through HTML on the way, so anything HTML cannot express does not survive

What is a Haddock file?#

A Haddock file holds documentation written in Haddock markup, the comment syntax Haskell's own documentation generator reads out of source files to build a module's API reference.

Write Haddock markup directly in Haskell source comments so `cabal haddock` can generate the package's API documentation.

Convert Haddock markup to Markdown when the same text needs to appear in a README or a project website outside the generated API docs.

What is a BMP file?#

A BMP file holds a device-independent bitmap: a pixel grid stored with a Microsoft-defined header and, in the overwhelming majority of BMP files in the wild, no compression at all.

Use BMP when a Windows-native application, printer driver, or legacy tool specifically expects it, or when pixel data has to be stored with zero encoding overhead for a processing pipeline.

Convert BMP to PNG or JPEG for anything leaving that pipeline, since both produce a far smaller file and PNG matches BMP's lossless, generation-safe quality.

Haddock to BMP questions people ask#

What is a .haddock file?

A .haddock file holds text written in Haddock markup, the comment syntax Haskell's documentation generator reads. In practice this markup normally lives inside `-- |` and `-- ^` comments in a .hs source file rather than a standalone file, so a .haddock file usually appears when that text has been extracted or converted on its own.

How do I generate documentation from Haddock comments?

Running `cabal haddock` or `stack haddock` in a Haskell project reads the Haddock comments in its source files and builds an HTML API reference, the same kind of page Hackage hosts for every published package.

What's the difference between -- | and -- ^ in Haddock?

-- | attaches a Haddock doc comment to the declaration that follows it, while -- ^ attaches one to the declaration or argument just before it. The choice is about position: -- | documents forward, -- ^ documents backward.

Why are BMP files so much bigger than JPEG or PNG?

Most BMP files store every pixel's color value directly with no compression, so a BMP is close in size to the raw uncompressed image data. JPEG and PNG both apply compression, lossy in JPEG's case and lossless in PNG's, which is why the same photo saved as either is a fraction of the size of a BMP.