年収を時給に換算
年収52,000で週40時間を52週働くと、労働時間は2,080時間なので時給は25です。契約上の時間ではなく実際の時間を入れると、仕事の本当の時給が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 年収
- 52,000
- 週あたりの時間
- 40
- 年間の週数
- 52
- 時間単価
- 25
年収から時給を求める計算ツールは、ひとつの明確な問いに答えます。自分の年収は実際に1時間あたりいくらの価値があるのか、という問いです。自動化パイプラインには数値か明確な拒否が返り、誤った結果が黙って返ることはありません。
給与を時給で見る意義
求人、フリーランスの見積もり、残業の判断は、共通の単位で比べると格段に見通しが良くなります。そして時間は多くの場合、最も正直な単位です。年収60,000は時給30の契約より高く聞こえますが、実際に働く週数を考慮すると逆転することがあります。
週50時間を暗に求める正社員の職は、週40時間を守る職より時給が低くなります。年収から時給への換算は、この比較を機械的にします。年収を年間の総労働時間、つまり週の労働時間×年間の週数で割るだけです。手作業で試してから、そのまま自動化へ移行しても計算の再確認は不要です。
採用担当者、労組の交渉担当者、給与監査人は皆、異なる単位で提示される報酬を職種横断で比較する際にこの換算に依拠しています。
計算の仕組み
計算式は一つの除算で完結します。時給は、年収を週の労働時間と年間の週数の積で割った値です。3つの入力は有限数に変換され、数値文字列も受け付けるためフォームデータをそのまま送信できます。
給与はゼロでも構いません。無給休職中の人の時給は実際にゼロだからです。ただし負の値は許容されません。
週の労働時間と年間の週数はいずれも0より大きい必要があります。そこがゼロならゼロ除算になるか、一切の労働を表さないスケジュールになるためです。結果は小数第6位に丸められるため、出力はマシン間でバイト単位まで一致し、テスト、キャッシュ、監査ログで安全に比較できます。
暗黙の丸めモードも、桁区切りのロケール依存の解析も、近似の処理もありません。
労働時間と週数を正直に選ぶ
結果の質は、スケジュールの2つの入力がどれだけ実態に即しているかに完全に依存します。典型的なフルタイムの基準は週40時間・年52週で、年間2,080時間ですが、実際の暦は様々です。無給休暇が2週間あれば50週、祝日が無給の契約ならさらに少なくなり、パートタイムなら時間の側も変わります。
恒常的に残業する正社員は契約上の数字ではなく実際の平均を使うべきです。さもないと時給は実態より良く見えてしまいます。迷ったときは悲観的なケースで試してください。
長めの労働時間と短めの週数を使い、それでも見劣りしない時給なら、本当に良い条件と考えて構いません。
活用例
正社員のオファーと契約業務を比較する
正社員のオファーを時給に換算し、無給休暇に合わせて年間の週数を調整した上で、フリーランスの見積もりと直接比較します。
残業や追加案件の採算を判断する
給与の実際の時間価値を割り出し、追加案件や週末シフトが実質の報酬に見合うかどうかを判断します。
給与計算の健全性チェックを組み込む
給与処理が示す時給が契約上の給与と一致するかを自動化パイプラインで検証し、スケジュールデータに異常があれば明確に失敗させます。
よくある質問
計算式は何ですか?
年収52,000、週40時間・52週なら時給はちょうど25になります。
入力が拒否されたのはなぜですか?
週の労働時間と年間の週数は0より大きい必要があり、給与は負の値にできません。また、すべての値は有限数である必要があります。
52週ではなく50週を使えますか?
はい。 実際に給与が支払われる、または実際に働く週数を使ってください。50週は無給休暇2週間を想定したもので、実質の時給は高くなります。
税金や手取り額には対応していますか?
いいえ。 入力された額面の金額を換算するだけです。手取りの時給が必要な場合は、手取り額を別途換算してください。
給与データは保存されますか?
いいえ。 数値はメモリ上で処理され破棄されます。返されるのは時給だけです。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/fin/annual-salary-per-hour \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"annual_salary":52000,"hours_per_week":40,"weeks_per_year":52}'const res = await fetch("https://api.kit.forhosting.com/fin/annual-salary-per-hour", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"annual_salary": 52000,
"hours_per_week": 40,
"weeks_per_year": 52
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/annual-salary-per-hour",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"annual_salary": 52000,
"hours_per_week": 40,
"weeks_per_year": 52
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/annual-salary-per-hour", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"annual_salary":52000,"hours_per_week":40,"weeks_per_year":52}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"annual_salary":52000,"hours_per_week":40,"weeks_per_year":52}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/annual-salary-per-hour", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"annual_salary": 52000,
"hours_per_week": 40,
"weeks_per_year": 52
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.annual_salary_per_hour",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
年収、週あたりの平均労働時間、1年に数える週数を入力すると、APIが単一の時給を返します。人事のスプレッドシートが行うのと同じ計算を、厳密な入力検証を備えた決定論的なワンコールのエンドポイントとして提供します。
給与を時給で見る意義
エンドポイントは決定論的で丸めの揺れがないため、ブラウザで得られる数値はコードがAPIから受け取る数値と完全に一致します。誰も再検証しない場当たり的なスプレッドシートの行よりも、検証済みで再現可能なエンドポイントから得る方が確かなのはそのためです。
計算の仕組み
どちらの場合も問題のフィールドを特定するinvalid_inputエラーで拒否され、無効なリクエストに課金されることはありません。送信した値がそのまま割り算に使われ、レスポンスに含まれる正規化済み入力のエコーにより、呼び出し側は時給を信頼する前にどの数値が計算式に入ったかを正確に確認できます。
労働時間と週数を正直に選ぶ
日給と給与を比較するフリーランサーは、給与をこのエンドポイントに通して時給同士で直接比較してください。この機能は何も保存せずグローバルエッジ上で動作し、同じコードがこのページ上で無料で実行されるため、$0.002の料金がかかるのは自動化してリクエストを送る場合だけです。
技術的な質問
料金はいくらですか。
1リクエストあたり$0.002です。このページのブラウザ上では無料で実行でき、どちらでも同じコードが動作します。