pH計算ツール
水素イオン濃度が1×10⁻⁷ mol/LならpHは7で中性です。[H+]をmol/Lで入力すると、pHと酸性・中性・塩基性の判定、ノートに写せる代入の手順が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 濃度
- 0.0000001
- Hプラス
- 0.0000001
- 濃度の単位
- mol/L
- pH
- 7
- pH
- 7
pH計算ツールは、水素イオン濃度を化学実験室や教科書で使われる酸塩基スケールに変換します。モル毎リットルの[H+]を入力すると、その濃度の常用対数の符号反転としてのpH、酸・中性・塩基の短い酸度ラベル、ノートに写せる段階的な代入過程が返ります。宿題の照合、滴定の準備、試験の復習、自動採点は、表計算や本格的な水中スペシエーション一式なしで、この閉じた式を必要とします。
pHと[H+]の意味の対応
pHは、水溶液がどれほど酸性か塩基性かを示す一般的な対数尺度です。教室の標準精度では、定義によりpHはモル毎リットルで表した水素イオン濃度の常用対数の符号反転、すなわちpH = −log10([H+])です。[H+]が1×10⁻⁷ mol/Lのとき、約25 °Cの純水基準でpHは7となり、そのスケール上で中性と呼びます。[
H+]が大きいほどpHは小さくより酸性に、[H+]が小さいほどpHは大きくより塩基性(アルカリ性)になります。濃厚な強酸では[H+]が1 mol/Lを超えるとpHが0未満になり、強塩基性溶液では[H+]が極めて小さいとpHが14を超えることがあります。これらの極端値も同じ式で有効です。
決して有効でないのはゼロまたは負の濃度で、対数は正の実数にのみ定義されるからです。教師と自動採点は、成功経路と同じくらいこの拒否を重視します。静かなフォールバックは入力誤りを隠してしまうからです。
pOHや水のイオン積Kwなどの関連量は意図的に範囲外とし、既知の[H+]をpHへ換算するという単一の検索意図に焦点を当てます。
実用上の注意、限界、関連検索
濃度の−log10が非有限のpHに溢れ、ソルバーが拒否せざるを得なくなるのを防ぐため、[H+]を公開された絶対範囲内に保ってください。授業では古典例を組み合わせます。[本ページはpH計算ツール、水素イオン濃度からのpH、[H+]の−log10をオンラインで探す人向けであり、緩衝液計算でも滴定曲線ツールでも、pOHやKwのソルバーでもありません。
すでに[H+]が分かりpHだけが必要なときにこの機能を選び、出典が弱酸のKaと未解離酸濃度だけの場合は、適切な平衡モデルで先に[H+]を解いてください。往復の直感は簡単です。 公開pHの符号を反転した10の累乗は、典型的な水中値について同じ12桁丸めの範囲で元の濃度を復元し、[H+]が純水基準1×10⁻⁷ mol/Lを横切ると酸度ラベルも正しく反転します。
活用例
pH = −log10([H+])の宿題照合
学生が教科書の水素イオン濃度を入力し、手計算のpHと酸度ラベルを提出前に決定的な結果と照合します。
メーターなしの実験ノート換算
技術者が、濃度データしかない報告用に、既知または計算した[H+](mol/L)をpHへ換算します。
化学ヘルパーの単体テスト
酸・中性・塩基の既知pHケースと、意図的なゼロ濃度拒否を、コーディング型と採点パイプライン用に生成します。
よくある質問
水素イオン濃度からpHをどう計算しますか?
[H⁺]をmol/LとしてpH = −log₁₀([H⁺])を用います。本ツールは丸め済みpH、酸度クラス、代入手順を返します。
pOHや緩衝液のpHも計算しますか?
いいえ。 既知の[H⁺]をpHに換算するだけです。それらのモデルが必要なら専用の緩衝液・平衡ツールを使ってください。
pHが0未満や14を超えることはありますか?
あります。水素イオンが1 mol/Lを超える濃い強酸ではpHは0未満になり、濃度がごく小さいと14を超えることもあります。式は同じで、受け付けないのはゼロや負の濃度だけです。
濃度がミリモル毎リットルのときはどうしますか?
先に1000で割ってmol/Lに換算してください。計算機はmol/Lを前提にしていて単位の換算はしないため、ミリモルのまま入れると誤ったpHになります。
濃度ゼロが受け付けられないのはなぜですか?
対数は正の数でしか定義されないためです。空欄やマイナスの打ち間違いから黙って意味のない結果を出すのではなく、誤りをお知らせして入力を直せるようにしています。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/chem/ph-from-concentration \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"concentration":1e-7}'const res = await fetch("https://api.kit.forhosting.com/chem/ph-from-concentration", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"concentration": 1e-7
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/chem/ph-from-concentration",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"concentration": 1e-7
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/chem/ph-from-concentration", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"concentration":1e-7}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"concentration":1e-7}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/chem/ph-from-concentration", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"concentration": 1e-7
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "chem.ph_from_concentration",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_abs | 1000000000000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
ゼロまたは非正の濃度は明確なinvalid_inputエラーで拒否されるため、空セルや負号の誤入力が静かに非有限の対数を生むことはありません。経路は純粋な決定的算術であり、ネットワークも乱数シードも壁時計依存もなく、無料のブラウザ実行と前払いAPIは固定小数点丸めのあと毎回同じJSONを返します。
pHと[H+]の意味の対応
検証経路は、phフィールドと同じ固定丸めを用いて公開された濃度の−log10を再計算し、成功応答には常にテストや実験ノートでアサートできる手順が付きます。
APIの呼び出し方と返却内容
濃度は厳密に正でなければならず、1×10⁻¹⁵以下はゼロとみなされ、明示的な負値とともに拒否されます。文字列の数値は、one e minus sevenのような任意の科学的記数法を含む厳格な有限数値パターンに一致する場合のみ受理されます。必須の有限数1つを含むJSON本体を送信します。フィールドはconcentration(別名 h_plus, h_concentration, hydrogen_ion, hydrogen_ion_concentration, c_h, molarity_h)、単位はモル毎リットルです。絶対値は公開上限の1兆以内に留め、Workerとブラウザ上のIEEE倍精度で中間結果が有限のままになるようにします。成功時は丸め済みのconcentrationとh_plusをエコーし、unit_concentrationをmol/Lに、phとpHを同じ丸め値に、formulaをpH = −log10([H+])の文字列に、acidityをacidic・neutral・basicのいずれかに、messageを短い英語要約に、stepsを代入行の順序付き配列に設定します。検証失敗(concentration欠落、非有限数、絶対限界外、ゼロまたは非正の濃度、非有限の計算pH)はinvalid_inputを返し、課金されません。料金は成功リクエストごとに定額$0.002で、単位品目と限界単位価格ゼロです。クライアントを制御できる場合は整形済み文字列より数値JSONを優先してください。
実用上の注意、限界、関連検索
モル毎リットルを一貫して使い、出典がミリモル毎リットルやモル毎立方センチメートルの場合は、1回のリクエスト内で単位系を混ぜず、呼び出し前に換算してください。H+] = 1×10⁻⁷ でpH 7・中性、強一価酸の近似で[H+] = 0.1 でpH 1・酸性、[H+] = 1×10⁻¹⁴ でpH 14・塩基性、concentration = 0 で硬いinvalid_input経路です。invalid_inputを返す失敗タスクは前払い残高を消費しないため、学習者が意図的にゼロを送る探索スクリプトも安価に保てます。
技術的な質問
濃度がゼロまたは負の場合はどうなりますか?
非正の[H⁺]ではpHは未定義です。APIはゼロや負数の対数を取らずinvalid_inputを返します。
どの濃度でpH 7になりますか?
純水基準では[H⁺] = 1×10⁻⁷ mol/LでpH = 7、酸度は中性です。
pH計算ツールは無料ですか?
ブラウザツールは無料でローカル実行です。API呼び出しは成功リクエストごとに$0.002の前払いKIT残高を使い、失敗は課金されません。