The tile-based level editor I use for my games.
It can select and move multiple tiles in any form (not just rect selection), and seamlessly increase/decrease the level size.
It has an infinite undo/redo system.
It uses num-keys or mouse wheel to switch tiles, plus other keyboard shortcuts.
It allows each tile/entity instance to have any number of user defined properties.
It reads and writes JSON, so it can be used in multiple projects.
I use this tool constantly in my games, and regularly add features to it while basking in its bugs and unfriendliness.