Getting Started
Installation
Install the package using npm:
bash
npm install @cognipeer/to-markdownOr using yarn:
bash
yarn add @cognipeer/to-markdownOr using pnpm:
bash
pnpm add @cognipeer/to-markdownThe package requires Node.js 18 or newer.
Optional: OCR
OCR is opt-in. If you want to use the default tesseract OCR provider, install its peer dependency as well:
bash
npm install tesseract.jsThe vision-model (VLM) OCR providers use the native fetch API and need no extra dependency. See the OCR guide for details.
Basic Usage
Converting from File Path
The simplest way to convert a file is to provide its path:
typescript
import { convertToMarkdown } from '@cognipeer/to-markdown';
const markdown = await convertToMarkdown('./path/to/document.pdf');
console.log(markdown);Converting from Buffer
You can also convert files that are already loaded as buffers:
typescript
import { convertToMarkdown } from '@cognipeer/to-markdown';
import { readFileSync } from 'fs';
const buffer = readFileSync('./document.docx');
const markdown = await convertToMarkdown(buffer, {
fileName: 'document.docx' // Optional but recommended
});
console.log(markdown);Converting from Base64
Convert base64-encoded data directly:
typescript
import { convertToMarkdown } from '@cognipeer/to-markdown';
// With data URL
const base64 = 'data:application/pdf;base64,JVBERi0xLjU...';
const markdown = await convertToMarkdown(base64);
// Or plain base64
const plainBase64 = 'JVBERi0xLjU...';
const markdown2 = await convertToMarkdown(plainBase64, {
fileName: 'document.pdf' // Helps with format detection
});Saving Output
Use the saveToMarkdownFile function to save converted markdown to a file:
typescript
import { convertToMarkdown, saveToMarkdownFile } from '@cognipeer/to-markdown';
const markdown = await convertToMarkdown('./document.pdf');
const outputPath = await saveToMarkdownFile(
markdown,
'converted-document', // filename without extension
'./output' // output directory
);
console.log(`Saved to: ${outputPath}`);TypeScript Support
The library is written in TypeScript and provides full type definitions:
typescript
import {
convertToMarkdown,
saveToMarkdownFile,
type ConverterOptions,
type ConverterInput
} from '@cognipeer/to-markdown';
const options: ConverterOptions = {
fileName: 'document.pdf',
forceExtension: '.pdf'
};
const input: ConverterInput = buffer; // or string
const result = await convertToMarkdown(input, options);Next Steps
- Learn about converter options
- Explore format-specific conversions
- Read the API overview for the full exported surface
- Browse runnable scripts in the
examples/directory on GitHub

