サクラエディタWikiブラウザで使える実用テキストツール
日本語

無料オンラインツール

Tab・空白変換:インデントを指定幅で統一

Tabを1〜16個分の半角スペースへ変換し、指定幅の行頭スペースをTabへ戻せます。

テキスト作業スペース

Tab・半角スペース変換ツール

処理はブラウザ内で完結

差分比較

0 文字 0 空白除外 0 バイト 1 0 語句
入力0 文字
比較する文章0 文字
結果未実行

Tabを空白へ、行頭空白をTabへ変換する方法

入力欄へコードや設定テキストを貼り付け、変換方向とTab幅を指定して実行します。「Tab → 空白」は文章内のTab文字をすべて指定数の半角スペースへ置換します。「行頭空白 → Tab」は、各行の先頭にある指定数の半角スペースを1個のTabへ変換します。初期値は4ですが、プロジェクト規約に合わせて1〜16の範囲で変更できます。

処理後には変換した箇所数を表示します。結果は元入力を上書きしないため、インデントの深さと文字列内の空白が意図どおりか確認してからコピーできます。Tabから空白への変換は行頭だけでなく行内のTabも対象です。タブ区切りデータを処理すると列区切りまで空白へ変わるため、TSVでは使用しないでください。

  1. 変換方向を選ぶTabを空白へ広げるか、行頭空白をTabへ縮めるか選びます。
  2. Tab幅を設定するコード規約に合わせて2、4、8などの幅を入力します。
  3. 結果と変換箇所数を確認する文字列やTSVの区切りまで変えていないか差分で確認します。

Tab、半角空白、全角空白の違い

Tabは1つの制御文字で、表示幅はエディタ設定と現在位置によって変わります。半角空白は幅の小さい空白文字で、4個なら常に4文字として保存されます。全角空白は日本語文章で使われる別の文字です。このツールが空白として挿入・検出するのは半角スペースだけで、全角空白は変換しません。見た目が似ていても保存される値と検索方法が異なります。

種類データ上の特徴主な用途このツールの扱い
Tab\t 1文字コードのインデント、TSV区切り指定数の半角空白へ変換
半角空白U+0020文章、コードのインデント行頭の指定数をTabへ変換
全角空白U+3000日本語文の字下げ変換しない

サクラエディタのTab・空白変換との使い分け

サクラエディタ本体には選択範囲を対象にTabと空白を変換する編集機能があり、表示上のTab幅も設定できます。本体ではファイルを直接編集し、選択範囲だけへ適用できるのが利点です。本ページは端末にソフトがないときや、貼り付けた断片で変換結果を先に確認するときに使えます。実ファイルの文字コードや改行コードは保持せず、貼り付けた文字列だけを処理します。

本ページのTabから空白への変換は、Tab1個を常に指定数の空白へ置き換える単純な方式です。一般的なエディタ表示では、Tabは現在の列から次のタブストップまで進むため、行の途中にあるTabを視覚的に同じ位置へ合わせるには必要な空白数が変わります。コードの行頭インデントでは期待どおりになりやすい一方、表形式の位置合わせでは列がずれる可能性があります。

インデントを統一するときの実践ポイント

最初に .editorconfig、フォーマッター、言語の標準規約を確認します。Pythonでは空白4個が一般的で、Makefileのレシピ行ではTabが必要になるなど、最適な形式はファイルによって異なります。複数言語を含むリポジトリを一律に変換せず、対象ファイルと範囲を限定してください。コードフォーマッターがある言語では、手作業の変換より公式設定で整形する方が再現性があります。

差分が大きくなる変更は、機能修正とは別のコミットへ分けるとレビューしやすくなります。変換前後を差分比較し、文字列リテラル、コメント内の図、タブ区切りのデータが変化していないか確認します。行末空白も同時に整理したい場合は、正規表現 [ \t]+$ を使って削除できますが、Markdownのように行末空白が意味を持つ形式では注意が必要です。

Tab・空白変換後のチェックリスト

Tab・空白変換で結果を確認するときは、まず行頭の深さを見ます。1段、2段、3段のインデントが指定幅の倍数になっているか、空白が不足する行だけ残っていないかを確認します。次に、引用符で囲まれた文字列、コメント内の表、正規表現、タブ区切りデータを確認します。Tabから空白への変換は行中のTabも対象なので、インデント以外にTabを使うファイルでは対象範囲を限定できるサクラエディタ本体が適しています。

Tab・空白変換で結果を確認した後、コードの場合はフォーマッターと構文チェックを実行し、Gitの差分で内容変更が混ざっていないか調べます。Pythonではインデントの混在がエラーや意図しないブロックの原因になり、Makefileでは必要なTabを空白へ変えると実行できなくなる場合があります。変換前のファイルを残し、言語やプロジェクトの規約に合うTab幅を選択してください。見た目が整ったことだけでなく、実行結果が変わらないことまで確認して完了です。

確認対象合格条件
Tab・空白変換で結果を確認:行頭インデントが指定幅の倍数になっている
Tab・空白変換で結果を確認:文字列引用符内やTSVのTabが意図せず変わっていない
Tab・空白変換で結果を確認:実行構文チェックとテストの結果が変わっていない

よくある質問

よくある質問

Tab1個を空白4個へ変換できますか?

はい。Tab・空白変換で結果を確認するには、変換方向を「Tab → 空白」、Tab幅を4にして実行します。すべてのTab文字が半角空白4個になります。

スペースからTabへの変換は行の途中も対象ですか?

いいえ。Tab・空白変換で結果を確認すると、各行の先頭にある指定数の半角空白だけがTabへ変わり、文章中の連続空白は保持されます。

全角空白も変換されますか?

変換されません。Tab・空白変換で結果を確認しても、全角空白は保持されます。全角空白を変える場合は正規表現置換を使用してください。

Tab幅は何文字が一般的ですか?

2、4、8などが使われます。Tab・空白変換で結果を確認し、既存プロジェクトの .editorconfig やフォーマッター設定を優先してください。

PythonやMakefileにも安全に使えますか?

空白が文法に影響するため無条件には安全ではありません。Tab・空白変換で結果を確認し、対象形式の規則に沿って構文チェックやテストを実行してください。