Paragraph Order Randomizer

Randomizes the order of paragraphs in a document using a Fisher-Yates shuffle, without altering the wording of any individual paragraph, useful for randomizing sections or scrambling exercises. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-23

Overview

Introduction

Reordering the paragraphs of a document, to randomize sections or build a scrambling exercise, is tedious to do by hand while keeping every paragraph's own text intact.

This tool detects paragraph breaks and shuffles them for you, and it runs entirely client-side, so nothing you paste is ever uploaded to a server.

What Is Paragraph Order Randomizer?

A paragraph shuffler that randomizes the order of the paragraphs in your text while leaving the wording within each paragraph untouched.

It runs entirely client-side as part of this site's String Tools collection, so nothing you paste is ever uploaded to a server.

How Paragraph Order Randomizer Works

The text is split into paragraphs on blank lines, that list is shuffled with a Fisher-Yates algorithm, and the shuffled paragraphs are rejoined with a blank line between each.

The transformation happens synchronously in JavaScript, using the browser's own random number generator, with no network round trip involved.

When To Use Paragraph Order Randomizer

Use it to randomize the order of independent sections in a document, or to build a paragraph-reordering exercise or puzzle.

It's a fast way to get an unbiased shuffle without opening a code editor, a REPL, or writing a one-off script just to check.

Features

Advantages

  • Uses a proper Fisher-Yates shuffle instead of a naive sort-by-random-key approach, avoiding bias.
  • Never touches the wording within a paragraph, only its position.
  • Trims and discards empty blocks before shuffling, so stray extra blank lines never become empty paragraphs in the output.

Limitations

  • Paragraph detection relies on blank lines as separators, so text without any blank lines is treated as one paragraph and can't be shuffled.
  • Normalizes the gap between paragraphs to exactly one blank line, so any deliberately wider spacing is lost in the process.

Examples

Shuffling two paragraphs

Input

First paragraph text.

Second paragraph text.

Output

Second paragraph text.

First paragraph text.

Each paragraph's own text stays intact, only their order changes.

Best Practices & Notes

Best Practices

  • Make sure paragraphs are separated by a truly blank line (not just a single newline) before shuffling, or they'll be treated as one paragraph.
  • Keep the original document, since the shuffle is unseeded and the previous order cannot be restored afterwards.
  • Check that no paragraph refers to another by position, such as 'as described above', before shuffling them.

Developer Notes

Paragraphs are split with `input.split(/\n\s*\n/)`, trimmed, and filtered for emptiness, then the resulting array is shuffled with a standard Fisher-Yates and rejoined with `\n\n`.

Paragraph Order Randomizer Use Cases

  • Randomizing the order of independent document sections
  • Building a paragraph-reordering reading exercise
  • Scrambling a multi-paragraph passage for a puzzle

Common Mistakes

  • Using single newlines instead of blank lines between paragraphs, which causes the whole input to be read as one paragraph.
  • Shuffling a document that opens with a heading paragraph, which is moved down into the body along with everything else.

Tips

  • Use the Line Unwrapper first if your paragraphs are hard-wrapped across multiple lines, so each paragraph becomes one flowing block before shuffling.
  • With only two or three paragraphs, expect to re-run a few times before the order actually comes out different.

References

Frequently Asked Questions