Oxi ロゴ Oxi

ブラウザだけで、Word と同じ見た目を。

Oxi は、Word 文書(.docx)をブラウザ上で Word そのままのレイアウトで表示・編集するためのオープンソースエンジンです。Rust + WebAssembly でゼロから実装し、再現度は実在の文書で Microsoft Word とページごとに照合。サーバーは使わず、ファイルは 1 バイトも外に出ません。

無料 · 登録不要 · 処理はすべてブラウザ内で完結

0.83
Word との SSIM — 日本語ブラインド
ベンチマーク(初見 50 文書)
0.82
Word との SSIM — 英語ブラインド
ベンチマーク(初見 50 文書)
100%
官公庁の実文書(.docx)での
パース成功率
0
アップロードは 0 バイト
処理はすべて手元のブラウザで

いますぐ Word 文書を開く

ファイルを選ぶだけ。解析からレイアウト、描画、編集まで、すべてブラウザの中だけで動きます。アップロードも登録もありません。

再現度は「主張」ではなく「実測」

ここに並ぶ数値はすべて、リポジトリで公開している測定パイプラインで誰でも再現できます。

技術記事: Wordの改ページ位置は、GDIの整数丸めで決まっている — Wordの量子化規則を実測し、Rustで再現した方法。

英語ブラインドセット — 初見の 50 文書

英語は最初から一番厳しい測り方をしています — 公開 docx-corpus から凍結したブラインドベンチマーク 50 文書。修正対象には一切使わないので、出てくる数字はすべて「初見の実力」で、テストに合わせた調整が入り込む余地がありません。2026-07-29 の再測定で文書平均 Oxi 0.825(初回測定 2026-07-19 は 0.800、2026-07-20 は 0.807)。さらに Word とのページ数一致が 50 文書中 48 と、測定した 6 エンジン中で最多になりました(ONLYOFFICE 41、LibreOffice 43)。ピクセル一致では ONLYOFFICE(0.902)と LibreOffice(0.876)にまだ及びませんが、アーキテクチャが最も近い競合 — Rust + WebAssembly で Canvas に描く SILURUS(0.776)— は上回っており、50 文書中 36 文書で Oxi が勝っています。残る差が英語側の作業キューで、エンジンの改善に合わせて再測定していきます。比較対象: 正解は Microsoft Word(Microsoft 365 16.0.20131.20154)、ONLYOFFICE 9.3.1.8、LibreOffice 26.2.1.2、SILURUS @silurus/ooxml 0.72.2 — すべて 150 DPI でレンダリング。2026-07-27 には同じ凍結グラウンドトゥルースに対して 5 番目のエンジンを追加: BetterOffice(@betteroffice/docx 0.0.4、2026-07-18 初公開の新しい Rust + WebAssembly エディタスイート)は 0.734 で、50 文書中 45 文書で Oxi 優位。同日に 6 番目のエンジンも追加: eigenpal(@eigenpal/docx-editor-react 1.9.0、ProseMirror ベースで DOM ページを組む Apache-2.0 の WYSIWYG エディタ)は 50 文書すべてを開けて 0.739。50 文書中 44 文書で Oxi 優位。

英語ブラインドセット — 初見の 50 文書、Word との文書平均 SSIM(2026-07-29)

ONLYOFFICE50 件中 41 件で頁数が Word と一致 · v9.3.1.8
0.902
LibreOffice50 件中 43 件で頁数が Word と一致 · v26.2.1.2
0.876
Oxi50 件中 48 件で頁数が Word と一致 — 6 エンジン中最多
0.825
SILURUS50 件中 35 件で頁数が Word と一致 · v0.72.2
0.776
eigenpal50 件中 33 件で頁数が Word と一致 · v1.9.0 · 測定 2026-07-27
0.739
BetterOffice50 件中 25 件で頁数が Word と一致 · v0.0.4 · 測定 2026-07-27
0.734
0.4 0.4 0.6 0.6 0.8 0.8 1.0 1.0 Oxi 優位 ↑ LibreOffice 優位 ↓ legal: Oxi 0.863 / LibreOffice 0.981 legal: Oxi 0.872 / LibreOffice 0.960 forms: Oxi 0.787 / LibreOffice 0.903 forms: Oxi 0.786 / LibreOffice 0.823 legal: Oxi 0.951 / LibreOffice 0.858 forms: Oxi 0.847 / LibreOffice 0.980 forms: Oxi 0.576 / LibreOffice 0.830 forms: Oxi 0.786 / LibreOffice 0.811 reports: Oxi 0.916 / LibreOffice 0.967 reports: Oxi 0.942 / LibreOffice 0.986 reports: Oxi 0.984 / LibreOffice 0.979 reports: Oxi 0.719 / LibreOffice 0.728 policies: Oxi 0.763 / LibreOffice 0.906 policies: Oxi 0.727 / LibreOffice 0.962 reports: Oxi 0.693 / LibreOffice 0.653 policies: Oxi 0.910 / LibreOffice 0.944 legal: Oxi 0.902 / LibreOffice 0.820 educational: Oxi 0.803 / LibreOffice 0.880 policies: Oxi 0.878 / LibreOffice 0.936 policies: Oxi 0.834 / LibreOffice 0.907 educational: Oxi 0.819 / LibreOffice 0.964 educational: Oxi 0.698 / LibreOffice 0.849 correspondence: Oxi 0.733 / LibreOffice 0.706 correspondence: Oxi 0.934 / LibreOffice 0.985 correspondence: Oxi 0.974 / LibreOffice 0.839 educational: Oxi 0.966 / LibreOffice 0.983 educational: Oxi 0.763 / LibreOffice 0.762 correspondence: Oxi 0.743 / LibreOffice 0.761 technical: Oxi 0.793 / LibreOffice 0.979 correspondence: Oxi 0.854 / LibreOffice 0.770 technical: Oxi 0.689 / LibreOffice 0.849 technical: Oxi 0.870 / LibreOffice 0.958 administrative: Oxi 0.888 / LibreOffice 0.924 administrative: Oxi 0.678 / LibreOffice 0.876 administrative: Oxi 0.859 / LibreOffice 0.906 technical: Oxi 0.765 / LibreOffice 0.812 administrative: Oxi 0.952 / LibreOffice 0.993 administrative: Oxi 0.835 / LibreOffice 0.922 creative: Oxi 0.849 / LibreOffice 0.973 creative: Oxi 0.916 / LibreOffice 0.976 technical: Oxi 0.742 / LibreOffice 0.720 creative: Oxi 0.994 / LibreOffice 0.984 reference: Oxi 0.815 / LibreOffice 0.913 legal: Oxi 0.896 / LibreOffice 0.813 creative: Oxi 0.929 / LibreOffice 0.992 reference: Oxi 0.520 / LibreOffice 0.507 reference: Oxi 0.900 / LibreOffice 0.889 reference: Oxi 0.820 / LibreOffice 0.863 reference: Oxi 0.769 / LibreOffice 0.736 creative: Oxi 0.747 / LibreOffice 0.799 vs LibreOffice — Oxi 優位 13/50 LibreOffice の SSIM(文書ごと) Oxi の SSIM
0.4 0.4 0.6 0.6 0.8 0.8 1.0 1.0 Oxi 優位 ↑ ONLYOFFICE 優位 ↓ legal: Oxi 0.863 / ONLYOFFICE 0.994 legal: Oxi 0.872 / ONLYOFFICE 0.985 forms: Oxi 0.787 / ONLYOFFICE 0.901 forms: Oxi 0.786 / ONLYOFFICE 0.887 legal: Oxi 0.951 / ONLYOFFICE 0.859 forms: Oxi 0.847 / ONLYOFFICE 0.979 forms: Oxi 0.576 / ONLYOFFICE 0.950 forms: Oxi 0.786 / ONLYOFFICE 0.783 reports: Oxi 0.916 / ONLYOFFICE 0.964 reports: Oxi 0.942 / ONLYOFFICE 0.990 reports: Oxi 0.984 / ONLYOFFICE 0.984 reports: Oxi 0.719 / ONLYOFFICE 0.712 policies: Oxi 0.763 / ONLYOFFICE 0.950 policies: Oxi 0.727 / ONLYOFFICE 0.695 reports: Oxi 0.693 / ONLYOFFICE 0.970 policies: Oxi 0.910 / ONLYOFFICE 0.984 legal: Oxi 0.902 / ONLYOFFICE 0.822 educational: Oxi 0.803 / ONLYOFFICE 0.983 policies: Oxi 0.878 / ONLYOFFICE 0.969 policies: Oxi 0.834 / ONLYOFFICE 0.928 educational: Oxi 0.819 / ONLYOFFICE 0.788 educational: Oxi 0.698 / ONLYOFFICE 0.822 correspondence: Oxi 0.733 / ONLYOFFICE 0.707 correspondence: Oxi 0.934 / ONLYOFFICE 0.980 correspondence: Oxi 0.974 / ONLYOFFICE 0.969 educational: Oxi 0.966 / ONLYOFFICE 0.988 educational: Oxi 0.763 / ONLYOFFICE 0.765 correspondence: Oxi 0.743 / ONLYOFFICE 0.756 technical: Oxi 0.793 / ONLYOFFICE 0.948 correspondence: Oxi 0.854 / ONLYOFFICE 0.891 technical: Oxi 0.689 / ONLYOFFICE 0.959 technical: Oxi 0.870 / ONLYOFFICE 0.968 administrative: Oxi 0.888 / ONLYOFFICE 0.948 administrative: Oxi 0.678 / ONLYOFFICE 0.968 administrative: Oxi 0.859 / ONLYOFFICE 0.942 technical: Oxi 0.765 / ONLYOFFICE 0.887 administrative: Oxi 0.952 / ONLYOFFICE 0.984 administrative: Oxi 0.835 / ONLYOFFICE 0.970 creative: Oxi 0.849 / ONLYOFFICE 0.974 creative: Oxi 0.916 / ONLYOFFICE 0.965 technical: Oxi 0.742 / ONLYOFFICE 0.737 creative: Oxi 0.994 / ONLYOFFICE 0.992 reference: Oxi 0.815 / ONLYOFFICE 0.815 legal: Oxi 0.896 / ONLYOFFICE 0.815 creative: Oxi 0.929 / ONLYOFFICE 0.994 reference: Oxi 0.520 / ONLYOFFICE 0.606 reference: Oxi 0.900 / ONLYOFFICE 0.892 reference: Oxi 0.820 / ONLYOFFICE 0.936 reference: Oxi 0.769 / ONLYOFFICE 0.915 creative: Oxi 0.747 / ONLYOFFICE 0.950 vs ONLYOFFICE — Oxi 優位 12/50 ONLYOFFICE の SSIM(文書ごと) Oxi の SSIM
0.4 0.4 0.6 0.6 0.8 0.8 1.0 1.0 Oxi 優位 ↑ SILURUS 優位 ↓ legal: Oxi 0.863 / SILURUS 0.902 legal: Oxi 0.872 / SILURUS 0.796 forms: Oxi 0.787 / SILURUS 0.775 forms: Oxi 0.786 / SILURUS 0.821 legal: Oxi 0.951 / SILURUS 0.916 forms: Oxi 0.847 / SILURUS 0.861 forms: Oxi 0.576 / SILURUS 0.652 forms: Oxi 0.786 / SILURUS 0.780 reports: Oxi 0.916 / SILURUS 0.900 reports: Oxi 0.942 / SILURUS 0.813 reports: Oxi 0.984 / SILURUS 0.917 reports: Oxi 0.719 / SILURUS 0.733 policies: Oxi 0.763 / SILURUS 0.703 policies: Oxi 0.727 / SILURUS 0.731 reports: Oxi 0.693 / SILURUS 0.645 policies: Oxi 0.910 / SILURUS 0.852 legal: Oxi 0.902 / SILURUS 0.853 educational: Oxi 0.803 / SILURUS 0.813 policies: Oxi 0.878 / SILURUS 0.797 policies: Oxi 0.834 / SILURUS 0.742 educational: Oxi 0.819 / SILURUS 0.829 educational: Oxi 0.698 / SILURUS 0.718 correspondence: Oxi 0.733 / SILURUS 0.674 correspondence: Oxi 0.934 / SILURUS 0.861 correspondence: Oxi 0.974 / SILURUS 0.692 educational: Oxi 0.966 / SILURUS 0.886 educational: Oxi 0.763 / SILURUS 0.757 correspondence: Oxi 0.743 / SILURUS 0.727 technical: Oxi 0.793 / SILURUS 0.843 correspondence: Oxi 0.854 / SILURUS 0.701 technical: Oxi 0.689 / SILURUS 0.718 technical: Oxi 0.870 / SILURUS 0.742 administrative: Oxi 0.888 / SILURUS 0.690 administrative: Oxi 0.678 / SILURUS 0.694 administrative: Oxi 0.859 / SILURUS 0.730 technical: Oxi 0.765 / SILURUS 0.770 administrative: Oxi 0.952 / SILURUS 0.896 administrative: Oxi 0.835 / SILURUS 0.839 creative: Oxi 0.849 / SILURUS 0.846 creative: Oxi 0.916 / SILURUS 0.832 technical: Oxi 0.742 / SILURUS 0.703 creative: Oxi 0.994 / SILURUS 0.939 reference: Oxi 0.815 / SILURUS 0.727 legal: Oxi 0.896 / SILURUS 0.809 creative: Oxi 0.929 / SILURUS 0.809 reference: Oxi 0.520 / SILURUS 0.454 reference: Oxi 0.900 / SILURUS 0.879 reference: Oxi 0.820 / SILURUS 0.761 reference: Oxi 0.769 / SILURUS 0.596 creative: Oxi 0.747 / SILURUS 0.682 vs SILURUS — Oxi 優位 36/50 SILURUS の SSIM(文書ごと) Oxi の SSIM
0.4 0.4 0.6 0.6 0.8 0.8 1.0 1.0 Oxi 優位 ↑ BetterOffice 優位 ↓ legal: Oxi 0.863 / BetterOffice 0.778 legal: Oxi 0.872 / BetterOffice 0.779 forms: Oxi 0.787 / BetterOffice 0.653 forms: Oxi 0.786 / BetterOffice 0.749 legal: Oxi 0.951 / BetterOffice 0.866 forms: Oxi 0.847 / BetterOffice 0.889 forms: Oxi 0.576 / BetterOffice 0.622 forms: Oxi 0.786 / BetterOffice 0.780 reports: Oxi 0.916 / BetterOffice 0.847 reports: Oxi 0.942 / BetterOffice 0.789 reports: Oxi 0.984 / BetterOffice 0.908 reports: Oxi 0.719 / BetterOffice 0.694 policies: Oxi 0.763 / BetterOffice 0.661 policies: Oxi 0.727 / BetterOffice 0.681 reports: Oxi 0.693 / BetterOffice 0.673 policies: Oxi 0.910 / BetterOffice 0.785 legal: Oxi 0.902 / BetterOffice 0.810 educational: Oxi 0.803 / BetterOffice 0.853 policies: Oxi 0.878 / BetterOffice 0.770 policies: Oxi 0.834 / BetterOffice 0.759 educational: Oxi 0.819 / BetterOffice 0.669 educational: Oxi 0.698 / BetterOffice 0.612 correspondence: Oxi 0.733 / BetterOffice 0.730 correspondence: Oxi 0.934 / BetterOffice 0.647 correspondence: Oxi 0.974 / BetterOffice 0.733 educational: Oxi 0.966 / BetterOffice 0.781 educational: Oxi 0.763 / BetterOffice 0.759 correspondence: Oxi 0.743 / BetterOffice 0.627 technical: Oxi 0.793 / BetterOffice 0.784 correspondence: Oxi 0.854 / BetterOffice 0.525 technical: Oxi 0.689 / BetterOffice 0.712 technical: Oxi 0.870 / BetterOffice 0.630 administrative: Oxi 0.888 / BetterOffice 0.597 administrative: Oxi 0.678 / BetterOffice 0.652 administrative: Oxi 0.859 / BetterOffice 0.713 technical: Oxi 0.765 / BetterOffice 0.723 administrative: Oxi 0.952 / BetterOffice 0.883 administrative: Oxi 0.835 / BetterOffice 0.735 creative: Oxi 0.849 / BetterOffice 0.812 creative: Oxi 0.916 / BetterOffice 0.714 technical: Oxi 0.742 / BetterOffice 0.769 creative: Oxi 0.994 / BetterOffice 0.932 reference: Oxi 0.815 / BetterOffice 0.783 legal: Oxi 0.896 / BetterOffice 0.781 creative: Oxi 0.929 / BetterOffice 0.646 reference: Oxi 0.520 / BetterOffice 0.477 reference: Oxi 0.900 / BetterOffice 0.866 reference: Oxi 0.820 / BetterOffice 0.810 reference: Oxi 0.769 / BetterOffice 0.576 creative: Oxi 0.747 / BetterOffice 0.662 vs BetterOffice — Oxi 優位 45/50 BetterOffice の SSIM(文書ごと) Oxi の SSIM
0.4 0.4 0.6 0.6 0.8 0.8 1.0 1.0 Oxi 優位 ↑ eigenpal 優位 ↓ legal: Oxi 0.863 / eigenpal 0.863 legal: Oxi 0.872 / eigenpal 0.745 forms: Oxi 0.787 / eigenpal 0.598 forms: Oxi 0.786 / eigenpal 0.729 legal: Oxi 0.951 / eigenpal 0.857 forms: Oxi 0.847 / eigenpal 0.885 forms: Oxi 0.576 / eigenpal 0.707 forms: Oxi 0.786 / eigenpal 0.766 reports: Oxi 0.916 / eigenpal 0.838 reports: Oxi 0.942 / eigenpal 0.710 reports: Oxi 0.984 / eigenpal 0.909 reports: Oxi 0.719 / eigenpal 0.725 policies: Oxi 0.763 / eigenpal 0.617 policies: Oxi 0.727 / eigenpal 0.622 reports: Oxi 0.693 / eigenpal 0.619 policies: Oxi 0.910 / eigenpal 0.839 legal: Oxi 0.902 / eigenpal 0.807 educational: Oxi 0.803 / eigenpal 0.844 policies: Oxi 0.878 / eigenpal 0.705 policies: Oxi 0.834 / eigenpal 0.731 educational: Oxi 0.819 / eigenpal 0.717 educational: Oxi 0.698 / eigenpal 0.591 correspondence: Oxi 0.733 / eigenpal 0.700 correspondence: Oxi 0.934 / eigenpal 0.785 correspondence: Oxi 0.974 / eigenpal 0.786 educational: Oxi 0.966 / eigenpal 0.797 educational: Oxi 0.763 / eigenpal 0.753 correspondence: Oxi 0.743 / eigenpal 0.702 technical: Oxi 0.793 / eigenpal 0.784 correspondence: Oxi 0.854 / eigenpal 0.727 technical: Oxi 0.689 / eigenpal 0.709 technical: Oxi 0.870 / eigenpal 0.700 administrative: Oxi 0.888 / eigenpal 0.679 administrative: Oxi 0.678 / eigenpal 0.619 administrative: Oxi 0.859 / eigenpal 0.675 technical: Oxi 0.765 / eigenpal 0.710 administrative: Oxi 0.952 / eigenpal 0.885 administrative: Oxi 0.835 / eigenpal 0.759 creative: Oxi 0.849 / eigenpal 0.804 creative: Oxi 0.916 / eigenpal 0.680 technical: Oxi 0.742 / eigenpal 0.700 creative: Oxi 0.994 / eigenpal 0.971 reference: Oxi 0.815 / eigenpal 0.798 legal: Oxi 0.896 / eigenpal 0.794 creative: Oxi 0.929 / eigenpal 0.755 reference: Oxi 0.520 / eigenpal 0.422 reference: Oxi 0.900 / eigenpal 0.862 reference: Oxi 0.820 / eigenpal 0.735 reference: Oxi 0.769 / eigenpal 0.605 creative: Oxi 0.747 / eigenpal 0.648 vs eigenpal — 50 文書中 40 文書で Oxi 優位 eigenpal SSIM(文書ごと) Oxi SSIM
上: エンジンごとの平均 — 右端の破線が Microsoft Word 自身(1.00)。SILURUS はアーキテクチャが最も近い競合(Oxi と同じく Rust + WebAssembly で Canvas に描画)、ONLYOFFICE と LibreOffice は成熟したネイティブスイート、BetterOffice(Rust + WebAssembly のエディタスイート、v0.0.4)と eigenpal(ProseMirror ベースの DOM レンダラ、Apache-2.0、v1.9.0)は最新参入で、いずれも同じ凍結グラウンドトゥルースに対して 2026-07-27 測定です。下: 点 1 つが文書 1 件で、縦軸が Oxi。破線の対角線より上にある点が「Oxi のほうが Word に近い」文書です。ブラインドセットは「測定はするが修正対象にはしない」文書群なので、初見の実力がそのまま出ます — 負けている数字もそのまま公開しています。

日本語ブラインドセット — 初見の 50 文書

日本語も英語と同じ厳しさで測ります。公開 docx-corpus の日本語 50 文書を測定に凍結したブラインドベンチマークで、修正のターゲットには一切使いません — すべてのスコアが「初見」の汎化性能です。初回測定(2026-07-21)で Oxi は文書平均 0.828、ページ数は 50 文書中 44 文書で Word と一致 — 同じ文書での LibreOffice(0.816)、SILURUS(0.804)、ONLYOFFICE(0.772)を上回りました。エンジン: グラウンドトゥルースは Microsoft Word(Microsoft 365 16.0.20131.20154)、LibreOffice 26.2.1.2、ONLYOFFICE 9.3.1.8、SILURUS @silurus/ooxml 0.72.2 — いずれも 150 DPI で描画。2026-07-27 には同じ凍結グラウンドトゥルースに対して 5 番目のエンジンを追加: BetterOffice(@betteroffice/docx 0.0.4)は 0.766 で、50 文書中 1 文書を開けませんでした(OOXML 標準のセクション開始種 nextColumn をパーサが拒否)。両エンジンが開けた 49 文書中 38 文書で Oxi 優位。同日に 6 番目のエンジンも追加: eigenpal(@eigenpal/docx-editor-react 1.9.0)は 50 文書すべてを開け(BetterOffice が拒否した nextColumn 文書も含む)、0.744。50 文書中 43 文書で Oxi 優位。

日本語ブラインドセット — 初見の 50 文書、Word との文書平均 SSIM(2026-07-21)

Oxiページ数一致 44/50
0.828
LibreOfficeページ数一致 41/50 · v26.2.1.2
0.816
SILURUSページ数一致 32/50 · v0.72.2
0.804
ONLYOFFICEページ数一致 38/50 · v9.3.1.8
0.772
BetterOfficeページ数一致 29/50 · v0.0.4 · 測定 2026-07-27
0.766
eigenpal50 件中 36 件で頁数が Word と一致 · v1.9.0 · 測定 2026-07-27
0.744
0.4 0.4 0.6 0.6 0.8 0.8 1.0 1.0 Oxi 優位 ↑ LibreOffice 優位 ↓ legal: Oxi 0.978 / LibreOffice 0.960 legal: Oxi 0.993 / LibreOffice 0.931 legal: Oxi 0.994 / LibreOffice 0.970 legal: Oxi 0.893 / LibreOffice 0.849 forms: Oxi 0.945 / LibreOffice 0.911 forms: Oxi 0.840 / LibreOffice 0.855 forms: Oxi 0.931 / LibreOffice 0.892 forms: Oxi 0.892 / LibreOffice 0.800 forms: Oxi 0.778 / LibreOffice 0.821 reports: Oxi 0.894 / LibreOffice 0.932 reports: Oxi 0.772 / LibreOffice 0.763 legal: Oxi 0.831 / LibreOffice 0.830 reports: Oxi 0.843 / LibreOffice 0.750 reports: Oxi 0.859 / LibreOffice 0.803 policies: Oxi 0.923 / LibreOffice 0.893 policies: Oxi 0.880 / LibreOffice 0.950 policies: Oxi 0.754 / LibreOffice 0.761 policies: Oxi 0.969 / LibreOffice 0.818 reports: Oxi 0.689 / LibreOffice 0.810 policies: Oxi 0.880 / LibreOffice 0.868 educational: Oxi 0.895 / LibreOffice 0.880 educational: Oxi 0.770 / LibreOffice 0.866 educational: Oxi 0.686 / LibreOffice 0.721 correspondence: Oxi 0.860 / LibreOffice 0.816 correspondence: Oxi 0.716 / LibreOffice 0.777 correspondence: Oxi 0.848 / LibreOffice 0.807 correspondence: Oxi 0.925 / LibreOffice 0.840 educational: Oxi 0.802 / LibreOffice 0.849 correspondence: Oxi 0.858 / LibreOffice 0.767 technical: Oxi 0.749 / LibreOffice 0.672 technical: Oxi 0.886 / LibreOffice 0.810 technical: Oxi 0.850 / LibreOffice 0.765 administrative: Oxi 0.937 / LibreOffice 0.934 technical: Oxi 0.754 / LibreOffice 0.578 administrative: Oxi 0.919 / LibreOffice 0.782 educational: Oxi 0.776 / LibreOffice 0.842 administrative: Oxi 0.773 / LibreOffice 0.769 administrative: Oxi 0.897 / LibreOffice 0.983 administrative: Oxi 0.701 / LibreOffice 0.684 creative: Oxi 0.673 / LibreOffice 0.906 creative: Oxi 0.472 / LibreOffice 0.549 creative: Oxi 0.729 / LibreOffice 0.759 creative: Oxi 0.865 / LibreOffice 0.783 reference: Oxi 0.790 / LibreOffice 0.831 creative: Oxi 0.860 / LibreOffice 0.819 reference: Oxi 0.884 / LibreOffice 0.818 reference: Oxi 0.882 / LibreOffice 0.839 technical: Oxi 0.815 / LibreOffice 0.763 reference: Oxi 0.649 / LibreOffice 0.772 reference: Oxi 0.631 / LibreOffice 0.629 vs LibreOffice — Oxi 優位 33/50 LibreOffice の SSIM(文書ごと) Oxi の SSIM
0.4 0.4 0.6 0.6 0.8 0.8 1.0 1.0 Oxi 優位 ↑ ONLYOFFICE 優位 ↓ legal: Oxi 0.978 / ONLYOFFICE 0.927 legal: Oxi 0.993 / ONLYOFFICE 0.886 legal: Oxi 0.994 / ONLYOFFICE 0.947 legal: Oxi 0.893 / ONLYOFFICE 0.828 forms: Oxi 0.945 / ONLYOFFICE 0.830 forms: Oxi 0.840 / ONLYOFFICE 0.950 forms: Oxi 0.931 / ONLYOFFICE 0.748 forms: Oxi 0.892 / ONLYOFFICE 0.765 forms: Oxi 0.778 / ONLYOFFICE 0.834 reports: Oxi 0.894 / ONLYOFFICE 0.883 reports: Oxi 0.772 / ONLYOFFICE 0.722 legal: Oxi 0.831 / ONLYOFFICE 0.821 reports: Oxi 0.843 / ONLYOFFICE 0.721 reports: Oxi 0.859 / ONLYOFFICE 0.772 policies: Oxi 0.923 / ONLYOFFICE 0.803 policies: Oxi 0.880 / ONLYOFFICE 0.866 policies: Oxi 0.754 / ONLYOFFICE 0.688 policies: Oxi 0.969 / ONLYOFFICE 0.747 reports: Oxi 0.689 / ONLYOFFICE 0.599 policies: Oxi 0.880 / ONLYOFFICE 0.861 educational: Oxi 0.895 / ONLYOFFICE 0.876 educational: Oxi 0.770 / ONLYOFFICE 0.748 educational: Oxi 0.686 / ONLYOFFICE 0.702 correspondence: Oxi 0.860 / ONLYOFFICE 0.736 correspondence: Oxi 0.716 / ONLYOFFICE 0.676 correspondence: Oxi 0.848 / ONLYOFFICE 0.856 correspondence: Oxi 0.925 / ONLYOFFICE 0.789 educational: Oxi 0.802 / ONLYOFFICE 0.812 correspondence: Oxi 0.858 / ONLYOFFICE 0.735 technical: Oxi 0.749 / ONLYOFFICE 0.685 technical: Oxi 0.886 / ONLYOFFICE 0.711 technical: Oxi 0.850 / ONLYOFFICE 0.728 administrative: Oxi 0.937 / ONLYOFFICE 0.927 technical: Oxi 0.754 / ONLYOFFICE 0.649 administrative: Oxi 0.919 / ONLYOFFICE 0.759 educational: Oxi 0.776 / ONLYOFFICE 0.805 administrative: Oxi 0.773 / ONLYOFFICE 0.732 administrative: Oxi 0.897 / ONLYOFFICE 0.998 administrative: Oxi 0.701 / ONLYOFFICE 0.651 creative: Oxi 0.673 / ONLYOFFICE 0.847 creative: Oxi 0.472 / ONLYOFFICE 0.600 creative: Oxi 0.729 / ONLYOFFICE 0.735 creative: Oxi 0.865 / ONLYOFFICE 0.818 reference: Oxi 0.790 / ONLYOFFICE 0.770 creative: Oxi 0.860 / ONLYOFFICE 0.659 reference: Oxi 0.884 / ONLYOFFICE 0.790 reference: Oxi 0.882 / ONLYOFFICE 0.646 technical: Oxi 0.815 / ONLYOFFICE 0.793 reference: Oxi 0.649 / ONLYOFFICE 0.537 reference: Oxi 0.631 / ONLYOFFICE 0.617 vs ONLYOFFICE — Oxi 優位 40/50 ONLYOFFICE の SSIM(文書ごと) Oxi の SSIM
0.4 0.4 0.6 0.6 0.8 0.8 1.0 1.0 Oxi 優位 ↑ SILURUS 優位 ↓ legal: Oxi 0.978 / SILURUS 0.957 legal: Oxi 0.993 / SILURUS 0.919 legal: Oxi 0.994 / SILURUS 0.971 legal: Oxi 0.893 / SILURUS 0.864 forms: Oxi 0.945 / SILURUS 0.906 forms: Oxi 0.840 / SILURUS 0.812 forms: Oxi 0.931 / SILURUS 0.845 forms: Oxi 0.892 / SILURUS 0.758 forms: Oxi 0.778 / SILURUS 0.736 reports: Oxi 0.894 / SILURUS 0.882 reports: Oxi 0.772 / SILURUS 0.794 legal: Oxi 0.831 / SILURUS 0.810 reports: Oxi 0.843 / SILURUS 0.758 reports: Oxi 0.859 / SILURUS 0.894 policies: Oxi 0.923 / SILURUS 0.884 policies: Oxi 0.880 / SILURUS 0.855 policies: Oxi 0.754 / SILURUS 0.764 policies: Oxi 0.969 / SILURUS 0.805 reports: Oxi 0.689 / SILURUS 0.683 policies: Oxi 0.880 / SILURUS 0.869 educational: Oxi 0.895 / SILURUS 0.874 educational: Oxi 0.770 / SILURUS 0.809 educational: Oxi 0.686 / SILURUS 0.686 correspondence: Oxi 0.860 / SILURUS 0.890 correspondence: Oxi 0.716 / SILURUS 0.768 correspondence: Oxi 0.848 / SILURUS 0.749 correspondence: Oxi 0.925 / SILURUS 0.838 educational: Oxi 0.802 / SILURUS 0.856 correspondence: Oxi 0.858 / SILURUS 0.828 technical: Oxi 0.749 / SILURUS 0.816 technical: Oxi 0.886 / SILURUS 0.841 technical: Oxi 0.850 / SILURUS 0.745 administrative: Oxi 0.937 / SILURUS 0.936 technical: Oxi 0.754 / SILURUS 0.608 administrative: Oxi 0.919 / SILURUS 0.861 educational: Oxi 0.776 / SILURUS 0.839 administrative: Oxi 0.773 / SILURUS 0.799 administrative: Oxi 0.897 / SILURUS 0.912 administrative: Oxi 0.701 / SILURUS 0.669 creative: Oxi 0.673 / SILURUS 0.823 creative: Oxi 0.472 / SILURUS 0.547 creative: Oxi 0.729 / SILURUS 0.743 creative: Oxi 0.865 / SILURUS 0.859 reference: Oxi 0.790 / SILURUS 0.777 creative: Oxi 0.860 / SILURUS 0.799 reference: Oxi 0.884 / SILURUS 0.825 reference: Oxi 0.882 / SILURUS 0.720 technical: Oxi 0.815 / SILURUS 0.715 reference: Oxi 0.649 / SILURUS 0.677 reference: Oxi 0.631 / SILURUS 0.644 vs SILURUS — Oxi 優位 33/50 SILURUS の SSIM(文書ごと) Oxi の SSIM
0.4 0.4 0.6 0.6 0.8 0.8 1.0 1.0 Oxi 優位 ↑ BetterOffice 優位 ↓ legal: Oxi 0.978 / BetterOffice 0.929 legal: Oxi 0.993 / BetterOffice 0.895 legal: Oxi 0.994 / BetterOffice 0.947 legal: Oxi 0.893 / BetterOffice 0.795 forms: Oxi 0.945 / BetterOffice 0.813 forms: Oxi 0.840 / BetterOffice 0.811 forms: Oxi 0.931 / BetterOffice 0.730 forms: Oxi 0.892 / BetterOffice 0.770 forms: Oxi 0.778 / BetterOffice 0.722 reports: Oxi 0.894 / BetterOffice 0.883 reports: Oxi 0.772 / BetterOffice 0.702 legal: Oxi 0.831 / BetterOffice 0.806 reports: Oxi 0.843 / BetterOffice 0.699 reports: Oxi 0.859 / BetterOffice 0.794 policies: Oxi 0.923 / BetterOffice 0.799 policies: Oxi 0.880 / BetterOffice 0.807 policies: Oxi 0.754 / BetterOffice 0.663 policies: Oxi 0.969 / BetterOffice 0.735 reports: Oxi 0.689 / BetterOffice 0.638 policies: Oxi 0.880 / BetterOffice 0.847 educational: Oxi 0.895 / BetterOffice 0.892 educational: Oxi 0.770 / BetterOffice 0.807 educational: Oxi 0.686 / BetterOffice 0.702 correspondence: Oxi 0.860 / BetterOffice 0.761 correspondence: Oxi 0.716 / BetterOffice 0.708 correspondence: Oxi 0.925 / BetterOffice 0.806 educational: Oxi 0.802 / BetterOffice 0.855 correspondence: Oxi 0.858 / BetterOffice 0.752 technical: Oxi 0.749 / BetterOffice 0.699 technical: Oxi 0.886 / BetterOffice 0.687 technical: Oxi 0.850 / BetterOffice 0.736 administrative: Oxi 0.937 / BetterOffice 0.913 technical: Oxi 0.754 / BetterOffice 0.608 administrative: Oxi 0.919 / BetterOffice 0.759 educational: Oxi 0.776 / BetterOffice 0.838 administrative: Oxi 0.773 / BetterOffice 0.755 administrative: Oxi 0.897 / BetterOffice 0.967 administrative: Oxi 0.701 / BetterOffice 0.631 creative: Oxi 0.673 / BetterOffice 0.829 creative: Oxi 0.472 / BetterOffice 0.575 creative: Oxi 0.729 / BetterOffice 0.758 creative: Oxi 0.865 / BetterOffice 0.877 reference: Oxi 0.790 / BetterOffice 0.791 creative: Oxi 0.860 / BetterOffice 0.662 reference: Oxi 0.884 / BetterOffice 0.743 reference: Oxi 0.882 / BetterOffice 0.670 technical: Oxi 0.815 / BetterOffice 0.719 reference: Oxi 0.649 / BetterOffice 0.542 reference: Oxi 0.631 / BetterOffice 0.721 vs BetterOffice — Oxi 優位 38/49 BetterOffice の SSIM(文書ごと) Oxi の SSIM
0.4 0.4 0.6 0.6 0.8 0.8 1.0 1.0 Oxi 優位 ↑ eigenpal 優位 ↓ legal: Oxi 0.978 / eigenpal 0.921 legal: Oxi 0.993 / eigenpal 0.878 legal: Oxi 0.994 / eigenpal 0.945 legal: Oxi 0.893 / eigenpal 0.779 forms: Oxi 0.945 / eigenpal 0.812 forms: Oxi 0.840 / eigenpal 0.810 forms: Oxi 0.931 / eigenpal 0.731 forms: Oxi 0.892 / eigenpal 0.750 forms: Oxi 0.778 / eigenpal 0.721 reports: Oxi 0.894 / eigenpal 0.880 reports: Oxi 0.772 / eigenpal 0.716 legal: Oxi 0.831 / eigenpal 0.814 reports: Oxi 0.843 / eigenpal 0.669 reports: Oxi 0.859 / eigenpal 0.767 policies: Oxi 0.923 / eigenpal 0.791 policies: Oxi 0.880 / eigenpal 0.731 policies: Oxi 0.754 / eigenpal 0.656 policies: Oxi 0.969 / eigenpal 0.752 reports: Oxi 0.689 / eigenpal 0.566 policies: Oxi 0.880 / eigenpal 0.828 educational: Oxi 0.895 / eigenpal 0.898 educational: Oxi 0.770 / eigenpal 0.798 educational: Oxi 0.686 / eigenpal 0.688 correspondence: Oxi 0.860 / eigenpal 0.723 correspondence: Oxi 0.716 / eigenpal 0.659 correspondence: Oxi 0.848 / eigenpal 0.742 correspondence: Oxi 0.925 / eigenpal 0.789 educational: Oxi 0.802 / eigenpal 0.806 correspondence: Oxi 0.858 / eigenpal 0.727 technical: Oxi 0.749 / eigenpal 0.677 technical: Oxi 0.886 / eigenpal 0.713 technical: Oxi 0.850 / eigenpal 0.726 administrative: Oxi 0.937 / eigenpal 0.918 technical: Oxi 0.754 / eigenpal 0.579 administrative: Oxi 0.919 / eigenpal 0.756 educational: Oxi 0.776 / eigenpal 0.785 administrative: Oxi 0.773 / eigenpal 0.730 administrative: Oxi 0.897 / eigenpal 0.911 administrative: Oxi 0.701 / eigenpal 0.635 creative: Oxi 0.673 / eigenpal 0.834 creative: Oxi 0.472 / eigenpal 0.470 creative: Oxi 0.729 / eigenpal 0.711 creative: Oxi 0.865 / eigenpal 0.807 reference: Oxi 0.790 / eigenpal 0.753 creative: Oxi 0.860 / eigenpal 0.630 reference: Oxi 0.884 / eigenpal 0.727 reference: Oxi 0.882 / eigenpal 0.632 technical: Oxi 0.815 / eigenpal 0.704 reference: Oxi 0.649 / eigenpal 0.528 reference: Oxi 0.631 / eigenpal 0.614 vs eigenpal — 50 文書中 43 文書で Oxi 優位 eigenpal SSIM(文書ごと) Oxi SSIM
上: エンジンごとの平均 — 右端の破線が Microsoft Word 自身(1.00)。下: 点の 1 つ 1 つが 1 文書で、縦軸が Oxi。破線の対角線より上の点は、その文書で Oxi の方が Word に近かったことを意味します。ブラインドセットは測定するだけで修正対象にはしないため、これは「初見」の汎化性能をそのまま公開したものです。

なぜこの精度が出せるのか

  • 100% クリーンルーム実装:逆アセンブルやバイナリ解析は一切行いません。仕様の根拠は公開標準(OOXML — ISO/IEC 29500 / ECMA-376)と、COM API 経由で Word の出力値を観測するブラックボックス測定の 2 つだけです。
  • デュアルフォントエンジン:Word のレイアウトは GDI の整数ピクセル丸めを前提に組まれているため、.docx では GDI の振る舞いをそのまま再現。そのしがらみがない形式には DirectWrite の浮動小数メトリクスを使います。
  • 回帰ゲート:すべての変更を全コーパスで検証。改ページの一致、要素の位置、ピクセル SSIM を毎回確認してから取り込みます。

詳細と再現スクリプト: README — Layout Accuracy · docs/layout_accuracy.md

日本語組版を、中心に

多くの Word 互換レンダラーで後回しにされてきた日本語レイアウトこそ、Oxi の実測の中心です。測定コーパス自体が、日本語レイアウトが最も難しい文書群——省庁の規程、行政の申請様式、雇用契約書——でできています。

  • 禁則処理 — JIS X 4051 に沿った行分割。行頭・行末禁則、約物の詰め、ぶら下がり組み。
  • 縦書き — 右から左に流れる縦組み。縦中横にも対応。
  • ルビ(ふりがな)割注圏点(傍点)
  • 文字グリッド(docGrid) — Word の行グリッド・字送りモデルを忠実に再現。
  • 判子 — 丸印・角印・小判型の電子印鑑生成と PAdES PDF 署名。

技術

Rust + WebAssembly、形式に依存しない中間表現、そしてサーバーゼロ。

なぜ今なのか

2026 年、フランス(DINUM 指令)、スイス(連邦事務局)、ドイツ(OpenDesk)など、欧州の公共部門は Microsoft Office 離れを本格化させています。そしてどの移行でも、最後に残るのは同じ問題です — 手元にある大量の .docx が、Word と同じ見た目で開けるかどうか。Oxi は Word 再現度を「約束」ではなく「継続的な実測」で示すことで、この問題そのものをなくすことを目指しています。

アーキテクチャ

  • 完全クライアントサイド:解析・レイアウト・描画・編集はブラウザ内の WebAssembly で実行。サーバー基盤もアップロードも不要です。
  • 形式に依存しない中間表現:Document → Page → Block (Paragraph | Table | Image) → Run。OOXML にも ODF にも寄せていないので、往復変換で劣化しません。
  • ラウンドトリップ編集:元の ZIP を保持し、変更した XML テキストノードだけをパッチ。ファイルをゼロから作り直すことはしません。
  • 同梱フォントはオープンライセンスのみ:メトリクス互換のオープンフォントを使用し、プロプライエタリフォントは同梱しません。
  • 組み込み可能:wasm-bindgen の JavaScript API(parse_documentlayout_documentedit_docx など)を任意の Web アプリから呼び出せます。

ライセンス

コアエンジンは MPL-2.0(ファイル単位コピーレフト。AGPL と違い、商用製品への組み込みも可能です)。WebAssembly / Python バインディングは MIT OR Apache-2.0。コントリビューションは DCO のみで CLA はありません。

よくある質問

無料で使えますか?

はい。オープンソース(コア MPL-2.0、バインディング MIT OR Apache-2.0)で、Web デモは登録不要・無料です。

ファイルはサーバーに送信されますか?

されません。処理はすべてブラウザ内の WebAssembly で完結し、ファイルが外部に送られることはありません。機密文書でも安心して使えます。

Word とどれくらい同じ見た目になりますか?

修正のターゲットには使わない初見文書だけの凍結ブラインドベンチマーク(各言語 50 文書)で、Word とピクセル単位の SSIM を測定しています。日本語は文書平均 0.828・Word とのページ数一致 44/50。英語は文書平均 0.825・ページ数一致 48/50で、ページ数は測定したエンジン中最多ですが、ピクセル一致では LibreOffice・ONLYOFFICE にまだ及びません(2026-07-29)。比較グラフと測定方法は再現度セクションをご覧ください。

対応している形式は?

まずは Word の .docx です。ページレイアウトの完全再現とラウンドトリップ編集に集中しています。「Word の .docx 描画を忠実に再現する」ことが Oxi のミッションで、対応形式を広げるのはその先です。

自社製品に組み込めますか?

組み込めます。コアはファイル単位コピーレフトの MPL-2.0、バインディングは MIT OR Apache-2.0 なので、AGPL 系と違い商用・プロプライエタリ製品にも組み込めます。

オフラインでも動きますか?

ページと WebAssembly モジュールを読み込んだあとは、文書の表示も編集もネットワークなしで動きます。