Crossword, Word Search & Word Scramble Maker
Pricing
from $50.00 / 1,000 puzzle generateds
Crossword, Word Search & Word Scramble Maker
Word search, crossword (your clues), word fill-in or word scramble from your own word lists. Each grid is checked: every word once, no stray words. JSON, SVG, printable PDF or a 6x9 / 8.5x11 paperback book interior, with answer keys.
Pricing
from $50.00 / 1,000 puzzle generateds
Rating
0.0
(0)
Developer
Ars Technis
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 days ago
Last modified
Categories
Security
Limited permissionsShare
Give it a word list and get back finished puzzles: a word search, a numbered crossword that uses your own clues, a word fill-in, which is a crossword grid with no clues where the solver fits in the listed words, or a word scramble worksheet. Each puzzle comes as JSON, as SVG images (grids only: word scrambles have none), and in one printable PDF (letter or A4, or a 6x9 / 8.5x11 paperback book interior) with the answer keys at the back.
It's built for teachers and tutors making vocabulary sheets, for newsletter and activity-book makers, for apps that need fresh puzzles, and for AI agents. Language models are poor at drawing letter grids correctly, so an agent can call this tool and get a grid that has been checked.
What you get
- Word search. Every word on your list appears exactly once in the grid. Before a puzzle is delivered, the grid is searched in all 8 directions to confirm this. A word that sits inside another listed word (Kansas in Arkansas) gets its own place too; its other copy is part of the longer word, and the item's
alsoInsidefield says so.- Offensive-word screen. The whole finished grid is searched, in all 8 directions, for about 260 slurs, obscenities and sexual or scatological words and their common variants (accents are ignored, so Ü counts as U). The filler letters are redrawn until nothing is spelled, including words formed by filler plus one of your words, or by two of your words in line. Text that lies wholly inside one of your own words (CLASS, SCUNTHORPE) is left alone, because those are your words. The list is our own curated list (
src/data/blocklist.txt), not an outside vetted one; tests check 300 grids for zero hits and that every entry is caught. - Difficulty:
- easy: words run right and down only
- medium: adds two diagonals
- hard: all 8 directions, including backwards
- Offensive-word screen. The whole finished grid is searched, in all 8 directions, for about 260 slurs, obscenities and sexual or scatological words and their common variants (accents are ignored, so Ü counts as U). The filler letters are redrawn until nothing is spelled, including words formed by filler plus one of your words, or by two of your words in line. Text that lies wholly inside one of your own words (CLASS, SCUNTHORPE) is left alone, because those are your words. The list is our own curated list (
- Crossword. Your words are laid out as a connected crossword and numbered Across and Down in the standard way. Each word carries its clue. Every run of two or more letters in the grid is one of your words, so no stray words appear. It is a free-form crossword, not a dense newspaper grid: words cross only where they share a letter, so many cells are blocks. In our tests a quarter to under half of the cells hold letters (a German list of long words gave 25% on an 18x14 grid; lists of 12 short words, 31-44%). If a word shares no letters with the others, you get a clear message saying which word it is, and you are not charged.
- Word fill-in. This is the same kind of checked, connected grid as the crossword, with no clues needed. The word list is printed below the grid, grouped by length. This is the classic "fill-ins" page from puzzle books. Every fill-in has exactly one solution: a solver tries all ways the words could fit the blank grid, and a layout with two or more fillings is never delivered. If no single-solution grid is found for a list, you get a message and are not charged.
- Word scramble. Each word on your list is printed with its letters shuffled, numbered, with a line to write the word on; the answer key lists each scramble with its word. A scramble is never the word itself, never another word on your list, never the same as another scramble in the list, and passes the same offensive-word screen as the word-search grids. A phrase such as "ice cream" is scrambled as one block and shows its word lengths, (3, 5). Difficulty: easy keeps the first letter in place (unless the other letters have only one order, as in ADD); medium shuffles all letters; hard shuffles all letters and leaves as few as possible where they were (none, unless one letter fills more than half the word, as in MAMMA). A list is refused with a message, and not charged, when a word cannot be scrambled: all its letters are the same (ZZZ), or every allowed order of its letters is another listed word, a scramble already used, or spells a blocked word (SASS). For words of up to 8 letters every order is checked; for longer words the message says when 4,000 random tries found no valid scramble. Note: a word with an anagram (CAT and ACT) gives a scramble that fits both; the answer key gives your word. Clues (
word: clue) are not used for word scrambles. Word scrambles are lists, not grids, so they come without SVG images; a long list continues on a second page. - Batch. Give many lists in one run (
wordLists), and ask for several different versions of each (versions), for example one per student so nobody copies. A list that is refused (say, an emoji in a word) or cannot be built is skipped and named inOUTPUT.problems, the other lists are still made, and only delivered puzzles are charged. - Readable print. No printed text is smaller than 6 pt, clue numbers and answer keys included. Large grids get a page of their own, or the word list moves on to the next page, instead of smaller type.
- Printable PDF. Each puzzle starts on its own page, with the word list or the clues beneath it. The answer keys come at the end.
- Book interior. Set
pageSizetobook-6x9orbook-8.5x11to get a paperback interior for your own puzzle book:- a title page (
bookTitle), then one puzzle per page starting on a right-hand page, then the answer keys - page numbers, embedded fonts (IBM Plex Sans), an even page count, and grey answer highlights that print well in black and white
- no bleed, with every mark inside the margins: the inside (gutter) margin follows the page-count table in KDP's paperback guidelines (0.375 in up to 150 pages, 0.5 in up to 300, and so on), and the top and outside margins are 0.5 in or more. The page numbers sit in the bottom margin, at least 0.35 in from the bottom edge (KDP asks for 0.25 in); the puzzles and text above them stay 0.5 in or more from it
- a long title wraps onto several lines, and a word too long for one line is broken, so no title runs off the page
OUTPUT.pdfPagesgives the page count for your cover's spine. KDP paperbacks need at least 24 pages (give 15 or more word lists with answer keys on, 21 or more without them, or ask for severalversions) and allow at most about 828 (black and white, white paper), so split very large batches into several books. The cover is yours to make.
- a title page (
- Reproducible. The same
seedwith the same input gives the same puzzles again. - Plain code. It uses no AI model and calls no outside service. Your words stay in your own Apify storage.
Input
| Field | Meaning |
|---|---|
puzzleType | word-search (default), crossword, fill-in or word-scramble |
words | One word or phrase per line. For a crossword, write word: clue (clues up to 150 characters; in a word search anything after a colon is ignored). Spaces, hyphens, apostrophes and periods are dropped in the grid (U.S.A. becomes USA). Latin letters only, accented and extended ones included (é, ü, ł, ř, ş, ğ, œ …). The grid is in capitals, and ß becomes SS there, as in German crosswords (Straße is STRASSE in the grid and stays Straße in the word list and clues). |
title | Printed above the puzzle |
wordLists | Optional batch: [{"title": "Fruit", "words": ["apple", "pear"]}, …] |
versions | Different puzzles per list, 1–50 (default 1) |
difficulty | Word search and word scramble: easy, medium (default) or hard |
gridSize | Word search: the grid width and height, 5–30. Crossword and fill-in: the largest allowed width or height (at most 22 for book-6x9, so clue numbers stay at 6 pt or more). Leave it empty to size the grid automatically. Not used for word scrambles. |
includeSolution, svg, pdf, pageSize (letter, a4, book-6x9, book-8.5x11), bookTitle, seed | Output options |
Limits: 2–60 words per word search and 2–40 per crossword, fill-in or word scramble, words of up to 30 letters (22 for crosswords and fill-ins on book-6x9), and up to 500 puzzles per run. Titles and clues may use Latin (with accents), Greek or Cyrillic letters, which the embedded PDF font (IBM Plex Sans) can print; not Chinese, Japanese or emoji.
Output
Each puzzle is one dataset item. The PDF is saved to the run's key-value store as puzzles.pdf. The OUTPUT record holds its link (pdfUrl), the page count for book interiors (pdfPages), and names any list that could not be built.
Word search, input {"words": ["cat", "dog", "fish", "bird", "horse", "rabbit"], "title": "Pets", "difficulty": "easy", "seed": 1}:
IHHRGJGHLOCICYOCRRRCATSUASCHMJBKBEFKZSFXBIRDHMICIRTOSISTTCHGHAHZ
When includeSolution is on (the default), the item's solution also lists every word's position, for example {"word": "horse", "row": 0, "col": 1, "direction": "down"}, plus an SVG of the grid and one of the answer key.
Crossword, input {"puzzleType": "crossword", "title": "Instruments", "seed": 2, "words": ["piano: Instrument with 88 keys", "violin: Played with a bow, tucked under the chin", "trumpet: Brass instrument with three valves", "flute: Woodwind held sideways", "harp: Large instrument with strings you pluck", "guitar: Six strings and a sound hole"]}, answer grid (# = block):
#G###HARP#U######I#I####F#A#T#VIOLIN#A####U#OTRUMPET########E##
Across: 2 Large instrument with strings you pluck (4) · 5 Played with a bow, tucked under the chin (6) · 6 Brass instrument with three valves (7) Down: 1 Six strings and a sound hole (6) · 3 Instrument with 88 keys (5) · 4 Woodwind held sideways (5)
The item holds a blankGrid to print, the across and down clues with their numbers, lengths and positions, and the answers. A fill-in item holds the same blankGrid and solutionGrid, plus wordsByLength, for example {"4": ["DATE", "LIME"], "5": ["APPLE", "GRAPE"]}.
Word scramble, input {"puzzleType": "word-scramble", "words": ["cat", "dog", "fish", "bird", "horse", "rabbit"], "title": "Pets", "difficulty": "medium", "seed": 1}: the item's scrambles are ATC, GDO, FSIH, IRBD, EROHS and BTABRI (each with its number and length), its rule says how they were shuffled, and with includeSolution its solution pairs each scramble with its word, for example {"number": 1, "scrambled": "ATC", "word": "cat"}. Here ATC also unscrambles to ACT; the answer key gives cat, the word on your list.
Pricing
You pay per puzzle delivered, once: the Actor charges one puzzle event per puzzle, and Apify's default per-dataset-item event is removed from the pricing, so you are not billed a second time for the same item. (If that default event were ever priced, the Actor would bill each puzzle through it alone and skip its own event.) A list that is refused or cannot be built, such as a word with no letter in common with the rest, is reported in OUTPUT and never charged; the rest of the batch goes ahead. If your maximum cost per run covers fewer puzzles than you asked for, the Actor makes only as many as it covers, and the PDF holds all of them.
Rights
You may use, print, sell and publish the puzzles you generate, including in books, worksheets and apps. The grids are generated for you. The words and clues are yours.