1. Install the SDK

The core conversion engine is a modular, client-side SDK with zero server dependencies. Install it from npm:

Terminal
npm install @markdownforge/core

2. Use it in Vanilla JS

Each converter is tree-shakeable, so you only bundle what you import:

JavaScript
import { convertDocx } from "@markdownforge/core";

const file = document.querySelector("input[type=file]").files[0];
const markdown = await convertDocx(file);
console.log(markdown);

3. Use it in React

React
import { useState } from "react";
import { convertCsv } from "@markdownforge/core";

export function CsvConverter() {
  const [md, setMd] = useState("");
  return (
    <input
      type="file"
      accept=".csv"
      onChange={async (e) => {
        const file = e.target.files?.[0];
        if (file) setMd(await convertCsv(file));
      }}
    />
  );
}

4. Embed the widget (iframe)

Want the full drag-and-drop converter on your own site without writing any code? Drop in this iframe. It loads the isolated /widget route — no navbars, no footers, just the converter.

HTML
<iframe
  src="https://markdownforge.app/widget"
  title="MarkdownForge converter"
  width="100%"
  height="520"
  style="border:1px solid #1e3a5c;border-radius:12px"
  loading="lazy"
></iframe>

Each embed includes a small “Powered by MarkdownForge” link, which helps others discover the tool (and supports the project).

Why build on MarkdownForge?

  • 100% client-side — your users’ files never touch a server.
  • Modular imports keep bundles tiny.
  • Heavy formats (PDF, Excel) run in Web Workers automatically.
  • MIT-friendly and framework-agnostic.