microsoft / microsoft/markitdown

Bug: Extensionless log streams can be rendered as CSV tables

Open
#2,474 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
186k
Forks
13.7k
Avg merge
1d 4h
Merged PRs (30d)
49

Description

Bug

Extensionless plain-text log streams can be detected as CSV and rendered as a one-column Markdown table.

Reproduction

Given a log-like stream with no filename or extension:

2026-09-12 18:00:01 INFO boot ok
2026-09-12 18:00:02 ERROR disk full

Running through stdin/stream conversion can produce:

| 2026-09-12 18:00:01 INFO boot ok |
| --- |
| 2026-09-12 18:00:02 ERROR disk full |
Expected behavior

When there is no filename, extension, MIME hint, or CSV-style delimiter evidence, decodable plain text should stay plain text instead of being rendered as a CSV table.

Extensionless comma-delimited CSV should still convert to a Markdown table.

Notes

This appears to be a content-detection precedence issue rather than a missing file-extension mapping. Magika can infer text/csv for extensionless text, and CsvConverter currently accepts that before PlainTextConverter can use the detected charset.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the stdin/stream content-detection path through CsvConverter and PlainTextConverter, focusing on how Magika's text/csv result is prioritized. Reproduce the extensionless log and comma-delimited CSV cases, then verify that logs remain plain text while genuine CSV still becomes a Markdown table.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.