Kanji (漢字) are the Chinese characters that are used in the modern Japanese logographic writing system along with Hiragana (ひらがな, 平仮名), Katakana (カタカナ, 片仮名), Arabic numerals, and the occasional use of the Latin alphabet (also known as Rōmaji). The Japanese term kanji (漢字) literally means "Han characters".
Most students are taught to read Hiragana, Katakana and then memorize Kanji in order to read Japanese. This is obviously a logical learning pattern or method. However, too much emphasis is placed on learning individual kanji characters and all their readings. Once a student has reached a basic level, where they can read hiragana and katakana, they should start trying to read kanji in context. The problem is students try to learn and memorize hundreds of kanji in no context at all.
Memorizing hundreds of kanji readings will not help you read Japanese. More emphasis should be place on actually reading kanji in context and on “kanji vocabulary”. I struggled for years in order to reach a level where I could read real Japanese. I spent hours and hours on trying to memorize hundreds of kanji and lots of grammar points. When I went to practice to read I couldn’t. It was like having all the right ingredients, but not knowing how to use them. This is the problem you are probably facing right now with your Japanese - you know hiragana, katakana, a few hundred kanji, basic grammar, but you can’t read.
Culture plays an important part of Japanese, too. Most teachers of Japanese forget this. Social customs are very different to the customs of Western countries. Also, understanding the Japanese mindset is vital in order to understand the Japanese language.
RomajiDesu Kanji Dictionary can lookup Kanji by English meaning, pronunciation, grade levels, stroke counts, multiple radical lookup, it also features stroke order diagrams,