行シャッフルツール · Fisher-Yates ランダム | DedupeLines
DedupeLines
無料・登録不要 ブラウザー内処理 · アップロード不要 · 公平な Fisher-Yates

オンラインで行をシャッフル

リストを貼り付けると、行の順序がランダムに並び替わって返ってきます。トップページの重複削除ツールの「シャッフル」オプションとは違い、ここでは行が削除されることはなく、すべての行を Fisher-Yates 法で公平に並べ替えるだけ — 毎回新しいランダム順です。

入力 · 0 行
出力 · 0 行
左側に何か貼り付けてください — 結果がここに表示されます。

または Ctrl+Enter

入力行数 0
空行数 0
出力行数0

このツールを使うべき場面

ガイド
01 / 抽選・くじ引き

参加者リストを貼ってシャッフル、上位がそのまま当選者に。表計算のマクロも、名前を集める第三者アプリも不要。

02 / ランダムサンプリング

レコードのリストをシャッフルして先頭 N 件を取れば、QA・アンケート・訓練データ分割向けの無作為標本に。

03 / ML データ前処理

行単位のデータセットを train/validation/test に分割する前にシャッフル。元ファイルで隣接していた行が分割結果に偏りを生むのを防ぎます。

04 / アンケートのランダム化

質問や選択肢の表示順序を回答者ごとにランダム化して、順序バイアスを取り除きます。

使い方

3 ステップ
  1. 01

    リストを貼り付け

    行指向のテキストなら何でも: 参加者、アイテム、アンケート設問、データ行。

  2. 02

    オプション:「空白をトリム」や「空行を削除」を ON に

    両方ともデフォルト OFF — シャッフラーは入力の各行をそのままランダムな順序で保持。OFF を ON に切り替えれば事前にクリーンアップします。

  3. 03

    実行をもう一度押す

    クリックするたびに新しいランダム順序。重複も省略もなし — 入力の純粋な並べ替えです。

内部の仕組み

技術ノート
アルゴリズム
Fisher-Yates(Knuth shuffle) · in-place

各行は任意の位置に正確に 1/n(n = 行数)の確率で配置されます。素朴な sort-by-random-key シャッフルのようなバイアスはありません。

スループット
5 万行のシャッフルを 2024 年 M3 MacBook Air で ≈80 ms

O(n) 1 パス。乱数源はブラウザの Math.random — 抽選、アンケート、ML 分割には十分。暗号学的ではありません。

スレッディング
ファイル ≥ 2 MB または ≥ 10 万行で Web Worker

他ツールと同じ Worker パターン。shuffle は共有エンジンの 1 分岐。

プライバシーと制限

どこに何が残るか

すべてブラウザー内で実行。リストはアップロードされません — 誰を抽選にかけたかをサーバーが知ることはありません。1 回あたり 80 MB のハードリミット。

よくある質問

回答

シャッフルは本当にランダムですか?

Fisher-Yates アルゴリズムを使い、エントロピー源はブラウザの Math.random。入力のどの順列も等確率です。注意: Math.random は暗号学的に安全ではありません — 抽選、アンケート、ML 分割など大半の用途には十分ですが、規制下の宝くじ抽選には不適切です。

実行を 2 回押すと順序が変わるのはなぜ?

設計通りです — 毎クリックでシードを変えて再シャッフル。リフレッシュ耐性: シードは入力ではなく Math.random から来るので、同じ入力で同じ出力にはなりません。

行が削除されたり重複したりしますか?

いいえ。シャッフラーは純粋な並べ替え: 各入力行は出力に正確に 1 回、異なる位置で現れます。重複削除 + シャッフルを 1 ステップで行いたいなら、トップページのツールで「シャッフル」トグルを ON に。

`sort -R` や `shuf` との違いは?

結果は同じ — 非暗号 RNG での Fisher-Yates。`sort -R` と `shuf` はコマンドライン版。このツールはファイルをパイプする代わりにクリップボードから貼り付ける人向け。`sort` のロケール依存比較のような癖もありません。