Open source
The engine we run in production, published for anyone to use
MindMax publishes the PDF to Markdown engine inside its app as @mindmax/pdf-markdown, under Apache-2.0. The app keeps no private copy: it installs the same package from npm that you do, so every fix the team makes for its own users lands in the public repository first.
npm i @mindmax/pdf-markdown@mindmax/pdf-markdown@0.1.0- Licence
- Apache-2.0
- Runtime dependencies
- 0
- Tests
- 170 · 97.3% statements
- Regression corpus
- 22 real PDFs
- Known defects, in public
- 17
- Maintained by
- The MindMax team
What we publish
Code that does one job well enough to be useful without the rest of MindMax, and that the team already depends on itself. One project today; the next one is named below, with what still has to happen before it opens.
@mindmax/pdf-markdown
In productionRebuilds a PDF's text layer into Markdown from its geometry: reading order across columns, paragraphs joined across lines and pages, heading levels, lists, tables and links, with running headers and page numbers removed. TypeScript, no runtime dependencies, Node 18+ and any browser.
Runs in:the MindMax desktop appthe online PDF to Markdown converter
- tests
- 170
- statement coverage
- 97.3%
- corpus documents
- 22
- checks passing
- 120/120
- open defects, listed
- 17
How it works Results, document by document Try the playground Roadmap
The Word (.docx) export engine
Next to openTurns HTML or Markdown into a native Word document: real headings, lists and tables, and equations as editable Word equations rather than pictures. About 1,700 lines of TypeScript, shared today by the desktop app and the web tools such as Markdown to Word.
What has to happen before it opens
- Cut its ties to MindMax's internal packages, so it builds and tests on its own.
- Give it its own test suite, plus round-trip fixtures: documents that must open in Word looking the way they should.
- Settle a public API we are prepared to keep, then publish it under Apache-2.0 with the same governance as the PDF engine.
No date. A date we miss would cost more trust than no date at all; this card changes when the work starts, and again when it ships. See where it runs today.
What we commit to, and where it is written down
A promise on a marketing page costs nothing. Each one below is in the repository, in a file you can link to and hold us to.
One source, no private fork
MindMax installs @mindmax/pdf-markdown from npm like any other user. There is no internal copy for fixes to stay in, and no version of the engine you cannot read.
The package →Defects are published, not hidden
Every known bad conversion is a failing assertion in the corpus and a row on the results page: 17 today, across 10 documents.
Results page →Security reports answered within 72 hours
Private reporting through GitHub, a first response within 72 hours, credit in the advisory. The threat model for untrusted PDFs is written out, not implied.
SECURITY.md →Responsibility handed out by rule
3 merged pull requests or accepted corpus cases make you a triager on request; two triagers vouching makes a maintainer. No interview, no favours.
GOVERNANCE.md →It is built to outlive us
Publishing credentials sit with one owner today. If that owner is unreachable for 90 days, maintainers may continue from a fork: the licence allows it anyway, and the governance makes it the plan.
Continuity rule →The evidence ships with the code
All 22 PDFs in the test corpus were checked for licence before they went in, so anyone can rerun every test on the same documents we use.
ATTRIBUTION.md →One PDF is a contribution
The most useful thing you can send is not a patch. It is a document the engine gets wrong, which you have the right to share.
Find a PDF that converts badly
Run it through the online converter or the playground and note what is wrong: a table read as prose, a header left in, two columns read straight across.
File a corpus case
The issue template asks for the document, or just the failing page, and its licence. That is the part that makes a bug fixable.
It becomes a failing test
A maintainer writes an assertion describing the correct output. CI goes red on purpose.
The fix keeps it fixed
Whoever fixes it, us or you, turns it green, and every later pull request runs your document again.
Where the licence stops
- Open: the engine and its evidence
Text layer in, Markdown out, no network calls. Everything needed to turn a PDF into structured text, plus the corpus and results that test it.
- Not open: the MindMax app
OCR for scanned pages, AI reading with quoted answers, annotations, the editor and the desktop app. That is the product that pays for the team, including the time spent on the engine.
- Not licensed: the name
Apache-2.0 covers the code, not the MindMax trademark. Say your project uses
@mindmax/pdf-markdown; please do not call it MindMax. Details in TRADEMARKS.md.
Common questions
Is MindMax open source?
Partly, and the line is stated plainly. The PDF to Markdown engine MindMax runs, @mindmax/pdf-markdown, is open source under Apache-2.0 and maintained in public by the MindMax team. The desktop app itself (OCR, AI reading, annotations and the editor) is proprietary.
Can I use @mindmax/pdf-markdown in a commercial product?
Yes. Apache-2.0 allows commercial use, modification and redistribution, and includes an explicit patent grant. Keep the LICENSE and NOTICE files with your copy.
Does the library send my PDF anywhere?
No. The package makes no network calls and does not load pdf.js itself; you pass it a document you have already opened. In a browser the file never leaves the tab.
How do I contribute?
Send a PDF it converts badly, one you have the right to share, through the corpus case template. Code is welcome too: explain any change to existing output, and do not fix one document by breaking another. CONTRIBUTING.md
What happens if MindMax stops maintaining it?
The licence already lets anyone fork it. The governance goes further: if the owner is unreachable for 90 days, maintainers may continue from a fork, under a new name unless the owner agrees otherwise.
Why is the whole app not open source?
Because the app is how the team pays for its work, including the work on the engine. We publish components that are useful without the rest of MindMax and that we depend on ourselves, and we say exactly which ones they are.
What will MindMax open next?
The Word (.docx) export engine, with editable equations, once it builds without MindMax’s internal packages and has its own tests. There is no date; this page will say when the work starts.