Ninjawords - a fast online dictionary… fast like a ninja
I’ve built an online dictionary because I was frustrated with what’s out there. I often need to quickly check a word’s definition, and I usually find myself shouting these questions at the websites (I sometimes take bad usability personally):
- Why are you inundating me with images and ads, when the content of dictionaries is purely text?!
- Do you really think I need to see 50 definitions of the same word?
- Why do I have to open 10 separate pages to look up 10 different words?
To sum it up, “get out of my face and show me a definition!”
I have a high-latency satellite connection, so it really is a huge pain to deal with cruft in a dictionary. We shouldn’t have to. If you want exhaustiveness, buy an OED.

With Ninjawords, looking up a word doesn’t cause a page refresh. And it tells you it’s doing something (”looking up [word]”), which is reassuring when you have a slow connection like mine. You can look up many words on the same page, either one at a time or separated by commas. You can look up words by URL in case you don’t want to navigate to the page once itself, which can save some time. Read more about what it can do here.
Also has a fancy spell check:

Why are there no really fast ajax dictionaries out there? I don’t know, but I felt it was time to get one. I saw objectgraph’s dictionary some time ago, and I thought “this demo should be made into a full service, with a more up-to-date word lists.” So I did just that, and made a new UI, because I don’t like the UI on objectgraph’s dictionary. With objectgraph, you type into a text box and have to wait for a drop down to show you definitions. I have the tendency to hit “enter” when I want something to happen, and on my machine, if you do that in their search box they show you nothing.
Also, sitting there waiting for a drop down to appear with no notification is a bit unsettling, and nondiscoverability is a problem. And the words take 3 seconds to show up on my slow satellite connection.
Ninjawords is built using Ruby on Rails (surprise), and I’m using the poorly documented but excellent scrapi page scraping library to pull definitions from wiktionary that my local dictionary is missing.
Update: lots of new stuff, and even a thesaurus.
This app is really sweet especially for someone studying for GRE. Thanks for building it! I am going to send a slew of feature requests soon.
Said by Neha November 11, 2006 at about 5:25 am
Neat! I love how it stores all the words in a list. Care to share some details about the spellcheck? using google’s spellcheck api? machine learning (ooh!)? or something else?
Said by Adi Unnithan November 13, 2006 at about 3:34 am
I always favor the simplest solution, which is using Google’s (hidden) spell check API:
http://weblogs.asp.net/pwelter34/archive/2005/07/19/419838.aspx
While this one requires a bit more digging to get going, it’s better than the regular one, which limits you to 1000 queries. Lame.
Said by Phil Crosby November 13, 2006 at about 4:15 am
Wow, really nice job, Phil. One quirk is that if you look up a word, and then append a second word to the word list, you’ll get the original word twice. Defining the proper or expected behavior may be a bit tough, but perhaps if you brought the requested words to the top and did a yellow fade to highlight that they had been previously requested?
Said by Caleb November 13, 2006 at about 1:51 pm
Good eye Caleb. I’ll add in the ubiquitous fade soon.
Said by Phil Crosby November 13, 2006 at about 3:17 pm
Fantastic. I love it when I come across stuff like this - intelligent design.
Seriously, this is brilliant. Simple and effective.
Said by Shaun November 15, 2006 at about 5:07 pm
Very interesting, and I love the general speed and the history of definitions left on the existing page, exactly what I need in an online dictionary when I’m looking up a list.
There seem to be a few… odd definitions that are being returned (look up martial or thrift for two examples). Should we start an open list of these so thy can be revised, is this expected behavior (or an existing issue)?
Said by KSchreihofer November 15, 2006 at about 9:08 pm
KSchreihofer,
Those are definitions in the WordNet database. I can fix something like “martial,” because it’s resolving the proper noun Martial instead of the word martial. As for thrift, I have no idea why wordnet doesn’t provide the more useful definition, so those would have to be fixed manually. Please keep track of any weird words you find; I’ll put up a “report weird definition” link later tonight, along with the fix for resolving proper nouns. I’d like to pull everything directly from wiktionary because their definitions are more reliable, but that would take some work.
Thanks for the heads up
Said by Phil Crosby November 15, 2006 at about 10:00 pm
Nice app for sure, been wanting something like this for a while.
Have a look at this bookmarklet, it launches ninjawords as a popup with the currently selected word on the page already looked up:
javascript:(function(){var a=window,b=document,c=new function(){
if(a.getSelection)
return a.getSelection(); else if(b.getSelection) return b.getSelection();
else if(b.selection)
return b.selection.createRange().text;}, d=a.open(’http://www.ninjawords.com/’+c,’ninja_popup’,
‘left=’+((a.screenX||a.screenLeft)+10)+’,
top=’+((a.screenY||a.screenTop)+10)+’,
height=420px,width=700px,resizable=1,location=1,alwaysRaised=1′);
a.setTimeout(function(){d.focus()},300)})();
Said by Ray V November 16, 2006 at about 12:55 am
Now all we need is a Firefox extension.
Said by Mithel November 16, 2006 at about 3:55 am
When I looked up the word ‘pirate’ i nearly expected a more… individual definition
Said by kati November 16, 2006 at about 5:53 am
I think I just crapped my pants. This is totally sweet!
Said by Adam November 16, 2006 at about 6:33 am
I like this web site. Very clean interface. Simple.
You should compare it to http://www.metaglossary.com and http://www.answers.com .
Answers.com give more comprehensive results and metaglossary.com has better definitions and plugins for both IE and Firefox. I’d love to see ninjawords and metaglossary working together.
Said by Henry Green November 16, 2006 at about 1:32 pm
http://www.searchplugins.net/pluginlist.aspx?q=Ninja+Words&mode=exact
Thats for installing it as a search bar in Firefox. This is a great site, thanks for it!
Said by Jeremy Tymes November 16, 2006 at about 3:30 pm
Nice work, Phil! I like this dictionary rendition… the subtle differences add quite a lot to its usefulness, IMO.
In fact, I liked it so much when I came across it last night, that I got inspired to make a little Windows app so that it could always be available in my system tray, browswer ready or not. : ) (see http://www.thoughtsonthinking.com/2006/11/ninjabox_a_desk.html for details if anybody’s interested).
Thanks for putting this together, and making it available… very cool.
Said by Cass McNutt November 16, 2006 at about 6:15 pm
Phil -
Glad you like it. : ) A link w/b great!
re: Source code, unfortunately I can’t publish it; it uses a number of third-party components that are part of my dev library (Delphi) which I don’t have the rights to release the source code for. (On the upside, those nifty components are part of why I was able to write it so fast…).
Thanks for dropping by, and for giving your blessing. Nice to have on both counts. : )
Said by Cass McNutt November 17, 2006 at about 2:24 pm
Hi Phil, Well done! Clever compact construction.
I’d use an api.
Later,
Brendan
Said by Brendan November 18, 2006 at about 5:50 am
[…] Oh, and I found out about Ninjawords because Phil Crosby is using scrAPI against Wiktionary. It’s the perfect example for the beauty of small apps. […]
Pingback by Labnotes » Rounded Corners - 64 November 18, 2006 at about 11:01 pm
Nice work!
Said by Ganesh November 20, 2006 at about 1:47 pm
[…] You get… Well, you probably don’t get Ninjawords, a whack at an AJAX-powered word-lookup utility. It’s an invention borne of frustration from what existing online dictionaries toss up: * Why are you inundating me with images and ads, when the content of dictionaries are purely text?! * Do you really think I need to see 50 definitions of the same word? * Why do I have to open 10 separate pages to look up 10 different words? […]
Pingback by NINJAS AND WORDS Population Statistic November 23, 2006 at about 11:47 am
Really good app. And it may need a better server to run it since its popularity will go up.
I tried looking up a web link, but result haven’t came back after 20 minutes.
Said by Jeff Zhong November 23, 2006 at about 4:33 pm
I have a weird question for you. What font did you use for the ninjawords “logo”?
Said by Rick Seiden November 29, 2006 at about 10:00 pm
Jeff: any speed issues should be solved.
Rick: not a weird question at all. The font is called Dupree, and you can download it here.
Said by Phil Crosby November 29, 2006 at about 10:39 pm
[…] I am in love with NinjaWords, a super online dictionary written in Ruby on Rails by Phil Crosby. […]
Pingback by Oddly Zen » Blog Archive » NinjaWords Mac OSX Dashboard Widget December 6, 2006 at about 6:59 pm
The Mac OSX dashboard widget is ready:
http://42squared.com/2006/12/7/ninjawords-mac-osx-dashboard-widget
Said by Mark Coates December 6, 2006 at about 7:07 pm
Wow, Phil. This is very, very neat. I’m impressed.
Said by Alex December 6, 2006 at about 10:00 pm
Love it, like a ninja.
Said by Sydney December 9, 2006 at about 11:31 am
Gosh - I found this via wordie.org which I found through techcrunch
- Anyhoo, I love this site! I love the clutter-free,s imple interface… it just FEELS so nice! I just fwded this to a couple of fellow wordlovers too. Thanks for building this & sharing it w/ everyone!
Said by Juhi December 10, 2006 at about 10:40 pm
Great! Fast, neat, clean. Thanks!
http://www.ninjawords.com/really%2Cfast%2Cdictionary%2Ckudos%2Cthanks
Said by Peter December 15, 2006 at about 4:13 am
This is super! I work at a book publisher, and so I have to look words up about twenty times a day. Let me tell you, the hardback unabridged MW weighs about twenty pounds, and m-w.com is even more inconvenient.
Said by Drakkenfyre December 19, 2006 at about 5:06 pm
Dear Phil,
I just wanna thank you for your contribution to lessening the pain of nondisoverability.
Wish we could have more sensible geeks like you out there.
Cheers,
James
Said by DjNasser December 27, 2006 at about 10:02 am
Good work!
Said by Anonymous December 28, 2006 at about 9:23 pm
Phil.
Interesting little bug.
Look up “zeitgeist”.
Not anyone’s fault, just kind of interesting how that worked out.
Said by Aaron December 28, 2006 at about 10:20 pm
This is the most amazing online dictionary I’ve ever used.
Said by Kevin December 29, 2006 at about 11:00 am
Pressing Link to this Page on the definition of ‘mint’ produces an unexpected result.
Said by Alan December 29, 2006 at about 8:34 pm
Very good work my friend. I love it.
Said by chriskalani December 29, 2006 at about 10:40 pm
You should make a wikipedia dictionary version of this, it would cut load times in half! Sometimes you need a little bit more than a definition
Said by Nick C January 2, 2007 at about 11:58 am
Brilliant. Totally awesome! =D
Said by IngSiang January 4, 2007 at about 5:53 am
I
Said by Tom January 6, 2007 at about 12:59 am
I’d just like to say that I believe this is a great dictionary that makes me smile
Said by William January 10, 2007 at about 8:50 pm
I think it would be incredibly useful to have a thesaurus feature. But even without one, ninjawords is a great online dictionary; the best, in my opinion! :]
Said by Nicole R. January 11, 2007 at about 8:30 pm
I know others have said it, but this is great. It serves its function without the unnecessaries. Wish all web resources were like so. I second the request about a thesaurus, but I definitely appreciate what you’ve already made. Thanks!
Said by Christian January 14, 2007 at about 10:09 pm
Love Ninjawords. And the command line…
#!/usr/bin/perl -w
# dic.pl -
use strict;
my $word = shift or die “>>> Need word”;
my @def = `lynx -dump http://www.ninjawords.com/$word`;
foreach my $line (@def) {
$line =~ s/^\s*//;
$line =~ s/^#//;
$line =~ s/Ninjawords \- a fast online dictionary//;
$line =~ s/\[\d+\]//g;
$line =~ s/\[BUTTON\]//;
$line =~ s/(_+) look up/$1/;
$line =~ s/_*//;
print “\n” if $line =~ /^Ninjawords/;
last if $line =~ /Find out more \|/;
print $line;
}
Thanks, Phil!
Said by dual January 18, 2007 at about 2:13 pm
And the next day…
“Ninjawords requires Javascript to maintain its ninja-like speed. You can enable it in your browser preferences.”
Oh well. Back to dictionary.com.
Said by dual January 19, 2007 at about 9:42 pm
I vote for thesaurus support also.
Said by Jeff January 20, 2007 at about 10:54 pm
1 why not integrateing with wordie.org?
2 to save the word list I currently searched for later review,
3 also, to know popular searched list would be interesting.
just these for the moment
Said by shallwelin February 1, 2007 at about 1:16 am
love it
Said by johnlee February 1, 2007 at about 9:50 pm
Excellent work. I use Ninjawords exclusively because it’s the fastest and the best. What about a Spanish-English Dictionary built the same way?
Said by Scott February 6, 2007 at about 3:11 pm
I love it! I just linked to it on my librarian resources blog.
I couldn’t get it to appear in the Firefox drop-down, but that may just be me.
Said by Jessica February 15, 2007 at about 1:29 pm
Saved search is totally awesome. Don’t change it at all! I think it’s perfect.
Fast.
Silent.
Just like a ninja.
Now if it was only funny like that other ninja…
Said by jrome March 29, 2007 at about 10:32 pm
I stumbled across your blog the other day and through it, found ninjawords. I absolutely LOVE it. One thing I would love to see is a toolbar widget that lets me highlight a word on a page and click a button to get a popup ninjawords definition, so I dont have to browse away from the page I’m reading.
Keep up the good work.
Said by Jim May 5, 2007 at about 2:44 am
thank you SO MUCH for this site. I’m studying for the GRE and was about to go crazy with the commercial sites out there… But you saved me!
Thank you!
Said by Anonymous June 5, 2007 at about 12:04 pm
This is by far the best dictionary out there.. THNX!
Said by Anonymous June 8, 2007 at about 10:12 am
ninjas are awesome, fast websites are awesome
this is just awesome x2
nice
Said by aj June 20, 2007 at about 5:50 am
This is awesome. Thanks, Phil.
Said by Max L June 21, 2007 at about 2:06 pm
Ninja word really rules
Im learning english and I prefer to read meanings than traductions and ninja word is really really fast and accurate
I was tired too from those other dictionaries that fill the page with things
I really like this one
kizz
Said by Kuroitsuki June 29, 2007 at about 10:49 am
What a brilliant idea. Like you I was frustrated before discovering this fantastic tool.
Well done, you have made something extremely useful and I now use it on a daily basis.
Ninjawords has done for dictionary’s what google did for search.
thanks so much
Said by David Scott July 25, 2007 at about 7:31 pm
This is “well ninja” (a term my mates use to describe something awesome)
Said by vectr August 11, 2007 at about 4:52 am
[…] 2.0 space… a new free dictionary service called Ninja Words. Launched in November 2006 by Phil Crosby, it’s an Ajax-based dictionary site which pulls all of it’s information from Wiktionary […]
Pingback by NinjaWords - Quick definitions | K's Weblog August 15, 2007 at about 12:46 am
love your super-sweet dictionary. i will tell my friends.
Said by Jamal August 19, 2007 at about 9:34 pm
Oh. Right. Stripping characters I see :(. Oh well I’ll just put it here instead, http://www.pulia.nu/code/junk/cheapninja.pl
Said by gammy August 29, 2007 at about 3:28 am
This is a ridiculously awesome tool. I have the OED on my Mac, but when I’m away from it, ninjawords is my go to for definitions.
Thank you so very much for doing this.
Said by Devon September 20, 2007 at about 8:59 am
Ninja words is awesome. It would be great to have a ninja thesaurus too though.
And, how about having it identify plurals instead of saying “word not found”?
But all in all I love this tool, added to firefox and everything
Said by Cire October 18, 2007 at about 11:52 pm
thank you for creating this!
I have a project, I’d love to collaborate with you on.
Mike
Said by Mike Hedge November 11, 2007 at about 8:52 pm
I absolutely love this!!! thanks so much!
Said by irene November 11, 2007 at about 9:30 pm
Wonderful! Now how about adding a pronunciation guide as well?
Said by Peter November 15, 2007 at about 9:36 am
About the “Your History” content. Is there any way to erase specific words instead of clearing out the entire search history? BTW this is a great tool thanks!
Said by David K November 16, 2007 at about 6:12 pm
Ninja words can be described in these manners.
1.Simple to use
2.Advertisement free
3.Fast as lightning
4.accurate as a machine
Said by Anurag December 4, 2007 at about 10:38 am
Thank you!
Said by Ola Helland December 12, 2007 at about 11:43 am
My daughter came to my work one day & used this. She left it open, and it has since become my favorite way to look up words. I can’t tell you how much time this has saved, thanks so much for taking your time to make it!
Said by Monkeh January 23, 2008 at about 6:47 pm
Hi, I was using your dictionary and it is very fast. One surprise: the definition of Jew, “to bargain, to attempt to gain an unfair price in a business deal” is really offensive. Even if that is a slang usage, it is still offensive.
Can you please correct the definition and state that a Jew is one whose faith is Judaism?
Said by Josh March 3, 2008 at about 1:07 am
god at last! I’ve been waiting for a site like this for years, and I didn’t even know it.
Said by Richard March 9, 2008 at about 4:24 pm
“What about a Spanish-English Dictionary built the same way?”
YES.
I Second, Third, and Fourth that Idea.
Said by Byron March 11, 2008 at about 2:18 pm
Ninjawords application is free.
i would like to use also for Myanmar/Burma Dictionary.
regards,
koko
Said by koko March 24, 2008 at about 10:24 am
I would just like to suggest including an audio clip next to each word, like those at answers.com, if that’s at all possible. Great work regardless!
Said by Simon March 31, 2008 at about 1:54 pm
This is great, thank you so much for this service.
All I can say is: thesaurus!
Said by Michael April 19, 2008 at about 4:51 pm
9bd4c49310682062818998193b2bb59a
http://njdokj.info/60f91e0479272fc6d386efc975f5c019/9bd4c49310682062818998193b2bb59a
http://njdokj.info/60f91e0479272fc6d386efc975f5c019/9bd4c49310682062818998193b2bb59a
[url]http://njdokj.info/60f91e0479272fc6d386efc975f5c019/9bd4c49310682062818998193b2bb59a[url]
Said by Pete June 28, 2008 at about 11:53 pm