{
  "schema": "tesign-radar/item/1",
  "generated_at": "2026-09-17T01:56:13.055Z",
  "lang": "ko",
  "slug": "anydoc",
  "url": "https://tesign.com/item/anydoc/",
  "alternates": {
    "ko": {
      "html": "https://tesign.com/item/anydoc/",
      "json": "https://tesign.com/item/anydoc/index.json",
      "markdown": "https://tesign.com/item/anydoc/index.md"
    },
    "en": {
      "html": "https://tesign.com/en/item/anydoc/",
      "json": "https://tesign.com/en/item/anydoc/index.json",
      "markdown": "https://tesign.com/en/item/anydoc/index.md"
    }
  },
  "name": "anydoc",
  "use_label": "LLM에 넣을 사무 문서 변환",
  "one_liner": "Word·PPT·Excel·PDF·EPUB 등을 마크다운으로 바꾸는 Firecrawl의 Rust 변환기 — npx 한 줄 또는 브라우저에서 로컬 변환",
  "text": {
    "why": "anydoc은 .doc/.docx, .ppt/.pptx, .xls/.xlsx, OpenDocument, RTF, EPUB, CSV, PDF를 하나의 문서 모델로 파싱해 같은 GFM 직렬화기로 출력하므로 어떤 형식이 들어와도 표·각주·수식(LaTeX) 처리가 같다. 100개 실문서 벤치마크에서 문서당 중앙값 4.4ms로 변환했고 14개 형식을 모두 지원한 유일한 도구였다고 README는 밝힌다(품질 판정은 LLM 심판). 브라우저 데모는 WebAssembly로 돌아가 파일이 기기를 떠나지 않는다.",
    "take": "라이브러리가 본체지만 npx 한 줄과 브라우저 데모 덕에 개발자가 아니어도 바로 쓸 수 있다 — 스캔 PDF는 --ocr hosted를 켰을 때만 Firecrawl 서버로 나간다는 점을 기억하면 된다.",
    "build": [
      "거래처가 보내는 견적서·상품표(xlsx·docx·pdf)를 npx 한 줄로 마크다운으로 바꿔 검색 가능한 문서 저장소나 LLM 입력으로 쓰는 배치를 만들 수 있고, WASM 패키지로 서버 없이 브라우저에서 변환하는 업로드 도구도 만들 수 있다."
    ],
    "who": [
      {
        "role": "사무 문서를 LLM에 넣는 사람",
        "situation": "docx·pptx·xlsx를 깨끗한 마크다운으로"
      },
      {
        "role": "RAG·에이전트 개발자",
        "situation": "Node·Python·Rust·WASM 바인딩과 Agent Skill 제공"
      },
      {
        "role": "개인정보가 걱정되는 사용자",
        "situation": "브라우저 데모로 파일을 올리지 않고 변환"
      }
    ],
    "start": [
      {
        "command": false,
        "text": "npx @firecrawl/anydoc report.docx               # Markdown to stdout"
      },
      {
        "command": false,
        "text": "npx @firecrawl/anydoc slides.pptx -o slides.md  # or to a file"
      },
      {
        "command": false,
        "text": "npm install -g @firecrawl/anydoc"
      },
      {
        "command": false,
        "text": "pip install firecrawl-anydoc"
      }
    ],
    "caveat": [
      "MIT. 텍스트 기반 PDF는 로컬 변환, 스캔·이미지 PDF는 OCR이 없어 NeedsOcr 오류가 나며 --ocr hosted를 켜면 문서 전체가 Firecrawl Parse 서버로 전송된다(가입 불필요, 키를 넣으면 한도 상승).",
      "이미지는 마크다운에 alt 텍스트로만 남고 원본 바이트는 문서 모델에서 따로 꺼내야 한다.",
      "벤치마크 코퍼스는 재배포 불가라 저장소에 없다."
    ]
  },
  "cta": {
    "type": "try",
    "label": "TRY",
    "url": "https://firecrawl.github.io/anydoc"
  },
  "ready": "browser",
  "categories": [
    "productivity",
    "dev-tools"
  ],
  "categories_confirmed": true,
  "tags": [
    "markdown",
    "document-conversion",
    "rust",
    "wasm",
    "cli",
    "docx"
  ],
  "platform": [
    "cli",
    "web"
  ],
  "license": {
    "spdx": "MIT",
    "scope": "permissive",
    "scope_text": "상업 이용·수정·재배포 가능. 저작권 고지는 유지.",
    "url": "https://spdx.org/licenses/MIT.html",
    "note": null,
    "open_source": true
  },
  "language": "Rust",
  "source_urls": {
    "canonical": "https://firecrawl.github.io/anydoc",
    "github": "https://github.com/firecrawl/anydoc",
    "huggingface": null,
    "app_store": null,
    "sightings": [
      {
        "source": "github",
        "url": "https://github.com/firecrawl/anydoc",
        "posted_at": "2026-09-12T23:00:00.000Z",
        "hn_url": null
      }
    ]
  },
  "numbers": {
    "as_of": "2026-09-16T21:00:00.000Z",
    "stars": 21535,
    "stars_unit": "GitHub stars",
    "stars_checked_at": "2026-09-15T19:34:20.509Z",
    "stars_observed_since_check": 2,
    "star_delta_24h": 2,
    "star_delta_7d": 40,
    "star_delta_30d": 122,
    "star_delta_unit": "GitHub stars gained in the window, GH Archive events summed to as_of",
    "spark_14d": [
      null,
      19,
      27,
      27,
      5,
      null,
      null,
      2,
      14,
      6,
      12,
      2,
      2,
      2
    ],
    "hf_likes": null,
    "hf_likes_observed_at": null,
    "hn_points": null,
    "hn_points_observed_at": null,
    "store": null,
    "method": "별 총합 = GitHub에서 마지막으로 확인한 값(stars_checked_at) + 그 뒤 GH Archive에서 관측한 증가. 24h·7d·30d 증가는 GH Archive 시간별 이벤트를 기준 시각(as_of)까지 합한 값. 우리 점수는 없습니다."
  },
  "ranks": {
    "as_of": "2026-09-16T21:00:00.000Z",
    "all_time": null,
    "rising": {
      "24h": null,
      "7d": null,
      "30d": null
    },
    "categories": [
      {
        "category": "productivity",
        "label": "생산성",
        "rank": 19
      }
    ]
  },
  "activity": {
    "pushed_at": "2026-08-28T02:13:16.000Z",
    "owner_type": "Organization",
    "open_issues": 93,
    "contributors": 5,
    "releases_count": 14,
    "latest_release": {
      "tag": "v0.2.4",
      "published_at": "2026-08-27T19:14:19.000Z",
      "prerelease": false
    },
    "checked_at": "2026-09-15T19:34:20.509Z",
    "core_checked_at": "2026-09-15T19:34:20.509Z"
  },
  "signals": [],
  "images": {
    "og": "https://tesign.com/img/anydoc-272a346a4a.png",
    "cover": "https://tesign.com/img/anydoc-272a346a4a.png",
    "cover_width": 2400,
    "cover_height": 1260,
    "gallery": [
      "https://tesign.com/img/anydoc-272a346a4a.png"
    ],
    "alt": "anydoc 브라우저 데모 — 문서를 올리는 영역과 변환된 마크다운 결과, Copy·Download .md 버튼",
    "tier": 1
  },
  "dates": {
    "first_seen_at": "2026-09-13T07:43:42.354Z",
    "source_created_at": "2026-08-03T16:36:14.000Z",
    "discovery_hours": 975.1245427777778,
    "launch_signal_at": "2026-09-12T23:00:00.000Z",
    "kept_at": "2026-09-14T19:27:43.678Z",
    "first_published_at": "2026-09-14T19:27:43.752Z",
    "updated_at": "2026-09-15T04:36:56.796Z",
    "ingestion_mode": "live"
  },
  "notes": [
    "이 파일은 tesign.com 항목 페이지와 같은 빌드에서 같은 데이터로 만들어졌습니다. 소개 글은 편집자가 쓴 것이고, 숫자는 저장된 관측값입니다.",
    "JSON의 null은 관측하지 않았다는 뜻입니다 — 0이 아닙니다. 마크다운에서는 [확인 필요]로 적습니다.",
    "별 총합 = GitHub에서 마지막으로 확인한 값(stars_checked_at) + 그 뒤 GH Archive에서 관측한 증가. 24h·7d·30d 증가는 GH Archive 시간별 이벤트를 기준 시각(as_of)까지 합한 값. 우리 점수는 없습니다.",
    "요약이며 법적 조언이 아닙니다."
  ]
}
