開発

Handsontableのライセンス:無償で使える範囲・商用版の料金体系と18.1系のキー設定

Handsontableのライセンス:無償で使える範囲・商用版の料金体系と18.1系のキー設定

Handsontableのライセンスは、7.0.0以降オープンソースではありません。2026年3月に改定された非商用ライセンスv4.0では、会社での評価が連続45日・1回限りと明記され、官公庁の利用も商用扱いになりました。この記事では、パッケージに同梱されたライセンス文書の条項、商用版の課金単位と永続・サブスクリプションの違い、数式エンジンHyperFormulaの扱い、18.1系で加わったライセンスキーの種類と設定コードを、2026年11月2日時点の公式情報で整理します。最後に、費用を払うかOSSの代替へ切り替えるかの判断基準を示します。

まとめ:Handsontableのライセンスで本番公開の前に決める購入範囲と代替の判断

会社の業務で使う画面は、社内向けでも商用ライセンスが必要です。無償のnon-commercial-and-evaluationキーで本番に載せても画面は動き、通知も出ません。技術的に止まらないため、気づかないまま契約違反の状態が続く点に注意してください。評価は非本番の環境で45日以内に終わらせ、その間に見積もりを取ります。

料金は公開されておらず、利用するアプリのエンドユーザー数で見積もられます。永続ライセンスを買うなら、保守期限より後に出た版を入れないようpackage.jsonで版を固定します。数式が要る画面ではHyperFormulaの商用ライセンスも別に必要です。入力量が少ない画面や予算を出せない社内ツールは、MITライセンスのJspreadsheet CEやAG Grid Communityへ回すほうが総額は小さくなります。

Handsontableのライセンス体系を決める非商用ライセンスv4.0と商用契約

npmで配布される18.1.2のパッケージには、LICENSE.txtとhandsontable-non-commercial-license.pdfの2つのライセンス文書が入っています。まず両者の役割を押さえます。

LICENSE.txtが定める商用目的の定義と無償で使える2つの用途

同梱のLICENSE.txtは、用途によって適用する契約が分かれる「デュアルライセンス」だと定めています。商用目的とは、商業上の利益や金銭的な対価を意図する、またはそれにつながる利用です。

無償の非商用ライセンスが適用されるのは、厳密に個人的な利用か、本番環境の外で適合性や性能を試す評価だけです。それ以外の用途に適用されるのは、個別に締結する商用契約です。どちらの場合も、Handsontableと競合するソフトウェアの開発に使うことは禁じられています。表計算部品そのものを製品として売る計画がある場合は、この一文が先に効いてきます。

2026年3月改定の非商用ライセンスv4.0で明文化された45日の評価期間

非商用ライセンス本文は「Version 4.0, last updated March 2, 2026」と記載された3ページの文書です。2.2(a)は教育・研究・学習・個人利用・テスト・デモを非商用として認め、この許諾には期限がありません。

実務で効くのは2.2(b)です。企業や官公庁などの組織環境では、非本番での機能評価に限り、連続45暦日・1回限り・更新不可の評価期間だけ無償で使えます。期間が終われば評価の許諾は自動で失効し、その先は商用契約が必要です。2.3(c)は評価期間を延ばそうとする行為も無許諾の利用と定めています。PoCを3か月かけて進める計画なら、評価開始の日付を記録し、45日目までに購入か撤退かを決める段取りにしてください。

官公庁・自治体の内部利用も商用扱いになる条項と再配布時の義務

2.3(b)は、政府機関・政府間機関(公的機関を含む)の利用を商用利用とみなすと定めています。自治体の内部システムに組み込む場合、営利目的でなくても無償キーは使えません。公共案件の見積もりにライセンス費を含め忘れると、納品直前に予算の組み直しが起きます。

再配布は3.3で認められていますが、受け取る人にライセンスの写しを渡すこと、改変したファイルに変更した旨を明示すること、著作権表示を残すことが条件です。非商用の範囲で教材やデモを配る場合も、この3点を守ってください。

6.2.2までのMITと7.0.0以降の独自ライセンスをnpmで確かめる手順

ライセンスが切り替わった版は、npm registryのlicense欄で確かめられます。依存関係の監査でライセンスを洗い出すときも、同じコマンドが使えます。

$ npm view [email protected] license
MIT
$ npm view [email protected] license
SEE LICENSE IN LICENSE.txt
$ npm view [email protected] license
SEE LICENSE IN LICENSE.txt

6.2.2は2018年12月19日公開の最後のMIT版で、7.0.0は2019年3月6日に公開されました。SEE LICENSE INと表示されるパッケージは、ライセンス検査ツールで「不明」に分類されやすいため、許可リストへの手動登録が必要です。MITやGPLとの違いを整理したい場合は、オープンソースライセンスの主要9種と商用利用の可否が前提知識になります。6.2.2を新規案件で使わない理由はHandsontableとはの採用判断の章で説明しています。

商用ライセンスの種類と料金の決まり方・HyperFormulaを含める場合の契約

商用で使うと決めたら、次はどの契約を選ぶかです。公式の料金ページの記載を基に整理します。

Enterprise・Bundle・試用版の違いとエンドユーザー数で決まる見積もり

料金ページに並ぶのは、45日間の試用(Trial)、表本体の商用契約(Enterprise)、表本体とHyperFormulaをまとめた契約(Bundle)の3種類です。どれも金額は掲載されておらず、営業への問い合わせで見積もりを受けます。

価格の決まり方は、FAQで「作ったアプリのエンドユーザー数」と説明されています。開発者の人数ではありません。社内の30人が使う入力画面と、取引先1,000社に開放するポータルでは、同じ開発規模でも費用が変わります。見積もり依頼の前に、画面を使う人数と社内・社外の区別を数字で整理しておくと、費用の確認がしやすいです。Enterpriseには社内向けと顧客向けアプリの商用利用、全フレームワーク向けラッパー、優先メールサポート、SLAが含まれます。

サブスクリプションと永続ライセンスで期限切れ後に起きることの比較表

契約形態は2つあり、期限が来たあとの扱いが違います。料金ページのFAQとLicense keyのページの記載をまとめました。

項目 サブスクリプション 永続(パーペチュアル)
ライセンスの期限 契約期間の終了で失効 失効しない
期限切れ後の画面 表の下とコンソールに通知 保守期限内の版なら通知なし
新しい版の利用 契約中は制限なし 保守期限後の版は通知が出る
期限の判定基準 キー内の日付と現在日(UTC) キー内の日付と本体のビルド日
更新しない場合の扱い 使い続けるには再契約 更新でアップデートとサポートが再開

どちらも、期限切れで表の機能が止まることはありません。困るのは、セキュリティ修正の入った新しい版を入れた瞬間に通知が出る点です。18.1.0では貼り付けたHTMLでスクリプトが動く問題が修正されました。保守を切らした永続ライセンスでは、こうした修正版を通知なしで使えなくなります。長く運用する業務画面ほど、保守の更新費を年間の運用費に入れておくべきです。

HyperFormulaのGPLv3を社内システムで使えない理由とBundleの範囲

セルで=SUM()などの数式を計算させるHyperFormulaは、表本体とは別にライセンスされています。GitHubリポジトリとnpmの3.5.0はGPL-3.0-onlyで、無償で使えるのは非商用かオープンソースのプロジェクトだけです。このときのキーはgpl-v3を指定します。

社内の業務システムは、ソースを公開しない時点でGPLv3の条件と合いません。表本体だけ購入して数式エンジンをgpl-v3のまま使う構成は、ライセンス上成り立たないということです。数式が要る場合に選ぶ契約はBundleです。Bundleには表本体、React・Angular・Vue向けのラッパー、HyperFormulaとの統合、1年分の更新と技術サポートが含まれます。合計や小計だけならサーバー側で計算して表示する設計にし、HyperFormulaを外して費用を抑える手もあります。

18.1系のライセンスキー設定と期限切れ・キー欠落で表が止まる条件

購入後に開発者が触るのはライセンスキーです。18.1.0(2026年9月1日)でキーの形式と未設定時の挙動が変わったため、17系以前の記事の書き方では足りない箇所があります。

25文字形式と18.1.0で加わったエンタイトルメントキー3種の見分け方

キーは3系統あります。数字を区切った25文字形式の商用キー、固定文字列のnon-commercial-and-evaluation、そして18.1.0で追加されたエンタイトルメントキーです。エンタイトルメントキーは、契約内容を説明する英文と角括弧で囲んだブロックが続く長い文字列で、試用・サブスクリプション・永続の3種類があります。25文字形式のキーは、18.1系でもそのまま使えます。

キーが欠落または無効なら閉じられないモーダルで表全体が覆われます。期限切れの場合は通知だけで、機能の動作は継続です。試用キーは期限後の猶予期間を過ぎると表がブロックされます。検証は本体に含まれるビルド日とキー内の日付を比べる方式で、ライセンスサーバーへの通信は発生しません。閉域網やオンプレミスの業務システムでも、そのまま動きます。

キーを環境変数から読み込みビルドに埋めるViteの設定例と注意点

開発・検証・本番でキーを切り替えるには、環境変数から読み込んでHandsontable.defaults.licenseKeyに入れる形が扱いやすいです。グローバル設定は、それ以降に作るインスタンスだけに効きます。

# .env.production(リポジトリにはコミットしない)
# エンタイトルメントキーは改行を除いて1行にし、単一引用符で囲む
VITE_HOT_LICENSE_KEY='00000-00000-00000-00000-00000'

// src/hotLicense.js:表を作る処理より前に1回だけ読み込む
import Handsontable from 'handsontable';

const key = import.meta.env.VITE_HOT_LICENSE_KEY;

if (import.meta.env.PROD && !key) {
  // 本番ビルドで評価用キーに落ちるのを防ぐ
  throw new Error('Handsontableの商用ライセンスキーが未設定です');
}

Handsontable.defaults.licenseKey = key || 'non-commercial-and-evaluation';

本番でキーが空のときに評価用キーへ落とさず、エラーで止めているのが要点です。評価用キーは通知を出さないため、設定漏れに誰も気づかないまま本番が動き続けます。

Handsontableはブラウザで動く部品なので、キーは配信されるJavaScriptに含まれます。環境変数に置く目的は秘匿ではなく、環境ごとの切り替えとリポジトリへの混入防止です。エンタイトルメントキーには引用符が含まれる場合があるため、文字列リテラルに直接貼るならバッククォートで囲みます。18.1.2では、ブロックが改行で分断されたキーを無効と判定する不具合が変更履歴で修正されています。18.1.0・18.1.1を使っているなら、キーを1行にしてあるか確認してください。

永続キーはビルド日で判定されるため版を固定するpackage.jsonとCI確認

永続ライセンスの保守が切れたあと、npm updateで新しい版が入ると通知が出ます。依存関係の更新を自動化しているチームほど起きやすい事故です。^を付けずに版を固定し、CIで保守期限と公開日を突き合わせます。

// package.json(抜粋):^ や ~ を付けずに版を固定する
"dependencies": {
  "handsontable": "18.1.2"
}

// scripts/check-hot-version.mjs(Node.js 18以降)
import { readFileSync } from 'node:fs';

const MAINTENANCE_END = '2027-10-31'; // 契約書に書かれた保守期限(UTC)に置き換える
const { version } = JSON.parse(
  readFileSync('node_modules/handsontable/package.json', 'utf8')
);

const res = await fetch('https://registry.npmjs.org/handsontable');
const published = (await res.json()).time[version];

if (published.slice(0, 10) > MAINTENANCE_END) {
  console.error(`handsontable ${version} は保守期限より後の公開です(${published})`);
  process.exit(1);
}
console.log(`OK: handsontable ${version}(${published})`);

実際の判定は本体に埋め込まれたビルド日で行われるため、npmの公開日は目安で、期限直前の版は避けるのが無難です。Renovateなどで更新を自動化している場合は、handsontableと@handsontable/react-wrapperなどのラッパーを同じルールで止めます。npm上の公式ラッパーは本体と同じ版番号で公開されており、片方だけ上がるとずれるためです。

実行中のキー差し替えにupdateSettingsが効かずdestroyで作り直す手順

評価用キーから購入キーへ切り替えるとき、updateSettings()にlicenseKeyを渡しても、動いている表には反映されません。License keyのページは、インスタンスを破棄して作り直す手順を示しています。

// 既存の表を破棄し、新しいキーで作り直す
hot.destroy();
hot = new Handsontable(container, { ...settings, licenseKey: newKey });

作り直すと、並べ替え・絞り込み・選択範囲・元に戻す履歴が消えます。入力途中のデータは作り直す前にサーバーへ保存するか、getSourceData()で退避してください。キーを画面から入力させる設計にはせず、デプロイで差し替えるほうが事故は少なくなります。

費用を払うかOSSへ切り替えるかを決める判断基準と移行先の選び方

ライセンス条件を把握したうえで、最後に購入するか別のライブラリへ移るかを決めます。結論は画面の入力量で分かれます。

購入を勧めるのは入力工数の削減額がライセンス費を上回る業務画面

購入を勧めるのは、利用者が毎日数百セルを手で直し、Excelからの貼り付けや連続入力が業務時間を左右する画面です。範囲選択・貼り付け・取り消しを自作すると、実装とテストだけで数人月かかります。課金単位がエンドユーザー数なので、利用者が少ない社内の入力画面ほど1人あたりの効果を説明しやすくなります。

見積もりは要件定義の段階で取ってください。設計後に費用が判明して代替へ切り替えると、セル型・検証・保存処理のコードを書き直すことになります。Excelのまま回せる範囲がどこまでかはエクセル管理の限界はどこかで条件を整理しています。

OSS移行条件とJspreadsheet CE・AG Grid Communityの比較

切り替えるべきなのは、1セルずつ直す程度の一覧、ライセンス費を一切出せない社内ツール、官公庁向けで調達手続きが重い案件です。2026年11月2日時点の代替候補は次のとおりです。

ライブラリ(npmの最新版) ライセンス Handsontableから移すときの差
Jspreadsheet CE 5.0.4 MIT 表計算風の入力は近いが設定の形は別物
AG Grid Community 36.2.0 MIT(Enterpriseは有償) 閲覧中心。範囲貼り付けは有償版の機能
Tabulator 6.7.1 MIT 依存なしで動く軽い一覧向け
Univer(presets 1.3.1) Apache-2.0 複数シートの表計算。Excel入出力は有償版

表計算風の入力を無償で残したいならJspreadsheet CEが第一候補です。GitHubリポジトリではMITと明記されていますが、npmのlicense欄は空なので、ライセンス検査ツールには手で登録してください。一覧の閲覧が中心ならAG Grid Communityで足ります。Community版とEnterprise版の機能差はAG Gridとはで比較しています。以前の代替の定番だったLuckysheetは2021年で保守が止まっており、移行先にはしません(Luckysheetとはで経緯を整理しています)。

業務画面の受託開発で契約名義と保守期間を発注前に決めておくべき理由

開発を外部に委託すると、ライセンスを誰の名義で買うか、保守の更新を誰が管理するかが曖昧になりがちです。課金がエンドユーザー数に連動する以上、契約は画面を使う側の組織の実態に合わせる必要があります。名義と保守期間の扱いは、発注前に販売元へ確認し、見積書に明記させてください。

納品後に保守を切らせば、前の章のとおりセキュリティ修正の入った版へ上げられなくなります。表部品の費用と更新計画、権限や排他制御といった表の外側の設計を一体で決めたい場合は、業務用・Webアプリ開発として要件定義の段階から相談いただけます。

よくある質問:Handsontableの無料利用・料金・評価用キー・永続ライセンス

Handsontableのライセンスについてよく出る質問に、2026年11月2日時点の公式文書をもとに答えます。

Handsontableは社内ツールなら無料で使えますか?

使えません。非商用ライセンスv4.0は、企業などの組織環境での無償利用を、非本番での評価に限り連続45日・1回限りと定めています。売り物でない社内ツールでも業務に使えば商用利用にあたり、商用ライセンスが必要です。無償で済ませたい場合は、MITライセンスのJspreadsheet CEやAG Grid Communityを検討してください。

評価用キーのまま本番公開するとどうなりますか?

画面は動き、通知もコンソールのメッセージも出ません。技術的に止まらないだけで、ライセンス上は無許諾の利用です。設定漏れを防ぐには、本番ビルドでキーが空ならエラーで止める処理を入れ、評価用キーへ自動で落ちる書き方を避けてください。

Handsontableのライセンス料金はいくらですか?

公式の料金ページに金額は掲載されていません。営業への問い合わせで見積もりを受ける方式で、価格はアプリのエンドユーザー数で決まります。開発者の人数ではない点に注意してください。数式エンジンHyperFormulaも使う場合は、両方をまとめたBundleで見積もりを依頼します。

永続ライセンスはサポートが切れたあとも使えますか?

サポート終了後も利用は可能です。永続ライセンスは失効せず、保守の有効期間中に公開された版は使い続けられます。ただし、保守期限より後に公開された版を入れると、表の下とコンソールに通知が出ます。機能は動きますが、セキュリティ修正版へ上げにくくなるため、長く運用する画面では保守の更新を続けてください。

MITだった6.2.2なら無料で商用利用できますか?

ライセンス上は可能です。6.2.2はMITで公開された最後の版で、MITの条件を守れば商用でも使えます。ただし2018年12月から更新が無く、現行版のテーマやラッパー、貼り付け時の修正は入っていません。公式ドキュメントのコードも流用できないため、新規案件で選ぶ利点はほとんどありません。

関連記事

お気に入りに入れた記事の一覧

一創の公式 SNS

X では毎朝の新着記事と IT ニュースの速報を、YouTube・TikTok・Instagram・LinkedIn・Facebook では記事の解説動画を配信しています。

この記事は以下の記事からリンクされています

資料請求

今日のトレンド記事 直近 24 時間で、いつもより多く読まれている記事

  1. 2026.10.29 テックブログ ソニー生命の情報漏洩38.5万件|ログインできない理由、再開状況と窓口の電話番号
  2. 2026.10.31 テックブログ 松屋の不正アクセス:237万件の対象確認と窓口、漏れたパスワードの守り方
  3. 2026.11.01 コラム インボイスの経過措置とは?70%控除の期間と計算方法・帳簿の書き方・1億円制限【2026年10月改正対応】
  4. 2026.03.17 コラム 所得金額調整控除とは?年収850万円超で最大15万円、対象者と計算式・申告書の書き方【令和8年分】
  5. 2026.11.02 テックブログ pgAdminの脆弱性:9.19で直った15件のCVEと更新前に要るサーバーモードの設定

RELATED POSTS 関連記事

目次