The real challenge isn't solving crossword puzzles, but creating them. That's where EclipseCrossword comes in. This freebie won't turn you into Will Shortz, the legendary crossword editor for the New York Times, but it will help you whip up impressive crosswords.
You'll have to come up with the words and the clues; after all, you have to do some work. (Besides, making up clues for words is all the fun.) Type in a list of your words and their associated clues, and save them in a word list. You can save the list just for a single puzzle, or instead save it to a master list from which you can choose to make many puzzles. A master list is your best bet, because after a relatively short amount of time, you can have a very large list of words from which you can create many puzzles.
After you choose your word list, tell EclipseCrossword the size of the puzzle grid, and it goes about its work, fitting all the words into a neat puzzle. Review the puzzle and make any changes you want, including changing the size of the grid.
Note: This program is donationware. It is free to try, but the author accepts and encourages donations towards further development.