文字数を指定してテキストを折り返すツール
幅を32にすると、2段落の長いメモが1行32文字以内の8行に整い、段落の間の空行も残ります。幅より長い語は切らずに1行に置きます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 幅
- 32
- 行数
- 8
- 段落数
- 2
文字数指定の折り返しは、長く不揃いな文章を、選択した列幅に収まる読みやすい行へ整えます。プレーンテキストと整数の width を入力すると、単語を途中で切らずに各段落を組み直します。空行は段落の区切りとして維持されるため、メールやメモの構造も失われません。結果は決定的で、端末出力、ソースコードのコメント、文書、課題管理、行長をそろえたいメッセージへそのまま貼り付けられます。
指定した列幅で折り返す仕組み
この機能は内容を書き換えず、表示上の行分けだけを整えます。各段落の単語を左から順に読み、現在の行、区切りの空白、次の単語を合わせても width 以内なら、その単語を同じ行へ追加します。収まらなければ、その単語の直前で新しい行を始めます。
そのため通常の行は指定幅を超えず、単語の途中には改行が入りません。単語そのものが width より長い場合だけは意図的な例外です。その単語を一行に保ちます。
識別子、URL、ファイル名、専門用語を分割すると、意味が変わったり、正しくコピーできなくなったりするためです。段落内の連続する空白、タブ、単独の改行は、通常の単語区切りへ正規化されます。空行は引き続き段落を分け、出力では段落間に一つの空行を残します。
未整形の文章だけでなく、別の幅で折り返された文章の再整形にも利用できます。ハイフネーション、両端揃え、Markdown の解釈、文章の言い換えは行いません。改行位置だけを変えるので、結果を確認しやすく、同じ入力から常に同じ出力を得られます。
適切な幅の選び方と結果の読み方
width は元の文章量ではなく、貼り付け先に合わせてお選びください。端末ログや従来型のメールにはやや短い行が向きます。一方、コードコメントでは、後から付けるインデントやコメント記号の分を空ける必要があります。
周囲の書式が文字数を消費する場合は、折り返す前にその接頭辞の長さを利用可能な列数から差し引いてください。たとえばコメント接頭辞が四文字なら、本文の width は最終的な表示幅より四列小さく設定します。入力できる値は一以上一万以下の整数です。
空の原文も有効で、行数と段落数はいずれもゼロです。改行コードは LF に統一されるため、Windows、macOS、Linux、ブラウザー、遠隔実行で結果が一致します。width が数えるのは JavaScript 文字列の文字であり、描画ピクセルではありません。
プレーンテキストや等幅表示に適しており、プロポーショナルフォントの厳密な画像配置には向きません。
メール、コメント、自動処理で安定して使う方法
メールでは、執筆と校正を終えてから折り返してください。整形済みの文章へ後から語句を挿入すると、短く不揃いな行が残りやすいためです。意図した段落の切り替えは空行で示し、本文全体を一度に送信します。
コードコメントでは、先に本文を折り返してから言語固有の接頭辞を付けるか、接頭辞の長さだけ width を小さくしてください。端末出力では、別工程で追加する時刻、ログレベル、インデント、ANSI 装飾も列幅に含めて考えます。
自動処理では、複数のスクリプトへ異なる値を埋め込まず、width をプロジェクト設定として管理すると、書式変更をレビューでき、生成物も統一できます。長い技術トークンは明示的に試験してください。このアルゴリズムは単語を分割しないため、URL や識別子が幅を超える場合があります。
絶対的な上限が必要なら、トークンを切る別の規則と組み合わせます。ネットワーク通信や意味解析は行いません。同じ入力なら text と各集計値も常に同一です。
活用例
プレーンテキストのメールを整える
話題間の空行を保ちながら、長い段落を一定の列幅へ組み直します。
ソースコードのコメントを整形する
文書生成工程でコメント記号やインデントを付ける前に、予測可能な本文行を作ります。
端末出力を読みやすく保つ
ヘルプ、リリースノート、コンソール説明を、選択した列数の範囲へ折り返します。
よくある質問
長い単語は途中で分割されますか?
いいえ。 改行は単語の間だけに入ります。width より長い単語は一行に保たれるため、その行だけ指定幅を超えることがあります。
既存の改行はどうなりますか?
段落内の単独改行は空白になります。一つ以上の空行は段落を分け、結果では一つの空行になります。
width はピクセルと文字のどちらを測りますか?
JavaScript 文字列の文字数を測り、描画ピクセルは測りません。プレーンテキストや等幅表示に適しています。
幅はどう決めればよいですか?
元の文章ではなく、貼り付け先に合わせて決めます。4文字のコメント記号のような接頭辞を付ける場合は、その分を先に引いておくと、仕上がりの行も幅に収まります。
日本語の文章も折り返せますか?
折り返しは空白で区切られた語の単位で行うため、空白のない日本語の文は1つの長い語として扱われ、その行に丸ごと残ります。英文など、空白で語を区切る文章に向いています。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/str/word-wrap \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Word wrapping keeps paragraphs readable in email, source comments, and terminal output without splitting ordinary words.","width":32}'const res = await fetch("https://api.kit.forhosting.com/str/word-wrap", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Word wrapping keeps paragraphs readable in email, source comments, and terminal output without splitting ordinary words.",
"width": 32
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/word-wrap",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Word wrapping keeps paragraphs readable in email, source comments, and terminal output without splitting ordinary words.",
"width": 32
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/word-wrap", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Word wrapping keeps paragraphs readable in email, source comments, and terminal output without splitting ordinary words.","width":32}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Word wrapping keeps paragraphs readable in email, source comments, and terminal output without splitting ordinary words.","width":32}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/word-wrap", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "Word wrapping keeps paragraphs readable in email, source comments, and terminal output without splitting ordinary words.",
"width": 32
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.word_wrap",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_chars | 200000 |
max_width | 10000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
適切な幅の選び方と結果の読み方
未指定、小数、ゼロ、負数、上限超過は invalid_input になります。成功時には、コピー可能な主結果の text、適用した width、段落間の空行も含む line_count、空でない段落を数える paragraph_count が返ります。
メール、コメント、自動処理で安定して使う方法
API の正常な一項目は $0.002 で、ブラウザー版はローカルで無料実行できます。
技術的な質問
空のテキストも処理できますか?
はい。有効な width を指定すれば、空の結果が返り、line_count と paragraph_count はどちらもゼロになります。
API の利用料金はいくらですか?
正常なリクエスト一項目につき $0.002 です。ブラウザー版はローカルで動作し、対話的な利用は無料です。