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.

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.

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.

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.

Tips

  • Use the Line Unwrapper first if your paragraphs are hard-wrapped across multiple lines, so each paragraph becomes one flowing block before shuffling.

References

Frequently Asked Questions