A fun, interactive web application for creating and printing custom word search puzzles. Perfect for teachers, parents, and puzzle enthusiasts!
- 40+ ready-to-use templates across multiple categories:
- Bible & Faith (English and Spanish)
- Holidays (Thanksgiving, Halloween, Valentine's, Independence Day, Winter)
- Animals (Ocean, Safari, Pets, Birds, Insects)
- Nature (Space, Weather)
- Educational (Colors, Numbers, Shapes, Body Parts, Months, Planets)
- Filter by category, language, and difficulty
- Enter your own words (comma or newline separated)
- Configurable grid sizes: 8x8 to 25x25
- 8 unique shapes: Square, Circle, Heart, Cross, Star, Diamond, Triangle, Oval
- 5 difficulty levels:
- Easy: Horizontal & vertical only
- Normal: Adds diagonal directions
- Medium: Words can go backwards
- Hard: All 8 directions with tricky letter fills
- Extreme: Maximum challenge with hidden word list
- 7 visual themes: Classic, Colorful, Nature, Ocean, Space, Candy, Chalkboard
- Hidden message feature (message appears in unused cells)
- Show/hide word list
- Uppercase/lowercase toggle
- Answer key generation
- Fill letter strategies (Random, Vowels, Consonants, Similar)
- Automatic content filtering for inappropriate words in all 6 supported languages
- Filters user input to block profanity and offensive terms
- Prevents random letter filling from accidentally forming bad words
- Multi-pass grid sanitization catches any words that slip through
- Family-friendly puzzles guaranteed
- Click-and-drag to find words in puzzles
- Visual feedback for found words
- Real-time word count
- Auto-regenerate on settings change
- Print puzzle (with or without answers)
- Download as PNG image
- Print-ready formatting
- UI available in: English, Spanish, French, German, Portuguese, Italian
- Templates available in English and Spanish
- Supports accented characters for non-English puzzle words
Simply open index.html in any modern web browser. No installation or build process required!
For the best experience, you can run a local server:
# Python 3
python -m http.server 8000
# Node.js (with http-server)
npx http-serverThen open http://localhost:8000 in your browser.
Uses the stock nginx:alpine image with volume mounts - no build step needed:
docker-compose up -dThen open http://localhost:9847 in your browser. To stop:
docker-compose downIf you prefer a self-contained image (e.g., for pushing to a registry):
docker build -t wordsearchmaker .
docker run -d -p 9847:9847 --name wordsearchmaker wordsearchmaker- Upload all project files to your NAS (e.g.,
/volume1/docker/wordsearchmaker/) - Open Container Manager on your Synology NAS
- Go to Project > Create
- Set the project name to
wordsearchmaker - Set the path to where you uploaded the project files
- It will auto-detect the
docker-compose.yml - Click Next then Done
- Access at
http://your-nas-ip:9847
# SSH into your Synology NAS
ssh admin@your-nas-ip
# Navigate to the project directory
cd /volume1/docker/wordsearchmaker
# Start the container
docker-compose up -dTo access via a subdomain with HTTPS through Synology's built-in reverse proxy:
- Open Control Panel > Login Portal > Advanced > Reverse Proxy
- Click Create:
- Description: Word Search Maker
- Source Protocol: HTTPS
- Source Hostname: wordsearch.yourdomain.com
- Source Port: 443
- Destination Protocol: HTTP
- Destination Hostname: localhost
- Destination Port: 9847
- Apply and configure your DNS to point the subdomain to your NAS
Edit docker-compose.yml to change the port mapping:
ports:
- "3000:9847" # Change 3000 to your preferred portEdit docker-compose.yml to set your timezone:
environment:
- TZ=Europe/London # Change to your timezonewordsearchmaker/
├── index.html # Main HTML structure
├── app.js # Application logic and UI handling
├── generator.js # Puzzle generation engine
├── content-filter.js # Content safety filters for all languages
├── templates.js # Pre-made puzzle templates and i18n
├── styles.css # Styling and themes
├── Dockerfile # Docker image definition
├── docker-compose.yml # Docker Compose configuration
├── nginx.conf # Nginx web server configuration
├── .dockerignore # Docker build exclusions
└── README.md # This file
- Go to the Templates tab
- Filter by category, language, or difficulty
- Click on a template card to open it
- Print or interact with the puzzle
- Go to the Create Custom tab
- Enter a title for your puzzle
- Type your words (one per line or comma-separated)
- Choose grid size, shape, difficulty, and theme
- Click Generate Puzzle
- Print or download your creation
Escape- Close modalCtrl+P- Print current puzzle
Works in all modern browsers:
- Chrome
- Firefox
- Safari
- Edge
None! This is a fully self-contained static application using system fonts.
Made with love for puzzle lovers everywhere.