Multiple SEO Tools

DastanGou Free Tools – Professional Tools for Free


Boost Your Productivity

Access our complete suite of professional tools to analyze, optimize and enhance your digital experience

Word Counter

Count words, characters, sentences, and paragraphs in your text. Perfect for writers, students, and content creators.


Text Analysis Results

Words: 0

Characters: 0

Characters (no spaces): 0

Sentences: 0

Paragraphs: 0

Reading Time: 0 minutes

Percentage Calculator

Calculate percentages easily. Find what percentage one number is of another or calculate percentage increase/decrease.

Percentage Calculation
0%

Age Calculator

Calculate your exact age in years, months, and days. Perfect for birthday planning and milestone tracking.

Your Age
0 years

Password Generator

Generate strong, secure passwords with customizable length and character types. Keep your accounts safe!

12 characters



Generated Password

Unit Converter

Convert between different units of length, weight, temperature, and more. Fast and accurate conversions.

Centimeters
Meters
Kilometers
Inches
Feet
Miles

Centimeters
Meters
Kilometers
Inches
Feet
Miles

Conversion Result
0

BMI Calculator

Calculate your Body Mass Index and understand your weight category. Get health recommendations.


BMI Results
0

// Theme switching functionality
document.querySelectorAll(‘.theme-color’).forEach(color => {
color.addEventListener(‘click’, function() {
const theme = this.getAttribute(‘data-theme’);
document.body.className = theme;
});
});

// Password length slider
const passwordLength = document.getElementById(‘passwordLength’);
const lengthValue = document.getElementById(‘lengthValue’);

passwordLength.addEventListener(‘input’, function() {
lengthValue.textContent = this.value;
});

// BMI system toggle
document.querySelectorAll(‘input[name=”bmiSystem”]’).forEach(radio => {
radio.addEventListener(‘change’, function() {
if (this.value === ‘metric’) {
document.getElementById(‘metricInputs’).style.display = ‘block’;
document.getElementById(‘imperialInputs’).style.display = ‘none’;
} else {
document.getElementById(‘metricInputs’).style.display = ‘none’;
document.getElementById(‘imperialInputs’).style.display = ‘block’;
}
});
});

// Set current date as default for age calculator
document.getElementById(‘currentDate’).valueAsDate = new Date();

// Tool Functions

// Word Counter
function countWords() {
const text = document.getElementById(‘wordCounterText’).value;
const words = text.trim() ? text.trim().split(/s+/).length : 0;
const characters = text.length;
const charactersNoSpaces = text.replace(/s/g, ”).length;
const sentences = text.split(/[.!?]+/).filter(s => s.length > 0).length;
const paragraphs = text.split(/ns*n/).filter(p => p.trim().length > 0).length;
const readingTime = Math.ceil(words / 200);

document.getElementById(‘wordCount’).textContent = words;
document.getElementById(‘charCount’).textContent = characters;
document.getElementById(‘charCountNoSpaces’).textContent = charactersNoSpaces;
document.getElementById(‘sentenceCount’).textContent = sentences;
document.getElementById(‘paragraphCount’).textContent = paragraphs;
document.getElementById(‘readingTime’).textContent = `${readingTime} minute${readingTime !== 1 ? ‘s’ : ”}`;

document.getElementById(‘wordCounterResults’).classList.add(‘show’);
}

// Percentage Calculator
function calculatePercentage() {
const value = parseFloat(document.getElementById(‘percentageValue’).value);
const total = parseFloat(document.getElementById(‘percentageTotal’).value);

if (isNaN(value) || isNaN(total) || total === 0) {
alert(‘Please enter valid numbers’);
return;
}

const percentage = (value / total) * 100;

document.getElementById(‘percentageResult’).textContent = `${percentage.toFixed(2)}%`;
document.getElementById(‘percentageExplanation’).textContent =
`${value} is ${percentage.toFixed(2)}% of ${total}`;

document.getElementById(‘percentageResults’).classList.add(‘show’);
}

// Age Calculator
function calculateAge() {
const birthDate = new Date(document.getElementById(‘birthDate’).value);
const currentDate = document.getElementById(‘currentDate’).value ?
new Date(document.getElementById(‘currentDate’).value) : new Date();

if (isNaN(birthDate.getTime())) {
alert(‘Please enter a valid birth date’);
return;
}

let years = currentDate.getFullYear() – birthDate.getFullYear();
let months = currentDate.getMonth() – birthDate.getMonth();
let days = currentDate.getDate() – birthDate.getDate();

if (days < 0) {
months–;
const prevMonth = new Date(currentDate.getFullYear(), currentDate.getMonth(), 0);
days += prevMonth.getDate();
}

if (months < 0) {
years–;
months += 12;
}

const totalDays = Math.floor((currentDate – birthDate) / (1000 * 60 * 60 * 24));

document.getElementById('ageResult').textContent = `${years} years, ${months} months, ${days} days`;
document.getElementById('ageDetails').textContent =
`Total days: ${totalDays.toLocaleString()} | Total months: ${(years * 12 + months).toLocaleString()}`;

document.getElementById('ageResults').classList.add('show');
}

// Password Generator
function generatePassword() {
const length = parseInt(document.getElementById('passwordLength').value);
const includeUppercase = document.getElementById('includeUppercase').checked;
const includeNumbers = document.getElementById('includeNumbers').checked;
const includeSymbols = document.getElementById('includeSymbols').checked;

const lowercase = 'abcdefghijklmnopqrstuvwxyz';
const uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
const numbers = '0123456789';
const symbols = '!@#$%^&*()_+-=[]{}|;:,.?’;

let chars = lowercase;
if (includeUppercase) chars += uppercase;
if (includeNumbers) chars += numbers;
if (includeSymbols) chars += symbols;

let password = ”;
for (let i = 0; i = 12 && includeUppercase && includeNumbers && includeSymbols) {
strength = ‘Very Strong’;
} else if (length >= 10 && includeUppercase && includeNumbers) {
strength = ‘Strong’;
} else if (length >= 8 && (includeUppercase || includeNumbers)) {
strength = ‘Medium’;
}

document.getElementById(‘passwordResult’).textContent = password;
document.getElementById(‘passwordStrength’).textContent = `Password Strength: ${strength}`;
document.getElementById(‘passwordResults’).classList.add(‘show’);
}

function copyPassword() {
const password = document.getElementById(‘passwordResult’).textContent;
navigator.clipboard.writeText(password).then(() => {
alert(‘Password copied to clipboard!’);
});
}

// Unit Converter
function convertUnits() {
const value = parseFloat(document.getElementById(‘unitValue’).value);
const from = document.getElementById(‘unitFrom’).value;
const to = document.getElementById(‘unitTo’).value;

if (isNaN(value)) {
alert(‘Please enter a valid number’);
return;
}

// Conversion factors to meters
const factors = {
cm: 0.01,
m: 1,
km: 1000,
inch: 0.0254,
ft: 0.3048,
mi: 1609.34
};

const result = (value * factors[from]) / factors[to];

document.getElementById(‘unitResult’).textContent = `${result.toFixed(4)} ${to}`;
document.getElementById(‘unitExplanation’).textContent =
`${value} ${from} = ${result.toFixed(4)} ${to}`;

document.getElementById(‘unitResults’).classList.add(‘show’);
}

// BMI Calculator
function calculateBMI() {
const system = document.querySelector(‘input[name=”bmiSystem”]:checked’).value;
let weight, height, bmi;

if (system === ‘metric’) {
weight = parseFloat(document.getElementById(‘metricWeight’).value);
height = parseFloat(document.getElementById(‘metricHeight’).value) / 100; // Convert cm to m
bmi = weight / (height * height);
} else {
weight = parseFloat(document.getElementById(‘imperialWeight’).value);
const feet = parseFloat(document.getElementById(‘imperialHeightFt’).value);
const inches = parseFloat(document.getElementById(‘imperialHeightIn’).value);
height = (feet * 12) + inches; // Convert to total inches
bmi = (weight / (height * height)) * 703;
}

if (isNaN(weight) || isNaN(height) || height === 0) {
alert(‘Please enter valid measurements’);
return;
}

let category, recommendation;

if (bmi < 18.5) {
category = 'Underweight';
recommendation = 'Consider consulting a healthcare provider for weight gain advice.';
} else if (bmi < 25) {
category = 'Normal weight';
recommendation = 'Maintain your current weight with a balanced diet and regular exercise.';
} else if (bmi < 30) {
category = 'Overweight';
recommendation = 'Consider moderate weight loss through diet and exercise.';
} else {
category = 'Obese';
recommendation = 'Consult a healthcare provider for weight management advice.';
}

document.getElementById('bmiValue').textContent = bmi.toFixed(1);
document.getElementById('bmiCategory').textContent = `Category: ${category}`;
document.getElementById('bmiRecommendation').textContent = recommendation;

document.getElementById('bmiResults').classList.add('show');
}

Scroll to Top