Windows에서 Apple Pages/Numbers/Keynote 파일을 열 수 있는 무료 도구를 만들었습니다 — 100% 브라우저 내

작성자

카테고리:

← 피드로
DEV Community · Gavin Liu · 2026-06-25 개발(SW)

Gavin Liu

How I built a free tool to open Apple iWork files on Windows (no backend)

TL;DR: I built iWorkViewer — open and convert Apple .pages, .numbers, and .keynote files right in your browser. No Mac, no iCloud, no upload, no signup. Everything runs client-side.

The problem

Someone sends you a .pages document, a .numbers spreadsheet, or a .keynote deck. You’re on Windows, Android, or a Chromebook. You double-click it and… nothing. Microsoft Word throws an error, Google Docs rejects it, and every online converter wants you to upload your private file to their servers first.

The honest trick that makes it work

Here’s what almost nobody tells you: a .pages / .numbers / .keynote file is secretly a ZIP archive. When Apple saves the document, it bundles a ready-made QuickLook Preview.pdf inside so Finder and Mail can show a thumbnail.

iWorkViewer just opens that ZIP in your browser with JSZip, finds the embedded Preview.pdf, and hands it to you. No rendering engine, no conversion server, no quality loss — it’s the exact PDF Apple already generated.

What it does

  • Open .pages / .numbers / .keynote instantly in any browser
  • Export to PDF for reading, printing, sharing
  • 100% private — file is unzipped locally, never uploaded
  • No Mac, no Apple ID, no signup, no watermark

The tech

  • Next.js static export on Cloudflare Pages
  • JSZip to unpack the iWork ZIP package in-browser
  • Embedded PDF rendered directly in the page
  • Zero backend — all processing client-side

The honest part

The embedded preview is a faithful visual copy (great for reading + PDF). If you need a fully editable .xlsx/.docx with live formulas, the most accurate route is Apple’s own iCloud.com export — and I say so right on the site. No overpromising.

Try it

👉 iworkviewer.com — free, no signup.

What other file-format headaches should I solve next?

원문에서 계속 ↗

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다